Skip to content
Snippets Groups Projects
Select Git revision
  • fd10a04b39bfc7674159b52a456059fdbc015599
  • master default protected
  • develop
  • v22w09a
  • v22w08b
  • release
6 results

content.js

Blame
  • content.js 20.24 KiB
    var audioContext = null;
    var meter = { volume: 0 };
    var analyser = null;
    var rafID = null;
    var buflen = 1024;
    var buf = new Float32Array(buflen);
    var audio = false;
    var midi = false;
    var debug = false;
    var audioSample = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
    
    var parameterSave = {};
    function range(template, value) {
        if (template.options.includes('i')) {
            increment = parseInt(template.options.split(':')[1]);
            if (template.name in parameterSave) {
                if (template.array != '') {
                    parameterSave[template.name] = (parameterSave[template.name] + increment) > template.array.length ? 0 : (parameterSave[template.name] + increment);
                    return template.array[parameterSave[template.name]]
                }
                else {
                    if (increment > 0) {
                        parameterSave[template.name] = (parameterSave[template.name] + increment) > parseInt(template.max) ? parseInt(template.min) : (parameterSave[template.name] + increment);
                    } else {
                        parameterSave[template.name] = (parameterSave[template.name] + increment) < parseInt(template.min) ? parseInt(template.max) : (parameterSave[template.name] + increment);
                    }
                    return parameterSave[template.name];
                }
            }
            else {
                parameterSave[template.name] = parseInt(template.min);
                return parseInt(template.min);
            }
        }
        else if (template.options == 'r') {
            if (template.array != '') {
                return template.array[Math.floor(Math.random() * template.array.length)];
            } else {
                if (template.min[0] == '#') {
                    template.min = parseInt(template.min.replace('#', ''), 16);
                    template.max = parseInt(template.max.replace('#', ''), 16);
                    return '#' + ((Math.random() * (template.max - template.min) + template.min).toString(16)).split('.')[0];
                }
                else {
                    return (Math.random() * (parseInt(template.max) - parseInt(template.min)) + parseInt(template.min));
                }
            }
        }
        else if (template.options == 'd') {
            if (template.min[0] == '#') {
                template.min = parseInt(template.min.replace('#', ''), 16);
                template.max = parseInt(template.max.replace('#', ''), 16);
                return '#' + ((template.min + Math.round(template.max - template.min) * value).toString(16)).split('.')[0];
            }
            else {
                return (parseInt(template.min) + Math.round(parseInt(template.max) - parseInt(template.min)) * value);
            }
        }
    }
    
    /**
     * Initialize Midi
     */
    function midiApi() {
        chrome.storage.sync.get(['midiI', 'activate'], function (result) {
            midi = result.midiI;
            activate = result.activate;
            if (midi && activate) {
                WebMidi
                    .enable()