| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | 'use strict';var wavesurfer;// Init & loaddocument.addEventListener('DOMContentLoaded', function () {    var pluginOptions = {        minimap: {            waveColor     : '#777',            progressColor : '#222',            height: 30        },        timeline: {            container: '#wave-timeline'        },        spectrogram: {            container: '#wave-spectrogram'        },        regions: {            regions: [                {                    start: 1,                    end: 3,                    color: 'hsla(400, 100%, 30%, 0.5)'                },                {                    start: 4,                    end: 5.4                },                {                    start: 6.22,                    end: 7.1                }            ]        },        elan: {            url: '../elan/transcripts/001z.xml',            container: '#annotations',            tiers: {                Text: true,                Comments: true            }        }    };    var options = {        container     : '#waveform',        waveColor     : 'violet',        progressColor : 'purple',        loaderColor   : 'purple',        cursorColor   : 'navy',        plugins: [            WaveSurfer.minimap.create(pluginOptions.minimap)        ]    };    if (location.search.match('scroll')) {        options.minPxPerSec = 100;        options.scrollParent = true;    }    if (location.search.match('normalize')) {        options.normalize = true;    }    // Init wavesurfer    wavesurfer = WaveSurfer.create(options);    [].forEach.call(document.querySelectorAll('[data-activate-plugin]'), function (el) {        var activePlugins = wavesurfer.initialisedPluginList;        Object.keys(activePlugins).forEach(function(name) {            if (el.dataset.activatePlugin === name) {                el.checked = true;            }        });    });    [].forEach.call(document.querySelectorAll('[data-activate-plugin]'), function (el) {        el.addEventListener('change', function (e) {            var pluginName = e.currentTarget.dataset.activatePlugin;            var activate = e.target.checked;            var options = pluginOptions[pluginName] || {};            var plugin = WaveSurfer[pluginName].create(options);            if (activate) {                wavesurfer.addPlugin(plugin).initPlugin(pluginName);            } else {                wavesurfer.destroyPlugin(pluginName);            }        });    });    /* Progress bar */    (function () {        var progressDiv = document.querySelector('#progress-bar');        var progressBar = progressDiv.querySelector('.progress-bar');        var showProgress = function (percent) {            progressDiv.style.display = 'block';            progressBar.style.width = percent + '%';        };        var hideProgress = function () {            progressDiv.style.display = 'none';        };        wavesurfer.on('loading', showProgress);        wavesurfer.on('ready', hideProgress);        wavesurfer.on('destroy', hideProgress);        wavesurfer.on('error', hideProgress);    }());    wavesurfer.load('../media/demo.wav');});
 |