wavesurfer.js 6.0.2 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGES.md +22 -0
  2. package/README.md +1 -1
  3. package/dist/plugin/wavesurfer.cursor.js +5 -5
  4. package/dist/plugin/wavesurfer.cursor.js.map +1 -1
  5. package/dist/plugin/wavesurfer.cursor.min.js +2 -2
  6. package/dist/plugin/wavesurfer.cursor.min.js.map +1 -1
  7. package/dist/plugin/wavesurfer.elan.js +1 -1
  8. package/dist/plugin/wavesurfer.elan.min.js +1 -1
  9. package/dist/plugin/wavesurfer.markers.js +1 -1
  10. package/dist/plugin/wavesurfer.markers.min.js +1 -1
  11. package/dist/plugin/wavesurfer.mediasession.js +1 -3
  12. package/dist/plugin/wavesurfer.mediasession.js.map +1 -1
  13. package/dist/plugin/wavesurfer.mediasession.min.js +1 -1
  14. package/dist/plugin/wavesurfer.mediasession.min.js.map +1 -1
  15. package/dist/plugin/wavesurfer.microphone.js +1 -1
  16. package/dist/plugin/wavesurfer.microphone.min.js +1 -1
  17. package/dist/plugin/wavesurfer.minimap.js +24 -4
  18. package/dist/plugin/wavesurfer.minimap.js.map +1 -1
  19. package/dist/plugin/wavesurfer.minimap.min.js +2 -2
  20. package/dist/plugin/wavesurfer.minimap.min.js.map +1 -1
  21. package/dist/plugin/wavesurfer.playhead.js +1 -1
  22. package/dist/plugin/wavesurfer.playhead.min.js +1 -1
  23. package/dist/plugin/wavesurfer.regions.js +1 -1
  24. package/dist/plugin/wavesurfer.regions.min.js +1 -1
  25. package/dist/plugin/wavesurfer.spectrogram.js +28 -9
  26. package/dist/plugin/wavesurfer.spectrogram.js.map +1 -1
  27. package/dist/plugin/wavesurfer.spectrogram.min.js +2 -2
  28. package/dist/plugin/wavesurfer.spectrogram.min.js.map +1 -1
  29. package/dist/plugin/wavesurfer.timeline.js +5 -3
  30. package/dist/plugin/wavesurfer.timeline.js.map +1 -1
  31. package/dist/plugin/wavesurfer.timeline.min.js +2 -2
  32. package/dist/plugin/wavesurfer.timeline.min.js.map +1 -1
  33. package/dist/wavesurfer-html-init.js +1 -1
  34. package/dist/wavesurfer-html-init.min.js +1 -1
  35. package/dist/wavesurfer.js +33 -10
  36. package/dist/wavesurfer.js.map +1 -1
  37. package/dist/wavesurfer.min.js +2 -2
  38. package/dist/wavesurfer.min.js.map +1 -1
  39. package/package.json +10 -10
  40. package/src/plugin/cursor/index.js +4 -4
  41. package/src/plugin/mediasession/index.js +0 -2
  42. package/src/plugin/minimap/index.js +17 -2
  43. package/src/plugin/spectrogram/index.js +23 -10
  44. package/src/plugin/timeline/index.js +7 -1
  45. package/src/wavesurfer.js +4 -1
  46. package/src/webaudio.js +24 -7
@@ -1 +1 @@
1
- {"version":3,"file":"wavesurfer.minimap.js","mappings":"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","sources":["webpack://WaveSurfer.[name]/webpack/universalModuleDefinition","webpack://WaveSurfer.[name]/./src/plugin/minimap/index.js","webpack://WaveSurfer.[name]/webpack/bootstrap","webpack://WaveSurfer.[name]/webpack/before-startup","webpack://WaveSurfer.[name]/webpack/startup","webpack://WaveSurfer.[name]/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"WaveSurfer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"WaveSurfer\"] = factory();\n\telse\n\t\troot[\"WaveSurfer\"] = root[\"WaveSurfer\"] || {}, root[\"WaveSurfer\"][\"minimap\"] = factory();\n})(self, function() {\nreturn ","/*eslint no-console: [\"error\", { allow: [\"warn\"] }] */\n/**\n * @typedef {Object} MinimapPluginParams\n * @desc Extends the `WavesurferParams` wavesurfer was initialised with\n * @property {?string|HTMLElement} container CSS selector or HTML element where\n * the map should be rendered. By default it is simply appended\n * after the waveform.\n * @property {?boolean} deferInit Set to true to manually call\n * `initPlugin('minimap')`\n */\n\n/**\n * Renders a smaller version waveform as a minimap of the main waveform.\n *\n * @implements {PluginClass}\n * @extends {Observer}\n * @example\n * // es6\n * import MinimapPlugin from 'wavesurfer.minimap.js';\n *\n * // commonjs\n * var MinimapPlugin = require('wavesurfer.minimap.js');\n *\n * // if you are using <script> tags\n * var MinimapPlugin = window.WaveSurfer.minimap;\n *\n * // ... initialising wavesurfer with the plugin\n * var wavesurfer = WaveSurfer.create({\n * // wavesurfer options ...\n * plugins: [\n * MinimapPlugin.create({\n * // plugin options ...\n * })\n * ]\n * });\n */\nexport default class MinimapPlugin {\n /**\n * Minimap plugin definition factory\n *\n * This function must be used to create a plugin definition which can be\n * used by wavesurfer to correctly instantiate the plugin.\n *\n * @param {MinimapPluginParams} params parameters use to initialise the plugin\n * @return {PluginDefinition} an object representing the plugin\n */\n static create(params) {\n return {\n name: 'minimap',\n deferInit: params && params.deferInit ? params.deferInit : false,\n params: params,\n staticProps: {},\n instance: MinimapPlugin\n };\n }\n\n constructor(params, ws) {\n this.params = Object.assign(\n {},\n ws.params,\n {\n showRegions: false,\n regionsPluginName: params.regionsPluginName || 'regions',\n showOverview: false,\n overviewBorderColor: 'green',\n overviewBorderSize: 2,\n // the container should be different\n container: false,\n height: Math.max(Math.round(ws.params.height / 4), 20)\n },\n params,\n {\n scrollParent: false,\n fillParent: true\n }\n );\n // if container is a selector, get the element\n if (typeof params.container === 'string') {\n const el = document.querySelector(params.container);\n if (!el) {\n console.warn(\n `Wavesurfer minimap container ${params.container} was not found! The minimap will be automatically appended below the waveform.`\n );\n }\n this.params.container = el;\n }\n // if no container is specified add a new element and insert it\n if (!params.container) {\n this.params.container = ws.util.style(\n document.createElement('minimap'),\n {\n display: 'block'\n }\n );\n }\n this.drawer = new ws.Drawer(this.params.container, this.params);\n this.wavesurfer = ws;\n this.util = ws.util;\n this.renderEvent = 'redraw';\n this.overviewRegion = null;\n this.regionsPlugin = this.wavesurfer[this.params.regionsPluginName];\n\n this.drawer.createWrapper();\n this.createElements();\n let isInitialised = false;\n\n // ws ready event listener\n this._onShouldRender = () => {\n // only bind the events in the first run\n if (!isInitialised) {\n this.bindWavesurferEvents();\n this.bindMinimapEvents();\n isInitialised = true;\n }\n // if there is no such element, append it to the container (below\n // the waveform)\n if (!document.body.contains(this.params.container)) {\n ws.container.insertBefore(this.params.container, null);\n }\n\n if (this.regionsPlugin && this.params.showRegions) {\n this.regions();\n }\n this.render();\n };\n\n this._onAudioprocess = currentTime => {\n this.drawer.progress(this.wavesurfer.backend.getPlayedPercents());\n };\n\n // ws seek event listener\n this._onSeek = () =>\n this.drawer.progress(ws.backend.getPlayedPercents());\n\n // event listeners for the overview region\n this._onScroll = e => {\n if (!this.draggingOverview) {\n const orientedTarget = this.util.withOrientation(e.target, this.wavesurfer.params.vertical);\n this.moveOverviewRegion(orientedTarget.scrollLeft / this.ratio);\n }\n };\n this._onMouseover = e => {\n if (this.draggingOverview) {\n this.draggingOverview = false;\n }\n };\n let prevWidth = 0;\n this._onResize = ws.util.debounce(() => {\n if (prevWidth != this.drawer.wrapper.clientWidth) {\n prevWidth = this.drawer.wrapper.clientWidth;\n this.render();\n this.drawer.progress(\n this.wavesurfer.backend.getPlayedPercents()\n );\n }\n });\n this._onZoom = e => {\n this.render();\n };\n this.wavesurfer.on('zoom', this._onZoom);\n }\n\n init() {\n if (this.wavesurfer.isReady) {\n this._onShouldRender();\n }\n this.wavesurfer.on(this.renderEvent, this._onShouldRender);\n }\n\n destroy() {\n window.removeEventListener('resize', this._onResize, true);\n window.removeEventListener('orientationchange', this._onResize, true);\n this.wavesurfer.drawer.wrapper.removeEventListener(\n 'mouseover',\n this._onMouseover\n );\n this.wavesurfer.un(this.renderEvent, this._onShouldRender);\n this.wavesurfer.un('seek', this._onSeek);\n this.wavesurfer.un('scroll', this._onScroll);\n this.wavesurfer.un('audioprocess', this._onAudioprocess);\n this.wavesurfer.un('zoom', this._onZoom);\n this.drawer.destroy();\n this.overviewRegion = null;\n this.unAll();\n }\n\n regions() {\n this.regions = {};\n\n this.wavesurfer.on('region-created', region => {\n this.regions[region.id] = region;\n this.drawer.wrapper && this.renderRegions();\n });\n\n this.wavesurfer.on('region-updated', region => {\n this.regions[region.id] = region;\n this.drawer.wrapper && this.renderRegions();\n });\n\n this.wavesurfer.on('region-removed', region => {\n delete this.regions[region.id];\n this.drawer.wrapper && this.renderRegions();\n });\n }\n\n renderRegions() {\n const regionElements = this.drawer.wrapper.querySelectorAll('region');\n let i;\n for (i = 0; i < regionElements.length; ++i) {\n this.drawer.wrapper.removeChild(regionElements[i]);\n }\n\n Object.keys(this.regions).forEach(id => {\n const region = this.regions[id];\n const width =\n this.getWidth() *\n ((region.end - region.start) / this.wavesurfer.getDuration());\n const left =\n this.getWidth() *\n (region.start / this.wavesurfer.getDuration());\n const regionElement = this.util.style(\n document.createElement('region'),\n {\n height: 'inherit',\n backgroundColor: region.color,\n width: width + 'px',\n left: left + 'px',\n display: 'block',\n position: 'absolute'\n }\n );\n regionElement.classList.add(id);\n this.drawer.wrapper.appendChild(regionElement);\n });\n }\n\n createElements() {\n this.drawer.createElements();\n if (this.params.showOverview) {\n this.overviewRegion = this.util.withOrientation(\n this.drawer.wrapper.appendChild(document.createElement('overview')),\n this.wavesurfer.params.vertical\n );\n\n this.util.style(\n this.overviewRegion,\n {\n top: 0,\n bottom: 0,\n width: '0px',\n display: 'block',\n position: 'absolute',\n cursor: 'move',\n border:\n this.params.overviewBorderSize +\n 'px solid ' +\n this.params.overviewBorderColor,\n zIndex: 2,\n opacity: this.params.overviewOpacity\n }\n );\n }\n }\n\n bindWavesurferEvents() {\n window.addEventListener('resize', this._onResize, true);\n window.addEventListener('orientationchange', this._onResize, true);\n this.wavesurfer.on('audioprocess', this._onAudioprocess);\n this.wavesurfer.on('seek', this._onSeek);\n if (this.params.showOverview) {\n this.wavesurfer.on('scroll', this._onScroll);\n this.wavesurfer.drawer.wrapper.addEventListener(\n 'mouseover',\n this._onMouseover\n );\n }\n }\n\n bindMinimapEvents() {\n const positionMouseDown = {\n clientX: 0,\n clientY: 0\n };\n let relativePositionX = 0;\n let seek = true;\n\n // the following event listeners will be destroyed by using\n // this.unAll() and nullifying the DOM node references after\n // removing them\n if (this.params.interact) {\n this.drawer.wrapper.addEventListener('click', event => {\n this.fireEvent('click', event, this.drawer.handleEvent(event));\n });\n\n this.on('click', (event, position) => {\n if (seek) {\n this.drawer.progress(position);\n this.wavesurfer.seekAndCenter(position);\n } else {\n seek = true;\n }\n });\n }\n\n if (this.params.showOverview) {\n this.overviewRegion.domElement.addEventListener('mousedown', e => {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n this.draggingOverview = true;\n relativePositionX = event.layerX;\n positionMouseDown.clientX = event.clientX;\n positionMouseDown.clientY = event.clientY;\n });\n\n this.drawer.wrapper.addEventListener('mousemove', e => {\n if (this.draggingOverview) {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n this.moveOverviewRegion(\n event.clientX -\n this.drawer.container.getBoundingClientRect().left -\n relativePositionX\n );\n }\n });\n\n this.drawer.wrapper.addEventListener('mouseup', e => {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n if (\n positionMouseDown.clientX - event.clientX === 0 &&\n positionMouseDown.clientX - event.clientX === 0\n ) {\n seek = true;\n this.draggingOverview = false;\n } else if (this.draggingOverview) {\n seek = false;\n this.draggingOverview = false;\n }\n });\n }\n }\n\n render() {\n const len = this.drawer.getWidth();\n const peaks = this.wavesurfer.backend.getPeaks(len, 0, len);\n this.drawer.drawPeaks(peaks, len, 0, len);\n this.drawer.progress(this.wavesurfer.backend.getPlayedPercents());\n\n if (this.params.showOverview) {\n //get proportional width of overview region considering the respective\n //width of the drawers\n this.ratio = this.wavesurfer.drawer.width / this.drawer.width;\n this.waveShowedWidth = this.wavesurfer.drawer.width / this.ratio;\n this.waveWidth = this.wavesurfer.drawer.width;\n this.overviewWidth = this.drawer.container.offsetWidth / this.ratio;\n this.overviewPosition = 0;\n this.moveOverviewRegion(\n this.wavesurfer.drawer.wrapper.scrollLeft / this.ratio\n );\n this.util.style(this.overviewRegion, {\n width: this.overviewWidth + 'px'\n });\n }\n }\n\n moveOverviewRegion(pixels) {\n if (pixels < 0) {\n this.overviewPosition = 0;\n } else if (\n pixels + this.overviewWidth <\n this.drawer.container.offsetWidth\n ) {\n this.overviewPosition = pixels;\n } else {\n this.overviewPosition =\n this.drawer.container.offsetWidth - this.overviewWidth;\n }\n this.util.style(this.overviewRegion, {\n left: this.overviewPosition + 'px'\n });\n if (this.draggingOverview) {\n this.wavesurfer.drawer.wrapper.scrollLeft =\n this.overviewPosition * this.ratio;\n }\n }\n\n getWidth() {\n return this.drawer.width / this.params.pixelRatio;\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/plugin/minimap/index.js\");\n",""],"names":["MinimapPlugin","params","ws","Object","assign","showRegions","regionsPluginName","showOverview","overviewBorderColor","overviewBorderSize","container","height","Math","max","round","scrollParent","fillParent","el","document","querySelector","console","warn","util","style","createElement","display","drawer","Drawer","wavesurfer","renderEvent","overviewRegion","regionsPlugin","createWrapper","createElements","isInitialised","_onShouldRender","bindWavesurferEvents","bindMinimapEvents","body","contains","insertBefore","regions","render","_onAudioprocess","currentTime","progress","backend","getPlayedPercents","_onSeek","_onScroll","e","draggingOverview","orientedTarget","withOrientation","target","vertical","moveOverviewRegion","scrollLeft","ratio","_onMouseover","prevWidth","_onResize","debounce","wrapper","clientWidth","_onZoom","on","isReady","window","removeEventListener","un","destroy","unAll","region","id","renderRegions","regionElements","querySelectorAll","i","length","removeChild","keys","forEach","width","getWidth","end","start","getDuration","left","regionElement","backgroundColor","color","position","classList","add","appendChild","top","bottom","cursor","border","zIndex","opacity","overviewOpacity","addEventListener","positionMouseDown","clientX","clientY","relativePositionX","seek","interact","event","fireEvent","handleEvent","seekAndCenter","domElement","layerX","getBoundingClientRect","len","peaks","getPeaks","drawPeaks","waveShowedWidth","waveWidth","overviewWidth","offsetWidth","overviewPosition","pixels","pixelRatio","name","deferInit","staticProps","instance"],"sourceRoot":""}
1
+ {"version":3,"file":"wavesurfer.minimap.js","mappings":"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","sources":["webpack://WaveSurfer.[name]/webpack/universalModuleDefinition","webpack://WaveSurfer.[name]/./src/plugin/minimap/index.js","webpack://WaveSurfer.[name]/webpack/bootstrap","webpack://WaveSurfer.[name]/webpack/before-startup","webpack://WaveSurfer.[name]/webpack/startup","webpack://WaveSurfer.[name]/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"WaveSurfer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"WaveSurfer\"] = factory();\n\telse\n\t\troot[\"WaveSurfer\"] = root[\"WaveSurfer\"] || {}, root[\"WaveSurfer\"][\"minimap\"] = factory();\n})(self, function() {\nreturn ","/*eslint no-console: [\"error\", { allow: [\"warn\"] }] */\n/**\n * @typedef {Object} MinimapPluginParams\n * @desc Extends the `WavesurferParams` wavesurfer was initialised with\n * @property {?string|HTMLElement} container CSS selector or HTML element where\n * the map should be rendered. By default it is simply appended\n * after the waveform.\n * @property {?boolean} deferInit Set to true to manually call\n * `initPlugin('minimap')`\n */\n\n/**\n * Renders a smaller version waveform as a minimap of the main waveform.\n *\n * @implements {PluginClass}\n * @extends {Observer}\n * @example\n * // es6\n * import MinimapPlugin from 'wavesurfer.minimap.js';\n *\n * // commonjs\n * var MinimapPlugin = require('wavesurfer.minimap.js');\n *\n * // if you are using <script> tags\n * var MinimapPlugin = window.WaveSurfer.minimap;\n *\n * // ... initialising wavesurfer with the plugin\n * var wavesurfer = WaveSurfer.create({\n * // wavesurfer options ...\n * plugins: [\n * MinimapPlugin.create({\n * // plugin options ...\n * })\n * ]\n * });\n */\nexport default class MinimapPlugin {\n /**\n * Minimap plugin definition factory\n *\n * This function must be used to create a plugin definition which can be\n * used by wavesurfer to correctly instantiate the plugin.\n *\n * @param {MinimapPluginParams} params parameters use to initialise the plugin\n * @return {PluginDefinition} an object representing the plugin\n */\n static create(params) {\n return {\n name: 'minimap',\n deferInit: params && params.deferInit ? params.deferInit : false,\n params: params,\n staticProps: {},\n instance: MinimapPlugin\n };\n }\n\n constructor(params, ws) {\n this.params = Object.assign(\n {},\n ws.params,\n {\n showRegions: false,\n regionsPluginName: params.regionsPluginName || 'regions',\n showOverview: false,\n overviewBorderColor: 'green',\n overviewBorderSize: 2,\n // the container should be different\n container: false,\n height: Math.max(Math.round(ws.params.height / 4), 20)\n },\n params,\n {\n scrollParent: false,\n fillParent: true\n }\n );\n // if container is a selector, get the element\n if (typeof params.container === 'string') {\n const el = document.querySelector(params.container);\n if (!el) {\n console.warn(\n `Wavesurfer minimap container ${params.container} was not found! The minimap will be automatically appended below the waveform.`\n );\n }\n this.params.container = el;\n }\n // if no container is specified add a new element and insert it\n if (!params.container) {\n this.params.container = ws.util.style(\n document.createElement('minimap'),\n {\n display: 'block'\n }\n );\n }\n this.drawer = new ws.Drawer(this.params.container, this.params);\n this.wavesurfer = ws;\n this.util = ws.util;\n this.cleared = false;\n this.renderEvent = 'redraw';\n this.overviewRegion = null;\n this.regionsPlugin = this.wavesurfer[this.params.regionsPluginName];\n\n this.drawer.createWrapper();\n this.createElements();\n let isInitialised = false;\n\n // ws ready event listener\n this._onShouldRender = () => {\n // only bind the events in the first run\n if (!isInitialised) {\n this.bindWavesurferEvents();\n this.bindMinimapEvents();\n isInitialised = true;\n }\n // if there is no such element, append it to the container (below\n // the waveform)\n if (!document.body.contains(this.params.container)) {\n ws.container.insertBefore(this.params.container, null);\n }\n\n if (this.regionsPlugin && this.params.showRegions) {\n this.drawRegions();\n }\n this.render();\n };\n\n this._onAudioprocess = currentTime => {\n this.drawer.progress(this.wavesurfer.backend.getPlayedPercents());\n };\n\n // ws seek event listener\n this._onSeek = () =>\n this.drawer.progress(ws.backend.getPlayedPercents());\n\n // event listeners for the overview region\n this._onScroll = e => {\n if (!this.draggingOverview) {\n const orientedTarget = this.util.withOrientation(e.target, this.wavesurfer.params.vertical);\n this.moveOverviewRegion(orientedTarget.scrollLeft / this.ratio);\n }\n };\n this._onMouseover = e => {\n if (this.draggingOverview) {\n this.draggingOverview = false;\n }\n };\n let prevWidth = 0;\n this._onResize = ws.util.debounce(() => {\n if (prevWidth != this.drawer.wrapper.clientWidth) {\n prevWidth = this.drawer.wrapper.clientWidth;\n this.render();\n this.drawer.progress(\n this.wavesurfer.backend.getPlayedPercents()\n );\n }\n });\n this._onLoading = percent => {\n if (percent >= 100) {\n this.cleared = false;\n return;\n }\n if (this.cleared === true) {\n return;\n }\n const len = this.drawer.getWidth();\n this.drawer.drawPeaks([0], len, 0, len);\n this.cleared = true;\n };\n this._onZoom = e => {\n this.render();\n };\n this.wavesurfer.on('zoom', this._onZoom);\n }\n\n init() {\n if (this.wavesurfer.isReady) {\n this._onShouldRender();\n }\n this.wavesurfer.on(this.renderEvent, this._onShouldRender);\n }\n\n destroy() {\n window.removeEventListener('resize', this._onResize, true);\n window.removeEventListener('orientationchange', this._onResize, true);\n this.wavesurfer.drawer.wrapper.removeEventListener(\n 'mouseover',\n this._onMouseover\n );\n this.wavesurfer.un(this.renderEvent, this._onShouldRender);\n this.wavesurfer.un('seek', this._onSeek);\n this.wavesurfer.un('scroll', this._onScroll);\n this.wavesurfer.un('audioprocess', this._onAudioprocess);\n this.wavesurfer.un('zoom', this._onZoom);\n this.wavesurfer.un('loading', this._onLoading);\n this.drawer.destroy();\n this.overviewRegion = null;\n this.unAll();\n }\n\n drawRegions() {\n this.regions = {};\n\n this.wavesurfer.on('region-created', region => {\n this.regions[region.id] = region;\n this.drawer.wrapper && this.renderRegions();\n });\n\n this.wavesurfer.on('region-updated', region => {\n this.regions[region.id] = region;\n this.drawer.wrapper && this.renderRegions();\n });\n\n this.wavesurfer.on('region-removed', region => {\n delete this.regions[region.id];\n this.drawer.wrapper && this.renderRegions();\n });\n }\n\n renderRegions() {\n const regionElements = this.drawer.wrapper.querySelectorAll('region');\n let i;\n for (i = 0; i < regionElements.length; ++i) {\n this.drawer.wrapper.removeChild(regionElements[i]);\n }\n\n Object.keys(this.regions).forEach(id => {\n const region = this.regions[id];\n const width =\n this.getWidth() *\n ((region.end - region.start) / this.wavesurfer.getDuration());\n const left =\n this.getWidth() *\n (region.start / this.wavesurfer.getDuration());\n const regionElement = this.util.style(\n document.createElement('region'),\n {\n height: 'inherit',\n backgroundColor: region.color,\n width: width + 'px',\n left: left + 'px',\n display: 'block',\n position: 'absolute'\n }\n );\n regionElement.classList.add(id);\n this.drawer.wrapper.appendChild(regionElement);\n });\n }\n\n createElements() {\n this.drawer.createElements();\n if (this.params.showOverview) {\n this.overviewRegion = this.util.withOrientation(\n this.drawer.wrapper.appendChild(document.createElement('overview')),\n this.wavesurfer.params.vertical\n );\n\n this.util.style(\n this.overviewRegion,\n {\n top: 0,\n bottom: 0,\n width: '0px',\n display: 'block',\n position: 'absolute',\n cursor: 'move',\n border:\n this.params.overviewBorderSize +\n 'px solid ' +\n this.params.overviewBorderColor,\n zIndex: 2,\n opacity: this.params.overviewOpacity\n }\n );\n }\n }\n\n bindWavesurferEvents() {\n window.addEventListener('resize', this._onResize, true);\n window.addEventListener('orientationchange', this._onResize, true);\n this.wavesurfer.on('audioprocess', this._onAudioprocess);\n this.wavesurfer.on('seek', this._onSeek);\n this.wavesurfer.on('loading', this._onLoading);\n if (this.params.showOverview) {\n this.wavesurfer.on('scroll', this._onScroll);\n this.wavesurfer.drawer.wrapper.addEventListener(\n 'mouseover',\n this._onMouseover\n );\n }\n }\n\n bindMinimapEvents() {\n const positionMouseDown = {\n clientX: 0,\n clientY: 0\n };\n let relativePositionX = 0;\n let seek = true;\n\n // the following event listeners will be destroyed by using\n // this.unAll() and nullifying the DOM node references after\n // removing them\n if (this.params.interact) {\n this.drawer.wrapper.addEventListener('click', event => {\n this.fireEvent('click', event, this.drawer.handleEvent(event));\n });\n\n this.on('click', (event, position) => {\n if (seek) {\n this.drawer.progress(position);\n this.wavesurfer.seekAndCenter(position);\n } else {\n seek = true;\n }\n });\n }\n\n if (this.params.showOverview) {\n this.overviewRegion.domElement.addEventListener('mousedown', e => {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n this.draggingOverview = true;\n relativePositionX = event.layerX;\n positionMouseDown.clientX = event.clientX;\n positionMouseDown.clientY = event.clientY;\n });\n\n this.drawer.wrapper.addEventListener('mousemove', e => {\n if (this.draggingOverview) {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n this.moveOverviewRegion(\n event.clientX -\n this.drawer.container.getBoundingClientRect().left -\n relativePositionX\n );\n }\n });\n\n this.drawer.wrapper.addEventListener('mouseup', e => {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n if (\n positionMouseDown.clientX - event.clientX === 0 &&\n positionMouseDown.clientX - event.clientX === 0\n ) {\n seek = true;\n this.draggingOverview = false;\n } else if (this.draggingOverview) {\n seek = false;\n this.draggingOverview = false;\n }\n });\n }\n }\n\n render() {\n const len = this.drawer.getWidth();\n const peaks = this.wavesurfer.backend.getPeaks(len, 0, len);\n this.drawer.drawPeaks(peaks, len, 0, len);\n this.drawer.progress(this.wavesurfer.backend.getPlayedPercents());\n\n if (this.params.showOverview) {\n //get proportional width of overview region considering the respective\n //width of the drawers\n this.ratio = this.wavesurfer.drawer.width / this.drawer.width;\n this.waveShowedWidth = this.wavesurfer.drawer.width / this.ratio;\n this.waveWidth = this.wavesurfer.drawer.width;\n this.overviewWidth = this.drawer.container.offsetWidth / this.ratio;\n this.overviewPosition = 0;\n this.moveOverviewRegion(\n this.wavesurfer.drawer.wrapper.scrollLeft / this.ratio\n );\n this.util.style(this.overviewRegion, {\n width: this.overviewWidth + 'px'\n });\n }\n }\n\n moveOverviewRegion(pixels) {\n if (pixels < 0) {\n this.overviewPosition = 0;\n } else if (\n pixels + this.overviewWidth <\n this.drawer.container.offsetWidth\n ) {\n this.overviewPosition = pixels;\n } else {\n this.overviewPosition =\n this.drawer.container.offsetWidth - this.overviewWidth;\n }\n this.util.style(this.overviewRegion, {\n left: this.overviewPosition + 'px'\n });\n if (this.draggingOverview) {\n this.wavesurfer.drawer.wrapper.scrollLeft =\n this.overviewPosition * this.ratio;\n }\n }\n\n getWidth() {\n return this.drawer.width / this.params.pixelRatio;\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/plugin/minimap/index.js\");\n",""],"names":["MinimapPlugin","params","ws","Object","assign","showRegions","regionsPluginName","showOverview","overviewBorderColor","overviewBorderSize","container","height","Math","max","round","scrollParent","fillParent","el","document","querySelector","console","warn","util","style","createElement","display","drawer","Drawer","wavesurfer","cleared","renderEvent","overviewRegion","regionsPlugin","createWrapper","createElements","isInitialised","_onShouldRender","bindWavesurferEvents","bindMinimapEvents","body","contains","insertBefore","drawRegions","render","_onAudioprocess","currentTime","progress","backend","getPlayedPercents","_onSeek","_onScroll","e","draggingOverview","orientedTarget","withOrientation","target","vertical","moveOverviewRegion","scrollLeft","ratio","_onMouseover","prevWidth","_onResize","debounce","wrapper","clientWidth","_onLoading","percent","len","getWidth","drawPeaks","_onZoom","on","isReady","window","removeEventListener","un","destroy","unAll","regions","region","id","renderRegions","regionElements","querySelectorAll","i","length","removeChild","keys","forEach","width","end","start","getDuration","left","regionElement","backgroundColor","color","position","classList","add","appendChild","top","bottom","cursor","border","zIndex","opacity","overviewOpacity","addEventListener","positionMouseDown","clientX","clientY","relativePositionX","seek","interact","event","fireEvent","handleEvent","seekAndCenter","domElement","layerX","getBoundingClientRect","peaks","getPeaks","waveShowedWidth","waveWidth","overviewWidth","offsetWidth","overviewPosition","pixels","pixelRatio","name","deferInit","staticProps","instance"],"sourceRoot":""}
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * wavesurfer.js minimap plugin 6.0.2 (2022-02-20)
2
+ * wavesurfer.js minimap plugin 6.1.0 (2022-03-31)
3
3
  * https://wavesurfer-js.org
4
4
  * @license BSD-3-Clause
5
5
  */
6
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("WaveSurfer",[],r):"object"==typeof exports?exports.WaveSurfer=r():(e.WaveSurfer=e.WaveSurfer||{},e.WaveSurfer.minimap=r())}(self,(function(){return(()=>{"use strict";var e={521:(e,r)=>{function i(e,r){for(var i=0;i<r.length;i++){var t=r[i];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var t=function(){function e(r,i){var t=this;if(function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),this.params=Object.assign({},i.params,{showRegions:!1,regionsPluginName:r.regionsPluginName||"regions",showOverview:!1,overviewBorderColor:"green",overviewBorderSize:2,container:!1,height:Math.max(Math.round(i.params.height/4),20)},r,{scrollParent:!1,fillParent:!0}),"string"==typeof r.container){var n=document.querySelector(r.container);n||console.warn("Wavesurfer minimap container ".concat(r.container," was not found! The minimap will be automatically appended below the waveform.")),this.params.container=n}r.container||(this.params.container=i.util.style(document.createElement("minimap"),{display:"block"})),this.drawer=new i.Drawer(this.params.container,this.params),this.wavesurfer=i,this.util=i.util,this.renderEvent="redraw",this.overviewRegion=null,this.regionsPlugin=this.wavesurfer[this.params.regionsPluginName],this.drawer.createWrapper(),this.createElements();var s=!1;this._onShouldRender=function(){s||(t.bindWavesurferEvents(),t.bindMinimapEvents(),s=!0),document.body.contains(t.params.container)||i.container.insertBefore(t.params.container,null),t.regionsPlugin&&t.params.showRegions&&t.regions(),t.render()},this._onAudioprocess=function(e){t.drawer.progress(t.wavesurfer.backend.getPlayedPercents())},this._onSeek=function(){return t.drawer.progress(i.backend.getPlayedPercents())},this._onScroll=function(e){if(!t.draggingOverview){var r=t.util.withOrientation(e.target,t.wavesurfer.params.vertical);t.moveOverviewRegion(r.scrollLeft/t.ratio)}},this._onMouseover=function(e){t.draggingOverview&&(t.draggingOverview=!1)};var o=0;this._onResize=i.util.debounce((function(){o!=t.drawer.wrapper.clientWidth&&(o=t.drawer.wrapper.clientWidth,t.render(),t.drawer.progress(t.wavesurfer.backend.getPlayedPercents()))})),this._onZoom=function(e){t.render()},this.wavesurfer.on("zoom",this._onZoom)}var r,t,n;return r=e,n=[{key:"create",value:function(r){return{name:"minimap",deferInit:!(!r||!r.deferInit)&&r.deferInit,params:r,staticProps:{},instance:e}}}],(t=[{key:"init",value:function(){this.wavesurfer.isReady&&this._onShouldRender(),this.wavesurfer.on(this.renderEvent,this._onShouldRender)}},{key:"destroy",value:function(){window.removeEventListener("resize",this._onResize,!0),window.removeEventListener("orientationchange",this._onResize,!0),this.wavesurfer.drawer.wrapper.removeEventListener("mouseover",this._onMouseover),this.wavesurfer.un(this.renderEvent,this._onShouldRender),this.wavesurfer.un("seek",this._onSeek),this.wavesurfer.un("scroll",this._onScroll),this.wavesurfer.un("audioprocess",this._onAudioprocess),this.wavesurfer.un("zoom",this._onZoom),this.drawer.destroy(),this.overviewRegion=null,this.unAll()}},{key:"regions",value:function(){var e=this;this.regions={},this.wavesurfer.on("region-created",(function(r){e.regions[r.id]=r,e.drawer.wrapper&&e.renderRegions()})),this.wavesurfer.on("region-updated",(function(r){e.regions[r.id]=r,e.drawer.wrapper&&e.renderRegions()})),this.wavesurfer.on("region-removed",(function(r){delete e.regions[r.id],e.drawer.wrapper&&e.renderRegions()}))}},{key:"renderRegions",value:function(){var e,r=this,i=this.drawer.wrapper.querySelectorAll("region");for(e=0;e<i.length;++e)this.drawer.wrapper.removeChild(i[e]);Object.keys(this.regions).forEach((function(e){var i=r.regions[e],t=r.getWidth()*((i.end-i.start)/r.wavesurfer.getDuration()),n=r.getWidth()*(i.start/r.wavesurfer.getDuration()),s=r.util.style(document.createElement("region"),{height:"inherit",backgroundColor:i.color,width:t+"px",left:n+"px",display:"block",position:"absolute"});s.classList.add(e),r.drawer.wrapper.appendChild(s)}))}},{key:"createElements",value:function(){this.drawer.createElements(),this.params.showOverview&&(this.overviewRegion=this.util.withOrientation(this.drawer.wrapper.appendChild(document.createElement("overview")),this.wavesurfer.params.vertical),this.util.style(this.overviewRegion,{top:0,bottom:0,width:"0px",display:"block",position:"absolute",cursor:"move",border:this.params.overviewBorderSize+"px solid "+this.params.overviewBorderColor,zIndex:2,opacity:this.params.overviewOpacity}))}},{key:"bindWavesurferEvents",value:function(){window.addEventListener("resize",this._onResize,!0),window.addEventListener("orientationchange",this._onResize,!0),this.wavesurfer.on("audioprocess",this._onAudioprocess),this.wavesurfer.on("seek",this._onSeek),this.params.showOverview&&(this.wavesurfer.on("scroll",this._onScroll),this.wavesurfer.drawer.wrapper.addEventListener("mouseover",this._onMouseover))}},{key:"bindMinimapEvents",value:function(){var e=this,r={clientX:0,clientY:0},i=0,t=!0;this.params.interact&&(this.drawer.wrapper.addEventListener("click",(function(r){e.fireEvent("click",r,e.drawer.handleEvent(r))})),this.on("click",(function(r,i){t?(e.drawer.progress(i),e.wavesurfer.seekAndCenter(i)):t=!0}))),this.params.showOverview&&(this.overviewRegion.domElement.addEventListener("mousedown",(function(t){var n=e.util.withOrientation(t,e.wavesurfer.params.vertical);e.draggingOverview=!0,i=n.layerX,r.clientX=n.clientX,r.clientY=n.clientY})),this.drawer.wrapper.addEventListener("mousemove",(function(r){if(e.draggingOverview){var t=e.util.withOrientation(r,e.wavesurfer.params.vertical);e.moveOverviewRegion(t.clientX-e.drawer.container.getBoundingClientRect().left-i)}})),this.drawer.wrapper.addEventListener("mouseup",(function(i){var n=e.util.withOrientation(i,e.wavesurfer.params.vertical);r.clientX-n.clientX==0&&r.clientX-n.clientX==0?(t=!0,e.draggingOverview=!1):e.draggingOverview&&(t=!1,e.draggingOverview=!1)})))}},{key:"render",value:function(){var e=this.drawer.getWidth(),r=this.wavesurfer.backend.getPeaks(e,0,e);this.drawer.drawPeaks(r,e,0,e),this.drawer.progress(this.wavesurfer.backend.getPlayedPercents()),this.params.showOverview&&(this.ratio=this.wavesurfer.drawer.width/this.drawer.width,this.waveShowedWidth=this.wavesurfer.drawer.width/this.ratio,this.waveWidth=this.wavesurfer.drawer.width,this.overviewWidth=this.drawer.container.offsetWidth/this.ratio,this.overviewPosition=0,this.moveOverviewRegion(this.wavesurfer.drawer.wrapper.scrollLeft/this.ratio),this.util.style(this.overviewRegion,{width:this.overviewWidth+"px"}))}},{key:"moveOverviewRegion",value:function(e){e<0?this.overviewPosition=0:e+this.overviewWidth<this.drawer.container.offsetWidth?this.overviewPosition=e:this.overviewPosition=this.drawer.container.offsetWidth-this.overviewWidth,this.util.style(this.overviewRegion,{left:this.overviewPosition+"px"}),this.draggingOverview&&(this.wavesurfer.drawer.wrapper.scrollLeft=this.overviewPosition*this.ratio)}},{key:"getWidth",value:function(){return this.drawer.width/this.params.pixelRatio}}])&&i(r.prototype,t),n&&i(r,n),Object.defineProperty(r,"prototype",{writable:!1}),e}();r.default=t,e.exports=r.default}},r={};var i=function i(t){var n=r[t];if(void 0!==n)return n.exports;var s=r[t]={exports:{}};return e[t](s,s.exports,i),s.exports}(521);return i})()}));
6
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("WaveSurfer",[],r):"object"==typeof exports?exports.WaveSurfer=r():(e.WaveSurfer=e.WaveSurfer||{},e.WaveSurfer.minimap=r())}(self,(function(){return(()=>{"use strict";var e={521:(e,r)=>{function i(e,r){for(var i=0;i<r.length;i++){var t=r[i];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var t=function(){function e(r,i){var t=this;if(function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),this.params=Object.assign({},i.params,{showRegions:!1,regionsPluginName:r.regionsPluginName||"regions",showOverview:!1,overviewBorderColor:"green",overviewBorderSize:2,container:!1,height:Math.max(Math.round(i.params.height/4),20)},r,{scrollParent:!1,fillParent:!0}),"string"==typeof r.container){var n=document.querySelector(r.container);n||console.warn("Wavesurfer minimap container ".concat(r.container," was not found! The minimap will be automatically appended below the waveform.")),this.params.container=n}r.container||(this.params.container=i.util.style(document.createElement("minimap"),{display:"block"})),this.drawer=new i.Drawer(this.params.container,this.params),this.wavesurfer=i,this.util=i.util,this.cleared=!1,this.renderEvent="redraw",this.overviewRegion=null,this.regionsPlugin=this.wavesurfer[this.params.regionsPluginName],this.drawer.createWrapper(),this.createElements();var s=!1;this._onShouldRender=function(){s||(t.bindWavesurferEvents(),t.bindMinimapEvents(),s=!0),document.body.contains(t.params.container)||i.container.insertBefore(t.params.container,null),t.regionsPlugin&&t.params.showRegions&&t.drawRegions(),t.render()},this._onAudioprocess=function(e){t.drawer.progress(t.wavesurfer.backend.getPlayedPercents())},this._onSeek=function(){return t.drawer.progress(i.backend.getPlayedPercents())},this._onScroll=function(e){if(!t.draggingOverview){var r=t.util.withOrientation(e.target,t.wavesurfer.params.vertical);t.moveOverviewRegion(r.scrollLeft/t.ratio)}},this._onMouseover=function(e){t.draggingOverview&&(t.draggingOverview=!1)};var o=0;this._onResize=i.util.debounce((function(){o!=t.drawer.wrapper.clientWidth&&(o=t.drawer.wrapper.clientWidth,t.render(),t.drawer.progress(t.wavesurfer.backend.getPlayedPercents()))})),this._onLoading=function(e){if(e>=100)t.cleared=!1;else if(!0!==t.cleared){var r=t.drawer.getWidth();t.drawer.drawPeaks([0],r,0,r),t.cleared=!0}},this._onZoom=function(e){t.render()},this.wavesurfer.on("zoom",this._onZoom)}var r,t,n;return r=e,n=[{key:"create",value:function(r){return{name:"minimap",deferInit:!(!r||!r.deferInit)&&r.deferInit,params:r,staticProps:{},instance:e}}}],(t=[{key:"init",value:function(){this.wavesurfer.isReady&&this._onShouldRender(),this.wavesurfer.on(this.renderEvent,this._onShouldRender)}},{key:"destroy",value:function(){window.removeEventListener("resize",this._onResize,!0),window.removeEventListener("orientationchange",this._onResize,!0),this.wavesurfer.drawer.wrapper.removeEventListener("mouseover",this._onMouseover),this.wavesurfer.un(this.renderEvent,this._onShouldRender),this.wavesurfer.un("seek",this._onSeek),this.wavesurfer.un("scroll",this._onScroll),this.wavesurfer.un("audioprocess",this._onAudioprocess),this.wavesurfer.un("zoom",this._onZoom),this.wavesurfer.un("loading",this._onLoading),this.drawer.destroy(),this.overviewRegion=null,this.unAll()}},{key:"drawRegions",value:function(){var e=this;this.regions={},this.wavesurfer.on("region-created",(function(r){e.regions[r.id]=r,e.drawer.wrapper&&e.renderRegions()})),this.wavesurfer.on("region-updated",(function(r){e.regions[r.id]=r,e.drawer.wrapper&&e.renderRegions()})),this.wavesurfer.on("region-removed",(function(r){delete e.regions[r.id],e.drawer.wrapper&&e.renderRegions()}))}},{key:"renderRegions",value:function(){var e,r=this,i=this.drawer.wrapper.querySelectorAll("region");for(e=0;e<i.length;++e)this.drawer.wrapper.removeChild(i[e]);Object.keys(this.regions).forEach((function(e){var i=r.regions[e],t=r.getWidth()*((i.end-i.start)/r.wavesurfer.getDuration()),n=r.getWidth()*(i.start/r.wavesurfer.getDuration()),s=r.util.style(document.createElement("region"),{height:"inherit",backgroundColor:i.color,width:t+"px",left:n+"px",display:"block",position:"absolute"});s.classList.add(e),r.drawer.wrapper.appendChild(s)}))}},{key:"createElements",value:function(){this.drawer.createElements(),this.params.showOverview&&(this.overviewRegion=this.util.withOrientation(this.drawer.wrapper.appendChild(document.createElement("overview")),this.wavesurfer.params.vertical),this.util.style(this.overviewRegion,{top:0,bottom:0,width:"0px",display:"block",position:"absolute",cursor:"move",border:this.params.overviewBorderSize+"px solid "+this.params.overviewBorderColor,zIndex:2,opacity:this.params.overviewOpacity}))}},{key:"bindWavesurferEvents",value:function(){window.addEventListener("resize",this._onResize,!0),window.addEventListener("orientationchange",this._onResize,!0),this.wavesurfer.on("audioprocess",this._onAudioprocess),this.wavesurfer.on("seek",this._onSeek),this.wavesurfer.on("loading",this._onLoading),this.params.showOverview&&(this.wavesurfer.on("scroll",this._onScroll),this.wavesurfer.drawer.wrapper.addEventListener("mouseover",this._onMouseover))}},{key:"bindMinimapEvents",value:function(){var e=this,r={clientX:0,clientY:0},i=0,t=!0;this.params.interact&&(this.drawer.wrapper.addEventListener("click",(function(r){e.fireEvent("click",r,e.drawer.handleEvent(r))})),this.on("click",(function(r,i){t?(e.drawer.progress(i),e.wavesurfer.seekAndCenter(i)):t=!0}))),this.params.showOverview&&(this.overviewRegion.domElement.addEventListener("mousedown",(function(t){var n=e.util.withOrientation(t,e.wavesurfer.params.vertical);e.draggingOverview=!0,i=n.layerX,r.clientX=n.clientX,r.clientY=n.clientY})),this.drawer.wrapper.addEventListener("mousemove",(function(r){if(e.draggingOverview){var t=e.util.withOrientation(r,e.wavesurfer.params.vertical);e.moveOverviewRegion(t.clientX-e.drawer.container.getBoundingClientRect().left-i)}})),this.drawer.wrapper.addEventListener("mouseup",(function(i){var n=e.util.withOrientation(i,e.wavesurfer.params.vertical);r.clientX-n.clientX==0&&r.clientX-n.clientX==0?(t=!0,e.draggingOverview=!1):e.draggingOverview&&(t=!1,e.draggingOverview=!1)})))}},{key:"render",value:function(){var e=this.drawer.getWidth(),r=this.wavesurfer.backend.getPeaks(e,0,e);this.drawer.drawPeaks(r,e,0,e),this.drawer.progress(this.wavesurfer.backend.getPlayedPercents()),this.params.showOverview&&(this.ratio=this.wavesurfer.drawer.width/this.drawer.width,this.waveShowedWidth=this.wavesurfer.drawer.width/this.ratio,this.waveWidth=this.wavesurfer.drawer.width,this.overviewWidth=this.drawer.container.offsetWidth/this.ratio,this.overviewPosition=0,this.moveOverviewRegion(this.wavesurfer.drawer.wrapper.scrollLeft/this.ratio),this.util.style(this.overviewRegion,{width:this.overviewWidth+"px"}))}},{key:"moveOverviewRegion",value:function(e){e<0?this.overviewPosition=0:e+this.overviewWidth<this.drawer.container.offsetWidth?this.overviewPosition=e:this.overviewPosition=this.drawer.container.offsetWidth-this.overviewWidth,this.util.style(this.overviewRegion,{left:this.overviewPosition+"px"}),this.draggingOverview&&(this.wavesurfer.drawer.wrapper.scrollLeft=this.overviewPosition*this.ratio)}},{key:"getWidth",value:function(){return this.drawer.width/this.params.pixelRatio}}])&&i(r.prototype,t),n&&i(r,n),Object.defineProperty(r,"prototype",{writable:!1}),e}();r.default=t,e.exports=r.default}},r={};var i=function i(t){var n=r[t];if(void 0!==n)return n.exports;var s=r[t]={exports:{}};return e[t](s,s.exports,i),s.exports}(521);return i})()}));
7
7
  //# sourceMappingURL=wavesurfer.minimap.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wavesurfer.minimap.min.js","mappings":"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","sources":["webpack://WaveSurfer.[name]/webpack/universalModuleDefinition","webpack://WaveSurfer.[name]/./src/plugin/minimap/index.js","webpack://WaveSurfer.[name]/webpack/bootstrap","webpack://WaveSurfer.[name]/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"WaveSurfer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"WaveSurfer\"] = factory();\n\telse\n\t\troot[\"WaveSurfer\"] = root[\"WaveSurfer\"] || {}, root[\"WaveSurfer\"][\"minimap\"] = factory();\n})(self, function() {\nreturn ","/*eslint no-console: [\"error\", { allow: [\"warn\"] }] */\n/**\n * @typedef {Object} MinimapPluginParams\n * @desc Extends the `WavesurferParams` wavesurfer was initialised with\n * @property {?string|HTMLElement} container CSS selector or HTML element where\n * the map should be rendered. By default it is simply appended\n * after the waveform.\n * @property {?boolean} deferInit Set to true to manually call\n * `initPlugin('minimap')`\n */\n\n/**\n * Renders a smaller version waveform as a minimap of the main waveform.\n *\n * @implements {PluginClass}\n * @extends {Observer}\n * @example\n * // es6\n * import MinimapPlugin from 'wavesurfer.minimap.js';\n *\n * // commonjs\n * var MinimapPlugin = require('wavesurfer.minimap.js');\n *\n * // if you are using <script> tags\n * var MinimapPlugin = window.WaveSurfer.minimap;\n *\n * // ... initialising wavesurfer with the plugin\n * var wavesurfer = WaveSurfer.create({\n * // wavesurfer options ...\n * plugins: [\n * MinimapPlugin.create({\n * // plugin options ...\n * })\n * ]\n * });\n */\nexport default class MinimapPlugin {\n /**\n * Minimap plugin definition factory\n *\n * This function must be used to create a plugin definition which can be\n * used by wavesurfer to correctly instantiate the plugin.\n *\n * @param {MinimapPluginParams} params parameters use to initialise the plugin\n * @return {PluginDefinition} an object representing the plugin\n */\n static create(params) {\n return {\n name: 'minimap',\n deferInit: params && params.deferInit ? params.deferInit : false,\n params: params,\n staticProps: {},\n instance: MinimapPlugin\n };\n }\n\n constructor(params, ws) {\n this.params = Object.assign(\n {},\n ws.params,\n {\n showRegions: false,\n regionsPluginName: params.regionsPluginName || 'regions',\n showOverview: false,\n overviewBorderColor: 'green',\n overviewBorderSize: 2,\n // the container should be different\n container: false,\n height: Math.max(Math.round(ws.params.height / 4), 20)\n },\n params,\n {\n scrollParent: false,\n fillParent: true\n }\n );\n // if container is a selector, get the element\n if (typeof params.container === 'string') {\n const el = document.querySelector(params.container);\n if (!el) {\n console.warn(\n `Wavesurfer minimap container ${params.container} was not found! The minimap will be automatically appended below the waveform.`\n );\n }\n this.params.container = el;\n }\n // if no container is specified add a new element and insert it\n if (!params.container) {\n this.params.container = ws.util.style(\n document.createElement('minimap'),\n {\n display: 'block'\n }\n );\n }\n this.drawer = new ws.Drawer(this.params.container, this.params);\n this.wavesurfer = ws;\n this.util = ws.util;\n this.renderEvent = 'redraw';\n this.overviewRegion = null;\n this.regionsPlugin = this.wavesurfer[this.params.regionsPluginName];\n\n this.drawer.createWrapper();\n this.createElements();\n let isInitialised = false;\n\n // ws ready event listener\n this._onShouldRender = () => {\n // only bind the events in the first run\n if (!isInitialised) {\n this.bindWavesurferEvents();\n this.bindMinimapEvents();\n isInitialised = true;\n }\n // if there is no such element, append it to the container (below\n // the waveform)\n if (!document.body.contains(this.params.container)) {\n ws.container.insertBefore(this.params.container, null);\n }\n\n if (this.regionsPlugin && this.params.showRegions) {\n this.regions();\n }\n this.render();\n };\n\n this._onAudioprocess = currentTime => {\n this.drawer.progress(this.wavesurfer.backend.getPlayedPercents());\n };\n\n // ws seek event listener\n this._onSeek = () =>\n this.drawer.progress(ws.backend.getPlayedPercents());\n\n // event listeners for the overview region\n this._onScroll = e => {\n if (!this.draggingOverview) {\n const orientedTarget = this.util.withOrientation(e.target, this.wavesurfer.params.vertical);\n this.moveOverviewRegion(orientedTarget.scrollLeft / this.ratio);\n }\n };\n this._onMouseover = e => {\n if (this.draggingOverview) {\n this.draggingOverview = false;\n }\n };\n let prevWidth = 0;\n this._onResize = ws.util.debounce(() => {\n if (prevWidth != this.drawer.wrapper.clientWidth) {\n prevWidth = this.drawer.wrapper.clientWidth;\n this.render();\n this.drawer.progress(\n this.wavesurfer.backend.getPlayedPercents()\n );\n }\n });\n this._onZoom = e => {\n this.render();\n };\n this.wavesurfer.on('zoom', this._onZoom);\n }\n\n init() {\n if (this.wavesurfer.isReady) {\n this._onShouldRender();\n }\n this.wavesurfer.on(this.renderEvent, this._onShouldRender);\n }\n\n destroy() {\n window.removeEventListener('resize', this._onResize, true);\n window.removeEventListener('orientationchange', this._onResize, true);\n this.wavesurfer.drawer.wrapper.removeEventListener(\n 'mouseover',\n this._onMouseover\n );\n this.wavesurfer.un(this.renderEvent, this._onShouldRender);\n this.wavesurfer.un('seek', this._onSeek);\n this.wavesurfer.un('scroll', this._onScroll);\n this.wavesurfer.un('audioprocess', this._onAudioprocess);\n this.wavesurfer.un('zoom', this._onZoom);\n this.drawer.destroy();\n this.overviewRegion = null;\n this.unAll();\n }\n\n regions() {\n this.regions = {};\n\n this.wavesurfer.on('region-created', region => {\n this.regions[region.id] = region;\n this.drawer.wrapper && this.renderRegions();\n });\n\n this.wavesurfer.on('region-updated', region => {\n this.regions[region.id] = region;\n this.drawer.wrapper && this.renderRegions();\n });\n\n this.wavesurfer.on('region-removed', region => {\n delete this.regions[region.id];\n this.drawer.wrapper && this.renderRegions();\n });\n }\n\n renderRegions() {\n const regionElements = this.drawer.wrapper.querySelectorAll('region');\n let i;\n for (i = 0; i < regionElements.length; ++i) {\n this.drawer.wrapper.removeChild(regionElements[i]);\n }\n\n Object.keys(this.regions).forEach(id => {\n const region = this.regions[id];\n const width =\n this.getWidth() *\n ((region.end - region.start) / this.wavesurfer.getDuration());\n const left =\n this.getWidth() *\n (region.start / this.wavesurfer.getDuration());\n const regionElement = this.util.style(\n document.createElement('region'),\n {\n height: 'inherit',\n backgroundColor: region.color,\n width: width + 'px',\n left: left + 'px',\n display: 'block',\n position: 'absolute'\n }\n );\n regionElement.classList.add(id);\n this.drawer.wrapper.appendChild(regionElement);\n });\n }\n\n createElements() {\n this.drawer.createElements();\n if (this.params.showOverview) {\n this.overviewRegion = this.util.withOrientation(\n this.drawer.wrapper.appendChild(document.createElement('overview')),\n this.wavesurfer.params.vertical\n );\n\n this.util.style(\n this.overviewRegion,\n {\n top: 0,\n bottom: 0,\n width: '0px',\n display: 'block',\n position: 'absolute',\n cursor: 'move',\n border:\n this.params.overviewBorderSize +\n 'px solid ' +\n this.params.overviewBorderColor,\n zIndex: 2,\n opacity: this.params.overviewOpacity\n }\n );\n }\n }\n\n bindWavesurferEvents() {\n window.addEventListener('resize', this._onResize, true);\n window.addEventListener('orientationchange', this._onResize, true);\n this.wavesurfer.on('audioprocess', this._onAudioprocess);\n this.wavesurfer.on('seek', this._onSeek);\n if (this.params.showOverview) {\n this.wavesurfer.on('scroll', this._onScroll);\n this.wavesurfer.drawer.wrapper.addEventListener(\n 'mouseover',\n this._onMouseover\n );\n }\n }\n\n bindMinimapEvents() {\n const positionMouseDown = {\n clientX: 0,\n clientY: 0\n };\n let relativePositionX = 0;\n let seek = true;\n\n // the following event listeners will be destroyed by using\n // this.unAll() and nullifying the DOM node references after\n // removing them\n if (this.params.interact) {\n this.drawer.wrapper.addEventListener('click', event => {\n this.fireEvent('click', event, this.drawer.handleEvent(event));\n });\n\n this.on('click', (event, position) => {\n if (seek) {\n this.drawer.progress(position);\n this.wavesurfer.seekAndCenter(position);\n } else {\n seek = true;\n }\n });\n }\n\n if (this.params.showOverview) {\n this.overviewRegion.domElement.addEventListener('mousedown', e => {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n this.draggingOverview = true;\n relativePositionX = event.layerX;\n positionMouseDown.clientX = event.clientX;\n positionMouseDown.clientY = event.clientY;\n });\n\n this.drawer.wrapper.addEventListener('mousemove', e => {\n if (this.draggingOverview) {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n this.moveOverviewRegion(\n event.clientX -\n this.drawer.container.getBoundingClientRect().left -\n relativePositionX\n );\n }\n });\n\n this.drawer.wrapper.addEventListener('mouseup', e => {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n if (\n positionMouseDown.clientX - event.clientX === 0 &&\n positionMouseDown.clientX - event.clientX === 0\n ) {\n seek = true;\n this.draggingOverview = false;\n } else if (this.draggingOverview) {\n seek = false;\n this.draggingOverview = false;\n }\n });\n }\n }\n\n render() {\n const len = this.drawer.getWidth();\n const peaks = this.wavesurfer.backend.getPeaks(len, 0, len);\n this.drawer.drawPeaks(peaks, len, 0, len);\n this.drawer.progress(this.wavesurfer.backend.getPlayedPercents());\n\n if (this.params.showOverview) {\n //get proportional width of overview region considering the respective\n //width of the drawers\n this.ratio = this.wavesurfer.drawer.width / this.drawer.width;\n this.waveShowedWidth = this.wavesurfer.drawer.width / this.ratio;\n this.waveWidth = this.wavesurfer.drawer.width;\n this.overviewWidth = this.drawer.container.offsetWidth / this.ratio;\n this.overviewPosition = 0;\n this.moveOverviewRegion(\n this.wavesurfer.drawer.wrapper.scrollLeft / this.ratio\n );\n this.util.style(this.overviewRegion, {\n width: this.overviewWidth + 'px'\n });\n }\n }\n\n moveOverviewRegion(pixels) {\n if (pixels < 0) {\n this.overviewPosition = 0;\n } else if (\n pixels + this.overviewWidth <\n this.drawer.container.offsetWidth\n ) {\n this.overviewPosition = pixels;\n } else {\n this.overviewPosition =\n this.drawer.container.offsetWidth - this.overviewWidth;\n }\n this.util.style(this.overviewRegion, {\n left: this.overviewPosition + 'px'\n });\n if (this.draggingOverview) {\n this.wavesurfer.drawer.wrapper.scrollLeft =\n this.overviewPosition * this.ratio;\n }\n }\n\n getWidth() {\n return this.drawer.width / this.params.pixelRatio;\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(521);\n"],"names":["root","factory","exports","module","define","amd","self","MinimapPlugin","params","ws","this","Object","assign","showRegions","regionsPluginName","showOverview","overviewBorderColor","overviewBorderSize","container","height","Math","max","round","scrollParent","fillParent","el","document","querySelector","console","warn","util","style","createElement","display","drawer","Drawer","wavesurfer","renderEvent","overviewRegion","regionsPlugin","createWrapper","createElements","isInitialised","_onShouldRender","bindWavesurferEvents","bindMinimapEvents","body","contains","insertBefore","regions","render","_onAudioprocess","currentTime","progress","backend","getPlayedPercents","_onSeek","_onScroll","e","draggingOverview","orientedTarget","withOrientation","target","vertical","moveOverviewRegion","scrollLeft","ratio","_onMouseover","prevWidth","_onResize","debounce","wrapper","clientWidth","_onZoom","on","name","deferInit","staticProps","instance","isReady","window","removeEventListener","un","destroy","unAll","region","id","renderRegions","i","regionElements","querySelectorAll","length","removeChild","keys","forEach","width","getWidth","end","start","getDuration","left","regionElement","backgroundColor","color","position","classList","add","appendChild","top","bottom","cursor","border","zIndex","opacity","overviewOpacity","addEventListener","positionMouseDown","clientX","clientY","relativePositionX","seek","interact","event","fireEvent","handleEvent","seekAndCenter","domElement","layerX","getBoundingClientRect","len","peaks","getPeaks","drawPeaks","waveShowedWidth","waveWidth","overviewWidth","offsetWidth","overviewPosition","pixels","pixelRatio","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__"],"sourceRoot":""}
1
+ {"version":3,"file":"wavesurfer.minimap.min.js","mappings":"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","sources":["webpack://WaveSurfer.[name]/webpack/universalModuleDefinition","webpack://WaveSurfer.[name]/./src/plugin/minimap/index.js","webpack://WaveSurfer.[name]/webpack/bootstrap","webpack://WaveSurfer.[name]/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"WaveSurfer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"WaveSurfer\"] = factory();\n\telse\n\t\troot[\"WaveSurfer\"] = root[\"WaveSurfer\"] || {}, root[\"WaveSurfer\"][\"minimap\"] = factory();\n})(self, function() {\nreturn ","/*eslint no-console: [\"error\", { allow: [\"warn\"] }] */\n/**\n * @typedef {Object} MinimapPluginParams\n * @desc Extends the `WavesurferParams` wavesurfer was initialised with\n * @property {?string|HTMLElement} container CSS selector or HTML element where\n * the map should be rendered. By default it is simply appended\n * after the waveform.\n * @property {?boolean} deferInit Set to true to manually call\n * `initPlugin('minimap')`\n */\n\n/**\n * Renders a smaller version waveform as a minimap of the main waveform.\n *\n * @implements {PluginClass}\n * @extends {Observer}\n * @example\n * // es6\n * import MinimapPlugin from 'wavesurfer.minimap.js';\n *\n * // commonjs\n * var MinimapPlugin = require('wavesurfer.minimap.js');\n *\n * // if you are using <script> tags\n * var MinimapPlugin = window.WaveSurfer.minimap;\n *\n * // ... initialising wavesurfer with the plugin\n * var wavesurfer = WaveSurfer.create({\n * // wavesurfer options ...\n * plugins: [\n * MinimapPlugin.create({\n * // plugin options ...\n * })\n * ]\n * });\n */\nexport default class MinimapPlugin {\n /**\n * Minimap plugin definition factory\n *\n * This function must be used to create a plugin definition which can be\n * used by wavesurfer to correctly instantiate the plugin.\n *\n * @param {MinimapPluginParams} params parameters use to initialise the plugin\n * @return {PluginDefinition} an object representing the plugin\n */\n static create(params) {\n return {\n name: 'minimap',\n deferInit: params && params.deferInit ? params.deferInit : false,\n params: params,\n staticProps: {},\n instance: MinimapPlugin\n };\n }\n\n constructor(params, ws) {\n this.params = Object.assign(\n {},\n ws.params,\n {\n showRegions: false,\n regionsPluginName: params.regionsPluginName || 'regions',\n showOverview: false,\n overviewBorderColor: 'green',\n overviewBorderSize: 2,\n // the container should be different\n container: false,\n height: Math.max(Math.round(ws.params.height / 4), 20)\n },\n params,\n {\n scrollParent: false,\n fillParent: true\n }\n );\n // if container is a selector, get the element\n if (typeof params.container === 'string') {\n const el = document.querySelector(params.container);\n if (!el) {\n console.warn(\n `Wavesurfer minimap container ${params.container} was not found! The minimap will be automatically appended below the waveform.`\n );\n }\n this.params.container = el;\n }\n // if no container is specified add a new element and insert it\n if (!params.container) {\n this.params.container = ws.util.style(\n document.createElement('minimap'),\n {\n display: 'block'\n }\n );\n }\n this.drawer = new ws.Drawer(this.params.container, this.params);\n this.wavesurfer = ws;\n this.util = ws.util;\n this.cleared = false;\n this.renderEvent = 'redraw';\n this.overviewRegion = null;\n this.regionsPlugin = this.wavesurfer[this.params.regionsPluginName];\n\n this.drawer.createWrapper();\n this.createElements();\n let isInitialised = false;\n\n // ws ready event listener\n this._onShouldRender = () => {\n // only bind the events in the first run\n if (!isInitialised) {\n this.bindWavesurferEvents();\n this.bindMinimapEvents();\n isInitialised = true;\n }\n // if there is no such element, append it to the container (below\n // the waveform)\n if (!document.body.contains(this.params.container)) {\n ws.container.insertBefore(this.params.container, null);\n }\n\n if (this.regionsPlugin && this.params.showRegions) {\n this.drawRegions();\n }\n this.render();\n };\n\n this._onAudioprocess = currentTime => {\n this.drawer.progress(this.wavesurfer.backend.getPlayedPercents());\n };\n\n // ws seek event listener\n this._onSeek = () =>\n this.drawer.progress(ws.backend.getPlayedPercents());\n\n // event listeners for the overview region\n this._onScroll = e => {\n if (!this.draggingOverview) {\n const orientedTarget = this.util.withOrientation(e.target, this.wavesurfer.params.vertical);\n this.moveOverviewRegion(orientedTarget.scrollLeft / this.ratio);\n }\n };\n this._onMouseover = e => {\n if (this.draggingOverview) {\n this.draggingOverview = false;\n }\n };\n let prevWidth = 0;\n this._onResize = ws.util.debounce(() => {\n if (prevWidth != this.drawer.wrapper.clientWidth) {\n prevWidth = this.drawer.wrapper.clientWidth;\n this.render();\n this.drawer.progress(\n this.wavesurfer.backend.getPlayedPercents()\n );\n }\n });\n this._onLoading = percent => {\n if (percent >= 100) {\n this.cleared = false;\n return;\n }\n if (this.cleared === true) {\n return;\n }\n const len = this.drawer.getWidth();\n this.drawer.drawPeaks([0], len, 0, len);\n this.cleared = true;\n };\n this._onZoom = e => {\n this.render();\n };\n this.wavesurfer.on('zoom', this._onZoom);\n }\n\n init() {\n if (this.wavesurfer.isReady) {\n this._onShouldRender();\n }\n this.wavesurfer.on(this.renderEvent, this._onShouldRender);\n }\n\n destroy() {\n window.removeEventListener('resize', this._onResize, true);\n window.removeEventListener('orientationchange', this._onResize, true);\n this.wavesurfer.drawer.wrapper.removeEventListener(\n 'mouseover',\n this._onMouseover\n );\n this.wavesurfer.un(this.renderEvent, this._onShouldRender);\n this.wavesurfer.un('seek', this._onSeek);\n this.wavesurfer.un('scroll', this._onScroll);\n this.wavesurfer.un('audioprocess', this._onAudioprocess);\n this.wavesurfer.un('zoom', this._onZoom);\n this.wavesurfer.un('loading', this._onLoading);\n this.drawer.destroy();\n this.overviewRegion = null;\n this.unAll();\n }\n\n drawRegions() {\n this.regions = {};\n\n this.wavesurfer.on('region-created', region => {\n this.regions[region.id] = region;\n this.drawer.wrapper && this.renderRegions();\n });\n\n this.wavesurfer.on('region-updated', region => {\n this.regions[region.id] = region;\n this.drawer.wrapper && this.renderRegions();\n });\n\n this.wavesurfer.on('region-removed', region => {\n delete this.regions[region.id];\n this.drawer.wrapper && this.renderRegions();\n });\n }\n\n renderRegions() {\n const regionElements = this.drawer.wrapper.querySelectorAll('region');\n let i;\n for (i = 0; i < regionElements.length; ++i) {\n this.drawer.wrapper.removeChild(regionElements[i]);\n }\n\n Object.keys(this.regions).forEach(id => {\n const region = this.regions[id];\n const width =\n this.getWidth() *\n ((region.end - region.start) / this.wavesurfer.getDuration());\n const left =\n this.getWidth() *\n (region.start / this.wavesurfer.getDuration());\n const regionElement = this.util.style(\n document.createElement('region'),\n {\n height: 'inherit',\n backgroundColor: region.color,\n width: width + 'px',\n left: left + 'px',\n display: 'block',\n position: 'absolute'\n }\n );\n regionElement.classList.add(id);\n this.drawer.wrapper.appendChild(regionElement);\n });\n }\n\n createElements() {\n this.drawer.createElements();\n if (this.params.showOverview) {\n this.overviewRegion = this.util.withOrientation(\n this.drawer.wrapper.appendChild(document.createElement('overview')),\n this.wavesurfer.params.vertical\n );\n\n this.util.style(\n this.overviewRegion,\n {\n top: 0,\n bottom: 0,\n width: '0px',\n display: 'block',\n position: 'absolute',\n cursor: 'move',\n border:\n this.params.overviewBorderSize +\n 'px solid ' +\n this.params.overviewBorderColor,\n zIndex: 2,\n opacity: this.params.overviewOpacity\n }\n );\n }\n }\n\n bindWavesurferEvents() {\n window.addEventListener('resize', this._onResize, true);\n window.addEventListener('orientationchange', this._onResize, true);\n this.wavesurfer.on('audioprocess', this._onAudioprocess);\n this.wavesurfer.on('seek', this._onSeek);\n this.wavesurfer.on('loading', this._onLoading);\n if (this.params.showOverview) {\n this.wavesurfer.on('scroll', this._onScroll);\n this.wavesurfer.drawer.wrapper.addEventListener(\n 'mouseover',\n this._onMouseover\n );\n }\n }\n\n bindMinimapEvents() {\n const positionMouseDown = {\n clientX: 0,\n clientY: 0\n };\n let relativePositionX = 0;\n let seek = true;\n\n // the following event listeners will be destroyed by using\n // this.unAll() and nullifying the DOM node references after\n // removing them\n if (this.params.interact) {\n this.drawer.wrapper.addEventListener('click', event => {\n this.fireEvent('click', event, this.drawer.handleEvent(event));\n });\n\n this.on('click', (event, position) => {\n if (seek) {\n this.drawer.progress(position);\n this.wavesurfer.seekAndCenter(position);\n } else {\n seek = true;\n }\n });\n }\n\n if (this.params.showOverview) {\n this.overviewRegion.domElement.addEventListener('mousedown', e => {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n this.draggingOverview = true;\n relativePositionX = event.layerX;\n positionMouseDown.clientX = event.clientX;\n positionMouseDown.clientY = event.clientY;\n });\n\n this.drawer.wrapper.addEventListener('mousemove', e => {\n if (this.draggingOverview) {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n this.moveOverviewRegion(\n event.clientX -\n this.drawer.container.getBoundingClientRect().left -\n relativePositionX\n );\n }\n });\n\n this.drawer.wrapper.addEventListener('mouseup', e => {\n const event = this.util.withOrientation(e, this.wavesurfer.params.vertical);\n if (\n positionMouseDown.clientX - event.clientX === 0 &&\n positionMouseDown.clientX - event.clientX === 0\n ) {\n seek = true;\n this.draggingOverview = false;\n } else if (this.draggingOverview) {\n seek = false;\n this.draggingOverview = false;\n }\n });\n }\n }\n\n render() {\n const len = this.drawer.getWidth();\n const peaks = this.wavesurfer.backend.getPeaks(len, 0, len);\n this.drawer.drawPeaks(peaks, len, 0, len);\n this.drawer.progress(this.wavesurfer.backend.getPlayedPercents());\n\n if (this.params.showOverview) {\n //get proportional width of overview region considering the respective\n //width of the drawers\n this.ratio = this.wavesurfer.drawer.width / this.drawer.width;\n this.waveShowedWidth = this.wavesurfer.drawer.width / this.ratio;\n this.waveWidth = this.wavesurfer.drawer.width;\n this.overviewWidth = this.drawer.container.offsetWidth / this.ratio;\n this.overviewPosition = 0;\n this.moveOverviewRegion(\n this.wavesurfer.drawer.wrapper.scrollLeft / this.ratio\n );\n this.util.style(this.overviewRegion, {\n width: this.overviewWidth + 'px'\n });\n }\n }\n\n moveOverviewRegion(pixels) {\n if (pixels < 0) {\n this.overviewPosition = 0;\n } else if (\n pixels + this.overviewWidth <\n this.drawer.container.offsetWidth\n ) {\n this.overviewPosition = pixels;\n } else {\n this.overviewPosition =\n this.drawer.container.offsetWidth - this.overviewWidth;\n }\n this.util.style(this.overviewRegion, {\n left: this.overviewPosition + 'px'\n });\n if (this.draggingOverview) {\n this.wavesurfer.drawer.wrapper.scrollLeft =\n this.overviewPosition * this.ratio;\n }\n }\n\n getWidth() {\n return this.drawer.width / this.params.pixelRatio;\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(521);\n"],"names":["root","factory","exports","module","define","amd","self","MinimapPlugin","params","ws","this","Object","assign","showRegions","regionsPluginName","showOverview","overviewBorderColor","overviewBorderSize","container","height","Math","max","round","scrollParent","fillParent","el","document","querySelector","console","warn","util","style","createElement","display","drawer","Drawer","wavesurfer","cleared","renderEvent","overviewRegion","regionsPlugin","createWrapper","createElements","isInitialised","_onShouldRender","bindWavesurferEvents","bindMinimapEvents","body","contains","insertBefore","drawRegions","render","_onAudioprocess","currentTime","progress","backend","getPlayedPercents","_onSeek","_onScroll","e","draggingOverview","orientedTarget","withOrientation","target","vertical","moveOverviewRegion","scrollLeft","ratio","_onMouseover","prevWidth","_onResize","debounce","wrapper","clientWidth","_onLoading","percent","len","getWidth","drawPeaks","_onZoom","on","name","deferInit","staticProps","instance","isReady","window","removeEventListener","un","destroy","unAll","regions","region","id","renderRegions","i","regionElements","querySelectorAll","length","removeChild","keys","forEach","width","end","start","getDuration","left","regionElement","backgroundColor","color","position","classList","add","appendChild","top","bottom","cursor","border","zIndex","opacity","overviewOpacity","addEventListener","positionMouseDown","clientX","clientY","relativePositionX","seek","interact","event","fireEvent","handleEvent","seekAndCenter","domElement","layerX","getBoundingClientRect","peaks","getPeaks","waveShowedWidth","waveWidth","overviewWidth","offsetWidth","overviewPosition","pixels","pixelRatio","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__"],"sourceRoot":""}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * wavesurfer.js playhead plugin 6.0.2 (2022-02-20)
2
+ * wavesurfer.js playhead plugin 6.1.0 (2022-03-31)
3
3
  * https://wavesurfer-js.org
4
4
  * @license BSD-3-Clause
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * wavesurfer.js playhead plugin 6.0.2 (2022-02-20)
2
+ * wavesurfer.js playhead plugin 6.1.0 (2022-03-31)
3
3
  * https://wavesurfer-js.org
4
4
  * @license BSD-3-Clause
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * wavesurfer.js regions plugin 6.0.2 (2022-02-20)
2
+ * wavesurfer.js regions plugin 6.1.0 (2022-03-31)
3
3
  * https://wavesurfer-js.org
4
4
  * @license BSD-3-Clause
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * wavesurfer.js regions plugin 6.0.2 (2022-02-20)
2
+ * wavesurfer.js regions plugin 6.1.0 (2022-03-31)
3
3
  * https://wavesurfer-js.org
4
4
  * @license BSD-3-Clause
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * wavesurfer.js spectrogram plugin 6.0.2 (2022-02-20)
2
+ * wavesurfer.js spectrogram plugin 6.1.0 (2022-03-31)
3
3
  * https://wavesurfer-js.org
4
4
  * @license BSD-3-Clause
5
5
  */
@@ -280,6 +280,9 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
280
280
  * @property {number} pixelRatio=wavesurfer.params.pixelRatio to control the
281
281
  * size of the spectrogram in relation with its canvas. 1 = Draw on the whole
282
282
  * canvas. 2 = Draw on a quarter (1/2 the length and 1/2 the width)
283
+ * @property {number} frequencyMin=0 Min frequency to scale spectrogram.
284
+ * @property {number} frequencyMax=12000 Max frequency to scale spectrogram.
285
+ * Set this to samplerate/2 to draw whole range of spectrogram.
283
286
  * @property {?boolean} deferInit Set to true to manually call
284
287
  * `initPlugin('spectrogram')`
285
288
  * @property {?number[][]} colorMap A 256 long array of 4-element arrays.
@@ -375,7 +378,11 @@ var SpectrogramPlugin = /*#__PURE__*/function () {
375
378
  _this.windowFunc = params.windowFunc;
376
379
  _this.alpha = params.alpha;
377
380
  _this.splitChannels = params.splitChannels;
378
- _this.channels = _this.splitChannels ? ws.backend.buffer.numberOfChannels : 1;
381
+ _this.channels = _this.splitChannels ? ws.backend.buffer.numberOfChannels : 1; // Getting file's original samplerate is difficult(#1248).
382
+ // So set 12kHz default to render like wavesurfer.js 5.x.
383
+
384
+ _this.frequencyMin = params.frequencyMin || 0;
385
+ _this.frequencyMax = params.frequencyMax || 12000;
379
386
 
380
387
  _this.createWrapper();
381
388
 
@@ -508,15 +515,18 @@ var SpectrogramPlugin = /*#__PURE__*/function () {
508
515
  var spectrCc = my.spectrCc;
509
516
  var height = my.height;
510
517
  var width = my.width;
518
+ var freqFrom = my.buffer.sampleRate / 2;
519
+ var freqMin = my.frequencyMin;
520
+ var freqMax = my.frequencyMax;
511
521
 
512
522
  if (!spectrCc) {
513
523
  return;
514
524
  }
515
525
 
516
- for (var c = 0; c < frequenciesData.length; c++) {
526
+ var _loop = function _loop(c) {
517
527
  // for each channel
518
528
  var pixels = my.resample(frequenciesData[c]);
519
- var imageData = spectrCc.createImageData(width, height);
529
+ var imageData = new ImageData(width, height);
520
530
 
521
531
  for (var i = 0; i < pixels.length; i++) {
522
532
  for (var j = 0; j < pixels[i].length; j++) {
@@ -527,10 +537,20 @@ var SpectrogramPlugin = /*#__PURE__*/function () {
527
537
  imageData.data[redIndex + 2] = colorMap[2] * 255;
528
538
  imageData.data[redIndex + 3] = colorMap[3] * 255;
529
539
  }
530
- } // stack spectrograms
540
+ } // scale and stack spectrograms
541
+
531
542
 
543
+ createImageBitmap(imageData).then(function (renderer) {
544
+ return spectrCc.drawImage(renderer, 0, height * (1 - freqMax / freqFrom), // source x, y
545
+ width, height * (freqMax - freqMin) / freqFrom, // source width, height
546
+ 0, height * c, // destination x, y
547
+ width, height // destination width, height
548
+ );
549
+ });
550
+ };
532
551
 
533
- spectrCc.putImageData(imageData, 0, height * c);
552
+ for (var c = 0; c < frequenciesData.length; c++) {
553
+ _loop(c);
534
554
  }
535
555
  }
536
556
  }, {
@@ -624,8 +644,8 @@ var SpectrogramPlugin = /*#__PURE__*/function () {
624
644
  var bgWidth = 55;
625
645
  var getMaxY = frequenciesHeight || 512;
626
646
  var labelIndex = 5 * (getMaxY / 256);
627
- var freqStart = 0;
628
- var step = (this.wavesurfer.backend.ac.sampleRate / 2 - freqStart) / labelIndex; // prepare canvas element for labels
647
+ var freqStart = this.frequencyMin;
648
+ var step = (this.frequencyMax - freqStart) / labelIndex; // prepare canvas element for labels
629
649
 
630
650
  var ctx = this.labelsEl.getContext('2d');
631
651
  this.labelsEl.height = this.height * this.channels;
@@ -647,7 +667,6 @@ var SpectrogramPlugin = /*#__PURE__*/function () {
647
667
  ctx.textAlign = textAlign;
648
668
  ctx.textBaseline = 'middle';
649
669
  var freq = freqStart + step * i;
650
- var index = Math.round(freq / (this.sampleRate / 2) * this.fftSamples);
651
670
  var label = this.freqType(freq);
652
671
  var units = this.unitType(freq);
653
672
  var yLabelOffset = 2;