diff --git a/src/content/bu16-pressure-sensitive-defaults.json b/src/content/bu16-pressure-sensitive-defaults.json
new file mode 100644
index 000000000..94eb08eb4
--- /dev/null
+++ b/src/content/bu16-pressure-sensitive-defaults.json
@@ -0,0 +1,312 @@
+{
+ "id": "f13e2698-3042-4aaa-8ede-4f8a64ed396c",
+ "modifiedAt": "2025-11-30T14:33:41.492Z",
+ "name": "bu16-getting-started",
+ "description": "Click here to add description",
+ "type": "BU16",
+ "version": {
+ "major": "1",
+ "minor": "6",
+ "patch": "2"
+ },
+ "configType": "profile",
+ "configs": [
+ {
+ "controlElementNumber": 0,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 1,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 2,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 3,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 4,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 5,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 6,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 7,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 8,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 9,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 10,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 11,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 12,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 13,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 14,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 15,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 255,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[page init]]"
+ },
+ {
+ "event": 4,
+ "config": "--[[@cb]] gpl(gpn())"
+ },
+ {
+ "event": 5,
+ "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ }
+ ],
+ "createdAt": "2025-11-30T14:33:41.492Z",
+ "virtualPath": "",
+ "cloudId": "s3XzfQzCoCCwtSgeOs2x",
+ "owner": "hLIZijz6PxRnxEjTA9Jb0OYSFt83"
+}
diff --git a/src/content/bu16-test 1.json b/src/content/bu16-test 1.json
new file mode 100644
index 000000000..df4e475dd
--- /dev/null
+++ b/src/content/bu16-test 1.json
@@ -0,0 +1,312 @@
+{
+ "id": "ae006167-4740-4242-b867-49a349df5a9c",
+ "modifiedAt": "2026-01-08T13:00:36.135Z",
+ "name": "bu16-test",
+ "description": "Click here to add description",
+ "type": "BU16",
+ "version": {
+ "major": "1",
+ "minor": "6",
+ "patch": "2"
+ },
+ "configType": "profile",
+ "configs": [
+ {
+ "controlElementNumber": 0,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 1,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 2,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 3,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 4,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 5,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 6,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 7,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 8,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 9,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 10,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 11,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 12,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 13,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 14,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 15,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 255,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[page init]]"
+ },
+ {
+ "event": 4,
+ "config": "--[[@cb]] gpl(gpn())"
+ },
+ {
+ "event": 5,
+ "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ }
+ ],
+ "createdAt": "2026-01-08T13:00:36.135Z",
+ "virtualPath": "",
+ "cloudId": "DxvZGlDUjp9y3K9js7DH",
+ "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2"
+}
diff --git a/src/content/ef44-test 1.json b/src/content/ef44-test 1.json
new file mode 100644
index 000000000..8cfc3efcb
--- /dev/null
+++ b/src/content/ef44-test 1.json
@@ -0,0 +1,192 @@
+{
+ "id": "80c23ceb-1b58-4a3d-84ac-cbe64bda938a",
+ "modifiedAt": "2026-01-08T13:00:47.340Z",
+ "name": "ef44-test",
+ "description": "Click here to add description",
+ "type": "EF44",
+ "version": {
+ "major": "1",
+ "minor": "6",
+ "patch": "2"
+ },
+ "configType": "profile",
+ "configs": [
+ {
+ "controlElementNumber": 0,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 1,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 2,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 3,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 4,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 5,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 6,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 7,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 255,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[page init]]"
+ },
+ {
+ "event": 4,
+ "config": "--[[@cb]] gpl(gpn())"
+ },
+ {
+ "event": 5,
+ "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ }
+ ],
+ "createdAt": "2026-01-08T13:00:47.340Z",
+ "virtualPath": "",
+ "cloudId": "C1B7LdlQtW3z9dmG0Jtw",
+ "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2"
+}
diff --git a/src/content/en16-test 1.json b/src/content/en16-test 1.json
new file mode 100644
index 000000000..cb427a6a3
--- /dev/null
+++ b/src/content/en16-test 1.json
@@ -0,0 +1,376 @@
+{
+ "id": "99dc51c7-35d2-4f72-9104-288b834f605c",
+ "modifiedAt": "2026-01-08T13:00:55.808Z",
+ "name": "en16-test",
+ "description": "Click here to add description",
+ "type": "EN16",
+ "version": {
+ "major": "1",
+ "minor": "6",
+ "patch": "2"
+ },
+ "configType": "profile",
+ "configs": [
+ {
+ "controlElementNumber": 0,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 1,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 2,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 3,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 4,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 5,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 6,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 7,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 8,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 9,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 10,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 11,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 12,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 13,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 14,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 15,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Encoder Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 2,
+ "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 255,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[page init]]"
+ },
+ {
+ "event": 4,
+ "config": "--[[@cb]] gpl(gpn())"
+ },
+ {
+ "event": 5,
+ "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ }
+ ],
+ "createdAt": "2026-01-08T13:00:55.808Z",
+ "virtualPath": "",
+ "cloudId": "danYTylkBeFhRTD48Zsz",
+ "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2"
+}
diff --git a/src/content/pbf4-test 1.json b/src/content/pbf4-test 1.json
new file mode 100644
index 000000000..c536bcc44
--- /dev/null
+++ b/src/content/pbf4-test 1.json
@@ -0,0 +1,244 @@
+{
+ "id": "c6597b1e-3d47-4ec8-bbb4-288bb095aa51",
+ "modifiedAt": "2026-01-08T13:01:23.695Z",
+ "name": "pbf4-test",
+ "description": "Click here to add description",
+ "type": "PBF4",
+ "version": {
+ "major": "1",
+ "minor": "6",
+ "patch": "2"
+ },
+ "configType": "profile",
+ "configs": [
+ {
+ "controlElementNumber": 0,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gmsh]] gms(0,176,0,val//128) gms(0,176,32,val%128)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 1,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 2,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 3,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 4,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 5,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 6,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 7,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 8,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 9,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 10,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 11,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 255,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[page init]]"
+ },
+ {
+ "event": 4,
+ "config": "--[[@cb]] gpl(gpn())"
+ },
+ {
+ "event": 5,
+ "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ }
+ ],
+ "createdAt": "2026-01-08T13:01:23.695Z",
+ "virtualPath": "",
+ "cloudId": "mrSkr1YnGquVCF2x3JXJ",
+ "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2"
+}
diff --git a/src/content/po16-test 1.json b/src/content/po16-test 1.json
new file mode 100644
index 000000000..a39b64c99
--- /dev/null
+++ b/src/content/po16-test 1.json
@@ -0,0 +1,312 @@
+{
+ "id": "dd43ab31-aaee-49f6-97d9-1493c384c83b",
+ "modifiedAt": "2026-01-08T13:01:32.034Z",
+ "name": "po16-test",
+ "description": "Click here to add description",
+ "type": "PO16",
+ "version": {
+ "major": "1",
+ "minor": "6",
+ "patch": "2"
+ },
+ "configType": "profile",
+ "configs": [
+ {
+ "controlElementNumber": 0,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gmsh]] gms(0,176,0,val//128) gms(0,176,32,val%128)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 1,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 2,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 3,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 4,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 5,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 6,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 7,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 8,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 9,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 10,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 11,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 12,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 13,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 14,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 15,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Potmeter Init]]"
+ },
+ {
+ "event": 1,
+ "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 255,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[page init]]"
+ },
+ {
+ "event": 4,
+ "config": "--[[@cb]] gpl(gpn())"
+ },
+ {
+ "event": 5,
+ "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ }
+ ],
+ "createdAt": "2026-01-08T13:01:32.034Z",
+ "virtualPath": "",
+ "cloudId": "Ypa1RZLBjgSA87TMU6TW",
+ "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2"
+}
diff --git a/src/content/tek2-test 1.json b/src/content/tek2-test 1.json
new file mode 100644
index 000000000..3ba88fad5
--- /dev/null
+++ b/src/content/tek2-test 1.json
@@ -0,0 +1,218 @@
+{
+ "id": "28e3dada-156c-4701-a02a-740c2600eae0",
+ "modifiedAt": "2026-01-08T13:01:39.112Z",
+ "name": "tek2-test",
+ "description": "Click here to add description",
+ "type": "TEK2",
+ "version": {
+ "major": "1",
+ "minor": "6",
+ "patch": "2"
+ },
+ "configType": "profile",
+ "configs": [
+ {
+ "controlElementNumber": 0,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 1,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 2,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 3,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 4,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 5,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 6,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 7,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 8,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 7,
+ "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gmsh]] gms(0,176,0,val//128) gms(0,176,32,val%128)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 9,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Endless Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 7,
+ "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 255,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[page init]]"
+ },
+ {
+ "event": 4,
+ "config": "--[[@cb]] gpl(gpn())"
+ },
+ {
+ "event": 5,
+ "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ }
+ ],
+ "createdAt": "2026-01-08T13:01:39.112Z",
+ "virtualPath": "",
+ "cloudId": "m4c3h8KjJiKqax9OcWEX",
+ "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2"
+}
diff --git a/src/content/vsn1l-pressure-sensitive-defaults.json b/src/content/vsn1l-pressure-sensitive-defaults.json
new file mode 100644
index 000000000..dfc032631
--- /dev/null
+++ b/src/content/vsn1l-pressure-sensitive-defaults.json
@@ -0,0 +1,278 @@
+{
+ "id": "81946cb4-aa4f-4c7a-af10-15304af04ee4",
+ "modifiedAt": "2025-11-30T15:27:31.151Z",
+ "name": "vsn1-getting-started",
+ "description": "Click here to add description",
+ "type": "VSN1L",
+ "version": {
+ "major": "1",
+ "minor": "6",
+ "patch": "2"
+ },
+ "configType": "profile",
+ "configs": [
+ {
+ "controlElementNumber": 0,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 1,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 2,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 3,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 4,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 5,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 6,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 7,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 8,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Endless Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 7,
+ "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 9,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 10,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 11,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 12,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 13,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] glsb(255)pi,s,c,self.f,self.v,self.id=math.pi,64,{{0,0,0},{255,255,255},{glr(),glg(),glb()}},1,{27,0,100},'VSN1'd={[1]='Linear',[2]='Encoder',[3]='Button',[7]='Endless'}xc,yc,p=160,120,s*5/8;self.eventrx_cb=function(self,hdr,e,v,n)self.v=v;if#n==0 then n=d[e[3]]..e[2]end;self.id=string.sub(n,1,(self:lsw()/(s/2)-1)//1)self.f=1 end;self:ldaf(0,0,319,239,c[1])self:ldrr(3,3,317,237,10,c[2])"
+ },
+ {
+ "event": 8,
+ "config": "--[[@cb]] if self.f>0 then self.f=self.f-1;local a,xo=gmaps(self.v[1],self.v[2],self.v[3],0.1,1),#tostring(self.v[1])/2*s/2-#tostring(self.v[1])-s//32;self:ldaf(10,10,310,230,c[1])self:ldrr(xc-p//1-1,yc-p//1-1,xc+p//1+1,yc+p//1+1,s,c[2])self:ldrrf(xc-p*a//1,yc-p*a//1,xc+p*a//1,yc+p*a//1,s,c[3])self:ldft(self.v[1],xc-xo,yc+s,s/2,c[2])local xn=(#self.id*(s/2))/2-s//32;self:ldft(self.id,xc-xn,yc-1.5*s,s/2,c[2])self:ldsw()end"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 255,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[page init]]"
+ },
+ {
+ "event": 4,
+ "config": "--[[@cb]] gpl(gpn())"
+ },
+ {
+ "event": 5,
+ "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ }
+ ],
+ "createdAt": "2025-11-30T15:27:31.151Z",
+ "virtualPath": "",
+ "cloudId": "wD3tJVF27EcAbkMirp9I",
+ "owner": "hLIZijz6PxRnxEjTA9Jb0OYSFt83"
+}
diff --git a/src/content/vsn1l-test 1.json b/src/content/vsn1l-test 1.json
new file mode 100644
index 000000000..b2d83dad7
--- /dev/null
+++ b/src/content/vsn1l-test 1.json
@@ -0,0 +1,282 @@
+{
+ "id": "5bddfa8e-2ee9-466d-985f-eda5379d6f98",
+ "modifiedAt": "2026-01-08T13:01:13.239Z",
+ "createdAt": "2026-01-08T13:01:06.011Z",
+ "name": "vsn1l-test",
+ "description": "Click here to add description",
+ "type": "VSN1L",
+ "version": {
+ "major": "1",
+ "minor": "6",
+ "patch": "2"
+ },
+ "configType": "profile",
+ "configs": [
+ {
+ "controlElementNumber": 0,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 1,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 2,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 3,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 4,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 5,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 6,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 7,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 8,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Endless Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,0,8,1},{255,0,8,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 7,
+ "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gmsh]] gms(0,176,0,val//128) gms(0,176,32,val%128)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 9,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 10,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 11,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 12,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 13,
+ "events": [
+ {
+ "event": 0,
+ "config": ""
+ },
+ {
+ "event": 8,
+ "config": ""
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 255,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[page init]]"
+ },
+ {
+ "event": 4,
+ "config": "--[[@cb]] gpl(gpn())"
+ },
+ {
+ "event": 5,
+ "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ }
+ ],
+ "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2",
+ "virtualPath": "",
+ "cloudId": "R2T7O4dfRlxtxOJ9x5bm",
+ "fileName": "vsnil-test 1.json",
+ "isEditable": true,
+ "syncStatus": "synced",
+ "public": false
+}
diff --git a/src/content/vsn1r-test 1.json b/src/content/vsn1r-test 1.json
new file mode 100644
index 000000000..53f8991cc
--- /dev/null
+++ b/src/content/vsn1r-test 1.json
@@ -0,0 +1,278 @@
+{
+ "id": "5d583854-d3b5-4dee-aef4-ba078b9babd5",
+ "modifiedAt": "2026-01-08T13:01:50.684Z",
+ "name": "vsn1r-test",
+ "description": "Click here to add description",
+ "type": "VSN1R",
+ "version": {
+ "major": "1",
+ "minor": "6",
+ "patch": "2"
+ },
+ "configType": "profile",
+ "configs": [
+ {
+ "controlElementNumber": 0,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 1,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 2,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 3,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 4,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 5,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 6,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 7,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 8,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 7,
+ "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gmsh]] gms(0,176,0,val//128) gms(0,176,32,val%128)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 9,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 10,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 11,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 12,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[Button Init]]"
+ },
+ {
+ "event": 3,
+ "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 13,
+ "events": [
+ {
+ "event": 0,
+ "config": ""
+ },
+ {
+ "event": 8,
+ "config": ""
+ }
+ ]
+ },
+ {
+ "controlElementNumber": 255,
+ "events": [
+ {
+ "event": 0,
+ "config": "--[[@cb]] --[[page init]]"
+ },
+ {
+ "event": 4,
+ "config": "--[[@cb]] gpl(gpn())"
+ },
+ {
+ "event": 5,
+ "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2"
+ },
+ {
+ "event": 6,
+ "config": "--[[@cb]] print('tick')"
+ }
+ ]
+ }
+ ],
+ "createdAt": "2026-01-08T13:01:50.684Z",
+ "virtualPath": "",
+ "cloudId": "H9feIBIm5R4XpfrhCN9J",
+ "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2"
+}
diff --git a/src/renderer/main/user-interface/ActiveChanges.svelte b/src/renderer/main/user-interface/ActiveChanges.svelte
index b1607b768..bf4d0829c 100644
--- a/src/renderer/main/user-interface/ActiveChanges.svelte
+++ b/src/renderer/main/user-interface/ActiveChanges.svelte
@@ -1,21 +1,69 @@