From ec23da5164f50ddc1300fd4f3b319a6393ae71d7 Mon Sep 17 00:00:00 2001 From: Me Here Date: Mon, 25 May 2026 15:04:17 -0500 Subject: [PATCH] Add hardware-device player mockup at /player.html MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A self-contained simulator of the RP2040 "PM-1" unit: it plays the share language (synth voices, same scheduler) and drives an OLED + beat-LED display like the firmware would. Loads from a #p=/#sl= link, the editor's saved set lists (localStorage), or a pasted patch / set-list code — with validation. Transport: play/stop, prev/next item, tempo ±, tap; bar-count segments auto-advance. deploy.sh now version-stamps and publishes it too. Co-Authored-By: Claude Opus 4.7 (1M context) --- deploy.sh | 2 + player.html | 470 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 472 insertions(+) create mode 100644 player.html diff --git a/deploy.sh b/deploy.sh index fa68c9a..20b0b0e 100755 --- a/deploy.sh +++ b/deploy.sh @@ -36,6 +36,8 @@ fi # stamp the version into the deployed copy only (source stays clean) sed "s|const APP_VERSION = \"[^\"]*\";|const APP_VERSION = \"$BUILD\";|" "$SRC_DIR/index.html" > "$DEST_DIR/index.html" echo "deployed v$BUILD ($(stat -c '%s' "$DEST_DIR/index.html") bytes) -> $DEST_DIR" +sed "s|const APP_VERSION = \"[^\"]*\";|const APP_VERSION = \"$BUILD\";|" "$SRC_DIR/player.html" > "$DEST_DIR/player.html" +echo "deployed player.html ($(stat -c '%s' "$DEST_DIR/player.html") bytes)" # If real audio samples are added later (see the plan's GM-sample note), # sync that directory too. diff --git a/player.html b/player.html new file mode 100644 index 0000000..43ba547 --- /dev/null +++ b/player.html @@ -0,0 +1,470 @@ + + + + + +VARASYS PM‑1 — hardware player (mockup) + + + + + + +
+ VARASYS PM‑1 · hardware player (mockup) + Open editor ↗ +
+ + +
+ + +
+ +
PWR
+
+ +
+
–/–♩=120
+
+
⏸ STOPbar — · beat —
+
+ +
+ +
+ + + + + + +
TEMPO
+
+ +
+
+ + +
+

Load a configuration onto the device

+

On the real unit you'd transfer this over USB / WiFi. Here, paste a patch + (e.g. v1;t120;kick:4;snare:4=.X.X;hatClosed:4/2), a set‑list code, or a full + #p=…/#sl=… share link — it's validated before loading.

+ + + +
+ + or pick a set list you saved in the editor: + +
+
+
+ + + +