From 1082e0d2616f5e99b9a50356d9fc15c2d9264bb6 Mon Sep 17 00:00:00 2001
From: Pierre Ranwez <pierre.ranwez.etu@univ-lille.fr>
Date: Tue, 1 Feb 2022 15:23:24 +0100
Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20performance:=20template=20optimizat?=
 =?UTF-8?q?ion?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 content.js | 41 +++++++++++++++++++++++------------------
 1 file changed, 23 insertions(+), 18 deletions(-)

diff --git a/content.js b/content.js
index bec3d58..f61a5bf 100644
--- a/content.js
+++ b/content.js
@@ -17,27 +17,33 @@ var audioSample = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
 function parseCSS(cssObj) {
     var parser = new CSSParser();
     var sheet = parser.parse(cssObj, false, true);
+    var audioVars = ['loud', 'low', 'lomi', 'mid', 'mihi', 'hi', 'attack'];
+    var midiVars = ['cc', 'note'];
     chrome.runtime.sendMessage({ type: 'updateUi', data: true });
     sheet.cssRules.forEach(element => {
         let els = document.querySelectorAll(element.mSelectorText);
         element.declarations.forEach(css => {
             els.forEach(e => {
-                if (css.valueText.includes('onset') || css.valueText.includes('onset') || css.valueText.includes('low') || css.valueText.includes('hi')|| css.valueText.includes('loud')) {
-                    audioEvents.push({
-                        'selector': element.mSelectorText,
-                        'property': css.property,
-                        'value': css.valueText
-                    })
-                }
-                if (css.valueText.includes('note') || css.valueText.includes('cc')) {
-                    midiEvents.push({
-                        'selector': element.mSelectorText,
-                        'property': css.property,
-                        'value': css.valueText
-                    })
-                }
-                else
-                    e.style[css.property] = css.valueText;
+                audioVars.forEach(audioVar => {
+                    if (css.valueText.includes(audioVar)) {
+                        audioEvents.push({
+                            'selector': element.mSelectorText,
+                            'property': css.property,
+                            'value': css.valueText,
+                            'templates': templateToDict(css.valueText)
+                        })
+                    }
+                });
+                midiVars.forEach(midiVar => {
+                    if (css.valueText.includes(midiVar)) {
+                        midiEvents.push({
+                            'selector': element.mSelectorText,
+                            'property': css.property,
+                            'value': css.valueText,
+                            'templates': templateToDict(css.valueText)
+                        })
+                    }
+                });
             });
         });
     });
@@ -432,9 +438,8 @@ function audioEvent() {
     }
     audioSample.shift();
     audioSample.push(meter.volume);
-    console.log(audioEvents);
     audioEvents.forEach(event => {
-        templates = templateToDict(event['value']);
+        templates = event['templates'];
         value = event['value'];
         eventIn = false;
         templates.forEach(template => {
-- 
GitLab