Multi-iPad dest_id routing, activity ring, context menu hide, live label/visibility sync
Desktop: - Replace Remote checkbox with T: dest_spin (0=Off, 1-9=tablet) on all widgets - dest_id persisted in get_state/set_state, broadcast in tablet snapshot - dest_spin.valueChanged triggers save + broadcast to iPad - _on_widget_visibility_from_tablet updates dest_spin from iPad hide event - _broadcast_preset_update shared helper; ws_server.has_clients guard - label editingFinished triggers live label sync to iPad iOS: - VC-Arrange/VC-Logging/Widgets-Reusable-UI file reorganisation - ArrangeObjects/ArrangeView rename, 7-bucket Arrange-Functions split - myTabletId (UserDefaults) + tabletIdField next to port in toolbar - Preset filter: destId == myTabletId instead of visible bool - BaseWidget activity ring: long press gesture (touch) + final update() flash - Context menu long press (arrange mode): hide widget, save layout, send dest_id:0 - Same-UUID preset check skips Preset Switched alert on visibility/label updates - autoSwitchEnabled, toolbarStatusLabel, presetLabel, statusToken Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+138
-123
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"__last_used__": "preset3",
|
||||
"__last_used__": "rename whatever",
|
||||
"presets": {
|
||||
"preset1": {
|
||||
"faders": [
|
||||
@@ -16,22 +16,24 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "7bf9e219-b7a6-4d8e-b317-da9eb18a8095",
|
||||
"label": "Fader 2",
|
||||
"cc": 1,
|
||||
"ch": 1,
|
||||
"value": 83,
|
||||
"value": 96,
|
||||
"color": "Gray",
|
||||
"pickup": false,
|
||||
"last_sent": 83,
|
||||
"last_sent": 96,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"zone": "right",
|
||||
"center_index": 1,
|
||||
"zone_index": -1
|
||||
"zone_index": -1,
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "bd0c9b6a-db81-411d-88b0-5ebae3c4e790",
|
||||
@@ -46,7 +48,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": "left",
|
||||
"center_index": 2,
|
||||
"zone_index": -1
|
||||
"zone_index": -1,
|
||||
"remote": true
|
||||
}
|
||||
],
|
||||
"toggles": [
|
||||
@@ -62,7 +65,8 @@
|
||||
"zone_index": -1,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "73962e37-53b3-400f-a7e2-25ef7f1ea583",
|
||||
@@ -76,7 +80,8 @@
|
||||
"zone_index": 0,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "b3cf419a-5183-4272-bd6f-44f858afbec8",
|
||||
@@ -90,7 +95,8 @@
|
||||
"zone_index": 1,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "momentary"
|
||||
"trigger_mode": "momentary",
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "c179bfea-deec-416a-b4aa-74e81b5cbe03",
|
||||
@@ -104,7 +110,8 @@
|
||||
"zone_index": null,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "a5a50618-fc4c-446e-868e-e4eafa6254e7",
|
||||
@@ -118,7 +125,8 @@
|
||||
"zone_index": null,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "f1775380-3390-4fbb-bd8b-8c30ff18f72a",
|
||||
@@ -132,7 +140,8 @@
|
||||
"zone_index": null,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "2064f2ca-6d18-468b-bf45-9bcb1fa1247d",
|
||||
@@ -146,7 +155,8 @@
|
||||
"zone_index": -1,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"remote": true
|
||||
}
|
||||
],
|
||||
"browser": {
|
||||
@@ -170,7 +180,7 @@
|
||||
"big_title": "STRING THING",
|
||||
"preset_uuid": "8cbceb6b-ba5d-4b2c-8989-f921e4e3150d",
|
||||
"show_hide": {
|
||||
"fader": true,
|
||||
"fader": false,
|
||||
"toggle": true,
|
||||
"transport": true,
|
||||
"browser": true
|
||||
@@ -215,7 +225,7 @@
|
||||
"faders": [
|
||||
{
|
||||
"uid": "c98d2009-d186-489a-8883-ccbd612cb4af",
|
||||
"label": "Fader 1",
|
||||
"label": "trumpet whatever",
|
||||
"cc": 1,
|
||||
"ch": 1,
|
||||
"value": 43,
|
||||
@@ -226,7 +236,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": "left",
|
||||
"center_index": 0,
|
||||
"zone_index": -1
|
||||
"zone_index": -1,
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "7bf9e219-b7a6-4d8e-b317-da9eb18a8095",
|
||||
@@ -241,7 +252,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "bd0c9b6a-db81-411d-88b0-5ebae3c4e790",
|
||||
@@ -256,7 +268,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": "right",
|
||||
"center_index": 2,
|
||||
"zone_index": -1
|
||||
"zone_index": -1,
|
||||
"remote": true
|
||||
}
|
||||
],
|
||||
"toggles": [
|
||||
@@ -272,7 +285,8 @@
|
||||
"zone_index": null,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"remote": true
|
||||
}
|
||||
],
|
||||
"browser": {
|
||||
@@ -307,79 +321,44 @@
|
||||
"fader_row": true,
|
||||
"toggle_row": true,
|
||||
"transport_row": true
|
||||
},
|
||||
"tablet_layout": [
|
||||
{
|
||||
"x": 550.3499755859375,
|
||||
"uid": "9ee09db7-2cf5-4ae6-a154-b25bb262565c",
|
||||
"w": 140,
|
||||
"h": 119,
|
||||
"y": 896.0333251953125
|
||||
},
|
||||
{
|
||||
"h": 119,
|
||||
"y": 885.0333251953125,
|
||||
"x": 368.2833251953125,
|
||||
"w": 140,
|
||||
"uid": "2a1fcb50-b9f2-4c33-bce0-5bd5cadd9c46"
|
||||
},
|
||||
{
|
||||
"y": 16,
|
||||
"uid": "title-big",
|
||||
"x": 16,
|
||||
"w": 300,
|
||||
"h": 44
|
||||
},
|
||||
{
|
||||
"uid": "bd0c9b6a-db81-411d-88b0-5ebae3c4e790",
|
||||
"h": 329,
|
||||
"x": 542.9166259765625,
|
||||
"y": 359.79998779296875,
|
||||
"w": 140
|
||||
},
|
||||
{
|
||||
"h": 329,
|
||||
"uid": "c98d2009-d186-489a-8883-ccbd612cb4af",
|
||||
"x": 39.433349609375,
|
||||
"y": 345.5,
|
||||
"w": 140
|
||||
},
|
||||
{
|
||||
"uid": "e2e8eb84-c2c9-4060-a818-b087ebd5aabd",
|
||||
"x": 714.5833740234375,
|
||||
"y": 892.8333740234375,
|
||||
"h": 119,
|
||||
"w": 140
|
||||
},
|
||||
{
|
||||
"w": 140,
|
||||
"h": 329,
|
||||
"y": 322.2833251953125,
|
||||
"x": 299.04998779296875,
|
||||
"uid": "7bf9e219-b7a6-4d8e-b317-da9eb18a8095"
|
||||
},
|
||||
{
|
||||
"x": 1138.566650390625,
|
||||
"y": 915.4666748046875,
|
||||
"h": 140,
|
||||
"uid": "e291394c-cc09-4d3c-9ac3-ed5fe2803a46",
|
||||
"w": 140
|
||||
},
|
||||
{
|
||||
"x": 158.23332977294922,
|
||||
"w": 140,
|
||||
"h": 119,
|
||||
"uid": "6b5bcaf7-1d01-4ccd-b23a-ebae8da57a7f",
|
||||
"y": 885.6500244140625
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"whatever": {
|
||||
"faders": [],
|
||||
"toggles": [],
|
||||
"preset_uuid": "",
|
||||
"browser": {},
|
||||
"show_hide": {}
|
||||
"browser": {
|
||||
"back": {
|
||||
"label": "Back",
|
||||
"cc": 22,
|
||||
"ch": 1,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "momentary"
|
||||
},
|
||||
"fwd": {
|
||||
"label": "Fwd",
|
||||
"cc": 23,
|
||||
"ch": 1,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "momentary"
|
||||
}
|
||||
},
|
||||
"big_title": "whatever shit",
|
||||
"preset_uuid": "772728ff-6654-46b6-89ce-b7b073b29643",
|
||||
"show_hide": {
|
||||
"fader": false,
|
||||
"toggle": false,
|
||||
"transport": true,
|
||||
"browser": false
|
||||
},
|
||||
"sections": {
|
||||
"preset_browser": true,
|
||||
"big_title": true,
|
||||
"fader_row": true,
|
||||
"toggle_row": true,
|
||||
"transport_row": true
|
||||
}
|
||||
},
|
||||
"preset5": {
|
||||
"faders": [
|
||||
@@ -388,30 +367,32 @@
|
||||
"label": "Fader 1",
|
||||
"cc": 90,
|
||||
"ch": 15,
|
||||
"value": 85,
|
||||
"value": 103,
|
||||
"color": "Gray",
|
||||
"pickup": false,
|
||||
"last_sent": 85,
|
||||
"last_sent": 103,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "5aaecf41-3455-4fa2-bef1-ca02f5933a69",
|
||||
"label": "Fader 2",
|
||||
"cc": 1,
|
||||
"ch": 1,
|
||||
"value": 64,
|
||||
"value": 89,
|
||||
"color": "Gray",
|
||||
"pickup": false,
|
||||
"last_sent": 64,
|
||||
"last_sent": 89,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "e8e8cca8-3bad-49a5-8c91-d3a78d25a1eb",
|
||||
@@ -426,7 +407,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "ae9cd47a-96af-45a4-83e6-816916a65e0e",
|
||||
@@ -441,7 +423,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "fee53fde-2f59-4800-8873-3d75ca619366",
|
||||
@@ -456,11 +439,12 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "1783a98d-16c9-4a06-ae4d-0f6ab36d4421",
|
||||
"label": "Fader 6",
|
||||
"label": "WOOOOW",
|
||||
"cc": 1,
|
||||
"ch": 1,
|
||||
"value": 64,
|
||||
@@ -471,7 +455,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"remote": true
|
||||
},
|
||||
{
|
||||
"uid": "2a55bdef-83aa-458f-a37d-e12a61e3e6a0",
|
||||
@@ -486,7 +471,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"remote": true
|
||||
}
|
||||
],
|
||||
"toggles": [
|
||||
@@ -502,7 +488,8 @@
|
||||
"zone_index": null,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"remote": true
|
||||
}
|
||||
],
|
||||
"browser": {
|
||||
@@ -542,7 +529,6 @@
|
||||
"new preset browser shit": {
|
||||
"faders": [],
|
||||
"toggles": [],
|
||||
"preset_uuid": "",
|
||||
"browser": {
|
||||
"back": {
|
||||
"label": "Back",
|
||||
@@ -561,39 +547,55 @@
|
||||
"trigger_mode": "momentary"
|
||||
}
|
||||
},
|
||||
"show_hide": {}
|
||||
"big_title": "",
|
||||
"preset_uuid": "a2cf2b56-b18f-435c-a340-0ff22e9074f4",
|
||||
"show_hide": {
|
||||
"fader": false,
|
||||
"toggle": false,
|
||||
"transport": true,
|
||||
"browser": false
|
||||
},
|
||||
"sections": {
|
||||
"preset_browser": true,
|
||||
"big_title": true,
|
||||
"fader_row": true,
|
||||
"toggle_row": true,
|
||||
"transport_row": true
|
||||
}
|
||||
},
|
||||
"rename whatever": {
|
||||
"faders": [
|
||||
{
|
||||
"uid": "14ec66c2-6a0a-418e-9240-776cb13f6e2e",
|
||||
"label": "Fader 1",
|
||||
"label": "toots",
|
||||
"cc": 90,
|
||||
"ch": 15,
|
||||
"value": 85,
|
||||
"value": 59,
|
||||
"color": "Blue",
|
||||
"pickup": false,
|
||||
"last_sent": 85,
|
||||
"last_sent": 59,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"dest_id": 2
|
||||
},
|
||||
{
|
||||
"uid": "5aaecf41-3455-4fa2-bef1-ca02f5933a69",
|
||||
"label": "Fader 2",
|
||||
"cc": 1,
|
||||
"ch": 1,
|
||||
"value": 79,
|
||||
"value": 66,
|
||||
"color": "Blue",
|
||||
"pickup": false,
|
||||
"last_sent": 79,
|
||||
"last_sent": 66,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "e8e8cca8-3bad-49a5-8c91-d3a78d25a1eb",
|
||||
@@ -608,7 +610,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "ae9cd47a-96af-45a4-83e6-816916a65e0e",
|
||||
@@ -623,7 +626,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "fee53fde-2f59-4800-8873-3d75ca619366",
|
||||
@@ -638,7 +642,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "1783a98d-16c9-4a06-ae4d-0f6ab36d4421",
|
||||
@@ -653,7 +658,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "2a55bdef-83aa-458f-a37d-e12a61e3e6a0",
|
||||
@@ -668,7 +674,8 @@
|
||||
"hw_channel": null,
|
||||
"zone": null,
|
||||
"center_index": null,
|
||||
"zone_index": null
|
||||
"zone_index": null,
|
||||
"dest_id": 1
|
||||
}
|
||||
],
|
||||
"toggles": [
|
||||
@@ -684,7 +691,8 @@
|
||||
"zone_index": null,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "dbf062b0-6dfe-4a7b-af6a-cf47a943bdec",
|
||||
@@ -698,7 +706,8 @@
|
||||
"zone_index": null,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "93d02fb4-5327-4f0c-8cbd-6f0eb24f7195",
|
||||
@@ -712,7 +721,8 @@
|
||||
"zone_index": null,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "3147496a-7380-401b-9b95-947dc5458886",
|
||||
@@ -726,7 +736,8 @@
|
||||
"zone_index": null,
|
||||
"hw_cc": null,
|
||||
"hw_channel": null,
|
||||
"trigger_mode": "toggle"
|
||||
"trigger_mode": "toggle",
|
||||
"dest_id": 1
|
||||
}
|
||||
],
|
||||
"browser": {
|
||||
@@ -777,7 +788,8 @@
|
||||
"hw_cc": null,
|
||||
"output_mode": "osc",
|
||||
"osc_addr": "t/1/play",
|
||||
"trigger_mode": "momentary"
|
||||
"trigger_mode": "momentary",
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "e2e8eb84-c2c9-4060-a818-b087ebd5aabd",
|
||||
@@ -791,7 +803,8 @@
|
||||
"hw_cc": null,
|
||||
"output_mode": "osc",
|
||||
"osc_addr": "t/1/stop",
|
||||
"trigger_mode": "momentary"
|
||||
"trigger_mode": "momentary",
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "6b5bcaf7-1d01-4ccd-b23a-ebae8da57a7f",
|
||||
@@ -805,7 +818,8 @@
|
||||
"hw_cc": null,
|
||||
"output_mode": "osc",
|
||||
"osc_addr": "t/1/record",
|
||||
"trigger_mode": "momentary"
|
||||
"trigger_mode": "momentary",
|
||||
"dest_id": 1
|
||||
},
|
||||
{
|
||||
"uid": "2a1fcb50-b9f2-4c33-bce0-5bd5cadd9c46",
|
||||
@@ -819,7 +833,8 @@
|
||||
"hw_cc": null,
|
||||
"output_mode": "osc",
|
||||
"osc_addr": "t/1/recenable/1/@",
|
||||
"trigger_mode": "momentary"
|
||||
"trigger_mode": "momentary",
|
||||
"dest_id": 1
|
||||
}
|
||||
],
|
||||
"transport_show_hide": true,
|
||||
|
||||
Reference in New Issue
Block a user