JS docs

analyzer.js

drawAnalyzer(opt)

Simple lines dB dancing animation.

Arguments:
  • opt (Object) – dictionary

Examples:

drawAnalyzer({ canvasId: "rowCanvas" })

animation.js

animationMain()

Any animation called here. Runs on Browser refresh rate.

constants.js

constantsDocu()
  • allowedFileContent

  • equalizerPresets

  • equalizerRanges

  • filterTypesList for EQ

equalizer.js

equalizerUpdateSlider()

Auto set slider by reading list from constants.js.

equalizerSliderSetListener()

Each slider gets an event listener to manipulate its frequency range gain.

equalizerUI()

Make slider accessable if EQ is ON.

equalizerLabelFrequency()

Write frequency range start num below each slider.

equalizerSetListener()

Set listener on all EQ elements, except slider.

evtGainFilter()

Switch to equalizer or global volume gain slider, if pwr btn is active.

equalizerPresetOptions()

Draw preset options selector and attach onChange listener.

loadSelectedPreset()

Trigger HTML display of sliders and load preset into equalizer.

equalizerRangeOptions()

Draw the frequency range names into the select element.

equalizerInit.js

initEqualizer()

Create equalizer.

  • Need to separate gain slider and eqalizer, on/off somehow.

  • Equalizer owns the BiquadFilter(s) structure.

  • Equalizer is a collection with one output and input.

  • One different gain value applied to each frequency band.

equalizerInitMaster(frequencies, presetIdx)

Create the equalizer (filter collection) and DOM audio.

Arguments:
  • frequencies (Array) – band range start nums

  • presetIdx (Array) – gain values for every band range

gainFilter.js

class GainFilter()

Switch between “global” gain on volume and equalizer gain (filter) for given frequency ranges.

class GainFilter.gainRunGlobal()

Method for Gain, even over all frequencies.

class GainFilter.gainRunFrequency(opt)

Method for Equalizer, selective gain.

Arguments:
  • opt (Object) – dictionary of select dropdown index options

  • frequencyProvider: range section dropdown (winamp, …)

  • frequencyIdx: range Provider index num to grab the list with frequency bands

  • presetIdx: selected preset (jazz, pop)

index.js

docuPlaceholder()
  • create audio and video DOM elements

  • set event listener on media elements

indexDbCreate.js

initIndexDb()

Create db and objectStore, or init the Index Data Base (IDB).

Returns:

Promise true or false.

See also

initStore(storeDict)

Insert default settings into a keyStore. Use objectStore.add() to make a clear INIT statement. Could be also put().

Arguments:
  • storeDict (Object) – nested dict

Examples:

{equalizer: {
    // object store name
    id: "equalizer", // first key value (primary key) to grab data set
    power: false,
    band: 0,
    preset: 23,
  },}

indexDbUpdate.js

restoreEQ(options)

Equalizer settings.

Arguments:
  • options (Object) – idb object store dict received by the DB query

See also

restoreFileLoad(options)

Shuffle is checked.

Arguments:
  • options (Object) – idb object store dict received by the DB query

restoreVideo(options)

Video.

Arguments:
  • options (Object) – Index Data Base (IDB) object store dict received by the DB query

restoreAppState()

App state restore. Dump all data (dict) from a named objectStore and transfer it to the wrapped worker function.

getIdbValue(options)

Get Index Data Base (IDB) values. Option callback, restore fun, uses data set (dataClone).

Arguments:
  • options (Object) – {objectStore: name, updFun:() => {}}

Returns:

Promise, data set

Examples:

getIdbValue({
    objectStore: "fileLoad",
    updFun: (dataClone) => restoreFileLoad(dataClone),
  }).then((dataSet) => {return dataSet});  // writing .then is an option
setIdbValue(options)

Refresh value(s) in a named objectStore. Transaction, objectStore and first id use

(in this release 1.5)

all ‘the same’ name. In bigger env use distinguished names and or unique num.

Arguments:
  • options (Object) – update dict

Examples:

setIdbValue({
      objectStore: "equalizer",
      updFields: { power: true, band: opt.frequencyIdx, preset: opt.presetIdx },
    });

playGroundSetup.js

createPlayGround()

DOM elements get property fields filled.

arrangePlayGround()

Connect the Dom Elements.

createBtnNextPrev()

Reused at every instance creation of Playlist class. Get event listener for title skipping.

createScrollTop()

Image hosts event listener to start playlist from the beginning.

createVisualElemListener()

Set initial event listener on DOM elements.

createAudioStatusLeds()

Main page, create red and green status LED. Color dependend on Index DB object store, App status.

playlist.js

class PlayList()

Plays local media files. Can move through the playlist, back and forth.

utils.js

class IsShown(elementName)

Show or hide DOM element.

Examples:

// elements must be initialized by DOM already
const showMenubar = new IsShown("divMenubar");
showMenubar.toggle(); // or switch also a status image
showMenubar.toggle({img:imgObj, imgON:"./green.png" imgOFF:"./red.png"});
appendDiv(opt)

Stack div and use it as a list.

Arguments:
  • opt (Object) – dictionary

Examples:

appendDiv({ parentId: 'div0ne', childId: 'c1', innerText: 'low', elemClass: 'logger' });