From fae2afb64e3cfea694840640e3067b6d9867610b Mon Sep 17 00:00:00 2001
From: Pierre Ranwez <pierre.ranwez.etu@univ-lille.fr>
Date: Mon, 14 Feb 2022 11:35:53 +0100
Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20bug:=20MIDI=20on/off=20with=20va?=
=?UTF-8?q?rs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
content.js | 114 ++++++++++++++++++++++++++++-------------------------
1 file changed, 60 insertions(+), 54 deletions(-)
diff --git a/content.js b/content.js
index 66716a2..adcc2e9 100644
--- a/content.js
+++ b/content.js
@@ -74,17 +74,20 @@ function range(template, value) {
* Initialize Midi
*/
function midiApi() {
- if (midi) {
- WebMidi
- .enable()
- .then(launchMidi)
- .catch(err => alert(err));
- }
- else {
- WebMidi.disable();
- chrome.storage.sync.set({ midiI: false });
- chrome.runtime.sendMessage({ type: 'updateUi', data: false });
- }
+ chrome.storage.sync.get(['midiI', 'activate'], function (result) {
+ midi = result.midiI;
+ activate = result.activate;
+ if (midi && activate) {
+ WebMidi
+ .enable()
+ .then(launchMidi)
+ .catch(err => alert(err));
+ }
+ else {
+ WebMidi.disable();
+ chrome.runtime.sendMessage({ type: 'updateUi', data: false });
+ }
+ });
}
/**
@@ -297,9 +300,10 @@ function volumeAudioProcess(event) {
* Initialize audio, request micro to user
*/
function audioApi() {
- chrome.storage.sync.get(['audioI'], function (result) {
+ chrome.storage.sync.get(['audioI', 'activate'], function (result) {
audio = result.audioI;
- if (audio) {
+ activate = result.activate;
+ if (audio && activate) {
window.AudioContext = window.AudioContext || window.webkitAudioContext;
audioContext = new AudioContext();
try {
@@ -481,49 +485,50 @@ function audioEvent() {
});
const sum = audioSample.reduce((a, b) => a + b, 0);
- const avg = (sum / audioSample.length) || 0;
+ const avg = (sum / audioSample.length) |rgba(16 18 27 / 40%)| 0;
var attack = false;
if (avg + 0.05 < meter.volume) {
attack = true;
}
audioSample.shift();
audioSample.push(meter.volume);
-
chrome.storage.sync.get(['all'], function (result) {
- result.all.forEach(element => {
- value = element.value;
- eventIn = false;
- element.templates.forEach(template => {
- if (template.type == 'audio') {
- Object.keys(presets).forEach(preset => {
- if (template.eventType == preset) {
+ if (result.all.length > 0) {
+ result.all.forEach(element => {
+ value = element.value;
+ eventIn = false;
+ element.templates.forEach(template => {
+ if (template.type == 'audio') {
+ Object.keys(presets).forEach(preset => {
+ if (template.eventType == preset) {
+ eventIn = true;
+ value = value.replace('[' + template.templateFull + ']', range(template, energies[preset]));
+ }
+ });
+ if (template.eventType == 'loud') {
eventIn = true;
- value = value.replace('[' + template.templateFull + ']', range(template, energies[preset]));
+ volume = meter.volume * 1.4;
+ value = value.replace('[' + template.templateFull + ']', (meter.volume * 1.4 < 1 ? range(template, volume) : 0));
+ }
+ if (template.eventType == 'onset' && template.eventName == noteStrings[note % 12]) {
+ eventIn = true;
+ value = value.replace('[' + template.templateFull + ']', range(template, 1));
+ }
+ if (attack && template.eventType == 'attack') {
+ console.log('Attack');
+ eventIn = true;
+ value = value.replace('[' + template.templateFull + ']', '');
}
- });
- if (template.eventType == 'loud') {
- eventIn = true;
- volume = meter.volume * 1.4;
- value = value.replace('[' + template.templateFull + ']', (meter.volume * 1.4 < 1 ? range(template, volume) : 0));
- }
- if (template.eventType == 'onset' && template.eventName == noteStrings[note % 12]) {
- eventIn = true;
- value = value.replace('[' + template.templateFull + ']', range(template, 1));
- }
- if (attack && template.eventType == 'attack') {
- console.log('Attack');
- eventIn = true;
- value = value.replace('[' + template.templateFull + ']', '');
}
+ });
+ if (eventIn) {
+ let els = document.querySelectorAll(element.element);
+ els.forEach(e => {
+ e.style[element.property] = value;
+ });
}
});
- if (eventIn) {
- let els = document.querySelectorAll(element.element);
- els.forEach(e => {
- e.style[element.property] = value;
- });
- }
- });
+ }
});
var newTime = new Date().getTime();
@@ -540,16 +545,18 @@ function audioEvent() {
function pureCss() {
chrome.storage.sync.get(['all'], function (result) {
- result.all.forEach(element => {
- element.templates.forEach(template => {
- if (template.type == 'pure') {
- let els = document.querySelectorAll(element.element);
- els.forEach(e => {
- e.style[element.property] = element.value;
- });
- }
+ if (result.all.length > 0) {
+ result.all.forEach(element => {
+ element.templates.forEach(template => {
+ if (template.type == 'pure') {
+ let els = document.querySelectorAll(element.element);
+ els.forEach(e => {
+ e.style[element.property] = element.value;
+ });
+ }
+ });
});
- });
+ }
});
}
@@ -581,7 +588,6 @@ function onMessage({ type, data }) {
break;
}
case 'midi': {
- midi = data;
midiApi();
break;
}
--
GitLab