From 96ef4c23a99cc1b3c0016660044b655915d54fd0 Mon Sep 17 00:00:00 2001 From: Pierre Ranwez <pierre.ranwez.etu@univ-lille.fr> Date: Tue, 1 Mar 2022 22:08:04 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20sensibility=20slider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- background.js | 2 ++ content.js | 8 ++++++-- main.js | 11 +++++++++++ popup.html | 45 +++++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 62 insertions(+), 4 deletions(-) diff --git a/background.js b/background.js index 1e6888b..a82a05c 100644 --- a/background.js +++ b/background.js @@ -15,6 +15,7 @@ let audioI = false; let midiI = false; let popup = false; let loopPlay = false; +let sensibility = 0.95; let records = { loop: [ [ @@ -59,6 +60,7 @@ chrome.runtime.onInstalled.addListener(() => { chrome.storage.sync.set({ loopPlay }); chrome.storage.local.set({ records }); chrome.storage.sync.set({ debug }); + chrome.storage.sync.set({ sensibility }); }); diff --git a/content.js b/content.js index 03f93bc..e53c3d2 100644 --- a/content.js +++ b/content.js @@ -9,6 +9,11 @@ var midi = false; var debug = false; var audioSample = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var sensibility; +chrome.storage.sync.get(['sensibility'], function (result) { + sensibility = result.sensibility; +}); + var parameterSave = {}; function range(template, value) { if (template.options.includes('i')) { @@ -265,9 +270,8 @@ async function gotStream(stream) { const node = new AudioWorkletNode(audioContext, 'vumeter'); node.port.onmessage = event => { let _volume = 0 - let _sensibility = 5 if (event.data.volume) - _volume = event.data.volume; + _volume = event.data.volume * sensibility; meter = { volume: _volume }; } mediaStreamSource.connect(node); diff --git a/main.js b/main.js index b8a64dd..a88688c 100644 --- a/main.js +++ b/main.js @@ -112,6 +112,9 @@ function initUi() { $('.midiI').removeClass('active'); } }); + chrome.storage.sync.get(['sensibility'], function (result) { + $('#sensibility').val(result.sensibility); + }); chrome.storage.local.get(['records'], function (result) { $('#loopList').text(''); for (let i = 0; i < result.records.loop.length; i++) { @@ -377,6 +380,14 @@ $('.midiI').on('click', function () { initUi(); }); +/** + * @description Sensibility slider. + */ +$('#sensibility').on('change', function () { + console.log('cc'); + chrome.storage.sync.set({ sensibility: $(this).val() }); +}); + /** * @description Duplicate the current row and save the parameters. */ diff --git a/popup.html b/popup.html index 64da90c..6a37091 100644 --- a/popup.html +++ b/popup.html @@ -48,7 +48,6 @@ </h3> <div> <div id="editor"></div> - </div> <h3> @@ -232,10 +231,52 @@ </tr> </table> </div> + + <h3> + <svg + xmlns="http://www.w3.org/2000/svg" + class="icon icon-tabler icon-tabler-tool" + width="12" + height="12" + viewBox="0 0 24 24" + stroke-width="1.5" + stroke="currentColor" + fill="none" + stroke-linecap="round" + stroke-linejoin="round" + > + <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> + <path + d="M7 10h3v-3l-3.5 -3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1 -3 3l-6 -6a6 6 0 0 1 -8 -8l3.5 3.5" + ></path> + </svg> + CONFIGURATION + </h3> + <div> + <table> + <tr> + <td> + <a id="debug">Mode debug</a> + </td> + </tr> + <tr> + <td>Sensibilite + <input + id="sensibility" + type="range" + min="0" + max="1" + step="0.01" + value="0.5"> + </td> + </tr> + </table> + </div> </div> <p style="text-align: center"> - © 2022 - Universite de Lille - <a id="doc">Voir la documentation</a> - <a id="debug">Mode debug</a> + © 2022 - Universite de Lille - + <a id="doc">Voir la documentation</a> </p> <script src="cssParser.js" type="text/javascript" charset="utf-8"></script> <script src="ace/ace.js" type="text/javascript" charset="utf-8"></script> -- GitLab