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">
-      &COPY; 2022 - Universite de Lille - <a id="doc">Voir la documentation</a> - <a id="debug">Mode debug</a> 
+      &COPY; 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