From 34ba762b4271b8f736ad7058a6fb73d59fa872bb Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 16 Jun 2022 13:54:53 +0100 Subject: [PATCH 1/5] funky serialisation for serial --- packages/serial/serial.mjs | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/serial/serial.mjs b/packages/serial/serial.mjs index 1cf99ce2..911c770d 100644 --- a/packages/serial/serial.mjs +++ b/packages/serial/serial.mjs @@ -43,8 +43,27 @@ Pattern.prototype.serial = async function (...args) { const onTrigger = (time, hap, currentTime) => { var message = ""; if (typeof hap.value === 'object') { - for (const [key, val] of Object.entries(hap.value).flat()) { - message += `${key}:${val};` + if ('what' in hap.value) { + message += hap.value['what'] + '('; + var first = true; + for (const [key, val] of Object.entries(hap.value)) { + if (key === 'what') { + continue; + } + if (first) { + first = false; + } + else { + message +=','; + } + message += `${key}:${val}` + } + message += ')'; + } + else { + for (const [key, val] of Object.entries(hap.value)) { + message += `${key}:${val};` + } } } else { From 23be3e5ba363ded6d4a6ffdf1d7e14116f61fa18 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 17 Jun 2022 14:45:58 +0100 Subject: [PATCH 2/5] hackery --- packages/core/controls.mjs | 5 +++++ packages/serial/serial.mjs | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/core/controls.mjs b/packages/core/controls.mjs index 7b8cfc8c..034376cd 100644 --- a/packages/core/controls.mjs +++ b/packages/core/controls.mjs @@ -744,6 +744,11 @@ const generic_params = [ ['f', 'uid', ''], ['f', 'val', ''], ['f', 'cps', ''], + ['s', 'action', ''], + ['f', 'by', ''], + ['s', 'part', ''], + ['f', 'to', ''], + ['f', 'duration', ''], ]; // TODO: slice / splice https://www.youtube.com/watch?v=hKhPdO0RKDQ&list=PL2lW1zNIIwj3bDkh-Y3LUGDuRcoUigoDs&index=13 diff --git a/packages/serial/serial.mjs b/packages/serial/serial.mjs index 911c770d..b2f1025d 100644 --- a/packages/serial/serial.mjs +++ b/packages/serial/serial.mjs @@ -34,7 +34,6 @@ export async function getWriter(br=115200) { const latency = 0.1; -// Pattern.prototype.midi = function (output: string | number, channel = 1) { Pattern.prototype.serial = async function (...args) { return this._withHap((hap) => { if (!serialWriter) { @@ -43,11 +42,11 @@ Pattern.prototype.serial = async function (...args) { const onTrigger = (time, hap, currentTime) => { var message = ""; if (typeof hap.value === 'object') { - if ('what' in hap.value) { - message += hap.value['what'] + '('; + if ('action' in hap.value) { + message += hap.value['action'] + '('; var first = true; for (const [key, val] of Object.entries(hap.value)) { - if (key === 'what') { + if (key === 'action') { continue; } if (first) { @@ -69,6 +68,7 @@ Pattern.prototype.serial = async function (...args) { else { message = hap.value; } + console.log("sending: " + message); const offset = (time - currentTime + latency) * 1000; window.setTimeout(serialWriter, offset, message); }; From aee9bf7cc2228696ee942d3345dab198112a66fa Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 21 Jun 2022 15:54:18 +0100 Subject: [PATCH 3/5] remove async from serial, default baudrate to 38400 --- packages/serial/serial.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/serial/serial.mjs b/packages/serial/serial.mjs index b2f1025d..22fb8aaa 100644 --- a/packages/serial/serial.mjs +++ b/packages/serial/serial.mjs @@ -9,7 +9,7 @@ import { Pattern, isPattern } from '@strudel.cycles/core'; var serialWriter; var choosing = false; -export async function getWriter(br=115200) { +export async function getWriter(br=38400) { if (choosing) { return; } @@ -34,7 +34,7 @@ export async function getWriter(br=115200) { const latency = 0.1; -Pattern.prototype.serial = async function (...args) { +Pattern.prototype.serial = function (...args) { return this._withHap((hap) => { if (!serialWriter) { getWriter(...args); From f2bd9fae0131d77607190c6b9a2e39f0d06b3749 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 21 Jun 2022 21:46:23 +0100 Subject: [PATCH 4/5] remove hackery --- packages/core/controls.mjs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/core/controls.mjs b/packages/core/controls.mjs index f45fbd3c..dd265d45 100644 --- a/packages/core/controls.mjs +++ b/packages/core/controls.mjs @@ -744,11 +744,6 @@ const generic_params = [ ['f', 'uid', ''], ['f', 'val', ''], ['f', 'cps', ''], - ['s', 'action', ''], - ['f', 'by', ''], - ['s', 'part', ''], - ['f', 'to', ''], - ['f', 'duration', ''], ]; // TODO: slice / splice https://www.youtube.com/watch?v=hKhPdO0RKDQ&list=PL2lW1zNIIwj3bDkh-Y3LUGDuRcoUigoDs&index=13 From a0618f7f473f3b8a84478a77af25ad6cb706298f Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 21 Jun 2022 21:47:29 +0100 Subject: [PATCH 5/5] remove console logging --- packages/serial/serial.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/serial/serial.mjs b/packages/serial/serial.mjs index 22fb8aaa..c2202b14 100644 --- a/packages/serial/serial.mjs +++ b/packages/serial/serial.mjs @@ -68,7 +68,6 @@ Pattern.prototype.serial = function (...args) { else { message = hap.value; } - console.log("sending: " + message); const offset = (time - currentTime + latency) * 1000; window.setTimeout(serialWriter, offset, message); };