diff --git a/docs/tc.preset.maxref.xml b/docs/tc.preset.maxref.xml
index f88c5f1..51770d7 100644
--- a/docs/tc.preset.maxref.xml
+++ b/docs/tc.preset.maxref.xml
@@ -128,6 +128,10 @@
Automatic writeagain
When set to 1, the jsui will automatically send a "writeagain" message to its linked pattrstorage anytime a preset have been stored, moved, renamed, (un)locked or deleted, saving any change into the preset file immediately.
+
+ Autoname new presets
+ When enabled, presets stored in an empty slot get attributed a name starting with "Preset" followed by the slot number.
+
Background color
Sets the background color of the object in RGBA format
@@ -143,7 +147,7 @@
In mode 2, stored preset colors can be freely set to one of the six colors of the color wheel.
In mode 3, stored preset color can be set to any color in RGBA format.
To define colors of the color wheel for modes 1 and 2, see color_1 to color_6 as well as the color_wheel message.
- To define preset color as in mode 2 or 3, see the setcolor message. Modes 2 and 3 require a pattr object named 'preset_color' to be at the same patcher level as the tc.preset object.
+ To define preset color as in mode 2 or 3, see the setcolor message. Modes 2 and 3 require a [pattr preset_metadata] in the same patcher as [tc.preset]
@@ -230,6 +234,12 @@
You need to double-click on a stored preset to recall it. If set to 0, stored presets are recalled by a single click (default preset object behavior).
+
+ Send dictionary to
+
+ Sets the name of the receive objects to which send the presets dictionary (the same as the one output from the objects rightmost outlet). If no name is set, the dictionary will still be sent to receives named <pattrstorage_name>_presets_dict
+
+
Slot corner rounding
Defines the rounding of the slots corners. A value of zero means square corners. A value equal or superior to half the bubblesize makes the slots as a circle.
@@ -244,6 +254,10 @@
Stored slot color
Sets the stored preset color of the object in RGBA format
+
+ Generate timestamp metadata
+ When enabled, a 'created' and 'modified' timestamp will be stored for each new preset stored in an empty slot. Overwritten presets will only have their 'modified' timestamp updated. Requires a [pattr preset_metadata] in the same patcher as [tc.preset]
+
Rename slots in UI
Use the attached textedit, if any, to edit slot names directly in the JSUI frame when clicking a slot while holding the control key. When disabled, the textedit remains untouched but gets focused when clicking a slot while holding the control key.
@@ -254,7 +268,7 @@
Generate unique identifiers for each stored preset
- When enabled, each stored preset gets a unique identifier, following the preset when it gets renamed, moved and overwritten. Requires a [pattr preset_metadata] at the same patcher of [tc.preset]. This can be useful when doing some complex preset management.
+ When enabled, each stored preset gets a unique identifier, following the preset when it gets renamed, moved and overwritten. Requires a [pattr preset_metadata] in the same patcher as [tc.preset]. This can be useful when doing some complex preset management.
diff --git a/help/colors.json b/help/colors.json
index 3376c18..fe0600f 100644
--- a/help/colors.json
+++ b/help/colors.json
@@ -4,242 +4,212 @@
"slots": {
"1": {
"id": 1,
- "name": "Preset 1",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"a322b36b-1aba-415c-9083-d8df678268b7\"}" ],
- "u099005226": [ -0.23, -0.5700000000000001, 0.26, 0.02, 0.72, -0.18, -0.46, 0.4, 0.16, -0.92, 0.77, 0.9500000000000001, -0.37, 0.25, -0.07, -0.38 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lahwiegt\",\"created\":\"2026-06-30T13:17:24.810Z\",\"modified\":\"2026-06-30T13:17:24.810Z\"}" ],
+ "u099005226": [ -0.31, 0.15, 0.08, -0.77, 0.62, 0.19, -0.35000000000000003, 0.9, 0.87, 0.92, -0.16, -0.7000000000000001, 0.11, 0.31, -0.09, -0.77 ]
}
},
"2": {
"id": 2,
- "name": "Preset 2",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"416cad49-d949-4d13-ad8b-4c8d16422e95\"}" ],
- "u099005226": [ -0.64, 0.47000000000000003, -0.3, -0.7000000000000001, 0.55, 0.59, -0.38, 0.28, 0.9, 0.19, -0.8, 0.66, -0.2, -0.1, -0.65, -0.8300000000000001 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8laknhj5c\",\"created\":\"2026-06-30T13:17:24.812Z\",\"modified\":\"2026-06-30T13:17:24.812Z\"}" ],
+ "u099005226": [ 0.32, -0.33, -0.6, 0.27, -0.87, 0.62, 0.12, -0.36, 0.97, -0.9, -0.15, -0.53, 0.39, 0.88, 0.52, -0.85 ]
}
},
"3": {
"id": 3,
- "name": "Preset 3",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"a5ea784b-e1d8-45af-9415-ae4ee863ee15\"}" ],
- "u099005226": [ -0.02, 0.65, -0.24, 0.6900000000000001, -0.21, -0.34, 0.63, 0.93, 0.48, 0.32, 0.28, 0.11, -0.52, -0.08, -0.63, -0.85 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lamttkyr\",\"created\":\"2026-06-30T13:17:24.814Z\",\"modified\":\"2026-06-30T13:17:24.814Z\"}" ],
+ "u099005226": [ 0.93, -0.81, 0.8300000000000001, 0.85, -0.02, 0.17, 0.15, -0.52, -0.58, -0.54, -0.52, -0.62, -0.41000000000000003, 0.47000000000000003, -0.04, -0.79 ]
}
},
"4": {
"id": 4,
- "name": "Preset 4",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"e6da1028-1f9d-46b2-9317-df7336e277da\"}" ],
- "u099005226": [ 0.62, -0.84, -0.89, 0.8200000000000001, -0.19, -0.96, -0.92, -0.92, 0.37, -0.3, 0.91, 0.78, -0.75, 0.64, 0.96, -0.45 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lan7pxl7\",\"created\":\"2026-06-30T13:17:24.815Z\",\"modified\":\"2026-06-30T13:17:24.815Z\"}" ],
+ "u099005226": [ -0.55, -0.8, -0.5700000000000001, 0.54, 0.17, 0.68, -0.47000000000000003, 0.46, -0.09, -0.88, 0.14, 0.85, 0.33, -0.8, 0.58, -0.7000000000000001 ]
}
},
"5": {
"id": 5,
- "name": "Preset 5",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"c6499b4a-1dcf-4b1e-a4fc-a546020b26d9\"}" ],
- "u099005226": [ 0.84, 0.31, 0.14, -0.26, -0.92, 0.79, -0.59, -0.77, -0.88, -0.35000000000000003, 0.87, -0.8, -0.96, -0.87, -0.86, -0.38 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lasza0vr\",\"created\":\"2026-06-30T13:17:24.820Z\",\"modified\":\"2026-06-30T13:17:24.820Z\"}" ],
+ "u099005226": [ 0.14, 0.73, -0.85, 0.84, 0.01, -0.8300000000000001, 0.47000000000000003, 0.39, 0.01, -0.02, 0.11, 0.42, -0.19, -0.13, -0.53, -0.26 ]
}
},
"6": {
"id": 6,
- "name": "Preset 6",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"47896b3c-65df-4c56-a8eb-c2fe0553472a\"}" ],
- "u099005226": [ 0.22, -0.6900000000000001, -0.06, -0.8, -0.47000000000000003, 0.16, 0.61, -0.75, 0.98, -0.12, -0.3, 0.11, -0.02, -0.2, 0.6, -0.5700000000000001 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8latoznsz\",\"created\":\"2026-06-30T13:17:24.821Z\",\"modified\":\"2026-06-30T13:17:24.821Z\"}" ],
+ "u099005226": [ -0.72, -0.93, 0.03, -0.25, -1.0, -0.6900000000000001, 0.14, 0.73, 0.38, 0.96, -0.93, -0.14, -0.59, -0.56, -0.14, -0.58 ]
}
},
"7": {
"id": 7,
- "name": "Preset 7",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"2f1aaecc-cd1e-4a81-82d2-d46c9136cfa5\"}" ],
- "u099005226": [ 0.9400000000000001, 0.3, -0.37, -0.37, -0.43, 0.31, 0.89, -0.43, -0.12, 0.11, -0.33, -0.19, 0.02, 0.32, 0.45, -0.8200000000000001 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lauuhens\",\"created\":\"2026-06-30T13:17:24.822Z\",\"modified\":\"2026-06-30T13:17:24.822Z\"}" ],
+ "u099005226": [ -0.71, -0.66, -0.79, -0.46, -0.74, -0.84, -0.5, -0.89, -0.32, -0.65, 0.01, 0.05, -0.98, -0.44, -0.31, 0.51 ]
}
},
"8": {
"id": 8,
- "name": "Preset 8",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"9f47c706-f761-4c58-afdf-28c65ade9cb3\"}" ],
- "u099005226": [ -0.88, 0.42, -0.45, 0.11, -0.6900000000000001, -0.09, -0.9400000000000001, 0.08, -0.63, 0.5, -0.22, 0.87, -0.38, 0.37, -0.33, -0.52 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lavt3tyx\",\"created\":\"2026-06-30T13:17:24.823Z\",\"modified\":\"2026-06-30T13:17:24.823Z\"}" ],
+ "u099005226": [ 0.2, -0.51, 0.64, -0.42, -0.21, -0.24, -0.17, -0.07, -0.58, -0.71, 0.87, -0.53, 0.3, 0.5700000000000001, -0.15, 0.5 ]
}
},
"9": {
"id": 9,
- "name": "Preset 9",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"d1be0a1d-7a3b-4613-80e4-0b0efa3ab660\"}" ],
- "u099005226": [ -0.29, 0.63, -0.6900000000000001, 0.53, 0.8, 0.04, -0.98, -0.03, -0.61, 0.05, -0.5, 0.02, -0.71, 0.67, -0.97, 0.58 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8laxxhs9v\",\"created\":\"2026-06-30T13:17:24.825Z\",\"modified\":\"2026-06-30T13:17:24.825Z\"}" ],
+ "u099005226": [ -0.42, -0.8200000000000001, -0.28, -0.49, -0.9500000000000001, 0.96, 0.4, 0.2, -0.16, 0.37, -0.5700000000000001, -0.75, -0.23, 0.41000000000000003, -0.41000000000000003, -0.62 ]
}
},
"10": {
"id": 10,
- "name": "Preset 10",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"26cc337d-6bcf-43ab-908b-1f7eb276388c\"}" ],
- "u099005226": [ 0.01, 0.39, -0.99, -0.93, 0.62, -0.76, 0.97, 0.44, -0.54, -0.72, -0.18, -0.04, -0.28, 0.42, 0.9, -0.71 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lay08zct\",\"created\":\"2026-06-30T13:17:24.826Z\",\"modified\":\"2026-06-30T13:17:24.826Z\"}" ],
+ "u099005226": [ -0.38, 0.08, 0.46, -0.36, 0.37, 0.26, 0.18, -0.15, -0.27, -0.88, 0.47000000000000003, 0.16, 0.12, -0.07, -0.61, -0.8200000000000001 ]
}
},
"11": {
"id": 11,
- "name": "Preset 11",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"8485a630-8039-487c-8bc3-9aa9b7775009\"}" ],
- "u099005226": [ -0.34, 0.41000000000000003, 0.15, 0.79, 0.98, 0.97, 0.03, 0.74, -0.43, -0.9, -0.79, 0.65, -0.81, 0.0, 0.87, 0.18 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lb1vk3x4\",\"created\":\"2026-06-30T13:17:24.829Z\",\"modified\":\"2026-06-30T13:17:24.829Z\"}" ],
+ "u099005226": [ -0.93, 0.99, -0.25, 0.35000000000000003, -0.72, 0.6, 0.14, -0.25, 0.21, 0.59, -0.32, -0.74, 0.87, 0.11, 0.33, 0.96 ]
}
},
"12": {
"id": 12,
- "name": "Preset 12",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"47516903-29a3-489f-8ac1-3719e4a8b1f4\"}" ],
- "u099005226": [ 0.17, 0.27, -0.16, -0.39, -0.88, -0.56, 0.9500000000000001, -0.92, 0.6900000000000001, 0.63, 0.38, 0.04, -0.1, -0.72, -0.33, -0.37 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lb32xuzz\",\"created\":\"2026-06-30T13:17:24.831Z\",\"modified\":\"2026-06-30T13:17:24.831Z\"}" ],
+ "u099005226": [ 0.14, -0.77, -0.8300000000000001, -0.53, 0.1, -0.89, -0.38, -0.89, -0.77, -0.03, 0.34, 0.29, 0.97, 0.13, 0.1, -0.88 ]
}
},
"13": {
"id": 13,
- "name": "Preset 13",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"c41a028f-0eb6-4e7c-9b77-175ef06a865a\"}" ],
- "u099005226": [ -0.92, 0.78, 0.42, -0.32, 0.26, -0.7000000000000001, -0.81, -0.2, 0.06, -0.39, -0.17, 0.39, 0.22, 0.75, -0.1, -0.42 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lb44hcln\",\"created\":\"2026-06-30T13:17:24.832Z\",\"modified\":\"2026-06-30T13:17:24.832Z\"}" ],
+ "u099005226": [ 0.8, -0.54, -0.31, 0.01, -0.73, 0.81, -0.43, 0.35000000000000003, 0.29, 0.19, 0.08, -0.13, -0.02, 0.15, -0.93, 0.63 ]
}
},
"14": {
"id": 14,
- "name": "Preset 14",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"543722ae-5744-44d8-881f-b7922c4c345c\"}" ],
- "u099005226": [ -0.37, 0.19, -0.54, -0.25, -0.6900000000000001, -0.32, -0.13, -0.03, 0.05, -0.42, -0.08, 0.72, 0.48, 0.15, 0.48, -0.56 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lb7qi25j\",\"created\":\"2026-06-30T13:17:24.835Z\",\"modified\":\"2026-06-30T13:17:24.835Z\"}" ],
+ "u099005226": [ -0.5, 0.36, -0.11, -0.36, 0.74, -0.44, 0.35000000000000003, 0.48, 0.54, 0.43, -0.21, -0.72, 0.17, 0.6, -0.21, -0.05 ]
}
},
"15": {
"id": 15,
- "name": "Preset 15",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"b7f4a192-656d-4b7c-a81e-94dac376c7c4\"}" ],
- "u099005226": [ -0.18, -0.99, -0.29, 0.89, 0.26, -0.14, 0.28, -0.34, 0.1, 0.7000000000000001, 0.6, -0.74, -0.87, 0.67, 0.9, 0.03 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lb9vm196\",\"created\":\"2026-06-30T13:17:24.837Z\",\"modified\":\"2026-06-30T13:17:24.837Z\"}" ],
+ "u099005226": [ -0.47000000000000003, 0.68, 0.31, -0.01, -0.93, -0.18, -0.36, -0.59, -0.46, -0.52, -0.98, 0.55, 0.13, 0.91, -0.78, -0.44 ]
}
},
"16": {
"id": 16,
- "name": "Preset 16",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"30425c06-ee40-4cb5-8ceb-87354fc78627\"}" ],
- "u099005226": [ 0.5700000000000001, 0.13, -0.42, -1.0, -0.73, 0.64, -0.64, 0.84, -0.06, -0.68, -0.51, -0.9400000000000001, 0.02, -0.31, 0.87, -0.85 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbazx2fg\",\"created\":\"2026-06-30T13:17:24.838Z\",\"modified\":\"2026-06-30T13:17:24.838Z\"}" ],
+ "u099005226": [ 0.81, -0.91, 0.61, -0.24, 0.84, -0.99, 0.1, -0.24, -0.55, 0.9400000000000001, -0.42, -0.9, 0.65, -0.81, -0.05, -0.36 ]
}
},
"17": {
"id": 17,
- "name": "Preset 17",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"8ffd1cfb-81b9-4520-83e9-457a7575f8e1\"}" ],
- "u099005226": [ 0.7000000000000001, -0.67, -0.33, -0.58, -0.26, -0.8, 0.3, 0.6900000000000001, 0.18, -0.65, 0.39, -0.5700000000000001, 0.11, 0.98, 0.77, 0.59 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbdtcvnl\",\"created\":\"2026-06-30T13:17:24.841Z\",\"modified\":\"2026-06-30T13:17:24.841Z\"}" ],
+ "u099005226": [ 0.21, 0.66, 0.76, -0.93, 0.89, 0.29, 0.86, -0.8200000000000001, 0.04, -0.3, -0.61, -0.17, 0.5, -0.27, 0.39, 0.54 ]
}
},
"18": {
"id": 18,
- "name": "Preset 18",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"f623fb60-d94e-49ec-b63f-d677f50cb1e0\"}" ],
- "u099005226": [ 0.0, 0.34, 0.72, 0.01, -0.9400000000000001, -0.24, -0.25, -0.67, 0.77, -0.63, -0.06, 0.54, -0.81, 0.19, 0.91, -0.64 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbelv51z\",\"created\":\"2026-06-30T13:17:24.842Z\",\"modified\":\"2026-06-30T13:17:24.842Z\"}" ],
+ "u099005226": [ -0.88, 0.37, -0.07, 0.4, 0.4, 0.19, 0.36, -0.9400000000000001, -0.48, -0.9500000000000001, -0.98, -0.51, 0.53, 0.55, 0.38, -0.08 ]
}
},
"19": {
"id": 19,
- "name": "Preset 19",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"639f7725-654b-4177-bbc2-606c24f7e689\"}" ],
- "u099005226": [ -0.7000000000000001, -0.56, -0.12, 0.3, 0.5, 0.91, 0.51, -0.66, 0.04, -0.07, 0.33, -0.93, 0.19, 0.58, -0.48, -0.39 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbgfkj48\",\"created\":\"2026-06-30T13:17:24.844Z\",\"modified\":\"2026-06-30T13:17:24.844Z\"}" ],
+ "u099005226": [ -0.9500000000000001, 0.16, -0.5700000000000001, -0.55, -0.11, -0.67, -0.38, 0.49, 0.71, -0.84, -0.84, -0.1, 0.28, 0.39, -0.77, 0.25 ]
}
},
"20": {
"id": 20,
- "name": "Preset 20",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"8e3bc022-ffdd-4154-86c3-b6f527974335\"}" ],
- "u099005226": [ -0.12, 0.68, -0.97, 0.78, 0.24, -0.76, -0.66, -0.68, 0.87, -0.8200000000000001, 0.52, -0.99, 0.44, 0.72, 0.97, -0.8 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbjga56o\",\"created\":\"2026-06-30T13:17:24.847Z\",\"modified\":\"2026-06-30T13:17:24.847Z\"}" ],
+ "u099005226": [ -0.75, 0.89, 0.22, -0.52, -0.36, 0.8, -0.56, -0.68, 0.72, -0.7000000000000001, 0.41000000000000003, 0.33, 0.01, -0.11, -0.9, 0.45 ]
}
},
"21": {
"id": 21,
- "name": "Preset 21",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"bb57651d-1aa5-42a5-8fd4-9df051e6f87d\"}" ],
- "u099005226": [ -0.11, 0.92, 0.92, 0.98, -0.42, 0.14, -0.92, -0.52, 0.15, -0.55, -0.54, -0.99, 0.1, -0.2, -0.33, -0.09 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbkpf6w0\",\"created\":\"2026-06-30T13:17:24.848Z\",\"modified\":\"2026-06-30T13:17:24.848Z\"}" ],
+ "u099005226": [ -0.8, -0.81, -0.47000000000000003, 0.9, -0.33, 0.36, 0.66, 0.65, 0.29, -0.21, -0.85, 0.8300000000000001, -0.86, 0.1, 0.02, 0.54 ]
}
},
"22": {
"id": 22,
- "name": "Preset 22",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"9a340fc0-3b57-4a20-a9aa-e1d4139683fe\"}" ],
- "u099005226": [ 0.36, -0.59, 0.92, 0.32, -0.1, 0.09, -0.02, -0.43, 0.38, -0.44, 0.47000000000000003, -0.43, -0.6, 0.43, -0.5, 0.45 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbn1gk3i\",\"created\":\"2026-06-30T13:17:24.851Z\",\"modified\":\"2026-06-30T13:17:24.851Z\"}" ],
+ "u099005226": [ -0.1, -0.68, 0.71, 0.5700000000000001, -0.6, 0.99, 0.6, 0.8300000000000001, -0.5, 0.51, 0.24, 0.62, 0.51, 0.11, 0.09, -0.87 ]
}
},
"23": {
"id": 23,
- "name": "Preset 23",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"9d2f72e5-8ef4-425c-abe6-daefae9d2864\"}" ],
- "u099005226": [ -0.34, -0.44, -0.28, -0.26, 0.68, 0.93, 0.22, 0.46, -0.26, 0.41000000000000003, 0.25, 0.26, 0.86, 0.52, 0.08, -0.45 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbpurgts\",\"created\":\"2026-06-30T13:17:24.853Z\",\"modified\":\"2026-06-30T13:17:24.853Z\"}" ],
+ "u099005226": [ 0.85, 0.54, -0.59, 0.53, 0.92, -0.52, -0.2, -0.74, -1.0, 0.16, 0.68, 0.99, 0.63, -0.25, 0.01, -0.9 ]
}
},
"24": {
"id": 24,
- "name": "Preset 24",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"b6e243d0-0095-4034-b89b-18386d1d7cbb\"}" ],
- "u099005226": [ 0.19, -0.6, -0.04, 0.11, -0.17, -0.3, 0.14, 0.99, -0.41000000000000003, 0.58, -0.03, 0.36, 0.91, 0.7000000000000001, -0.04, -0.73 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbsyijm9\",\"created\":\"2026-06-30T13:17:24.856Z\",\"modified\":\"2026-06-30T13:17:24.856Z\"}" ],
+ "u099005226": [ 0.52, -0.49, -0.79, -0.49, -0.91, -0.39, -0.18, 0.34, -0.03, 0.97, -0.73, 0.21, 0.26, -0.97, 0.92, -0.43 ]
}
},
"25": {
"id": 25,
- "name": "Preset 25",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"a09d3a53-0216-4fe9-bdf4-c1c56fb8951b\"}" ],
- "u099005226": [ 0.7000000000000001, -0.58, -0.9, 0.32, 0.22, -0.3, 0.28, -0.96, -0.03, -0.93, 0.8, 0.36, -0.99, -0.84, 0.25, -0.81 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbt7brd7\",\"created\":\"2026-06-30T13:17:24.857Z\",\"modified\":\"2026-06-30T13:17:24.857Z\"}" ],
+ "u099005226": [ 0.08, 0.41000000000000003, 0.76, -0.86, -0.99, 0.35000000000000003, 0.73, -0.96, 0.32, 0.56, -0.8, 0.58, 0.2, 0.42, 0.99, 0.03 ]
}
},
"26": {
"id": 26,
- "name": "Preset 26",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"6395b36f-d5de-461e-9d17-3efe8db6f7a7\"}" ],
- "u099005226": [ -0.23, -0.1, 0.29, -0.16, -0.88, 0.63, 0.08, 0.6, 0.31, -0.61, -0.68, -0.52, 0.08, -0.05, -0.6, -0.64 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbw682ln\",\"created\":\"2026-06-30T13:17:24.860Z\",\"modified\":\"2026-06-30T13:17:24.860Z\"}" ],
+ "u099005226": [ -0.01, -0.74, 0.68, -0.52, 0.75, 0.36, -0.8200000000000001, 0.33, -0.63, -0.34, 0.56, 0.96, 0.9500000000000001, -0.35000000000000003, 0.08, 0.45 ]
}
},
"34": {
"id": 34,
- "name": "Preset 34",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"f30716a0-acde-4451-9f3e-a6c1ad65f546\"}" ],
- "u099005226": [ 0.86, 0.97, 0.74, -0.62, 0.4, -0.35000000000000003, 0.65, -0.81, 0.67, -0.48, -0.34, 0.77, 0.38, 0.91, 0.9, -0.7000000000000001 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lbygdnmz\",\"created\":\"2026-06-30T13:17:24.862Z\",\"modified\":\"2026-06-30T13:17:24.862Z\"}" ],
+ "u099005226": [ 0.64, -0.17, 0.73, -0.14, -0.22, -0.45, 0.77, -0.61, -0.34, -0.73, -0.99, -0.27, -0.87, 0.02, -0.21, 0.61 ]
}
},
"44": {
"id": 44,
- "name": "Preset 44",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"1fbb9408-f660-4735-9984-f9111b77fda9\"}" ],
- "u099005226": [ -0.9400000000000001, -0.78, -0.36, -0.5, -0.16, 0.79, 0.85, 0.56, 0.14, -0.34, -0.89, 0.47000000000000003, -0.77, -0.96, -0.86, 0.49 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lc13ij04\",\"created\":\"2026-06-30T13:17:24.865Z\",\"modified\":\"2026-06-30T13:17:24.865Z\"}" ],
+ "u099005226": [ 0.25, -0.21, -0.42, -0.8200000000000001, -0.86, 0.47000000000000003, 0.5700000000000001, -0.05, -0.67, 0.09, -0.06, -0.59, 0.55, 0.28, -0.13, -0.12 ]
}
},
"56": {
"id": 56,
- "name": "Preset 56",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"8c5b437e-7f0c-4e97-8a2a-70acda0f17d6\"}" ],
- "u099005226": [ -0.16, -0.01, -0.55, -0.6, 0.08, 0.98, 0.77, -0.6, 0.64, 0.6900000000000001, -0.79, -0.81, -0.28, -0.76, 0.15, 0.81 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lc3838tj\",\"created\":\"2026-06-30T13:17:24.867Z\",\"modified\":\"2026-06-30T13:17:24.867Z\"}" ],
+ "u099005226": [ -0.96, -0.62, -0.5700000000000001, 0.21, -0.23, 0.96, -0.77, -0.21, 0.41000000000000003, -0.43, 0.07, 0.81, -0.5, -0.8, 0.92, -0.41000000000000003 ]
}
},
"65": {
"id": 65,
- "name": "Preset 65",
"data": {
- "preset_metadata": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"44918fd8-bfef-42ee-87ed-13929dc21d32\"}" ],
- "u099005226": [ 0.63, 0.64, -0.14, 0.5700000000000001, -0.32, -0.78, 0.87, -0.36, -0.14, -0.85, -0.3, -0.51, 0.8200000000000001, -0.02, -0.02, 0.78 ]
+ "preset_metadata": [ "{\"uid\":\"mr0o8lc56u8go\",\"created\":\"2026-06-30T13:17:24.869Z\",\"modified\":\"2026-06-30T13:17:24.869Z\"}" ],
+ "u099005226": [ 0.22, -0.58, 0.8300000000000001, -0.33, -0.75, 0.54, 0.01, 0.92, -0.6, 0.16, -0.9500000000000001, -0.48, -0.78, -0.05, 0.8200000000000001, 0.45 ]
}
}
}
diff --git a/help/max8.tc.preset.maxhelp b/help/max8.tc.preset.maxhelp
index a035afd..9b943b4 100644
--- a/help/max8.tc.preset.maxhelp
+++ b/help/max8.tc.preset.maxhelp
@@ -1,4948 +1,5627 @@
{
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 100.0, 100.0, 899.0, 646.0 ],
- "showrootpatcherontab": 0,
- "showontab": 0,
- "boxes": [
- {
- "box": {
- "id": "obj-19",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 0,
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 0.0, 26.0, 899.0, 620.0 ],
- "showontab": 1,
- "boxes": [],
- "lines": []
- },
- "patching_rect": [ 756.0, 25.7999267578125, 50.0, 22.0 ],
- "text": "p ?",
- "varname": "q_tab"
- }
- },
- {
- "box": {
- "id": "obj-14",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 431.0, 262.0, 138.0, 22.0 ],
- "saved_object_attributes": {
- "filename": "helpstarter.js",
- "parameter_enable": 0
- },
- "text": "js helpstarter.js tc.preset"
- }
- },
- {
- "box": {
- "id": "obj-5",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 0,
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 0.0, 26.0, 899.0, 620.0 ],
- "showontab": 1,
- "boxes": [
- {
- "box": {
- "id": "obj-7",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 242.5, 538.0, 93.0, 22.0 ],
- "text": "prepend setlock"
- }
- },
- {
- "box": {
- "id": "obj-2",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 10.0, 538.0, 116.0, 22.0 ],
- "text": "prepend recall_filled"
- }
- },
- {
- "box": {
- "id": "obj-12",
- "linecount": 2,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 473.0, 388.0, 278.0, 33.0 ],
- "text": "Move an existing preset to another slot\n(same action as dragging a preset with the mouse)"
- }
- },
- {
- "box": {
- "id": "obj-5",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 403.0, 394.0, 65.0, 22.0 ],
- "text": "move 4 10"
- }
- },
- {
- "box": {
- "id": "obj-32",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 473.0, 367.0, 365.0, 20.0 ],
- "text": "Recall the nth (0-based) filled preset, regardless of its slot number"
- }
- },
- {
- "box": {
- "id": "obj-26",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 389.0, 366.0, 79.0, 22.0 ],
- "text": "recall_filled 4"
- }
- },
- {
- "box": {
- "fontface": 1,
- "id": "obj-28",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 390.0, 335.0, 168.0, 20.0 ],
- "text": "tc.preset specific messages"
- }
- },
- {
- "box": {
- "id": "obj-37",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 447.0, 473.0, 225.0, 20.0 ],
- "text": "Sets the lock state of the selected preset"
- }
- },
- {
- "box": {
- "id": "obj-35",
- "maxclass": "toggle",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "int" ],
- "parameter_enable": 0,
- "patching_rect": [ 380.0, 442.0, 24.0, 24.0 ]
- }
- },
- {
- "box": {
- "id": "obj-33",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 380.0, 472.0, 63.0, 22.0 ],
- "text": "setlock $1"
- }
- },
- {
- "box": {
- "id": "obj-31",
- "linecount": 2,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 473.0, 423.0, 285.0, 33.0 ],
- "text": "Select a preset. Doesn't recall it, but updates the umenu, textedit and lock toggle underneath the jsui."
- }
- },
- {
- "box": {
- "id": "obj-29",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 418.0, 429.0, 50.0, 22.0 ],
- "text": "select 3"
- }
- },
- {
- "box": {
- "id": "obj-16",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 447.0, 499.0, 198.0, 20.0 ],
- "text": "Set the name of the selected preset"
- }
- },
- {
- "box": {
- "id": "obj-14",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 320.0, 498.0, 123.0, 22.0 ],
- "text": "setslotname myname"
- }
- },
- {
- "box": {
- "id": "obj-11",
- "linecount": 2,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 447.0, 522.0, 171.0, 33.0 ],
- "text": "A fail-safe message to resync the jsui to the pattrstorage"
- }
- },
- {
- "box": {
- "id": "obj-6",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 399.0, 527.0, 44.0, 22.0 ],
- "text": "resync"
- }
- },
- {
- "box": {
- "id": "obj-38",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "" ],
- "patching_rect": [ 636.0, 16.0, 40.0, 22.0 ],
- "restore": [ -0.714285714285714, -0.714285714285714, -0.6, -0.542857142857143, -0.457142857142857, -0.342857142857143, -0.171428571428571, -0.028571428571429, 0.028571428571428, 0.142857142857143, 0.228571428571429, 0.371428571428571, 0.485714285714286, 0.571428571428571, 0.714285714285714, 0.8 ],
- "saved_object_attributes": {
- "parameter_enable": 0,
- "parameter_mappable": 0
- },
- "text": "pattr",
- "varname": "u099005226"
- }
- },
- {
- "box": {
- "id": "obj-39",
- "maxclass": "multislider",
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 647.0, 43.0, 136.0, 78.0 ],
- "size": 16,
- "varname": "multislider"
- }
- },
- {
- "box": {
- "id": "obj-30",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 680.0, 17.0, 118.0, 20.0 ],
- "text": "Some data to store"
- }
- },
- {
- "box": {
- "id": "obj-23",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 464.0, 249.0, 42.0, 22.0 ],
- "text": "lockall"
- }
- },
- {
- "box": {
- "id": "obj-18",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 618.0, 249.0, 60.0, 22.0 ],
- "text": "renumber"
- }
- },
- {
- "box": {
- "id": "obj-15",
- "linecount": 7,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 405.0, 146.0, 308.0, 100.0 ],
- "text": "Lots of pattrstorage methods modify presets but don't trigger any output from the pattrstorage object. If you need timing accuracy, send these messages to the pattrstorage first, then send a 'resync' to tc.preset. Otherwise, you can send them directly to tc.preset, which will act as a passthrough and trigger its resync method automatically."
- }
- },
- {
- "box": {
- "id": "obj-25",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 685.0, 249.0, 59.0, 22.0 ],
- "text": "remove 3"
- }
- },
- {
- "box": {
- "id": "obj-19",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 564.0, 249.0, 48.0, 22.0 ],
- "text": "insert 3"
- }
- },
- {
- "box": {
- "id": "obj-13",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 750.0, 249.0, 35.0, 22.0 ],
- "text": "clear"
- }
- },
- {
- "box": {
- "id": "obj-54",
- "linecount": 3,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 10.0, 120.0, 181.0, 47.0 ],
- "text": "\"recallmulti\" and \"slotname\" should be sent to the pattrstorage first then to the jsui"
- }
- },
- {
- "box": {
- "id": "obj-52",
- "linecount": 3,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 199.0, 120.0, 163.0, 47.0 ],
- "text": "Recall and delete messages should be sent to the pattrstorage only"
- }
- },
- {
- "box": {
- "id": "obj-50",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 253.0, 172.0, 84.0, 22.0 ],
- "text": "recall 1 3 0.75"
- }
- },
- {
- "box": {
- "id": "obj-48",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 199.0, 172.0, 47.0, 22.0 ],
- "text": "recall 3"
- }
- },
- {
- "box": {
- "id": "obj-46",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 42.0, 201.0, 94.0, 22.0 ],
- "text": "slotname 3 third"
- }
- },
- {
- "box": {
- "id": "obj-44",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "", "" ],
- "patching_rect": [ 10.0, 233.0, 38.0, 22.0 ],
- "text": "t l l"
- }
- },
- {
- "box": {
- "id": "obj-43",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 10.0, 172.0, 123.0, 22.0 ],
- "text": "recallmulti 1.6 2.1 3.3"
- }
- },
- {
- "box": {
- "id": "obj-22",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 254.0, 202.0, 51.0, 22.0 ],
- "text": "delete 2"
- }
- },
- {
- "box": {
- "id": "obj-20",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 408.0, 249.0, 50.0, 22.0 ],
- "text": "lock 3 1"
- }
- },
- {
- "box": {
- "id": "obj-56",
- "maxclass": "toggle",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "int" ],
- "parameter_enable": 0,
- "patching_rect": [ 242.5, 506.0, 24.0, 24.0 ]
- }
- },
- {
- "box": {
- "id": "obj-27",
- "keymode": 1,
- "lines": 1,
- "maxclass": "textedit",
- "nosymquotes": 1,
- "numinlets": 1,
- "numoutlets": 4,
- "outlettype": [ "", "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 129.0, 506.0, 102.0, 24.0 ]
- }
- },
- {
- "box": {
- "id": "obj-17",
- "items": [ 1, "up", ",", 2, "down", ",", 3, "sine", ",", 4, "random", ",", 7, "W", ",", 17, "Bell" ],
- "maxclass": "umenu",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 507.0, 115.0, 22.0 ]
- }
- },
- {
- "box": {
- "fontsize": 13.0,
- "id": "obj-8",
- "linecount": 2,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 10.0, 65.0, 489.0, 36.0 ],
- "text": "The pattrstorage object doesn't provide an output for all of its available methods.\nTo keep tc.preset in sync, some messages need to be addressed in a specific way."
- }
- },
- {
- "box": {
- "id": "obj-3",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 513.0, 249.0, 45.0, 22.0 ],
- "text": "store 3"
- }
- },
- {
- "box": {
- "border": 0,
- "filename": "helpname.js",
- "id": "obj-4",
- "ignoreclick": 1,
- "jsarguments": [ "tc.preset" ],
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 10.0, 188.2880096435547, 57.599853515625 ]
- }
- },
- {
- "box": {
- "border": 0,
- "embedstate": [
- [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
- [ "fontsize", 13 ],
- [ "menu_mode", 0 ],
- [ "autowriteagain", 0 ],
- [ "color_4", 0.367, 0.542, 0.712, 1 ],
- [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
- [ "interp_slot_color", 1, 1, 1, 0.8 ],
- [ "fontname", "Arial" ],
- [ "select_mode", 0 ],
- [ "spacing", 4 ],
- [ "ui_rename", 0 ],
- [ "layout", 0 ],
- [ "color_2", 0.679, 0.405, 0.669, 1 ],
- [ "display_interp", 1 ],
- [ "poll_edited", 0 ],
- [ "scrollable", 0 ],
- [ "use_uid", 0 ],
- [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ],
- [ "color_mode", 0 ],
- [ "color_5", 0.283, 0.606, 0.559, 1 ],
- [ "min_rows", 10 ],
- [ "bubblesize", 14 ],
- [ "margin", 4 ],
- [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
- [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ],
- [ "color_3", 0.527, 0.459, 0.756, 1 ],
- [ "send_name", "none" ],
- [ "edited_color", 1, 0.49, 0.263, 1 ],
- [ "recall_passthrough", 1 ],
- [ "ignoreslotzero", 1 ],
- [ "unique_names", 0 ],
- [ "pattrstorage", "tcpreset_help" ],
- [ "slot_round", 0 ],
- [ "color_1", 0.743, 0.41, 0.501, 1 ],
- [ "color_6", 0.316, 0.616, 0.377, 1 ],
- [ "nbslot_edit", 1 ]
- ],
- "filename": "tc.preset.js",
- "id": "obj-10",
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 5,
- "outlettype": [ "", "", "", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 378.0, 257.0, 112.0 ]
- }
- },
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 29.0, 303.0, 229.0, 22.0 ],
- "saved_object_attributes": {
- "client_rect": [ 100, 172, 596, 755 ],
- "parameter_enable": 0,
- "parameter_mappable": 0,
- "storage_rect": [ 365, 44, 816, 172 ]
- },
- "text": "pattrstorage tcpreset_help @savemode 0",
- "varname": "tcpreset_help"
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-17", 0 ],
- "source": [ "obj-10", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-27", 0 ],
- "source": [ "obj-10", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-56", 0 ],
- "source": [ "obj-10", 3 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-13", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-14", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-2", 0 ],
- "source": [ "obj-17", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-18", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-19", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "midpoints": [ 19.5, 561.0, 6.0, 561.0, 6.0, 375.0, 19.5, 375.0 ],
- "source": [ "obj-2", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-20", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-1", 0 ],
- "source": [ "obj-22", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-23", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-25", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-26", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "midpoints": [ 138.5, 569.1953125, 6.0, 569.1953125, 6.0, 375.0, 19.5, 375.0 ],
- "source": [ "obj-27", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-29", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-3", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-33", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-33", 0 ],
- "source": [ "obj-35", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-39", 0 ],
- "source": [ "obj-38", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-44", 0 ],
- "source": [ "obj-43", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-1", 0 ],
- "source": [ "obj-44", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-44", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-44", 0 ],
- "source": [ "obj-46", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-1", 0 ],
- "source": [ "obj-48", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-5", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-1", 0 ],
- "source": [ "obj-50", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-7", 0 ],
- "source": [ "obj-56", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-6", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "midpoints": [ 252.0, 570.0, 6.0, 570.0, 6.0, 375.0, 19.5, 375.0 ],
- "source": [ "obj-7", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 311.0, 27.7999267578125, 73.0, 22.0 ],
- "text": "p messages",
- "varname": "messages"
- }
- },
- {
- "box": {
- "id": "obj-26",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 0,
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 0.0, 26.0, 899.0, 620.0 ],
- "showontab": 1,
- "boxes": [
- {
- "box": {
- "bubble": 1,
- "id": "obj-7",
- "linecount": 6,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 271.0, 342.0, 222.0, 91.0 ],
- "text": "Double-click to recall a preset (because @select_mode is enabled)\nThis will cause a preset interpolation because @recall_passthrough is disabled and additionnal logic has been added in [p interp]"
- }
- },
- {
- "box": {
- "id": "obj-3",
- "items": [ "Preset", "number", "+", "name", ",", "Preset", "number", ",", "Preset", "name" ],
- "maxclass": "umenu",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 284.0, 563.0, 155.0, 22.0 ]
- }
- },
- {
- "box": {
- "id": "obj-11",
- "linecount": 8,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 567.0, 75.0, 309.0, 114.0 ],
- "text": "By default, clicking a stored preset in tc.preset recalls it immediately, the recall message being sent remotely to pattrstorage.\nWhen recall_passthrough is disabled, the recall mesage is first sent out of tc.preset leftmost outlet and it's up to the user to pass it to pattrstorage, potentially with some custom logic, like for triggering interpolations (see the red patch cord)"
- }
- },
- {
- "box": {
- "id": "obj-2",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 59.0, 107.0, 640.0, 480.0 ],
- "boxes": [
- {
- "box": {
- "id": "obj-2",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 2,
- "outlettype": [ "", "" ],
- "patching_rect": [ 52.5, 109.0, 68.0, 22.0 ],
- "text": "route recall"
- }
- },
- {
- "box": {
- "id": "obj-3",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 159.16666666666669, 276.0, 45.0, 22.0 ],
- "text": "store 0"
- }
- },
- {
- "box": {
- "id": "obj-5",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "bang", "int", "bang" ],
- "patching_rect": [ 52.5, 170.0, 125.66666666666669, 22.0 ],
- "text": "t b i b"
- }
- },
- {
- "box": {
- "id": "obj-4",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "int" ],
- "patching_rect": [ 52.5, 239.0, 29.5, 22.0 ],
- "text": "i"
- }
- },
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 218.0, 170.0, 90.0, 22.0 ],
- "text": "loadmess 1000"
- }
- },
- {
- "box": {
- "id": "obj-31",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "bang", "float" ],
- "patching_rect": [ 52.5, 334.0, 29.5, 22.0 ],
- "text": "t b f"
- }
- },
- {
- "box": {
- "id": "obj-29",
- "maxclass": "newobj",
- "numinlets": 3,
- "numoutlets": 2,
- "outlettype": [ "", "bang" ],
- "patching_rect": [ 52.5, 307.0, 41.0, 22.0 ],
- "text": "line 0."
- }
- },
- {
- "box": {
- "id": "obj-25",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 52.5, 276.0, 52.0, 22.0 ],
- "text": "0., 1. $1"
- }
- },
- {
- "box": {
- "id": "obj-14",
- "maxclass": "newobj",
- "numinlets": 4,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 52.5, 383.0, 99.0, 22.0 ],
- "text": "pack recall 0 0 0."
- }
- },
- {
- "box": {
- "comment": "",
- "id": "obj-32",
- "index": 1,
- "maxclass": "inlet",
- "numinlets": 0,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 52.5, 40.0, 30.0, 30.0 ]
- }
- },
- {
- "box": {
- "comment": "",
- "id": "obj-33",
- "index": 1,
- "maxclass": "outlet",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 52.5, 444.0, 30.0, 30.0 ]
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-4", 1 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-33", 0 ],
- "source": [ "obj-14", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-5", 0 ],
- "source": [ "obj-2", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-29", 0 ],
- "source": [ "obj-25", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-31", 0 ],
- "source": [ "obj-29", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-33", 0 ],
- "source": [ "obj-3", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-14", 3 ],
- "source": [ "obj-31", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-14", 0 ],
- "source": [ "obj-31", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-2", 0 ],
- "source": [ "obj-32", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-25", 0 ],
- "source": [ "obj-4", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-14", 2 ],
- "source": [ "obj-5", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-3", 0 ],
- "source": [ "obj-5", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-4", 0 ],
- "source": [ "obj-5", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 10.0, 506.0, 52.0, 22.0 ],
- "text": "p interp"
- }
- },
- {
- "box": {
- "id": "obj-38",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "" ],
- "patching_rect": [ 279.0, 438.0, 40.0, 22.0 ],
- "restore": [ 0.873015873015873, 0.714285714285714, 0.587301587301587, 0.46031746031746, 0.301587301587302, 0.174603174603175, 0.015873015873016, -0.111111111111111, -0.238095238095238, -0.333333333333333, -0.428571428571429, -0.523809523809524, -0.587301587301587, -0.682539682539683, -0.777777777777778, -0.873015873015873 ],
- "saved_object_attributes": {
- "parameter_enable": 0,
- "parameter_mappable": 0
- },
- "text": "pattr",
- "varname": "u099005226"
- }
- },
- {
- "box": {
- "id": "obj-34",
- "maxclass": "multislider",
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 290.0, 465.0, 136.0, 78.0 ],
- "size": 16,
- "varname": "multislider"
- }
- },
- {
- "box": {
- "id": "obj-24",
- "linecount": 16,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 567.0, 262.0, 303.0, 221.0 ],
- "text": "The value of poll_edited defines the period at which tc.preset polls pattrstorage with the `getedited' message to know if the data in the currently active preset has been edited. If so, a colored dot appears on top of the preset. This can be used as a reminder to re-save the preset after some changes. At 0., the feature is disabled.\n\nRecall a preset by double-clicking it, and draw a shape in the multislider below to see this feature in action.\n\nThis 'edited' state is very sensitive and doesn't necessarily means that the value of a parameter has changed. If a pattrized object receives the same value it is currently at, pattrstorage will report the current preset as 'edited' even though no value has changed."
- }
- },
- {
- "box": {
- "id": "obj-20",
- "linecount": 6,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 441.0, 530.5, 261.0, 87.0 ],
- "text": "Make the preset menu to be populated by the preset number and/or their name.\nIn modes 0 and 2, use the leftmost outlet of umenu prepended by the recall_filled message to recall the correct preset. In mode 1, you can use the umenu's middle outlet directly."
- }
- },
- {
- "box": {
- "id": "obj-18",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 69.5, 592.0, 85.0, 22.0 ],
- "text": "recall_filled $1"
- }
- },
- {
- "box": {
- "id": "obj-14",
- "linecount": 4,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 293.0, 145.0, 242.0, 60.0 ],
- "text": "Forces preset names to be unique when by appending \"bis\" to them. Gets applied only to presets subsequently renamed through tc.preset."
- }
- },
- {
- "box": {
- "id": "obj-12",
- "linecount": 6,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 293.0, 246.0, 240.0, 87.0 ],
- "text": "Use the attached textedit, if any, to edit slot names directly in the JSUI frame when clicking a slot while holding the control key. When disabled, the textedit remains untouched but gets focused when clicking a slot while holding the control key."
- }
- },
- {
- "box": {
- "id": "obj-56",
- "maxclass": "toggle",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "int" ],
- "parameter_enable": 0,
- "patching_rect": [ 248.0, 505.0, 24.0, 24.0 ]
- }
- },
- {
- "box": {
- "fontface": 0,
- "fontname": "Arial",
- "fontsize": 12.0,
- "id": "obj-27",
- "keymode": 1,
- "lines": 1,
- "maxclass": "textedit",
- "nosymquotes": 1,
- "numinlets": 1,
- "numoutlets": 4,
- "outlettype": [ "", "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 129.0, 505.0, 102.0, 24.0 ]
- }
- },
- {
- "box": {
- "id": "obj-17",
- "items": [ 1, "up", ",", 2, "down", ",", 3, "sine", ",", 4, "random", ",", 7, "W", ",", 17, "Bell" ],
- "maxclass": "umenu",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 69.5, 563.0, 115.0, 22.0 ]
- }
- },
- {
- "box": {
- "border": 0,
- "embedstate": [
- [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
- [ "fontsize", 13 ],
- [ "menu_mode", 0 ],
- [ "autowriteagain", 0 ],
- [ "color_4", 0.367, 0.542, 0.712, 1 ],
- [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
- [ "interp_slot_color", 1, 1, 1, 0.8 ],
- [ "fontname", "Arial" ],
- [ "select_mode", 1 ],
- [ "spacing", 4 ],
- [ "ui_rename", 1 ],
- [ "layout", 0 ],
- [ "color_2", 0.679, 0.405, 0.669, 1 ],
- [ "display_interp", 1 ],
- [ "poll_edited", 1 ],
- [ "scrollable", 0 ],
- [ "use_uid", 0 ],
- [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ],
- [ "color_mode", 0 ],
- [ "color_5", 0.283, 0.606, 0.559, 1 ],
- [ "min_rows", 10 ],
- [ "bubblesize", 14 ],
- [ "margin", 4 ],
- [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
- [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ],
- [ "color_3", 0.527, 0.459, 0.756, 1 ],
- [ "send_name", "none" ],
- [ "edited_color", 1, 0.49, 0.263, 1 ],
- [ "recall_passthrough", 0 ],
- [ "ignoreslotzero", 1 ],
- [ "unique_names", 0 ],
- [ "pattrstorage", "tcpreset_help" ],
- [ "slot_round", 0 ],
- [ "color_1", 0.743, 0.41, 0.501, 1 ],
- [ "color_6", 0.316, 0.616, 0.377, 1 ],
- [ "nbslot_edit", 1 ]
- ],
- "filename": "tc.preset.js",
- "id": "obj-10",
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 5,
- "outlettype": [ "", "", "", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 378.0, 257.0, 112.0 ]
- }
- },
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 10.0, 309.0, 229.0, 22.0 ],
- "saved_object_attributes": {
- "client_rect": [ 100, 172, 596, 755 ],
- "parameter_enable": 0,
- "parameter_mappable": 0,
- "storage_rect": [ 365, 44, 816, 172 ]
- },
- "text": "pattrstorage tcpreset_help @savemode 0",
- "varname": "tcpreset_help"
- }
- },
- {
- "box": {
- "border": 0,
- "filename": "helpname.js",
- "id": "obj-4",
- "ignoreclick": 1,
- "jsarguments": [ "tc.preset" ],
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 10.0, 188.2880096435547, 57.599853515625 ]
- }
- },
- {
- "box": {
- "id": "obj-115",
- "linecount": 5,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 10.0, 101.0, 247.0, 74.0 ],
- "text": "When select mode is enabled, a single click selects a stored preset without recalling it. A double click recalls the preset. It allows to drag it, set its name and lock state while keeping the last recalled preset active."
- }
- },
- {
- "box": {
- "id": "obj-50",
- "linecount": 4,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 293.0, 46.0, 249.0, 60.0 ],
- "text": "Makes displayed previous active slot and interpolation status to ignore slot 0. Can be convenient when using slot 0 as a temporary step for interpolation. It is enabled by default."
- }
- },
- {
- "box": {
- "id": "obj-90",
- "linecount": 4,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 10.0, 218.0, 241.0, 60.0 ],
- "text": "When enabled, sends writeagain to pattrstrage when a preset has been stored/renamed/deleted/moved/(un)locked, keeping the json file always up to date."
- }
- },
- {
- "box": {
- "attr": "autowriteagain",
- "id": "obj-40",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 194.0, 123.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "ignoreslotzero",
- "id": "obj-46",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 293.0, 22.0, 124.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "select_mode",
- "id": "obj-127",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 77.0, 123.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "unique_names",
- "id": "obj-6",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 293.0, 121.0, 124.0, 22.0 ],
- "text_width": 101.0
- }
- },
- {
- "box": {
- "attr": "ui_rename",
- "id": "obj-8",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 293.0, 222.0, 101.0, 22.0 ],
- "text_width": 78.0
- }
- },
- {
- "box": {
- "attr": "menu_mode",
- "id": "obj-15",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 284.0, 591.0, 117.0, 22.0 ],
- "text_width": 87.0
- }
- },
- {
- "box": {
- "attr": "edited_color",
- "id": "obj-21",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 567.0, 237.0, 187.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "poll_edited",
- "id": "obj-22",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 567.0, 213.0, 150.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "recall_passthrough",
- "id": "obj-5",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 567.0, 49.0, 145.0, 22.0 ],
- "text_width": 122.0
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-17", 0 ],
- "source": [ "obj-10", 1 ]
- }
- },
- {
- "patchline": {
- "color": [ 0.839172840118408, 0.0, 0.0, 1.0 ],
- "destination": [ "obj-2", 0 ],
- "source": [ "obj-10", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-27", 0 ],
- "source": [ "obj-10", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-56", 0 ],
- "source": [ "obj-10", 3 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "hidden": 1,
- "source": [ "obj-127", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "hidden": 1,
- "source": [ "obj-15", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-18", 0 ],
- "source": [ "obj-17", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "midpoints": [ 79.0, 617.3515625, 3.55078125, 617.3515625, 3.55078125, 375.0, 19.5, 375.0 ],
- "source": [ "obj-18", 0 ]
- }
- },
- {
- "patchline": {
- "color": [ 0.839172840118408, 0.0, 0.0, 1.0 ],
- "destination": [ "obj-1", 0 ],
- "midpoints": [ 19.5, 531.0, 7.359375, 531.0, 7.359375, 303.64453125, 19.5, 303.64453125 ],
- "source": [ "obj-2", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "hidden": 1,
- "source": [ "obj-21", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "hidden": 1,
- "source": [ "obj-22", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "midpoints": [ 138.5, 540.0, 3.4296875, 540.0, 3.4296875, 375.0, 19.5, 375.0 ],
- "source": [ "obj-27", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-15", 0 ],
- "source": [ "obj-3", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-34", 0 ],
- "source": [ "obj-38", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "hidden": 1,
- "source": [ "obj-40", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "hidden": 1,
- "source": [ "obj-46", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "hidden": 1,
- "source": [ "obj-5", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "hidden": 1,
- "source": [ "obj-6", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "hidden": 1,
- "source": [ "obj-8", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 393.0, 26.7999267578125, 65.0, 22.0 ],
- "text": "p behavior",
- "varname": "behavior"
- }
- },
- {
- "box": {
- "id": "obj-9",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 0,
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 0.0, 26.0, 899.0, 620.0 ],
- "showontab": 1,
- "boxes": [
- {
- "box": {
- "bgcolor": [ 0.56078431372549, 0.796078431372549, 0.474509803921569, 1.0 ],
- "bgmode": 2,
- "border": 0,
- "clickthrough": 0,
- "embed": 1,
- "enablehscroll": 0,
- "enablevscroll": 0,
- "id": "obj-23",
- "lockeddragscroll": 0,
- "lockedsize": 0,
- "maxclass": "bpatcher",
- "numinlets": 0,
- "numoutlets": 0,
- "offset": [ 0.0, 0.0 ],
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 59.0, 119.0, 1000.0, 755.0 ],
- "boxes": [
- {
- "box": {
- "fontface": 1,
- "fontsize": 16.0,
- "id": "obj-4",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 159.0, 13.0, 107.0, 24.0 ],
- "text": "tc.preset_list"
- }
- },
- {
- "box": {
- "id": "obj-27",
- "keymode": 1,
- "lines": 1,
- "maxclass": "textedit",
- "nosymquotes": 1,
- "numinlets": 1,
- "numoutlets": 4,
- "outlettype": [ "", "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 156.5, 110.0, 100.0, 23.0 ]
- }
- },
- {
- "box": {
- "id": "obj-8",
- "items": "",
- "maxclass": "umenu",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 156.5, 74.0, 112.0, 22.0 ]
- }
- },
- {
- "box": {
- "border": 0,
- "embedstate": [
- [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
- [ "fontsize", 13 ],
- [ "menu_mode", 0 ],
- [ "autowriteagain", 0 ],
- [ "color_4", 0.367, 0.542, 0.712, 1 ],
- [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
- [ "interp_slot_color", 1, 1, 1, 0.8 ],
- [ "fontname", "Arial" ],
- [ "select_mode", 0 ],
- [ "spacing", 4 ],
- [ "ui_rename", 1 ],
- [ "layout", 1 ],
- [ "color_2", 0.679, 0.405, 0.669, 1 ],
- [ "display_interp", 1 ],
- [ "poll_edited", 0 ],
- [ "scrollable", 1 ],
- [ "use_uid", 0 ],
- [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ],
- [ "color_mode", 0 ],
- [ "color_5", 0.283, 0.606, 0.559, 1 ],
- [ "min_rows", 10 ],
- [ "bubblesize", 14 ],
- [ "margin", 4 ],
- [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
- [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ],
- [ "color_3", 0.527, 0.459, 0.756, 1 ],
- [ "send_name", "none" ],
- [ "edited_color", 1, 0.49, 0.263, 1 ],
- [ "recall_passthrough", 1 ],
- [ "ignoreslotzero", 1 ],
- [ "unique_names", 0 ],
- [ "pattrstorage", "mypat" ],
- [ "slot_round", 0 ],
- [ "color_1", 0.743, 0.41, 0.501, 1 ],
- [ "color_6", 0.316, 0.616, 0.377, 1 ],
- [ "nbslot_edit", 1 ]
- ],
- "filename": "tc.preset.js",
- "id": "obj-10",
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 5,
- "outlettype": [ "", "", "", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 16.0, 74.0, 130.0, 95.0 ]
- }
- },
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 16.0, 34.0, 109.0, 22.0 ],
- "saved_object_attributes": {
- "client_rect": [ 100, 172, 596, 755 ],
- "parameter_enable": 0,
- "parameter_mappable": 0,
- "storage_rect": [ 365, 44, 816, 172 ]
- },
- "text": "pattrstorage mypat",
- "varname": "mypat"
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-27", 0 ],
- "source": [ "obj-10", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-8", 0 ],
- "source": [ "obj-10", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-27", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 75.0, 366.0, 287.0, 194.0 ],
- "varname": "bpatcher[1]",
- "viewvisibility": 1
- }
- },
- {
- "box": {
- "bgcolor": [ 0.486274509803922, 0.741176470588235, 0.705882352941177, 1.0 ],
- "bgmode": 2,
- "border": 0,
- "clickthrough": 0,
- "embed": 1,
- "enablehscroll": 0,
- "enablevscroll": 0,
- "id": "obj-22",
- "lockeddragscroll": 0,
- "lockedsize": 0,
- "maxclass": "bpatcher",
- "numinlets": 0,
- "numoutlets": 0,
- "offset": [ 0.0, 0.0 ],
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 59.0, 119.0, 584.0, 605.0 ],
- "boxes": [
- {
- "box": {
- "id": "obj-1",
- "items": [ "Classic", ",", "Cycle", ",", "Select", ",", "Custom" ],
- "maxclass": "umenu",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 171.0, 2.0, 100.0, 22.0 ]
- }
- },
- {
- "box": {
- "border": 0,
- "embedstate": [
- [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
- [ "fontsize", 13 ],
- [ "menu_mode", 0 ],
- [ "autowriteagain", 0 ],
- [ "color_4", 0.367, 0.542, 0.712, 1 ],
- [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
- [ "interp_slot_color", 1, 1, 1, 0.8 ],
- [ "fontname", "Arial" ],
- [ "select_mode", 0 ],
- [ "spacing", 4 ],
- [ "ui_rename", 0 ],
- [ "layout", 0 ],
- [ "color_2", 0.679, 0.405, 0.669, 1 ],
- [ "display_interp", 1 ],
- [ "poll_edited", 0 ],
- [ "scrollable", 0 ],
- [ "use_uid", 0 ],
- [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ],
- [ "color_mode", 0 ],
- [ "color_5", 0.283, 0.606, 0.559, 1 ],
- [ "min_rows", 10 ],
- [ "bubblesize", 14 ],
- [ "margin", 4 ],
- [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
- [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ],
- [ "color_3", 0.527, 0.459, 0.756, 1 ],
- [ "send_name", "none" ],
- [ "edited_color", 1, 0.49, 0.263, 1 ],
- [ "recall_passthrough", 1 ],
- [ "ignoreslotzero", 1 ],
- [ "unique_names", 0 ],
- [ "pattrstorage", "mypat" ],
- [ "slot_round", 0 ],
- [ "color_1", 0.743, 0.41, 0.501, 1 ],
- [ "color_6", 0.316, 0.616, 0.377, 1 ],
- [ "nbslot_edit", 1 ]
- ],
- "filename": "tc.preset.js",
- "id": "obj-2",
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 5,
- "outlettype": [ "", "", "", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 20.0, 115.0, 130.0, 58.0 ]
- }
- },
- {
- "box": {
- "fontface": 1,
- "fontsize": 16.0,
- "id": "obj-4",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 20.0, 17.0, 123.0, 24.0 ],
- "text": "tc.preset_color"
- }
- },
- {
- "box": {
- "button": 1,
- "id": "obj-17",
- "maxclass": "tab",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 171.0, 52.0, 139.0, 24.0 ],
- "tabs": [ "1", "2", "3", "4", "5", "6" ],
- "varname": "sel"
- }
- },
- {
- "box": {
- "id": "obj-12",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 171.0, 121.0, 98.0, 22.0 ],
- "text": "prepend setcolor"
- }
- },
- {
- "box": {
- "id": "obj-3",
- "maxclass": "swatch",
- "numinlets": 3,
- "numoutlets": 2,
- "outlettype": [ "", "float" ],
- "parameter_enable": 0,
- "patching_rect": [ 171.0, 80.0, 128.0, 32.0 ],
- "saturation": 1.0,
- "varname": "cust"
- }
- },
- {
- "box": {
- "id": "obj-7",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "" ],
- "patching_rect": [ 171.0, 151.0, 126.0, 22.0 ],
- "restore": [ 0 ],
- "saved_object_attributes": {
- "parameter_enable": 0,
- "parameter_mappable": 0
- },
- "text": "pattr preset_metadata",
- "varname": "preset_metadata"
- }
- },
- {
- "box": {
- "id": "obj-16",
- "keymode": 1,
- "lines": 1,
- "maxclass": "textedit",
- "nosymquotes": 1,
- "numinlets": 1,
- "numoutlets": 4,
- "outlettype": [ "", "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 136.5, 189.0, 100.0, 23.0 ]
- }
- },
- {
- "box": {
- "id": "obj-18",
- "items": "",
- "maxclass": "umenu",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 18.5, 189.0, 112.0, 22.0 ]
- }
- },
- {
- "box": {
- "id": "obj-20",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 20.0, 76.0, 109.0, 22.0 ],
- "saved_object_attributes": {
- "client_rect": [ 100, 172, 596, 755 ],
- "parameter_enable": 0,
- "parameter_mappable": 0,
- "storage_rect": [ 365, 44, 816, 172 ]
- },
- "text": "pattrstorage mypat",
- "varname": "mypat"
- }
- },
- {
- "box": {
- "attr": "color_mode",
- "id": "obj-5",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 171.0, 26.0, 128.0, 22.0 ]
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-5", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-2", 0 ],
- "source": [ "obj-12", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-12", 0 ],
- "source": [ "obj-17", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-16", 0 ],
- "source": [ "obj-2", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-18", 0 ],
- "source": [ "obj-2", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-2", 0 ],
- "source": [ "obj-20", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-12", 0 ],
- "source": [ "obj-3", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-2", 0 ],
- "source": [ "obj-5", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 434.0, 28.0, 347.0, 219.0 ],
- "varname": "patcher",
- "viewvisibility": 1
- }
- },
- {
- "box": {
- "bgcolor": [ 0.870588235294118, 0.537254901960784, 0.537254901960784, 1.0 ],
- "bgmode": 2,
- "border": 0,
- "clickthrough": 0,
- "embed": 1,
- "enablehscroll": 0,
- "enablevscroll": 0,
- "id": "obj-21",
- "lockeddragscroll": 0,
- "lockedsize": 0,
- "maxclass": "bpatcher",
- "numinlets": 0,
- "numoutlets": 0,
- "offset": [ 0.0, 0.0 ],
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 59.0, 119.0, 1000.0, 755.0 ],
- "boxes": [
- {
- "box": {
- "fontface": 1,
- "fontsize": 16.0,
- "id": "obj-4",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 148.0, 13.0, 129.0, 24.0 ],
- "text": "tc.preset_interp"
- }
- },
- {
- "box": {
- "id": "obj-6",
- "maxclass": "number",
- "minimum": 0,
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "", "bang" ],
- "parameter_enable": 0,
- "patching_rect": [ 122.0, 177.0, 50.0, 22.0 ]
- }
- },
- {
- "box": {
- "id": "obj-34",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 439.0, 167.0, 640.0, 480.0 ],
- "boxes": [
- {
- "box": {
- "id": "obj-9",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 266.0, 45.0, 101.0, 20.0 ],
- "text": "Interpolation time"
- }
- },
- {
- "box": {
- "id": "obj-6",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 84.5, 45.0, 89.0, 20.0 ],
- "text": "Preset to recall"
- }
- },
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 2,
- "outlettype": [ "", "" ],
- "patching_rect": [ 52.5, 105.0, 68.0, 22.0 ],
- "text": "route recall"
- }
- },
- {
- "box": {
- "comment": "",
- "id": "obj-2",
- "index": 2,
- "maxclass": "inlet",
- "numinlets": 0,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 234.0, 40.0, 30.0, 30.0 ]
- }
- },
- {
- "box": {
- "id": "obj-8",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 158.5, 249.0, 45.0, 22.0 ],
- "text": "store 0"
- }
- },
- {
- "box": {
- "id": "obj-5",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "bang", "int", "bang" ],
- "patching_rect": [ 52.5, 170.0, 125.66666666666669, 22.0 ],
- "text": "t b i b"
- }
- },
- {
- "box": {
- "id": "obj-4",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "int" ],
- "patching_rect": [ 52.5, 239.0, 29.5, 22.0 ],
- "text": "i"
- }
- },
- {
- "box": {
- "id": "obj-31",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "bang", "float" ],
- "patching_rect": [ 52.5, 334.0, 29.5, 22.0 ],
- "text": "t b f"
- }
- },
- {
- "box": {
- "id": "obj-29",
- "maxclass": "newobj",
- "numinlets": 3,
- "numoutlets": 2,
- "outlettype": [ "", "bang" ],
- "patching_rect": [ 52.5, 307.0, 41.0, 22.0 ],
- "text": "line 0."
- }
- },
- {
- "box": {
- "id": "obj-25",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 52.5, 276.0, 52.0, 22.0 ],
- "text": "0., 1. $1"
- }
- },
- {
- "box": {
- "id": "obj-14",
- "maxclass": "newobj",
- "numinlets": 4,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 52.5, 362.0, 99.0, 22.0 ],
- "text": "pack recall 0 0 0."
- }
- },
- {
- "box": {
- "comment": "",
- "id": "obj-32",
- "index": 1,
- "maxclass": "inlet",
- "numinlets": 0,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 52.5, 40.0, 30.0, 30.0 ]
- }
- },
- {
- "box": {
- "comment": "",
- "id": "obj-33",
- "index": 1,
- "maxclass": "outlet",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 52.5, 444.0, 30.0, 30.0 ]
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-5", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-33", 0 ],
- "source": [ "obj-14", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-4", 1 ],
- "source": [ "obj-2", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-29", 0 ],
- "source": [ "obj-25", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-31", 0 ],
- "source": [ "obj-29", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-14", 3 ],
- "source": [ "obj-31", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-14", 0 ],
- "source": [ "obj-31", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-1", 0 ],
- "source": [ "obj-32", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-25", 0 ],
- "source": [ "obj-4", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-14", 2 ],
- "source": [ "obj-5", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-4", 0 ],
- "source": [ "obj-5", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-8", 0 ],
- "source": [ "obj-5", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-33", 0 ],
- "source": [ "obj-8", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 16.0, 206.0, 125.0, 22.0 ],
- "text": "p trigger_interpolation"
- }
- },
- {
- "box": {
- "id": "obj-27",
- "keymode": 1,
- "lines": 1,
- "maxclass": "textedit",
- "nosymquotes": 1,
- "numinlets": 1,
- "numoutlets": 4,
- "outlettype": [ "", "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 161.0, 143.0, 100.0, 23.0 ]
- }
- },
- {
- "box": {
- "id": "obj-8",
- "items": "",
- "maxclass": "umenu",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 43.0, 143.0, 112.0, 22.0 ]
- }
- },
- {
- "box": {
- "border": 0,
- "embedstate": [
- [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
- [ "fontsize", 13 ],
- [ "menu_mode", 0 ],
- [ "autowriteagain", 0 ],
- [ "color_4", 0.367, 0.542, 0.712, 1 ],
- [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
- [ "interp_slot_color", 1, 1, 1, 0.8 ],
- [ "fontname", "Arial" ],
- [ "select_mode", 0 ],
- [ "spacing", 4 ],
- [ "ui_rename", 1 ],
- [ "layout", 0 ],
- [ "color_2", 0.679, 0.405, 0.669, 1 ],
- [ "display_interp", 1 ],
- [ "poll_edited", 0 ],
- [ "scrollable", 0 ],
- [ "use_uid", 0 ],
- [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ],
- [ "color_mode", 0 ],
- [ "color_5", 0.283, 0.606, 0.559, 1 ],
- [ "min_rows", 10 ],
- [ "bubblesize", 14 ],
- [ "margin", 4 ],
- [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
- [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ],
- [ "color_3", 0.527, 0.459, 0.756, 1 ],
- [ "send_name", "none" ],
- [ "edited_color", 1, 0.49, 0.263, 1 ],
- [ "recall_passthrough", 0 ],
- [ "ignoreslotzero", 1 ],
- [ "unique_names", 0 ],
- [ "pattrstorage", "mypat" ],
- [ "slot_round", 0 ],
- [ "color_1", 0.743, 0.41, 0.501, 1 ],
- [ "color_6", 0.316, 0.616, 0.377, 1 ],
- [ "nbslot_edit", 1 ]
- ],
- "filename": "tc.preset.js",
- "id": "obj-10",
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 5,
- "outlettype": [ "", "", "", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 16.0, 74.0, 130.0, 59.0 ]
- }
- },
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 16.0, 41.0, 109.0, 22.0 ],
- "saved_object_attributes": {
- "client_rect": [ 100, 172, 596, 755 ],
- "parameter_enable": 0,
- "parameter_mappable": 0,
- "storage_rect": [ 365, 44, 816, 172 ]
- },
- "text": "pattrstorage mypat",
- "varname": "mypat"
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-27", 0 ],
- "source": [ "obj-10", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-34", 0 ],
- "source": [ "obj-10", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-8", 0 ],
- "source": [ "obj-10", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-27", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-1", 0 ],
- "source": [ "obj-34", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-34", 1 ],
- "source": [ "obj-6", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 75.0, 18.0, 287.0, 239.0 ],
- "varname": "bpatcher",
- "viewvisibility": 1
- }
- },
- {
- "box": {
- "bubble": 1,
- "fontsize": 14.0,
- "id": "obj-5",
- "linecount": 4,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 0.0, 270.0, 426.0, 73.0 ],
- "text": "Get these snippets from any patch through the Snippets menu!\n\nAfter renaming the pattrstorage, remind to also update the 'pattrstorage' attribute of tc.preset."
- }
- }
- ],
- "lines": []
- },
- "patching_rect": [ 687.0, 25.7999267578125, 63.0, 22.0 ],
- "text": "p snippets",
- "varname": "snippet"
- }
- },
- {
- "box": {
- "id": "obj-45",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 0,
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 0.0, 26.0, 899.0, 620.0 ],
- "showontab": 1,
- "boxes": [
- {
- "box": {
- "fontface": 0,
- "fontname": "Arial",
- "fontsize": 12.0,
- "id": "obj-2",
- "keymode": 1,
- "lines": 1,
- "maxclass": "textedit",
- "nosymquotes": 1,
- "numinlets": 1,
- "numoutlets": 4,
- "outlettype": [ "", "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 499.0, 116.0, 26.0 ]
- }
- },
- {
- "box": {
- "bubble": 1,
- "bubbleside": 0,
- "id": "obj-6",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 137.0, 492.0, 236.0, 39.0 ],
- "text": "Scroll the list with your mouse or trackpad!"
- }
- },
- {
- "box": {
- "hidden": 1,
- "id": "obj-5",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 146.0, 160.0, 89.0, 22.0 ],
- "text": "loadmess set 1"
- }
- },
- {
- "box": {
- "id": "obj-3",
- "maxclass": "tab",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 56.0, 130.0, 150.0, 26.0 ],
- "tabs": [ "Grid", "List" ]
- }
- },
- {
- "box": {
- "id": "obj-38",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "" ],
- "patching_rect": [ 293.0, 378.0, 40.0, 22.0 ],
- "restore": [ -0.079365079365079, 0.206349206349206, 0.428571428571429, 0.682539682539683, 0.904761904761905, 0.904761904761905, 0.841269841269841, 0.555555555555556, 0.047619047619048, -0.301587301587302, -0.587301587301587, -0.682539682539683, -0.650793650793651, -0.428571428571429, -0.111111111111111, 0.079365079365079 ],
- "saved_object_attributes": {
- "parameter_enable": 0,
- "parameter_mappable": 0
- },
- "text": "pattr",
- "varname": "u099005226"
- }
- },
- {
- "box": {
- "id": "obj-34",
- "maxclass": "multislider",
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 304.0, 405.0, 136.0, 78.0 ],
- "size": 16,
- "varname": "multislider"
- }
- },
- {
- "box": {
- "id": "obj-30",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 337.0, 379.0, 118.0, 20.0 ],
- "text": "Some data to store"
- }
- },
- {
- "box": {
- "id": "obj-18",
- "linecount": 5,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 409.0, 120.0, 241.0, 74.0 ],
- "text": "When scrollable is enabled, adds a - and + buttons at the end of the presets list which, when clicked, respectively remove or add a row of empty slot(s). The minimum number of rows is capped by min_rows."
- }
- },
- {
- "box": {
- "attr": "nbslot_edit",
- "id": "obj-16",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 304.0, 146.0, 103.0, 22.0 ],
- "text_width": 78.0
- }
- },
- {
- "box": {
- "border": 0,
- "embedstate": [
- [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
- [ "fontsize", 13 ],
- [ "menu_mode", 0 ],
- [ "autowriteagain", 0 ],
- [ "color_4", 0.367, 0.542, 0.712, 1 ],
- [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
- [ "interp_slot_color", 1, 1, 1, 0.8 ],
- [ "fontname", "Arial" ],
- [ "select_mode", 0 ],
- [ "spacing", 4 ],
- [ "ui_rename", 0 ],
- [ "layout", 1 ],
- [ "color_2", 0.679, 0.405, 0.669, 1 ],
- [ "display_interp", 1 ],
- [ "poll_edited", 0 ],
- [ "scrollable", 1 ],
- [ "use_uid", 0 ],
- [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ],
- [ "color_mode", 0 ],
- [ "color_5", 0.283, 0.606, 0.559, 1 ],
- [ "min_rows", 10 ],
- [ "bubblesize", 14 ],
- [ "margin", 4 ],
- [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
- [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ],
- [ "color_3", 0.527, 0.459, 0.756, 1 ],
- [ "send_name", "none" ],
- [ "edited_color", 1, 0.49, 0.263, 1 ],
- [ "recall_passthrough", 1 ],
- [ "ignoreslotzero", 1 ],
- [ "unique_names", 0 ],
- [ "pattrstorage", "tcpreset_help" ],
- [ "slot_round", 0 ],
- [ "color_1", 0.743, 0.41, 0.501, 1 ],
- [ "color_6", 0.316, 0.616, 0.377, 1 ],
- [ "nbslot_edit", 1 ]
- ],
- "filename": "tc.preset.js",
- "id": "obj-10",
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 5,
- "outlettype": [ "", "", "", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 378.0, 257.0, 112.0 ]
- }
- },
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 10.0, 309.0, 229.0, 22.0 ],
- "saved_object_attributes": {
- "client_rect": [ 100, 172, 596, 755 ],
- "parameter_enable": 0,
- "parameter_mappable": 0,
- "storage_rect": [ 365, 44, 816, 172 ]
- },
- "text": "pattrstorage tcpreset_help @savemode 0",
- "varname": "tcpreset_help"
- }
- },
- {
- "box": {
- "border": 0,
- "filename": "helpname.js",
- "id": "obj-4",
- "ignoreclick": 1,
- "jsarguments": [ "tc.preset" ],
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 10.0, 188.2880096435547, 57.599853515625 ]
- }
- },
- {
- "box": {
- "bubble": 1,
- "bubbleside": 3,
- "id": "obj-78",
- "linecount": 6,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 668.0, 103.0, 231.0, 91.0 ],
- "text": "...and: bgcolor, empty_slot_color, stored_slot_color, interp_slot_color, active_slot_color, fontname, fontsize, text_bg_color, text_color\n(see the tc.preset attributes in the inspector or in its Reference page)"
- }
- },
- {
- "box": {
- "id": "obj-65",
- "linecount": 2,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 463.0, 214.0, 196.0, 33.0 ],
- "text": "Minimum number of rows to display when scrollable is enabled."
- }
- },
- {
- "box": {
- "id": "obj-62",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 278.0, 55.0, 211.0, 20.0 ],
- "text": "Enable to scroll through your presets! "
- }
- },
- {
- "box": {
- "id": "obj-39",
- "linecount": 2,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 56.0, 93.0, 150.0, 33.0 ],
- "text": "Choose to display presets as a grid (0) or a list (1)!"
- }
- },
- {
- "box": {
- "attr": "layout",
- "id": "obj-129",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 56.0, 160.0, 78.0, 22.0 ],
- "text_width": 53.0
- }
- },
- {
- "box": {
- "attr": "scrollable",
- "id": "obj-130",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 278.0, 80.0, 95.0, 22.0 ],
- "text_width": 73.0
- }
- },
- {
- "box": {
- "attr": "min_rows",
- "id": "obj-131",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 345.0, 220.0, 116.0, 22.0 ],
- "text_width": 72.0
- }
- },
- {
- "box": {
- "attr": "bubblesize",
- "id": "obj-7",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 404.0, 287.0, 150.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "spacing",
- "id": "obj-8",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 557.0, 287.0, 150.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "margin",
- "id": "obj-11",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 557.0, 311.0, 150.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "slot_round",
- "id": "obj-14",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 404.0, 311.0, 150.0, 22.0 ]
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-2", 0 ],
- "source": [ "obj-10", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-11", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-129", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-130", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-131", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-14", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-16", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "midpoints": [ 19.5, 528.0, 6.0, 528.0, 6.0, 375.0, 19.5, 375.0 ],
- "source": [ "obj-2", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-129", 0 ],
- "source": [ "obj-3", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-34", 0 ],
- "source": [ "obj-38", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-3", 0 ],
- "hidden": 1,
- "source": [ "obj-5", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-7", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-8", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 468.0, 26.7999267578125, 82.0, 22.0 ],
- "text": "p appearance",
- "varname": "appearance"
- }
- },
- {
- "box": {
- "id": "obj-29",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 0,
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 0.0, 26.0, 899.0, 620.0 ],
- "showontab": 1,
- "boxes": [
- {
- "box": {
- "bubble": 1,
- "bubble_bgcolor": [ 0.38823529411764707, 0.17254901960784313, 0.17254901960784313, 1.0 ],
- "bubbleside": 2,
- "id": "obj-28",
- "linecount": 4,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 182.0, 231.5, 393.0, 79.0 ],
- "text": "For color modes 2 and 3, and use_uid to work, you need to add a pattr object named 'preset_metadata' to your patch. If using subscribe mode, make sure to add preset_metadata to the pattrstorage's subscribe list.\nPreset color data will be stored just like your other parameters.",
- "textcolor": [ 0.8156862745098039, 0.8156862745098039, 0.8156862745098039, 1.0 ]
- }
- },
- {
- "box": {
- "hidden": 1,
- "id": "obj-5",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 227.5, 131.0, 89.0, 22.0 ],
- "text": "loadmess set 1"
- }
- },
- {
- "box": {
- "id": "obj-3",
- "items": [ "Classic", ",", "Cycle", ",", "Select", ",", "Custom" ],
- "maxclass": "umenu",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 109.5, 131.0, 100.0, 22.0 ]
- }
- },
- {
- "box": {
- "id": "obj-2",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "" ],
- "patching_rect": [ 614.0, 312.0, 156.0, 22.0 ],
- "saved_object_attributes": {
- "legacy": 0
- },
- "text": "dict.unpack by_uid: by_slot:"
- }
- },
- {
- "box": {
- "fontface": 0,
- "fontname": "Arial",
- "fontsize": 12.0,
- "id": "obj-27",
- "keymode": 1,
- "lines": 1,
- "maxclass": "textedit",
- "nosymquotes": 1,
- "numinlets": 1,
- "numoutlets": 4,
- "outlettype": [ "", "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 128.5, 499.0, 102.0, 24.0 ]
- }
- },
- {
- "box": {
- "bubble": 1,
- "bubbleside": 2,
- "id": "obj-40",
- "linecount": 5,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 591.5, 146.0, 249.0, 93.0 ],
- "text": "When enabled, each stored preset gets a unique identifier, following the preset when it gets renamed, moved and overwritten. This can be useful when doing some complex preset management."
- }
- },
- {
- "box": {
- "id": "obj-38",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "" ],
- "patching_rect": [ 636.0, 16.0, 40.0, 22.0 ],
- "restore": [ -0.23, -0.57, 0.26, 0.02, 0.72, -0.18, -0.46, 0.4, 0.16, -0.92, 0.77, 0.95, -0.37, 0.25, -0.07, -0.38 ],
- "saved_object_attributes": {
- "parameter_enable": 0,
- "parameter_mappable": 0
- },
- "text": "pattr",
- "varname": "u099005226"
- }
- },
- {
- "box": {
- "id": "obj-39",
- "maxclass": "multislider",
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 647.0, 43.0, 136.0, 78.0 ],
- "size": 16,
- "varname": "multislider"
- }
- },
- {
- "box": {
- "id": "obj-35",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 680.0, 17.0, 118.0, 20.0 ],
- "text": "Some data to store"
- }
- },
- {
- "box": {
- "id": "obj-21",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 614.0, 280.0, 119.0, 22.0 ],
- "text": "r colors_presets_dict"
- }
- },
- {
- "box": {
- "id": "obj-22",
- "maxclass": "dict.view",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 614.0, 345.0, 253.0, 267.0 ]
- }
- },
- {
- "box": {
- "id": "obj-36",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 0,
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 703.0, 163.0, 460.0, 440.0 ],
- "boxes": [
- {
- "box": {
- "id": "obj-21",
- "linecount": 3,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 188.0, 419.0, 206.0, 47.0 ],
- "text": "If you move presets around, or write presets to disk and read them back later, colors will still be here."
- }
- },
- {
- "box": {
- "id": "obj-19",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 141.0, 370.0, 98.0, 22.0 ],
- "text": "prepend setcolor"
- }
- },
- {
- "box": {
- "id": "obj-18",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "int", "bang" ],
- "patching_rect": [ 141.0, 270.0, 29.5, 22.0 ],
- "text": "t i b"
- }
- },
- {
- "box": {
- "id": "obj-17",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "" ],
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 59.0, 119.0, 640.0, 480.0 ],
- "boxes": [
- {
- "box": {
- "comment": "",
- "id": "obj-2",
- "index": 1,
- "maxclass": "inlet",
- "numinlets": 0,
- "numoutlets": 1,
- "outlettype": [ "bang" ],
- "patching_rect": [ 50.0, 43.0, 30.0, 30.0 ]
- }
- },
- {
- "box": {
- "id": "obj-25",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 120.0, 168.0, 131.0, 22.0 ],
- "text": "random @floatoutput 1"
- }
- },
- {
- "box": {
- "id": "obj-24",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 85.0, 134.0, 131.0, 22.0 ],
- "text": "random @floatoutput 1"
- }
- },
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 50.0, 100.0, 131.0, 22.0 ],
- "text": "random @floatoutput 1"
- }
- },
- {
- "box": {
- "comment": "",
- "id": "obj-13",
- "index": 1,
- "maxclass": "outlet",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 50.0, 230.0, 30.0, 30.0 ]
- }
- },
- {
- "box": {
- "comment": "",
- "id": "obj-15",
- "index": 2,
- "maxclass": "outlet",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 85.0, 230.0, 30.0, 30.0 ]
- }
- },
- {
- "box": {
- "comment": "",
- "id": "obj-16",
- "index": 3,
- "maxclass": "outlet",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 120.0, 230.0, 30.0, 30.0 ]
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-13", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-1", 0 ],
- "order": 2,
- "source": [ "obj-2", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-24", 0 ],
- "order": 1,
- "source": [ "obj-2", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-25", 0 ],
- "order": 0,
- "source": [ "obj-2", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-15", 0 ],
- "source": [ "obj-24", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-16", 0 ],
- "source": [ "obj-25", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 156.0, 303.0, 92.0, 22.0 ],
- "text": "p random_color"
- }
- },
- {
- "box": {
- "id": "obj-9",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 3,
- "outlettype": [ "bang", "bang", "int" ],
- "patching_rect": [ 119.0, 244.0, 41.0, 22.0 ],
- "text": "uzi 20"
- }
- },
- {
- "box": {
- "id": "obj-14",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 161.0, 169.0, 175.0, 20.0 ],
- "text": "Set selected preset color to red"
- }
- },
- {
- "box": {
- "id": "obj-23",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 121.0, 129.0, 123.0, 20.0 ],
- "text": "Change preset colors"
- }
- },
- {
- "box": {
- "id": "obj-11",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 52.0, 167.0, 104.0, 22.0 ],
- "text": "setcolor 1. 0. 0. 1."
- }
- },
- {
- "box": {
- "id": "obj-4",
- "maxclass": "newobj",
- "numinlets": 5,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 141.0, 338.0, 97.0, 22.0 ],
- "text": "pack 0 0. 0. 0. 1."
- }
- },
- {
- "box": {
- "id": "obj-8",
- "maxclass": "button",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "bang" ],
- "parameter_enable": 0,
- "patching_rect": [ 119.0, 207.0, 24.0, 24.0 ]
- }
- },
- {
- "box": {
- "id": "obj-6",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 149.0, 209.0, 265.0, 20.0 ],
- "text": "Set a random color for the first 20 presets"
- }
- },
- {
- "box": {
- "id": "obj-2",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 142.0, 70.0, 163.0, 20.0 ],
- "text": "Set color mode to 3 (custom)"
- }
- },
- {
- "box": {
- "id": "obj-3",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 26.0, 69.0, 81.0, 22.0 ],
- "text": "color_mode 3"
- }
- },
- {
- "box": {
- "id": "obj-10",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 26.0, 439.0, 81.0, 22.0 ],
- "text": "s to_tc.preset"
- }
- },
- {
- "box": {
- "background": 1,
- "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ],
- "fontface": 1,
- "hint": "",
- "id": "obj-20",
- "ignoreclick": 1,
- "legacytextcolor": 1,
- "maxclass": "textbutton",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "int" ],
- "parameter_enable": 0,
- "patching_rect": [ 115.0, 70.0, 20.0, 20.0 ],
- "rounded": 60.0,
- "text": "1",
- "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ]
- }
- },
- {
- "box": {
- "background": 1,
- "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ],
- "fontface": 1,
- "hint": "",
- "id": "obj-22",
- "ignoreclick": 1,
- "legacytextcolor": 1,
- "maxclass": "textbutton",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "int" ],
- "parameter_enable": 0,
- "patching_rect": [ 161.0, 432.5, 20.0, 20.0 ],
- "rounded": 60.0,
- "text": "3",
- "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ]
- }
- },
- {
- "box": {
- "background": 1,
- "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ],
- "fontface": 1,
- "hint": "",
- "id": "obj-12",
- "ignoreclick": 1,
- "legacytextcolor": 1,
- "maxclass": "textbutton",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "int" ],
- "parameter_enable": 0,
- "patching_rect": [ 94.0, 129.0, 20.0, 20.0 ],
- "rounded": 60.0,
- "text": "2",
- "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ]
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-11", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-4", 3 ],
- "source": [ "obj-17", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-4", 2 ],
- "source": [ "obj-17", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-4", 1 ],
- "source": [ "obj-17", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-17", 0 ],
- "source": [ "obj-18", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-4", 0 ],
- "source": [ "obj-18", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-19", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-3", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-19", 0 ],
- "source": [ "obj-4", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-9", 0 ],
- "source": [ "obj-8", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-18", 0 ],
- "source": [ "obj-9", 2 ]
- }
- }
- ]
- },
- "patching_rect": [ 227.5, 191.0, 94.0, 22.0 ],
- "text": "p custom_mode"
- }
- },
- {
- "box": {
- "id": "obj-34",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 148.0, 340.0, 79.0, 22.0 ],
- "text": "r to_tc.preset"
- }
- },
- {
- "box": {
- "id": "obj-33",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 0,
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 703.0, 163.0, 481.0, 436.0 ],
- "boxes": [
- {
- "box": {
- "id": "obj-1",
- "linecount": 3,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 219.0, 365.0, 216.0, 47.0 ],
- "text": "If you move presets around, or write them to disk and read them back later, the set colors index will still be here."
- }
- },
- {
- "box": {
- "id": "obj-23",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 180.5, 150.0, 123.0, 20.0 ],
- "text": "Change preset colors"
- }
- },
- {
- "box": {
- "id": "obj-18",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "int" ],
- "patching_rect": [ 199.5, 273.0, 29.5, 22.0 ],
- "text": "+ 1"
- }
- },
- {
- "box": {
- "id": "obj-19",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 199.5, 244.0, 59.0, 22.0 ],
- "text": "random 6"
- }
- },
- {
- "box": {
- "id": "obj-21",
- "maxclass": "button",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "bang" ],
- "parameter_enable": 0,
- "patching_rect": [ 199.5, 213.0, 24.0, 24.0 ]
- }
- },
- {
- "box": {
- "id": "obj-22",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 229.5, 215.0, 174.0, 20.0 ],
- "text": "Set a random color for preset 4"
- }
- },
- {
- "box": {
- "id": "obj-17",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 199.5, 304.0, 77.0, 22.0 ],
- "text": "setcolor 4 $1"
- }
- },
- {
- "box": {
- "id": "obj-14",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "int" ],
- "patching_rect": [ 76.5, 242.0, 29.5, 22.0 ],
- "text": "+ 1"
- }
- },
- {
- "box": {
- "id": "obj-13",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 76.5, 213.0, 59.0, 22.0 ],
- "text": "random 6"
- }
- },
- {
- "box": {
- "id": "obj-8",
- "maxclass": "button",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "bang" ],
- "parameter_enable": 0,
- "patching_rect": [ 76.5, 182.0, 24.0, 24.0 ]
- }
- },
- {
- "box": {
- "id": "obj-6",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 106.5, 184.0, 235.0, 20.0 ],
- "text": "Set a random color for the selected preset"
- }
- },
- {
- "box": {
- "id": "obj-2",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 164.0, 94.0, 155.0, 20.0 ],
- "text": "Set color mode to 2 (select)"
- }
- },
- {
- "box": {
- "id": "obj-3",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 48.0, 93.0, 81.0, 22.0 ],
- "text": "color_mode 2"
- }
- },
- {
- "box": {
- "id": "obj-10",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 48.0, 407.0, 81.0, 22.0 ],
- "text": "s to_tc.preset"
- }
- },
- {
- "box": {
- "id": "obj-9",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 76.5, 271.0, 67.0, 22.0 ],
- "text": "setcolor $1"
- }
- },
- {
- "box": {
- "background": 1,
- "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ],
- "fontface": 1,
- "hint": "",
- "id": "obj-20",
- "ignoreclick": 1,
- "legacytextcolor": 1,
- "maxclass": "textbutton",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "int" ],
- "parameter_enable": 0,
- "patching_rect": [ 137.0, 94.0, 20.0, 20.0 ],
- "rounded": 60.0,
- "text": "1",
- "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ]
- }
- },
- {
- "box": {
- "background": 1,
- "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ],
- "fontface": 1,
- "hint": "",
- "id": "obj-4",
- "ignoreclick": 1,
- "legacytextcolor": 1,
- "maxclass": "textbutton",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "int" ],
- "parameter_enable": 0,
- "patching_rect": [ 192.0, 379.0, 20.0, 20.0 ],
- "rounded": 60.0,
- "text": "3",
- "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ]
- }
- },
- {
- "box": {
- "background": 1,
- "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ],
- "fontface": 1,
- "hint": "",
- "id": "obj-24",
- "ignoreclick": 1,
- "legacytextcolor": 1,
- "maxclass": "textbutton",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "int" ],
- "parameter_enable": 0,
- "patching_rect": [ 153.5, 150.0, 20.0, 20.0 ],
- "rounded": 60.0,
- "text": "2",
- "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ]
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-14", 0 ],
- "source": [ "obj-13", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-9", 0 ],
- "source": [ "obj-14", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-17", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-17", 0 ],
- "source": [ "obj-18", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-18", 0 ],
- "source": [ "obj-19", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-19", 0 ],
- "source": [ "obj-21", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-3", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-13", 0 ],
- "source": [ "obj-8", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-9", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 128.5, 191.0, 87.0, 22.0 ],
- "text": "p select_mode"
- }
- },
- {
- "box": {
- "bubble": 1,
- "id": "obj-32",
- "linecount": 2,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 328.5, 184.0, 160.0, 37.0 ],
- "text": "Open these subpatchers to get more info"
- }
- },
- {
- "box": {
- "id": "obj-30",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 0,
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 724.0, 259.0, 378.0, 380.0 ],
- "boxes": [
- {
- "box": {
- "id": "obj-10",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 44.0, 343.0, 81.0, 22.0 ],
- "text": "s to_tc.preset"
- }
- },
- {
- "box": {
- "id": "obj-3",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 179.0, 167.0, 129.0, 20.0 ],
- "text": "Set color 5 to cyan"
- }
- },
- {
- "box": {
- "id": "obj-2",
- "linecount": 7,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 44.0, 14.0, 321.0, 100.0 ],
- "text": "The color wheel is a set of six colors used in color_mode 1 (cycle) and 2 (select).\n\nYou can change each of the 6 colors from the color wheel either by using color_1 to color_6 messages, either by using a generic color_wheel message, or directly in the inspector when selecting the tc.preset object."
- }
- },
- {
- "box": {
- "id": "obj-126",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 179.0, 215.0, 164.0, 20.0 ],
- "text": "Reset color 3 to default value"
- }
- },
- {
- "box": {
- "id": "obj-122",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 179.0, 139.0, 129.0, 20.0 ],
- "text": "Set color 3 to magenta"
- }
- },
- {
- "box": {
- "id": "obj-120",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 44.0, 166.0, 123.0, 22.0 ],
- "text": "color_wheel 5 0 1 1 1"
- }
- },
- {
- "box": {
- "id": "obj-119",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 179.0, 241.0, 150.0, 20.0 ],
- "text": "Reset all colors to default"
- }
- },
- {
- "box": {
- "id": "obj-117",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 119.0, 214.0, 48.0, 22.0 ],
- "text": "color_3"
- }
- },
- {
- "box": {
- "id": "obj-99",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 79.0, 138.0, 88.0, 22.0 ],
- "text": "color_3 1 0 1 1"
- }
- },
- {
- "box": {
- "id": "obj-95",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 94.0, 240.0, 73.0, 22.0 ],
- "text": "color_wheel"
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-117", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-120", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-95", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-99", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 34.5, 191.0, 83.0, 22.0 ],
- "text": "p color_wheel"
- }
- },
- {
- "box": {
- "id": "obj-6",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "" ],
- "patching_rect": [ 319.0, 312.5, 126.0, 22.0 ],
- "restore": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"44918fd8-bfef-42ee-87ed-13929dc21d32\"}" ],
- "saved_object_attributes": {
- "parameter_enable": 0,
- "parameter_mappable": 0
- },
- "text": "pattr preset_metadata",
- "varname": "preset_metadata"
- }
- },
- {
- "box": {
- "hidden": 1,
- "id": "obj-14",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 2,
- "outlettype": [ "", "" ],
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 574.0, 280.0, 640.0, 480.0 ],
- "boxes": [
- {
- "box": {
- "id": "obj-10",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "", "bang" ],
- "patching_rect": [ 61.0, 231.0, 29.5, 22.0 ],
- "text": "t l b"
- }
- },
- {
- "box": {
- "comment": "",
- "id": "obj-9",
- "index": 2,
- "maxclass": "outlet",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 322.0, 270.0, 30.0, 30.0 ]
- }
- },
- {
- "box": {
- "id": "obj-8",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "float" ],
- "patching_rect": [ 322.0, 179.0, 39.0, 22.0 ],
- "text": "/ 100."
- }
- },
- {
- "box": {
- "id": "obj-5",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "int" ],
- "patching_rect": [ 322.0, 149.0, 36.0, 22.0 ],
- "text": "- 100"
- }
- },
- {
- "box": {
- "id": "obj-4",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 322.0, 120.0, 73.0, 22.0 ],
- "text": "random 200"
- }
- },
- {
- "box": {
- "id": "obj-3",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 3,
- "outlettype": [ "bang", "bang", "int" ],
- "patching_rect": [ 322.0, 77.0, 41.0, 22.0 ],
- "text": "uzi 16"
- }
- },
- {
- "box": {
- "id": "obj-2",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 2,
- "outlettype": [ "", "" ],
- "patching_rect": [ 322.0, 210.0, 68.0, 22.0 ],
- "text": "zl.group 16"
- }
- },
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 50.0, 98.0, 54.0, 22.0 ],
- "text": "deferlow"
- }
- },
- {
- "box": {
- "id": "obj-12",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 72.0, 159.0, 83.0, 22.0 ],
- "text": "prepend store"
- }
- },
- {
- "box": {
- "id": "obj-11",
- "maxclass": "newobj",
- "numinlets": 2,
- "numoutlets": 3,
- "outlettype": [ "bang", "bang", "int" ],
- "patching_rect": [ 50.0, 131.0, 41.0, 22.0 ],
- "text": "uzi 26"
- }
- },
- {
- "box": {
- "id": "obj-7",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "bang" ],
- "patching_rect": [ 50.0, 65.0, 58.0, 22.0 ],
- "text": "loadbang"
- }
- },
- {
- "box": {
- "id": "obj-6",
- "maxclass": "message",
- "numinlets": 2,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 61.0, 188.0, 202.0, 22.0 ],
- "text": "store 34, store 44, store 56, store 65"
- }
- },
- {
- "box": {
- "comment": "",
- "id": "obj-13",
- "index": 1,
- "maxclass": "outlet",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 61.0, 270.0, 30.0, 30.0 ]
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-11", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-13", 0 ],
- "source": [ "obj-10", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-3", 0 ],
- "source": [ "obj-10", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-12", 0 ],
- "source": [ "obj-11", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-6", 0 ],
- "source": [ "obj-11", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-12", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-9", 0 ],
- "source": [ "obj-2", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-4", 0 ],
- "source": [ "obj-3", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-5", 0 ],
- "source": [ "obj-4", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-8", 0 ],
- "source": [ "obj-5", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-6", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-1", 0 ],
- "source": [ "obj-7", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-2", 0 ],
- "source": [ "obj-8", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 232.0, 340.0, 34.0, 22.0 ],
- "text": "p init"
- }
- },
- {
- "box": {
- "border": 0,
- "embedstate": [
- [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
- [ "fontsize", 13 ],
- [ "menu_mode", 0 ],
- [ "autowriteagain", 0 ],
- [ "color_4", 0.367, 0.542, 0.712, 1 ],
- [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
- [ "interp_slot_color", 1, 1, 1, 0.8 ],
- [ "fontname", "Arial" ],
- [ "select_mode", 0 ],
- [ "spacing", 4 ],
- [ "ui_rename", 0 ],
- [ "layout", 0 ],
- [ "color_2", 0.679, 0.405, 0.669, 1 ],
- [ "display_interp", 1 ],
- [ "poll_edited", 0 ],
- [ "scrollable", 0 ],
- [ "use_uid", 1 ],
- [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ],
- [ "color_mode", 1 ],
- [ "color_5", 0.283, 0.606, 0.559, 1 ],
- [ "min_rows", 10 ],
- [ "bubblesize", 14 ],
- [ "margin", 4 ],
- [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
- [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ],
- [ "color_3", 0.527, 0.459, 0.756, 1 ],
- [ "send_name", "none" ],
- [ "edited_color", 1, 0.49, 0.263, 1 ],
- [ "recall_passthrough", 1 ],
- [ "ignoreslotzero", 1 ],
- [ "unique_names", 0 ],
- [ "pattrstorage", "colors" ],
- [ "slot_round", 0 ],
- [ "color_1", 0.743, 0.41, 0.501, 1 ],
- [ "color_6", 0.316, 0.616, 0.377, 1 ],
- [ "nbslot_edit", 1 ]
- ],
- "filename": "tc.preset.js",
- "id": "obj-10",
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 5,
- "outlettype": [ "", "", "", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 378.0, 256.0, 112.0 ]
- }
- },
- {
- "box": {
- "border": 0,
- "filename": "helpname.js",
- "id": "obj-4",
- "ignoreclick": 1,
- "jsarguments": [ "tc.preset" ],
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 10.0, 188.2880096435547, 57.599853515625 ]
- }
- },
- {
- "box": {
- "fontsize": 13.0,
- "id": "obj-113",
- "linecount": 4,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 10.0, 64.0, 470.0, 65.0 ],
- "text": "When color_mode is set to 1 (Cycle), stored presets are shown in colors from color_1 to color_6, cyclically depending on their slot number.\nIn mode 2 (Select), you can freely choose one of the 6 colors for each preset.\nIn mode 3 (Custom), you are free to set any color in rgba format for any preset."
- }
- },
- {
- "box": {
- "alias": {
- "preset_metadata": "preset_metadata"
- },
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 10.0, 309.0, 189.0, 22.0 ],
- "saved_object_attributes": {
- "client_rect": [ 100, 172, 596, 755 ],
- "parameter_enable": 0,
- "parameter_mappable": 0,
- "storage_rect": [ 365, 44, 816, 172 ]
- },
- "text": "pattrstorage colors @savemode 0",
- "varname": "colors"
- }
- },
- {
- "box": {
- "attr": "color_mode",
- "id": "obj-11",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 109.5, 161.0, 125.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_1",
- "id": "obj-13",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 378.0, 226.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_2",
- "id": "obj-16",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 404.0, 226.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_3",
- "id": "obj-17",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 428.0, 226.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_4",
- "id": "obj-18",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 452.0, 226.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_5",
- "id": "obj-19",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 476.0, 226.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_6",
- "id": "obj-20",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 500.0, 226.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "use_uid",
- "id": "obj-23",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 671.5, 244.0, 87.0, 22.0 ],
- "text_width": 64.0
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-27", 0 ],
- "source": [ "obj-10", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-11", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-13", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-16", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-17", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-18", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-19", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-22", 0 ],
- "source": [ "obj-2", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-20", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-2", 0 ],
- "source": [ "obj-21", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "hidden": 1,
- "source": [ "obj-23", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "midpoints": [ 138.0, 525.0, 6.0, 525.0, 6.0, 375.0, 19.5, 375.0 ],
- "source": [ "obj-27", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-11", 0 ],
- "source": [ "obj-3", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-34", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-39", 0 ],
- "source": [ "obj-38", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-3", 0 ],
- "hidden": 1,
- "source": [ "obj-5", 0 ]
- }
- }
- ]
- },
- "patching_rect": [ 567.0, 26.7999267578125, 112.0, 22.0 ],
- "text": "p \"slot colors & uid\"",
- "varname": "slot colors"
- }
- },
- {
- "box": {
- "id": "obj-16",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 0,
- "patcher": {
- "fileversion": 1,
- "appversion": {
- "major": 9,
- "minor": 1,
- "revision": 2,
- "architecture": "x64",
- "modernui": 1
- },
- "classnamespace": "box",
- "rect": [ 100.0, 126.0, 899.0, 620.0 ],
- "default_fontsize": 13.0,
- "gridsize": [ 5.0, 5.0 ],
- "showontab": 1,
- "boxes": [
- {
- "box": {
- "bgcolor": [ 0.7019607843137254, 0.7019607843137254, 0.7019607843137254, 0.0 ],
- "fontface": 1,
- "fontsize": 14.0,
- "id": "obj-13",
- "linecount": 6,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 10.0, 159.0, 457.0, 100.0 ],
- "text": "Get tc.preset working in 2 steps:\n1. Create a [tc.preset] (substitute for [jsui @filename tc.preset.js])\n2. Connect it to your [pattrstorage] like shown below\n\n...and that's it! The @pattrstorage attribute of [tc.preset] will be automatically populated."
- }
- },
- {
- "box": {
- "id": "obj-4",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 219.0, 27.0, 89.0, 21.0 ],
- "text": "Max 8 version"
- }
- },
- {
- "box": {
- "id": "obj-38",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "", "", "" ],
- "patching_rect": [ 596.0, 159.0, 40.0, 23.0 ],
- "restore": [ -0.079365079365079, 0.206349206349206, 0.428571428571429, 0.682539682539683, 0.904761904761905, 0.904761904761905, 0.841269841269841, 0.555555555555556, 0.047619047619048, -0.301587301587302, -0.587301587301587, -0.682539682539683, -0.650793650793651, -0.428571428571429, -0.111111111111111, 0.079365079365079 ],
- "saved_object_attributes": {
- "parameter_enable": 0,
- "parameter_mappable": 0
- },
- "text": "pattr",
- "varname": "u099005226"
- }
- },
- {
- "box": {
- "id": "obj-20",
- "maxclass": "multislider",
- "numinlets": 1,
- "numoutlets": 2,
- "outlettype": [ "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 607.0, 186.0, 136.0, 78.0 ],
- "size": 16,
- "varname": "multislider"
- }
- },
- {
- "box": {
- "bubble": 1,
- "id": "obj-15",
- "linecount": 2,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 680.0, 529.0, 212.0, 40.0 ],
- "text": "Rightmost outlet provides a dictionary with all stored presets"
- }
- },
- {
- "box": {
- "id": "obj-14",
- "maxclass": "dict.view",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 490.0, 492.0, 188.0, 114.0 ]
- }
- },
- {
- "box": {
- "bubble": 1,
- "id": "obj-12",
- "linecount": 3,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 394.0, 426.0, 103.0, 54.0 ],
- "text": "Lock state of the current preset"
- }
- },
- {
- "box": {
- "bubble": 1,
- "bubbleside": 0,
- "id": "obj-6",
- "linecount": 2,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 228.5, 473.0, 150.0, 55.0 ],
- "text": "Edit the selected preset name and hit enter!"
- }
- },
- {
- "box": {
- "bubble": 1,
- "bubblepoint": 0.8,
- "bubbleside": 0,
- "id": "obj-5",
- "linecount": 4,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 18.0, 478.0, 183.0, 84.0 ],
- "text": "The umen is automatically updated with the list of stored presets. It also displays the currently selected preset."
- }
- },
- {
- "box": {
- "bubble": 1,
- "id": "obj-24",
- "linecount": 10,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 511.0, 305.0, 368.0, 156.0 ],
- "text": "tc.preset handles the same user interactions as the regular preset object, plus a few useful ones:\n\n- RECALL (or SELECT if select_mode enabled): click\n- STORE: shift+click\n- DELETE: shift-(option|alt)-click\n- LOCK/UNLOCK: shift+control+click\n- RENAME: control+click (requires a [textedit] connected to third outlet)\n- MOVE: click and drag presets to reorganize them"
- }
- },
- {
- "box": {
- "id": "obj-30",
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 640.0, 160.0, 118.0, 21.0 ],
- "text": "Some data to store"
- }
- },
- {
- "box": {
- "id": "obj-56",
- "maxclass": "toggle",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "int" ],
- "parameter_enable": 0,
- "patching_rect": [ 372.0, 440.0, 24.0, 24.0 ]
- }
- },
- {
- "box": {
- "id": "obj-27",
- "keymode": 1,
- "lines": 1,
- "maxclass": "textedit",
- "nosymquotes": 1,
- "numinlets": 1,
- "numoutlets": 4,
- "outlettype": [ "", "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 254.0, 441.0, 98.0, 23.0 ]
- }
- },
- {
- "box": {
- "id": "obj-8",
- "items": [ 1, "up", ",", 2, "down", ",", 3, "sine", ",", 4, "random", ",", 7, "W", ",", 17, "Bell" ],
- "maxclass": "umenu",
- "numinlets": 1,
- "numoutlets": 3,
- "outlettype": [ "int", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 136.0, 441.0, 112.0, 23.0 ]
- }
- },
- {
- "box": {
- "border": 0,
- "embedstate": [
- [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
- [ "fontsize", 13 ],
- [ "menu_mode", 0 ],
- [ "autowriteagain", 0 ],
- [ "color_4", 0.367, 0.542, 0.712, 1 ],
- [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
- [ "interp_slot_color", 1, 1, 1, 0.8 ],
- [ "fontname", "Arial" ],
- [ "select_mode", 0 ],
- [ "spacing", 4 ],
- [ "ui_rename", 0 ],
- [ "layout", 0 ],
- [ "color_2", 0.679, 0.405, 0.669, 1 ],
- [ "display_interp", 1 ],
- [ "poll_edited", 0 ],
- [ "scrollable", 0 ],
- [ "use_uid", 0 ],
- [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ],
- [ "color_mode", 0 ],
- [ "color_5", 0.283, 0.606, 0.559, 1 ],
- [ "min_rows", 10 ],
- [ "bubblesize", 14 ],
- [ "margin", 4 ],
- [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
- [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ],
- [ "color_3", 0.527, 0.459, 0.756, 1 ],
- [ "send_name", "none" ],
- [ "edited_color", 1, 0.49, 0.263, 1 ],
- [ "recall_passthrough", 1 ],
- [ "ignoreslotzero", 1 ],
- [ "unique_names", 0 ],
- [ "pattrstorage", "tcpreset_help" ],
- [ "slot_round", 0 ],
- [ "color_1", 0.743, 0.41, 0.501, 1 ],
- [ "color_6", 0.316, 0.616, 0.377, 1 ],
- [ "nbslot_edit", 1 ]
- ],
- "filename": "tc.preset.js",
- "id": "obj-10",
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 5,
- "outlettype": [ "", "", "", "", "" ],
- "parameter_enable": 0,
- "patching_rect": [ 18.0, 328.0, 491.0, 95.0 ]
- }
- },
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 18.0, 286.0, 247.0, 23.0 ],
- "saved_object_attributes": {
- "client_rect": [ 100, 172, 596, 755 ],
- "parameter_enable": 0,
- "parameter_mappable": 0,
- "storage_rect": [ 365, 44, 816, 172 ]
- },
- "text": "pattrstorage tcpreset_help @savemode 0",
- "varname": "tcpreset_help"
- }
- },
- {
- "box": {
- "border": 0,
- "filename": "helpdetails.js",
- "id": "obj-2",
- "ignoreclick": 1,
- "jsarguments": [ "tc.preset" ],
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 10.0, 621.0, 124.0 ]
- }
- }
- ],
- "lines": [
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-14", 0 ],
- "source": [ "obj-10", 4 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-27", 0 ],
- "source": [ "obj-10", 2 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-56", 0 ],
- "source": [ "obj-10", 3 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-8", 0 ],
- "source": [ "obj-10", 1 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "midpoints": [ 263.5, 473.2890625, 9.0, 473.2890625, 9.0, 324.0, 27.5, 324.0 ],
- "source": [ "obj-27", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-20", 0 ],
- "source": [ "obj-38", 1 ]
- }
- }
- ]
- },
- "patching_rect": [ 240.0, 27.7999267578125, 50.0, 22.0 ],
- "saved_object_attributes": {
- "fontsize": 13.0
- },
- "text": "p basic",
- "varname": "basic_tab"
- }
- },
- {
- "box": {
- "border": 0,
- "filename": "helpname.js",
- "id": "obj-18",
- "ignoreclick": 1,
- "jsarguments": [ "tc.preset" ],
- "maxclass": "jsui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 10.0, 10.0, 188.2880096435547, 57.599853515625 ]
- }
- }
- ],
- "lines": [],
- "autosave": 0
- }
-}
\ No newline at end of file
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 344.0, 246.0, 899.0, 646.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "showrootpatcherontab" : 0,
+ "showontab" : 0,
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "id" : "obj-19",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 0.0, 26.0, 899.0, 620.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "showontab" : 1,
+ "assistshowspatchername" : 0,
+ "boxes" : [ ],
+ "lines" : [ ]
+ }
+,
+ "patching_rect" : [ 756.0, 25.7999267578125, 50.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p ?",
+ "varname" : "q_tab"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-14",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 431.0, 262.0, 138.0, 22.0 ],
+ "saved_object_attributes" : {
+ "filename" : "helpstarter.js",
+ "parameter_enable" : 0
+ }
+,
+ "text" : "js helpstarter.js tc.preset"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-5",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 0.0, 26.0, 899.0, 620.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "showontab" : 1,
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "id" : "obj-7",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 242.5, 538.0, 93.0, 22.0 ],
+ "text" : "prepend setlock"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-2",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 10.0, 538.0, 116.0, 22.0 ],
+ "text" : "prepend recall_filled"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-12",
+ "linecount" : 2,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 473.0, 388.0, 278.0, 33.0 ],
+ "text" : "Move an existing preset to another slot\n(same action as dragging a preset with the mouse)"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-5",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 403.0, 394.0, 65.0, 22.0 ],
+ "text" : "move 4 10"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-32",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 473.0, 367.0, 365.0, 20.0 ],
+ "text" : "Recall the nth (0-based) filled preset, regardless of its slot number"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-26",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 389.0, 366.0, 79.0, 22.0 ],
+ "text" : "recall_filled 4"
+ }
+
+ }
+, {
+ "box" : {
+ "fontface" : 1,
+ "id" : "obj-28",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 390.0, 335.0, 168.0, 20.0 ],
+ "text" : "tc.preset specific messages"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-37",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 447.0, 473.0, 225.0, 20.0 ],
+ "text" : "Sets the lock state of the selected preset"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-35",
+ "maxclass" : "toggle",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "int" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 380.0, 442.0, 24.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-33",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 380.0, 472.0, 63.0, 22.0 ],
+ "text" : "setlock $1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-31",
+ "linecount" : 2,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 473.0, 423.0, 285.0, 33.0 ],
+ "text" : "Select a preset. Doesn't recall it, but updates the umenu, textedit and lock toggle underneath the jsui."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-29",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 418.0, 429.0, 50.0, 22.0 ],
+ "text" : "select 3"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-16",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 447.0, 499.0, 198.0, 20.0 ],
+ "text" : "Set the name of the selected preset"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-14",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 320.0, 498.0, 123.0, 22.0 ],
+ "text" : "setslotname myname"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-11",
+ "linecount" : 2,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 447.0, 522.0, 171.0, 33.0 ],
+ "text" : "A fail-safe message to resync the jsui to the pattrstorage"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-6",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 399.0, 527.0, 44.0, 22.0 ],
+ "text" : "resync"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-38",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "" ],
+ "patching_rect" : [ 636.0, 16.0, 40.0, 22.0 ],
+ "restore" : [ -0.714285714285714, -0.714285714285714, -0.6, -0.542857142857143, -0.457142857142857, -0.342857142857143, -0.171428571428571, -0.028571428571429, 0.028571428571428, 0.142857142857143, 0.228571428571429, 0.371428571428571, 0.485714285714286, 0.571428571428571, 0.714285714285714, 0.8 ],
+ "saved_object_attributes" : {
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0
+ }
+,
+ "text" : "pattr",
+ "varname" : "u099005226"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-39",
+ "maxclass" : "multislider",
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 647.0, 43.0, 136.0, 78.0 ],
+ "size" : 16,
+ "varname" : "multislider"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-30",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 680.0, 17.0, 118.0, 20.0 ],
+ "text" : "Some data to store"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-23",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 464.0, 249.0, 42.0, 22.0 ],
+ "text" : "lockall"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-18",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 618.0, 249.0, 60.0, 22.0 ],
+ "text" : "renumber"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-15",
+ "linecount" : 7,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 405.0, 146.0, 308.0, 100.0 ],
+ "text" : "Lots of pattrstorage methods modify presets but don't trigger any output from the pattrstorage object. If you need timing accuracy, send these messages to the pattrstorage first, then send a 'resync' to tc.preset. Otherwise, you can send them directly to tc.preset, which will act as a passthrough and trigger its resync method automatically."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-25",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 685.0, 249.0, 59.0, 22.0 ],
+ "text" : "remove 3"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-19",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 564.0, 249.0, 48.0, 22.0 ],
+ "text" : "insert 3"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-13",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 750.0, 249.0, 35.0, 22.0 ],
+ "text" : "clear"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-54",
+ "linecount" : 3,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 10.0, 120.0, 181.0, 47.0 ],
+ "text" : "\"recallmulti\" and \"slotname\" should be sent to the pattrstorage first then to the jsui"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-52",
+ "linecount" : 3,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 199.0, 120.0, 163.0, 47.0 ],
+ "text" : "Recall and delete messages should be sent to the pattrstorage only"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-50",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 253.0, 172.0, 84.0, 22.0 ],
+ "text" : "recall 1 3 0.75"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-48",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 199.0, 172.0, 47.0, 22.0 ],
+ "text" : "recall 3"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-46",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 42.0, 201.0, 94.0, 22.0 ],
+ "text" : "slotname 3 third"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-44",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "" ],
+ "patching_rect" : [ 10.0, 233.0, 38.0, 22.0 ],
+ "text" : "t l l"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-43",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 10.0, 172.0, 123.0, 22.0 ],
+ "text" : "recallmulti 1.6 2.1 3.3"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-22",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 254.0, 202.0, 51.0, 22.0 ],
+ "text" : "delete 2"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-20",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 408.0, 249.0, 50.0, 22.0 ],
+ "text" : "lock 3 1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-56",
+ "maxclass" : "toggle",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "int" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 242.5, 506.0, 24.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-27",
+ "keymode" : 1,
+ "lines" : 1,
+ "maxclass" : "textedit",
+ "nosymquotes" : 1,
+ "numinlets" : 1,
+ "numoutlets" : 4,
+ "outlettype" : [ "", "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 129.0, 506.0, 102.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-17",
+ "items" : [ 1, "up", ",", 2, "down", ",", 3, "sine", ",", 4, "random", ",", 7, "W", ",", 17, "Bell" ],
+ "maxclass" : "umenu",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 507.0, 115.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "fontsize" : 13.0,
+ "id" : "obj-8",
+ "linecount" : 2,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 10.0, 65.0, 489.0, 36.0 ],
+ "text" : "The pattrstorage object doesn't provide an output for all of its available methods.\nTo keep tc.preset in sync, some messages need to be addressed in a specific way."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-3",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 513.0, 249.0, 45.0, 22.0 ],
+ "text" : "store 3"
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "filename" : "helpname.js",
+ "id" : "obj-4",
+ "ignoreclick" : 1,
+ "jsarguments" : [ "tc.preset" ],
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 10.0, 188.288009643554688, 57.599853515625 ]
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "embedstate" : [ [ "poll_edited", 0 ], [ "ignoreslotzero", 1 ], [ "bubblesize", 14 ], [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ], [ "spacing", 4 ], [ "min_rows", 10 ], [ "color_mode", 0 ], [ "color_5", 0.283, 0.606, 0.559, 1 ], [ "menu_mode", 0 ], [ "select_mode", 0 ], [ "layout", 0 ], [ "use_uid", 0 ], [ "interp_slot_color", 1, 1, 1, 0.8 ], [ "color_3", 0.527, 0.459, 0.756, 1 ], [ "edited_color", 1, 0.49, 0.263, 1 ], [ "recall_passthrough", 1 ], [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ], [ "ui_rename", 0 ], [ "margin", 4 ], [ "color_1", 0.743, 0.41, 0.501, 1 ], [ "text_color", 0.85, 0.85, 0.85, 1.0 ], [ "fontsize", 13 ], [ "color_6", 0.316, 0.616, 0.377, 1 ], [ "send_name", "none" ], [ "timestamp", 0 ], [ "nbslot_edit", 1 ], [ "slot_round", 0 ], [ "autoname", 0 ], [ "autowriteagain", 0 ], [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ], [ "fontname", "Arial" ], [ "pattrstorage", "tcpreset_help" ], [ "color_4", 0.367, 0.542, 0.712, 1 ], [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ], [ "scrollable", 0 ], [ "unique_names", 0 ], [ "color_2", 0.679, 0.405, 0.669, 1 ], [ "display_interp", 1 ] ],
+ "filename" : "tc.preset.js",
+ "id" : "obj-10",
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 5,
+ "outlettype" : [ "", "", "", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 378.0, 257.0, 112.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-1",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 29.0, 303.0, 229.0, 22.0 ],
+ "saved_object_attributes" : {
+ "client_rect" : [ 100, 172, 596, 755 ],
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0,
+ "storage_rect" : [ 365, 44, 816, 172 ]
+ }
+,
+ "text" : "pattrstorage tcpreset_help @savemode 0",
+ "varname" : "tcpreset_help"
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-17", 0 ],
+ "source" : [ "obj-10", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-27", 0 ],
+ "source" : [ "obj-10", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-56", 0 ],
+ "source" : [ "obj-10", 3 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-13", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-14", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-2", 0 ],
+ "source" : [ "obj-17", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-18", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-19", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "midpoints" : [ 19.5, 561.0, 6.0, 561.0, 6.0, 375.0, 19.5, 375.0 ],
+ "source" : [ "obj-2", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-20", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-1", 0 ],
+ "source" : [ "obj-22", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-23", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-25", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-26", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "midpoints" : [ 138.5, 569.1953125, 6.0, 569.1953125, 6.0, 375.0, 19.5, 375.0 ],
+ "source" : [ "obj-27", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-29", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-3", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-33", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-33", 0 ],
+ "source" : [ "obj-35", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-39", 0 ],
+ "source" : [ "obj-38", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-44", 0 ],
+ "source" : [ "obj-43", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-1", 0 ],
+ "source" : [ "obj-44", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-44", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-44", 0 ],
+ "source" : [ "obj-46", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-1", 0 ],
+ "source" : [ "obj-48", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-5", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-1", 0 ],
+ "source" : [ "obj-50", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-7", 0 ],
+ "source" : [ "obj-56", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-6", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "midpoints" : [ 252.0, 570.0, 6.0, 570.0, 6.0, 375.0, 19.5, 375.0 ],
+ "source" : [ "obj-7", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 311.0, 27.7999267578125, 73.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p messages",
+ "varname" : "messages"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-26",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 0.0, 26.0, 899.0, 620.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "showontab" : 1,
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "bubble" : 1,
+ "id" : "obj-7",
+ "linecount" : 6,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 271.0, 342.0, 222.0, 91.0 ],
+ "text" : "Double-click to recall a preset (because @select_mode is enabled)\nThis will cause a preset interpolation because @recall_passthrough is disabled and additionnal logic has been added in [p interp]"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-3",
+ "items" : [ "Preset", "number", "+", "name", ",", "Preset", "number", ",", "Preset", "name" ],
+ "maxclass" : "umenu",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 284.0, 563.0, 155.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-11",
+ "linecount" : 8,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 567.0, 75.0, 309.0, 114.0 ],
+ "text" : "By default, clicking a stored preset in tc.preset recalls it immediately, the recall message being sent remotely to pattrstorage.\nWhen recall_passthrough is disabled, the recall mesage is first sent out of tc.preset leftmost outlet and it's up to the user to pass it to pattrstorage, potentially with some custom logic, like for triggering interpolations (see the red patch cord)"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-2",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 59.0, 107.0, 640.0, 480.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "id" : "obj-2",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "" ],
+ "patching_rect" : [ 52.5, 109.0, 68.0, 22.0 ],
+ "text" : "route recall"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-3",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 159.166666666666686, 276.0, 45.0, 22.0 ],
+ "text" : "store 0"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-5",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "bang", "int", "bang" ],
+ "patching_rect" : [ 52.5, 170.0, 125.666666666666686, 22.0 ],
+ "text" : "t b i b"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-4",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "int" ],
+ "patching_rect" : [ 52.5, 239.0, 29.5, 22.0 ],
+ "text" : "i"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-1",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 218.0, 170.0, 90.0, 22.0 ],
+ "text" : "loadmess 1000"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-31",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "bang", "float" ],
+ "patching_rect" : [ 52.5, 334.0, 29.5, 22.0 ],
+ "text" : "t b f"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-29",
+ "maxclass" : "newobj",
+ "numinlets" : 3,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "bang" ],
+ "patching_rect" : [ 52.5, 307.0, 41.0, 22.0 ],
+ "text" : "line 0."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-25",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 52.5, 276.0, 52.0, 22.0 ],
+ "text" : "0., 1. $1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-14",
+ "maxclass" : "newobj",
+ "numinlets" : 4,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 52.5, 383.0, 99.0, 22.0 ],
+ "text" : "pack recall 0 0 0."
+ }
+
+ }
+, {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-32",
+ "index" : 1,
+ "maxclass" : "inlet",
+ "numinlets" : 0,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 52.5, 40.0, 30.0, 30.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-33",
+ "index" : 1,
+ "maxclass" : "outlet",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 52.5, 444.0, 30.0, 30.0 ]
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-4", 1 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-33", 0 ],
+ "source" : [ "obj-14", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-5", 0 ],
+ "source" : [ "obj-2", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-29", 0 ],
+ "source" : [ "obj-25", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-31", 0 ],
+ "source" : [ "obj-29", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-33", 0 ],
+ "source" : [ "obj-3", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-14", 3 ],
+ "source" : [ "obj-31", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-14", 0 ],
+ "source" : [ "obj-31", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-2", 0 ],
+ "source" : [ "obj-32", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-25", 0 ],
+ "source" : [ "obj-4", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-14", 2 ],
+ "source" : [ "obj-5", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-3", 0 ],
+ "source" : [ "obj-5", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-4", 0 ],
+ "source" : [ "obj-5", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 10.0, 506.0, 52.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p interp"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-38",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "" ],
+ "patching_rect" : [ 279.0, 438.0, 40.0, 22.0 ],
+ "restore" : [ 0.873015873015873, 0.714285714285714, 0.587301587301587, 0.46031746031746, 0.301587301587302, 0.174603174603175, 0.015873015873016, -0.111111111111111, -0.238095238095238, -0.333333333333333, -0.428571428571429, -0.523809523809524, -0.587301587301587, -0.682539682539683, -0.777777777777778, -0.873015873015873 ],
+ "saved_object_attributes" : {
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0
+ }
+,
+ "text" : "pattr",
+ "varname" : "u099005226"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-34",
+ "maxclass" : "multislider",
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 290.0, 465.0, 136.0, 78.0 ],
+ "size" : 16,
+ "varname" : "multislider"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-24",
+ "linecount" : 16,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 567.0, 262.0, 303.0, 221.0 ],
+ "text" : "The value of poll_edited defines the period at which tc.preset polls pattrstorage with the `getedited' message to know if the data in the currently active preset has been edited. If so, a colored dot appears on top of the preset. This can be used as a reminder to re-save the preset after some changes. At 0., the feature is disabled.\n\nRecall a preset by double-clicking it, and draw a shape in the multislider below to see this feature in action.\n\nThis 'edited' state is very sensitive and doesn't necessarily means that the value of a parameter has changed. If a pattrized object receives the same value it is currently at, pattrstorage will report the current preset as 'edited' even though no value has changed."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-20",
+ "linecount" : 6,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 441.0, 530.5, 261.0, 87.0 ],
+ "text" : "Make the preset menu to be populated by the preset number and/or their name.\nIn modes 0 and 2, use the leftmost outlet of umenu prepended by the recall_filled message to recall the correct preset. In mode 1, you can use the umenu's middle outlet directly."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-18",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 69.5, 592.0, 85.0, 22.0 ],
+ "text" : "recall_filled $1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-14",
+ "linecount" : 4,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 293.0, 145.0, 242.0, 60.0 ],
+ "text" : "Forces preset names to be unique when by appending \"bis\" to them. Gets applied only to presets subsequently renamed through tc.preset."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-12",
+ "linecount" : 6,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 293.0, 246.0, 240.0, 87.0 ],
+ "text" : "Use the attached textedit, if any, to edit slot names directly in the JSUI frame when clicking a slot while holding the control key. When disabled, the textedit remains untouched but gets focused when clicking a slot while holding the control key."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-56",
+ "maxclass" : "toggle",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "int" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 248.0, 505.0, 24.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "fontface" : 0,
+ "fontname" : "Arial",
+ "fontsize" : 12.0,
+ "id" : "obj-27",
+ "keymode" : 1,
+ "lines" : 1,
+ "maxclass" : "textedit",
+ "nosymquotes" : 1,
+ "numinlets" : 1,
+ "numoutlets" : 4,
+ "outlettype" : [ "", "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 129.0, 505.0, 102.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-17",
+ "items" : [ 1, "up", ",", 2, "down", ",", 3, "sine", ",", 4, "random", ",", 7, "W", ",", 17, "Bell" ],
+ "maxclass" : "umenu",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 69.5, 563.0, 115.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "embedstate" : [ [ "poll_edited", 1 ], [ "ignoreslotzero", 1 ], [ "bubblesize", 14 ], [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ], [ "spacing", 4 ], [ "min_rows", 10 ], [ "color_mode", 0 ], [ "color_5", 0.283, 0.606, 0.559, 1 ], [ "menu_mode", 0 ], [ "select_mode", 1 ], [ "layout", 0 ], [ "use_uid", 0 ], [ "interp_slot_color", 1, 1, 1, 0.8 ], [ "color_3", 0.527, 0.459, 0.756, 1 ], [ "edited_color", 1, 0.49, 0.263, 1 ], [ "recall_passthrough", 0 ], [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ], [ "ui_rename", 1 ], [ "margin", 4 ], [ "color_1", 0.743, 0.41, 0.501, 1 ], [ "text_color", 0.85, 0.85, 0.85, 1.0 ], [ "fontsize", 13 ], [ "color_6", 0.316, 0.616, 0.377, 1 ], [ "send_name", "none" ], [ "timestamp", 0 ], [ "nbslot_edit", 1 ], [ "slot_round", 0 ], [ "autoname", 0 ], [ "autowriteagain", 0 ], [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ], [ "fontname", "Arial" ], [ "pattrstorage", "tcpreset_help" ], [ "color_4", 0.367, 0.542, 0.712, 1 ], [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ], [ "scrollable", 0 ], [ "unique_names", 0 ], [ "color_2", 0.679, 0.405, 0.669, 1 ], [ "display_interp", 1 ] ],
+ "filename" : "tc.preset.js",
+ "id" : "obj-10",
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 5,
+ "outlettype" : [ "", "", "", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 378.0, 257.0, 112.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-1",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 10.0, 309.0, 229.0, 22.0 ],
+ "saved_object_attributes" : {
+ "client_rect" : [ 100, 172, 596, 755 ],
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0,
+ "storage_rect" : [ 365, 44, 816, 172 ]
+ }
+,
+ "text" : "pattrstorage tcpreset_help @savemode 0",
+ "varname" : "tcpreset_help"
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "filename" : "helpname.js",
+ "id" : "obj-4",
+ "ignoreclick" : 1,
+ "jsarguments" : [ "tc.preset" ],
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 10.0, 188.288009643554688, 57.599853515625 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-115",
+ "linecount" : 5,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 10.0, 101.0, 247.0, 74.0 ],
+ "text" : "When select mode is enabled, a single click selects a stored preset without recalling it. A double click recalls the preset. It allows to drag it, set its name and lock state while keeping the last recalled preset active."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-50",
+ "linecount" : 4,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 293.0, 46.0, 249.0, 60.0 ],
+ "text" : "Makes displayed previous active slot and interpolation status to ignore slot 0. Can be convenient when using slot 0 as a temporary step for interpolation. It is enabled by default."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-90",
+ "linecount" : 4,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 10.0, 218.0, 241.0, 60.0 ],
+ "text" : "When enabled, sends writeagain to pattrstrage when a preset has been stored/renamed/deleted/moved/(un)locked, keeping the json file always up to date."
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "autowriteagain",
+ "id" : "obj-40",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 194.0, 123.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "ignoreslotzero",
+ "id" : "obj-46",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 293.0, 22.0, 124.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "select_mode",
+ "id" : "obj-127",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 77.0, 123.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "unique_names",
+ "id" : "obj-6",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 293.0, 121.0, 124.0, 22.0 ],
+ "text_width" : 101.0
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "ui_rename",
+ "id" : "obj-8",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 293.0, 222.0, 101.0, 22.0 ],
+ "text_width" : 78.0
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "menu_mode",
+ "id" : "obj-15",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 284.0, 591.0, 117.0, 22.0 ],
+ "text_width" : 87.0
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "edited_color",
+ "id" : "obj-21",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 567.0, 237.0, 187.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "poll_edited",
+ "id" : "obj-22",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 567.0, 213.0, 150.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "recall_passthrough",
+ "id" : "obj-5",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 567.0, 49.0, 145.0, 22.0 ],
+ "text_width" : 122.0
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-17", 0 ],
+ "source" : [ "obj-10", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "color" : [ 0.839172840118408, 0.0, 0.0, 1.0 ],
+ "destination" : [ "obj-2", 0 ],
+ "source" : [ "obj-10", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-27", 0 ],
+ "source" : [ "obj-10", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-56", 0 ],
+ "source" : [ "obj-10", 3 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-127", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-15", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-18", 0 ],
+ "source" : [ "obj-17", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "midpoints" : [ 79.0, 617.3515625, 3.55078125, 617.3515625, 3.55078125, 375.0, 19.5, 375.0 ],
+ "source" : [ "obj-18", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "color" : [ 0.839172840118408, 0.0, 0.0, 1.0 ],
+ "destination" : [ "obj-1", 0 ],
+ "midpoints" : [ 19.5, 531.0, 7.359375, 531.0, 7.359375, 303.64453125, 19.5, 303.64453125 ],
+ "source" : [ "obj-2", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-21", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-22", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "midpoints" : [ 138.5, 540.0, 3.4296875, 540.0, 3.4296875, 375.0, 19.5, 375.0 ],
+ "source" : [ "obj-27", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-15", 0 ],
+ "source" : [ "obj-3", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-34", 0 ],
+ "source" : [ "obj-38", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-40", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-46", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-5", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-6", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-8", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 393.0, 26.7999267578125, 65.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p behavior",
+ "varname" : "behavior"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-9",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 0.0, 26.0, 899.0, 620.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "showontab" : 1,
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "bgcolor" : [ 0.56078431372549, 0.796078431372549, 0.474509803921569, 1.0 ],
+ "bgmode" : 2,
+ "border" : 0,
+ "clickthrough" : 0,
+ "embed" : 1,
+ "enablehscroll" : 0,
+ "enablevscroll" : 0,
+ "id" : "obj-23",
+ "lockeddragscroll" : 0,
+ "lockedsize" : 0,
+ "maxclass" : "bpatcher",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "offset" : [ 0.0, 0.0 ],
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 59.0, 119.0, 1000.0, 755.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "fontface" : 1,
+ "fontsize" : 16.0,
+ "id" : "obj-4",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 159.0, 13.0, 107.0, 24.0 ],
+ "text" : "tc.preset_list"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-27",
+ "keymode" : 1,
+ "lines" : 1,
+ "maxclass" : "textedit",
+ "nosymquotes" : 1,
+ "numinlets" : 1,
+ "numoutlets" : 4,
+ "outlettype" : [ "", "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 156.5, 110.0, 100.0, 23.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-8",
+ "items" : "",
+ "maxclass" : "umenu",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 156.5, 74.0, 112.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "embedstate" : [ [ "poll_edited", 0 ], [ "ignoreslotzero", 1 ], [ "bubblesize", 14 ], [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ], [ "spacing", 4 ], [ "min_rows", 10 ], [ "color_mode", 0 ], [ "color_5", 0.283, 0.606, 0.559, 1 ], [ "menu_mode", 0 ], [ "select_mode", 0 ], [ "layout", 1 ], [ "use_uid", 0 ], [ "interp_slot_color", 1, 1, 1, 0.8 ], [ "color_3", 0.527, 0.459, 0.756, 1 ], [ "edited_color", 1, 0.49, 0.263, 1 ], [ "recall_passthrough", 1 ], [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ], [ "ui_rename", 1 ], [ "margin", 4 ], [ "color_1", 0.743, 0.41, 0.501, 1 ], [ "text_color", 0.85, 0.85, 0.85, 1.0 ], [ "fontsize", 13 ], [ "color_6", 0.316, 0.616, 0.377, 1 ], [ "send_name", "none" ], [ "timestamp", 0 ], [ "nbslot_edit", 1 ], [ "slot_round", 0 ], [ "autoname", 0 ], [ "autowriteagain", 0 ], [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ], [ "fontname", "Arial" ], [ "pattrstorage", "mypat" ], [ "color_4", 0.367, 0.542, 0.712, 1 ], [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ], [ "scrollable", 1 ], [ "unique_names", 0 ], [ "color_2", 0.679, 0.405, 0.669, 1 ], [ "display_interp", 1 ] ],
+ "filename" : "tc.preset.js",
+ "id" : "obj-10",
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 5,
+ "outlettype" : [ "", "", "", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 16.0, 74.0, 130.0, 95.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-1",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 16.0, 34.0, 109.0, 22.0 ],
+ "saved_object_attributes" : {
+ "client_rect" : [ 100, 172, 596, 755 ],
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0,
+ "storage_rect" : [ 365, 44, 816, 172 ]
+ }
+,
+ "text" : "pattrstorage mypat",
+ "varname" : "mypat"
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-27", 0 ],
+ "source" : [ "obj-10", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-8", 0 ],
+ "source" : [ "obj-10", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-27", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 75.0, 366.0, 287.0, 194.0 ],
+ "varname" : "bpatcher[1]",
+ "viewvisibility" : 1
+ }
+
+ }
+, {
+ "box" : {
+ "bgcolor" : [ 0.486274509803922, 0.741176470588235, 0.705882352941177, 1.0 ],
+ "bgmode" : 2,
+ "border" : 0,
+ "clickthrough" : 0,
+ "embed" : 1,
+ "enablehscroll" : 0,
+ "enablevscroll" : 0,
+ "id" : "obj-22",
+ "lockeddragscroll" : 0,
+ "lockedsize" : 0,
+ "maxclass" : "bpatcher",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "offset" : [ 0.0, 0.0 ],
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 59.0, 119.0, 584.0, 605.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "id" : "obj-1",
+ "items" : [ "Classic", ",", "Cycle", ",", "Select", ",", "Custom" ],
+ "maxclass" : "umenu",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 171.0, 2.0, 100.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "embedstate" : [ [ "poll_edited", 0 ], [ "ignoreslotzero", 1 ], [ "bubblesize", 14 ], [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ], [ "spacing", 4 ], [ "min_rows", 10 ], [ "color_mode", 0 ], [ "color_5", 0.283, 0.606, 0.559, 1 ], [ "menu_mode", 0 ], [ "select_mode", 0 ], [ "layout", 0 ], [ "use_uid", 0 ], [ "interp_slot_color", 1, 1, 1, 0.8 ], [ "color_3", 0.527, 0.459, 0.756, 1 ], [ "edited_color", 1, 0.49, 0.263, 1 ], [ "recall_passthrough", 1 ], [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ], [ "ui_rename", 0 ], [ "margin", 4 ], [ "color_1", 0.743, 0.41, 0.501, 1 ], [ "text_color", 0.85, 0.85, 0.85, 1.0 ], [ "fontsize", 13 ], [ "color_6", 0.316, 0.616, 0.377, 1 ], [ "send_name", "none" ], [ "timestamp", 0 ], [ "nbslot_edit", 1 ], [ "slot_round", 0 ], [ "autoname", 0 ], [ "autowriteagain", 0 ], [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ], [ "fontname", "Arial" ], [ "pattrstorage", "mypat" ], [ "color_4", 0.367, 0.542, 0.712, 1 ], [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ], [ "scrollable", 0 ], [ "unique_names", 0 ], [ "color_2", 0.679, 0.405, 0.669, 1 ], [ "display_interp", 1 ] ],
+ "filename" : "tc.preset.js",
+ "id" : "obj-2",
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 5,
+ "outlettype" : [ "", "", "", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 20.0, 115.0, 130.0, 58.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "fontface" : 1,
+ "fontsize" : 16.0,
+ "id" : "obj-4",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 20.0, 17.0, 123.0, 24.0 ],
+ "text" : "tc.preset_color"
+ }
+
+ }
+, {
+ "box" : {
+ "button" : 1,
+ "id" : "obj-17",
+ "maxclass" : "tab",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 171.0, 52.0, 139.0, 24.0 ],
+ "tabs" : [ "1", "2", "3", "4", "5", "6" ],
+ "varname" : "sel"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-12",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 171.0, 121.0, 98.0, 22.0 ],
+ "text" : "prepend setcolor"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-3",
+ "maxclass" : "swatch",
+ "numinlets" : 3,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "float" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 171.0, 80.0, 128.0, 32.0 ],
+ "saturation" : 1.0,
+ "varname" : "cust"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-7",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "" ],
+ "patching_rect" : [ 171.0, 151.0, 126.0, 22.0 ],
+ "restore" : [ 0 ],
+ "saved_object_attributes" : {
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0
+ }
+,
+ "text" : "pattr preset_metadata",
+ "varname" : "preset_metadata"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-16",
+ "keymode" : 1,
+ "lines" : 1,
+ "maxclass" : "textedit",
+ "nosymquotes" : 1,
+ "numinlets" : 1,
+ "numoutlets" : 4,
+ "outlettype" : [ "", "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 136.5, 189.0, 100.0, 23.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-18",
+ "items" : "",
+ "maxclass" : "umenu",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 18.5, 189.0, 112.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-20",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 20.0, 76.0, 109.0, 22.0 ],
+ "saved_object_attributes" : {
+ "client_rect" : [ 100, 172, 596, 755 ],
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0,
+ "storage_rect" : [ 365, 44, 816, 172 ]
+ }
+,
+ "text" : "pattrstorage mypat",
+ "varname" : "mypat"
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "color_mode",
+ "id" : "obj-5",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 171.0, 26.0, 128.0, 22.0 ]
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-5", 0 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-2", 0 ],
+ "source" : [ "obj-12", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-12", 0 ],
+ "source" : [ "obj-17", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-16", 0 ],
+ "source" : [ "obj-2", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-18", 0 ],
+ "source" : [ "obj-2", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-2", 0 ],
+ "source" : [ "obj-20", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-12", 0 ],
+ "source" : [ "obj-3", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-2", 0 ],
+ "source" : [ "obj-5", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 434.0, 28.0, 347.0, 219.0 ],
+ "varname" : "patcher",
+ "viewvisibility" : 1
+ }
+
+ }
+, {
+ "box" : {
+ "bgcolor" : [ 0.870588235294118, 0.537254901960784, 0.537254901960784, 1.0 ],
+ "bgmode" : 2,
+ "border" : 0,
+ "clickthrough" : 0,
+ "embed" : 1,
+ "enablehscroll" : 0,
+ "enablevscroll" : 0,
+ "id" : "obj-21",
+ "lockeddragscroll" : 0,
+ "lockedsize" : 0,
+ "maxclass" : "bpatcher",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "offset" : [ 0.0, 0.0 ],
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 59.0, 119.0, 1000.0, 755.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "fontface" : 1,
+ "fontsize" : 16.0,
+ "id" : "obj-4",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 148.0, 13.0, 129.0, 24.0 ],
+ "text" : "tc.preset_interp"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-6",
+ "maxclass" : "number",
+ "minimum" : 0,
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "bang" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 122.0, 177.0, 50.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-34",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 439.0, 167.0, 640.0, 480.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "id" : "obj-9",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 266.0, 45.0, 101.0, 20.0 ],
+ "text" : "Interpolation time"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-6",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 84.5, 45.0, 89.0, 20.0 ],
+ "text" : "Preset to recall"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-1",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "" ],
+ "patching_rect" : [ 52.5, 105.0, 68.0, 22.0 ],
+ "text" : "route recall"
+ }
+
+ }
+, {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-2",
+ "index" : 2,
+ "maxclass" : "inlet",
+ "numinlets" : 0,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 234.0, 40.0, 30.0, 30.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-8",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 158.5, 249.0, 45.0, 22.0 ],
+ "text" : "store 0"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-5",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "bang", "int", "bang" ],
+ "patching_rect" : [ 52.5, 170.0, 125.666666666666686, 22.0 ],
+ "text" : "t b i b"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-4",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "int" ],
+ "patching_rect" : [ 52.5, 239.0, 29.5, 22.0 ],
+ "text" : "i"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-31",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "bang", "float" ],
+ "patching_rect" : [ 52.5, 334.0, 29.5, 22.0 ],
+ "text" : "t b f"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-29",
+ "maxclass" : "newobj",
+ "numinlets" : 3,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "bang" ],
+ "patching_rect" : [ 52.5, 307.0, 41.0, 22.0 ],
+ "text" : "line 0."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-25",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 52.5, 276.0, 52.0, 22.0 ],
+ "text" : "0., 1. $1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-14",
+ "maxclass" : "newobj",
+ "numinlets" : 4,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 52.5, 362.0, 99.0, 22.0 ],
+ "text" : "pack recall 0 0 0."
+ }
+
+ }
+, {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-32",
+ "index" : 1,
+ "maxclass" : "inlet",
+ "numinlets" : 0,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 52.5, 40.0, 30.0, 30.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-33",
+ "index" : 1,
+ "maxclass" : "outlet",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 52.5, 444.0, 30.0, 30.0 ]
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-5", 0 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-33", 0 ],
+ "source" : [ "obj-14", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-4", 1 ],
+ "source" : [ "obj-2", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-29", 0 ],
+ "source" : [ "obj-25", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-31", 0 ],
+ "source" : [ "obj-29", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-14", 3 ],
+ "source" : [ "obj-31", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-14", 0 ],
+ "source" : [ "obj-31", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-1", 0 ],
+ "source" : [ "obj-32", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-25", 0 ],
+ "source" : [ "obj-4", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-14", 2 ],
+ "source" : [ "obj-5", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-4", 0 ],
+ "source" : [ "obj-5", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-8", 0 ],
+ "source" : [ "obj-5", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-33", 0 ],
+ "source" : [ "obj-8", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 16.0, 206.0, 125.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p trigger_interpolation"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-27",
+ "keymode" : 1,
+ "lines" : 1,
+ "maxclass" : "textedit",
+ "nosymquotes" : 1,
+ "numinlets" : 1,
+ "numoutlets" : 4,
+ "outlettype" : [ "", "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 161.0, 143.0, 100.0, 23.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-8",
+ "items" : "",
+ "maxclass" : "umenu",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 43.0, 143.0, 112.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "embedstate" : [ [ "poll_edited", 0 ], [ "ignoreslotzero", 1 ], [ "bubblesize", 14 ], [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ], [ "spacing", 4 ], [ "min_rows", 10 ], [ "color_mode", 0 ], [ "color_5", 0.283, 0.606, 0.559, 1 ], [ "menu_mode", 0 ], [ "select_mode", 0 ], [ "layout", 0 ], [ "use_uid", 0 ], [ "interp_slot_color", 1, 1, 1, 0.8 ], [ "color_3", 0.527, 0.459, 0.756, 1 ], [ "edited_color", 1, 0.49, 0.263, 1 ], [ "recall_passthrough", 0 ], [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ], [ "ui_rename", 1 ], [ "margin", 4 ], [ "color_1", 0.743, 0.41, 0.501, 1 ], [ "text_color", 0.85, 0.85, 0.85, 1.0 ], [ "fontsize", 13 ], [ "color_6", 0.316, 0.616, 0.377, 1 ], [ "send_name", "none" ], [ "timestamp", 0 ], [ "nbslot_edit", 1 ], [ "slot_round", 0 ], [ "autoname", 0 ], [ "autowriteagain", 0 ], [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ], [ "fontname", "Arial" ], [ "pattrstorage", "mypat" ], [ "color_4", 0.367, 0.542, 0.712, 1 ], [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ], [ "scrollable", 0 ], [ "unique_names", 0 ], [ "color_2", 0.679, 0.405, 0.669, 1 ], [ "display_interp", 1 ] ],
+ "filename" : "tc.preset.js",
+ "id" : "obj-10",
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 5,
+ "outlettype" : [ "", "", "", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 16.0, 74.0, 130.0, 59.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-1",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 16.0, 41.0, 109.0, 22.0 ],
+ "saved_object_attributes" : {
+ "client_rect" : [ 100, 172, 596, 755 ],
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0,
+ "storage_rect" : [ 365, 44, 816, 172 ]
+ }
+,
+ "text" : "pattrstorage mypat",
+ "varname" : "mypat"
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-27", 0 ],
+ "source" : [ "obj-10", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-34", 0 ],
+ "source" : [ "obj-10", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-8", 0 ],
+ "source" : [ "obj-10", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-27", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-1", 0 ],
+ "source" : [ "obj-34", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-34", 1 ],
+ "source" : [ "obj-6", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 75.0, 18.0, 287.0, 239.0 ],
+ "varname" : "bpatcher",
+ "viewvisibility" : 1
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "fontsize" : 14.0,
+ "id" : "obj-5",
+ "linecount" : 4,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 0.0, 270.0, 426.0, 73.0 ],
+ "text" : "Get these snippets from any patch through the Snippets menu!\n\nAfter renaming the pattrstorage, remind to also update the 'pattrstorage' attribute of tc.preset."
+ }
+
+ }
+ ],
+ "lines" : [ ]
+ }
+,
+ "patching_rect" : [ 687.0, 25.7999267578125, 63.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p snippets",
+ "varname" : "snippet"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-45",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 0.0, 26.0, 899.0, 620.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "showontab" : 1,
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "fontface" : 0,
+ "fontname" : "Arial",
+ "fontsize" : 12.0,
+ "id" : "obj-2",
+ "keymode" : 1,
+ "lines" : 1,
+ "maxclass" : "textedit",
+ "nosymquotes" : 1,
+ "numinlets" : 1,
+ "numoutlets" : 4,
+ "outlettype" : [ "", "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 499.0, 116.0, 26.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "bubbleside" : 0,
+ "id" : "obj-6",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 137.0, 492.0, 236.0, 39.0 ],
+ "text" : "Scroll the list with your mouse or trackpad!"
+ }
+
+ }
+, {
+ "box" : {
+ "hidden" : 1,
+ "id" : "obj-5",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 146.0, 160.0, 89.0, 22.0 ],
+ "text" : "loadmess set 1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-3",
+ "maxclass" : "tab",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 56.0, 130.0, 150.0, 26.0 ],
+ "tabs" : [ "Grid", "List" ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-38",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "" ],
+ "patching_rect" : [ 293.0, 378.0, 40.0, 22.0 ],
+ "restore" : [ -0.079365079365079, 0.206349206349206, 0.428571428571429, 0.682539682539683, 0.904761904761905, 0.904761904761905, 0.841269841269841, 0.555555555555556, 0.047619047619048, -0.301587301587302, -0.587301587301587, -0.682539682539683, -0.650793650793651, -0.428571428571429, -0.111111111111111, 0.079365079365079 ],
+ "saved_object_attributes" : {
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0
+ }
+,
+ "text" : "pattr",
+ "varname" : "u099005226"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-34",
+ "maxclass" : "multislider",
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 304.0, 405.0, 136.0, 78.0 ],
+ "size" : 16,
+ "varname" : "multislider"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-30",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 337.0, 379.0, 118.0, 20.0 ],
+ "text" : "Some data to store"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-18",
+ "linecount" : 5,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 409.0, 120.0, 241.0, 74.0 ],
+ "text" : "When scrollable is enabled, adds a - and + buttons at the end of the presets list which, when clicked, respectively remove or add a row of empty slot(s). The minimum number of rows is capped by min_rows."
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "nbslot_edit",
+ "id" : "obj-16",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 304.0, 146.0, 103.0, 22.0 ],
+ "text_width" : 78.0
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "embedstate" : [ [ "poll_edited", 0 ], [ "ignoreslotzero", 1 ], [ "bubblesize", 14 ], [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ], [ "spacing", 4 ], [ "min_rows", 10 ], [ "color_mode", 0 ], [ "color_5", 0.283, 0.606, 0.559, 1 ], [ "menu_mode", 0 ], [ "select_mode", 0 ], [ "layout", 1 ], [ "use_uid", 0 ], [ "interp_slot_color", 1, 1, 1, 0.8 ], [ "color_3", 0.527, 0.459, 0.756, 1 ], [ "edited_color", 1, 0.49, 0.263, 1 ], [ "recall_passthrough", 1 ], [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ], [ "ui_rename", 0 ], [ "margin", 4 ], [ "color_1", 0.743, 0.41, 0.501, 1 ], [ "text_color", 0.85, 0.85, 0.85, 1.0 ], [ "fontsize", 13 ], [ "color_6", 0.316, 0.616, 0.377, 1 ], [ "send_name", "none" ], [ "timestamp", 0 ], [ "nbslot_edit", 1 ], [ "slot_round", 0 ], [ "autoname", 0 ], [ "autowriteagain", 0 ], [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ], [ "fontname", "Arial" ], [ "pattrstorage", "tcpreset_help" ], [ "color_4", 0.367, 0.542, 0.712, 1 ], [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ], [ "scrollable", 1 ], [ "unique_names", 0 ], [ "color_2", 0.679, 0.405, 0.669, 1 ], [ "display_interp", 1 ] ],
+ "filename" : "tc.preset.js",
+ "id" : "obj-10",
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 5,
+ "outlettype" : [ "", "", "", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 378.0, 257.0, 112.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-1",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 10.0, 309.0, 229.0, 22.0 ],
+ "saved_object_attributes" : {
+ "client_rect" : [ 100, 172, 596, 755 ],
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0,
+ "storage_rect" : [ 365, 44, 816, 172 ]
+ }
+,
+ "text" : "pattrstorage tcpreset_help @savemode 0",
+ "varname" : "tcpreset_help"
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "filename" : "helpname.js",
+ "id" : "obj-4",
+ "ignoreclick" : 1,
+ "jsarguments" : [ "tc.preset" ],
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 10.0, 188.288009643554688, 57.599853515625 ]
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "bubbleside" : 3,
+ "id" : "obj-78",
+ "linecount" : 6,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 668.0, 103.0, 231.0, 91.0 ],
+ "text" : "...and: bgcolor, empty_slot_color, stored_slot_color, interp_slot_color, active_slot_color, fontname, fontsize, text_bg_color, text_color\n(see the tc.preset attributes in the inspector or in its Reference page)"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-65",
+ "linecount" : 2,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 463.0, 214.0, 196.0, 33.0 ],
+ "text" : "Minimum number of rows to display when scrollable is enabled."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-62",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 278.0, 55.0, 211.0, 20.0 ],
+ "text" : "Enable to scroll through your presets! "
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-39",
+ "linecount" : 2,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 56.0, 93.0, 150.0, 33.0 ],
+ "text" : "Choose to display presets as a grid (0) or a list (1)!"
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "layout",
+ "id" : "obj-129",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 56.0, 160.0, 78.0, 22.0 ],
+ "text_width" : 53.0
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "scrollable",
+ "id" : "obj-130",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 278.0, 80.0, 95.0, 22.0 ],
+ "text_width" : 73.0
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "min_rows",
+ "id" : "obj-131",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 345.0, 220.0, 116.0, 22.0 ],
+ "text_width" : 72.0
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "bubblesize",
+ "id" : "obj-7",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 404.0, 287.0, 150.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "spacing",
+ "id" : "obj-8",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 557.0, 287.0, 150.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "margin",
+ "id" : "obj-11",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 557.0, 311.0, 150.0, 22.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "slot_round",
+ "id" : "obj-14",
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 404.0, 311.0, 150.0, 22.0 ]
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-2", 0 ],
+ "source" : [ "obj-10", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-11", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-129", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-130", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-131", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-14", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-16", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "midpoints" : [ 19.5, 528.0, 6.0, 528.0, 6.0, 375.0, 19.5, 375.0 ],
+ "source" : [ "obj-2", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-129", 0 ],
+ "source" : [ "obj-3", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-34", 0 ],
+ "source" : [ "obj-38", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-3", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-5", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-7", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-8", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 468.0, 26.7999267578125, 82.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p appearance",
+ "varname" : "appearance"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-29",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 0.0, 26.0, 899.0, 620.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "showontab" : 1,
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "bubble" : 1,
+ "bubbleside" : 3,
+ "id" : "obj-13",
+ "linecount" : 3,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 128.5, 561.0, 485.0, 51.0 ],
+ "text" : "You can always access all preset info as a dictionary from the objects rightmost outlet, but also remotely from a [receive] named \"_presets_dict\". Presets are accessible either by their uid or their slot number."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-12",
+ "maxclass" : "tab",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 39.0, 189.0, 233.0, 23.0 ],
+ "tabs" : [ "Classic", "Cycle", "Select", "Custom" ]
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "bubble_bgcolor" : [ 0.388235294117647, 0.172549019607843, 0.172549019607843, 1.0 ],
+ "bubbleside" : 2,
+ "id" : "obj-28",
+ "linecount" : 7,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 548.0, 148.0, 288.0, 119.0 ],
+ "text" : "For color modes 2 and 3, use_uid and timestamp to work, you need to add a pattr object named 'preset_metadata' to your patch. If using subscribe mode, make sure to add preset_metadata to the pattrstorage's subscribe list.\nPreset color data will be stored just like your other parameters.",
+ "textcolor" : [ 0.815686274509804, 0.815686274509804, 0.815686274509804, 1.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "hidden" : 1,
+ "id" : "obj-5",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 39.0, 160.0, 89.0, 22.0 ],
+ "text" : "loadmess set 1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-2",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "" ],
+ "patching_rect" : [ 614.0, 340.0, 156.0, 22.0 ],
+ "saved_object_attributes" : {
+ "legacy" : 0
+ }
+,
+ "text" : "dict.unpack by_uid: by_slot:"
+ }
+
+ }
+, {
+ "box" : {
+ "fontface" : 0,
+ "fontname" : "Arial",
+ "fontsize" : 12.0,
+ "id" : "obj-27",
+ "keymode" : 1,
+ "lines" : 1,
+ "maxclass" : "textedit",
+ "nosymquotes" : 1,
+ "numinlets" : 1,
+ "numoutlets" : 4,
+ "outlettype" : [ "", "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 128.5, 499.0, 102.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "bubbleside" : 2,
+ "id" : "obj-40",
+ "linecount" : 6,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 299.0, 374.0, 288.0, 106.0 ],
+ "text" : "Additional info can be stored in preset_metadata:\n- uid: unique identifier, following the preset when it gets renamed, moved and overwritten. Useful when doing some complex preset management.\n- timestamp: remember when your preset was created/modified!"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-38",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "" ],
+ "patching_rect" : [ 636.0, 16.0, 40.0, 22.0 ],
+ "restore" : [ -0.23, -0.57, 0.26, 0.02, 0.72, -0.18, -0.46, 0.4, 0.16, -0.92, 0.77, 0.95, -0.37, 0.25, -0.07, -0.38 ],
+ "saved_object_attributes" : {
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0
+ }
+,
+ "text" : "pattr",
+ "varname" : "u099005226"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-39",
+ "maxclass" : "multislider",
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 647.0, 43.0, 136.0, 78.0 ],
+ "size" : 16,
+ "varname" : "multislider"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-35",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 680.0, 17.0, 118.0, 20.0 ],
+ "text" : "Some data to store"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-22",
+ "maxclass" : "dict.view",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 614.0, 378.0, 248.5, 234.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-36",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 703.0, 163.0, 460.0, 440.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "id" : "obj-21",
+ "linecount" : 3,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 188.0, 377.0, 206.0, 47.0 ],
+ "text" : "If you move presets around, or write presets to disk and read them back later, colors will still be here."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-19",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 141.0, 328.0, 98.0, 22.0 ],
+ "text" : "prepend setcolor"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-18",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "int", "bang" ],
+ "patching_rect" : [ 141.0, 228.0, 29.5, 22.0 ],
+ "text" : "t i b"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-17",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "" ],
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 59.0, 119.0, 640.0, 480.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-2",
+ "index" : 1,
+ "maxclass" : "inlet",
+ "numinlets" : 0,
+ "numoutlets" : 1,
+ "outlettype" : [ "bang" ],
+ "patching_rect" : [ 50.0, 43.0, 30.0, 30.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-25",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 120.0, 168.0, 131.0, 22.0 ],
+ "text" : "random @floatoutput 1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-24",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 85.0, 134.0, 131.0, 22.0 ],
+ "text" : "random @floatoutput 1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-1",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 50.0, 100.0, 131.0, 22.0 ],
+ "text" : "random @floatoutput 1"
+ }
+
+ }
+, {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-13",
+ "index" : 1,
+ "maxclass" : "outlet",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 50.0, 230.0, 30.0, 30.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-15",
+ "index" : 2,
+ "maxclass" : "outlet",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 85.0, 230.0, 30.0, 30.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-16",
+ "index" : 3,
+ "maxclass" : "outlet",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 120.0, 230.0, 30.0, 30.0 ]
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-13", 0 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-1", 0 ],
+ "order" : 2,
+ "source" : [ "obj-2", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-24", 0 ],
+ "order" : 1,
+ "source" : [ "obj-2", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-25", 0 ],
+ "order" : 0,
+ "source" : [ "obj-2", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-15", 0 ],
+ "source" : [ "obj-24", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-16", 0 ],
+ "source" : [ "obj-25", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 156.0, 261.0, 92.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p random_color"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-9",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 3,
+ "outlettype" : [ "bang", "bang", "int" ],
+ "patching_rect" : [ 119.0, 202.0, 41.0, 22.0 ],
+ "text" : "uzi 20"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-14",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 161.0, 127.0, 175.0, 20.0 ],
+ "text" : "Set selected preset color to red"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-23",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 121.0, 87.0, 123.0, 20.0 ],
+ "text" : "Change preset colors"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-11",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 52.0, 125.0, 104.0, 22.0 ],
+ "text" : "setcolor 1. 0. 0. 1."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-4",
+ "maxclass" : "newobj",
+ "numinlets" : 5,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 141.0, 296.0, 97.0, 22.0 ],
+ "text" : "pack 0 0. 0. 0. 1."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-8",
+ "maxclass" : "button",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "bang" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 119.0, 165.0, 24.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-6",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 149.0, 167.0, 265.0, 20.0 ],
+ "text" : "Set a random color for the first 20 presets"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-2",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 142.0, 28.0, 163.0, 20.0 ],
+ "text" : "Set color mode to 3 (custom)"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-3",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 26.0, 27.0, 81.0, 22.0 ],
+ "text" : "color_mode 3"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-10",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 26.0, 397.0, 81.0, 22.0 ],
+ "text" : "s to_tc.preset"
+ }
+
+ }
+, {
+ "box" : {
+ "background" : 1,
+ "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ],
+ "fontface" : 1,
+ "hint" : "",
+ "id" : "obj-20",
+ "ignoreclick" : 1,
+ "legacytextcolor" : 1,
+ "maxclass" : "textbutton",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "int" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 115.0, 28.0, 20.0, 20.0 ],
+ "rounded" : 60.0,
+ "text" : "1",
+ "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "background" : 1,
+ "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ],
+ "fontface" : 1,
+ "hint" : "",
+ "id" : "obj-22",
+ "ignoreclick" : 1,
+ "legacytextcolor" : 1,
+ "maxclass" : "textbutton",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "int" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 161.0, 391.0, 20.0, 20.0 ],
+ "rounded" : 60.0,
+ "text" : "3",
+ "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "background" : 1,
+ "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ],
+ "fontface" : 1,
+ "hint" : "",
+ "id" : "obj-12",
+ "ignoreclick" : 1,
+ "legacytextcolor" : 1,
+ "maxclass" : "textbutton",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "int" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 94.0, 87.0, 20.0, 20.0 ],
+ "rounded" : 60.0,
+ "text" : "2",
+ "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ]
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-11", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-4", 3 ],
+ "source" : [ "obj-17", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-4", 2 ],
+ "source" : [ "obj-17", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-4", 1 ],
+ "source" : [ "obj-17", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-17", 0 ],
+ "source" : [ "obj-18", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-4", 0 ],
+ "source" : [ "obj-18", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-19", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-3", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-19", 0 ],
+ "source" : [ "obj-4", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-9", 0 ],
+ "source" : [ "obj-8", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-18", 0 ],
+ "source" : [ "obj-9", 2 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 237.0, 261.0, 94.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p custom_mode"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-34",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 209.5, 309.0, 79.0, 22.0 ],
+ "text" : "r to_tc.preset"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-33",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 703.0, 163.0, 481.0, 436.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "id" : "obj-1",
+ "linecount" : 3,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 219.0, 365.0, 216.0, 47.0 ],
+ "text" : "If you move presets around, or write them to disk and read them back later, the set colors index will still be here."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-23",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 180.5, 150.0, 123.0, 20.0 ],
+ "text" : "Change preset colors"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-18",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "int" ],
+ "patching_rect" : [ 199.5, 273.0, 29.5, 22.0 ],
+ "text" : "+ 1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-19",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 199.5, 244.0, 59.0, 22.0 ],
+ "text" : "random 6"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-21",
+ "maxclass" : "button",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "bang" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 199.5, 213.0, 24.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-22",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 229.5, 215.0, 174.0, 20.0 ],
+ "text" : "Set a random color for preset 4"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-17",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 199.5, 304.0, 77.0, 22.0 ],
+ "text" : "setcolor 4 $1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-14",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "int" ],
+ "patching_rect" : [ 76.5, 242.0, 29.5, 22.0 ],
+ "text" : "+ 1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-13",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 76.5, 213.0, 59.0, 22.0 ],
+ "text" : "random 6"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-8",
+ "maxclass" : "button",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "bang" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 76.5, 182.0, 24.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-6",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 106.5, 184.0, 235.0, 20.0 ],
+ "text" : "Set a random color for the selected preset"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-2",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 164.0, 94.0, 155.0, 20.0 ],
+ "text" : "Set color mode to 2 (select)"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-3",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 48.0, 93.0, 81.0, 22.0 ],
+ "text" : "color_mode 2"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-10",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 48.0, 407.0, 81.0, 22.0 ],
+ "text" : "s to_tc.preset"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-9",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 76.5, 271.0, 67.0, 22.0 ],
+ "text" : "setcolor $1"
+ }
+
+ }
+, {
+ "box" : {
+ "background" : 1,
+ "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ],
+ "fontface" : 1,
+ "hint" : "",
+ "id" : "obj-20",
+ "ignoreclick" : 1,
+ "legacytextcolor" : 1,
+ "maxclass" : "textbutton",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "int" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 137.0, 94.0, 20.0, 20.0 ],
+ "rounded" : 60.0,
+ "text" : "1",
+ "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "background" : 1,
+ "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ],
+ "fontface" : 1,
+ "hint" : "",
+ "id" : "obj-4",
+ "ignoreclick" : 1,
+ "legacytextcolor" : 1,
+ "maxclass" : "textbutton",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "int" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 192.0, 379.0, 20.0, 20.0 ],
+ "rounded" : 60.0,
+ "text" : "3",
+ "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "background" : 1,
+ "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ],
+ "fontface" : 1,
+ "hint" : "",
+ "id" : "obj-24",
+ "ignoreclick" : 1,
+ "legacytextcolor" : 1,
+ "maxclass" : "textbutton",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "int" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 153.5, 150.0, 20.0, 20.0 ],
+ "rounded" : 60.0,
+ "text" : "2",
+ "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ]
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-14", 0 ],
+ "source" : [ "obj-13", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-9", 0 ],
+ "source" : [ "obj-14", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-17", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-17", 0 ],
+ "source" : [ "obj-18", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-18", 0 ],
+ "source" : [ "obj-19", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-19", 0 ],
+ "source" : [ "obj-21", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-3", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-13", 0 ],
+ "source" : [ "obj-8", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-9", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 144.0, 261.0, 87.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p select_mode"
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "id" : "obj-32",
+ "linecount" : 2,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 336.0, 254.0, 193.0, 37.0 ],
+ "text" : "Open these subpatchers to get more info about color modes"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-30",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 724.0, 259.0, 378.0, 380.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "id" : "obj-10",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 44.0, 343.0, 81.0, 22.0 ],
+ "text" : "s to_tc.preset"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-3",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 179.0, 167.0, 129.0, 20.0 ],
+ "text" : "Set color 5 to cyan"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-2",
+ "linecount" : 7,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 44.0, 14.0, 323.0, 100.0 ],
+ "text" : "The color wheel is a set of six colors used in color_mode 1 (cycle) and 2 (select).\n\nYou can change each of the 6 colors from the color wheel either by using color_1 to color_6 messages, either by using a generic color_wheel message, or directly in the inspector when selecting the tc.preset object."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-126",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 179.0, 215.0, 164.0, 20.0 ],
+ "text" : "Reset color 3 to default value"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-122",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 179.0, 139.0, 129.0, 20.0 ],
+ "text" : "Set color 3 to magenta"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-120",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 44.0, 166.0, 123.0, 22.0 ],
+ "text" : "color_wheel 5 0 1 1 1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-119",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 179.0, 241.0, 150.0, 20.0 ],
+ "text" : "Reset all colors to default"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-117",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 119.0, 214.0, 48.0, 22.0 ],
+ "text" : "color_3"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-99",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 79.0, 138.0, 88.0, 22.0 ],
+ "text" : "color_3 1 0 1 1"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-95",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 94.0, 240.0, 73.0, 22.0 ],
+ "text" : "color_wheel"
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-117", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-120", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-95", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-99", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 54.0, 261.0, 83.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p color_wheel"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-6",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "" ],
+ "patching_rect" : [ 629.0, 269.0, 126.0, 22.0 ],
+ "restore" : [ "{\"uid\":\"mr0o8lc56u8go\",\"created\":\"2026-06-30T13:17:24.869Z\",\"modified\":\"2026-06-30T13:17:24.869Z\"}" ],
+ "saved_object_attributes" : {
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0
+ }
+,
+ "text" : "pattr preset_metadata",
+ "varname" : "preset_metadata"
+ }
+
+ }
+, {
+ "box" : {
+ "hidden" : 1,
+ "id" : "obj-14",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "" ],
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 574.0, 280.0, 640.0, 480.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 12.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 15.0, 15.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "id" : "obj-7",
+ "maxclass" : "button",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "bang" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 50.0, 96.0, 24.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-10",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "bang" ],
+ "patching_rect" : [ 61.0, 231.0, 29.5, 22.0 ],
+ "text" : "t l b"
+ }
+
+ }
+, {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-9",
+ "index" : 2,
+ "maxclass" : "outlet",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 322.0, 270.0, 30.0, 30.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-8",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "float" ],
+ "patching_rect" : [ 322.0, 179.0, 39.0, 22.0 ],
+ "text" : "/ 100."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-5",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "int" ],
+ "patching_rect" : [ 322.0, 149.0, 36.0, 22.0 ],
+ "text" : "- 100"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-4",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 322.0, 120.0, 73.0, 22.0 ],
+ "text" : "random 200"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-3",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 3,
+ "outlettype" : [ "bang", "bang", "int" ],
+ "patching_rect" : [ 322.0, 77.0, 41.0, 22.0 ],
+ "text" : "uzi 16"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-2",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "" ],
+ "patching_rect" : [ 322.0, 210.0, 68.0, 22.0 ],
+ "text" : "zl.group 16"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-12",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 72.0, 159.0, 83.0, 22.0 ],
+ "text" : "prepend store"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-11",
+ "maxclass" : "newobj",
+ "numinlets" : 2,
+ "numoutlets" : 3,
+ "outlettype" : [ "bang", "bang", "int" ],
+ "patching_rect" : [ 50.0, 131.0, 41.0, 22.0 ],
+ "text" : "uzi 26"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-6",
+ "maxclass" : "message",
+ "numinlets" : 2,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 61.0, 188.0, 202.0, 22.0 ],
+ "text" : "store 34, store 44, store 56, store 65"
+ }
+
+ }
+, {
+ "box" : {
+ "comment" : "",
+ "id" : "obj-13",
+ "index" : 1,
+ "maxclass" : "outlet",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 61.0, 270.0, 30.0, 30.0 ]
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-13", 0 ],
+ "source" : [ "obj-10", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-3", 0 ],
+ "source" : [ "obj-10", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-12", 0 ],
+ "source" : [ "obj-11", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-6", 0 ],
+ "source" : [ "obj-11", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-12", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-9", 0 ],
+ "source" : [ "obj-2", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-4", 0 ],
+ "source" : [ "obj-3", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-5", 0 ],
+ "source" : [ "obj-4", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-8", 0 ],
+ "source" : [ "obj-5", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-6", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-11", 0 ],
+ "source" : [ "obj-7", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-2", 0 ],
+ "source" : [ "obj-8", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 232.0, 340.0, 34.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p init"
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "embedstate" : [ [ "poll_edited", 0 ], [ "ignoreslotzero", 1 ], [ "bubblesize", 14 ], [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ], [ "spacing", 4 ], [ "min_rows", 10 ], [ "color_mode", 1 ], [ "color_5", 0.283, 0.606, 0.559, 1 ], [ "menu_mode", 0 ], [ "select_mode", 0 ], [ "layout", 0 ], [ "use_uid", 1 ], [ "interp_slot_color", 1, 1, 1, 0.8 ], [ "color_3", 0.527, 0.459, 0.756, 1 ], [ "edited_color", 1, 0.49, 0.263, 1 ], [ "recall_passthrough", 1 ], [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ], [ "ui_rename", 0 ], [ "margin", 4 ], [ "color_1", 0.743, 0.41, 0.501, 1 ], [ "text_color", 0.85, 0.85, 0.85, 1.0 ], [ "fontsize", 13 ], [ "color_6", 0.316, 0.616, 0.377, 1 ], [ "send_name", "none" ], [ "timestamp", 1 ], [ "nbslot_edit", 1 ], [ "slot_round", 0 ], [ "autoname", 0 ], [ "autowriteagain", 0 ], [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ], [ "fontname", "Arial" ], [ "pattrstorage", "colors" ], [ "color_4", 0.367, 0.542, 0.712, 1 ], [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ], [ "scrollable", 0 ], [ "unique_names", 0 ], [ "color_2", 0.679, 0.405, 0.669, 1 ], [ "display_interp", 1 ] ],
+ "filename" : "tc.preset.js",
+ "id" : "obj-10",
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 5,
+ "outlettype" : [ "", "", "", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 378.0, 256.0, 112.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "filename" : "helpname.js",
+ "id" : "obj-4",
+ "ignoreclick" : 1,
+ "jsarguments" : [ "tc.preset" ],
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 10.0, 188.288009643554688, 57.599853515625 ]
+ }
+
+ }
+, {
+ "box" : {
+ "fontsize" : 13.0,
+ "id" : "obj-113",
+ "linecount" : 6,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 10.0, 64.0, 470.0, 94.0 ],
+ "text" : "When color_mode is set to 1 (Cycle), stored presets are shown in colors from color_1 to color_6, cyclically depending on their slot number.\nIn mode 2 (Select), you can freely choose one of the 6 colors for each preset.\nIn mode 3 (Custom), you are free to set any color in rgba format for any preset.\nIn modes 2 and 3, colors are stored in a special pattr that must be named \"preset_metada\", which can be used to store other info."
+ }
+
+ }
+, {
+ "box" : {
+ "alias" : {
+ "preset_metadata" : "preset_metadata"
+ }
+,
+ "id" : "obj-1",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 10.0, 309.0, 189.0, 22.0 ],
+ "saved_object_attributes" : {
+ "client_rect" : [ 100, 172, 596, 755 ],
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0,
+ "storage_rect" : [ 365, 44, 816, 172 ]
+ }
+,
+ "text" : "pattrstorage colors @savemode 0",
+ "varname" : "colors"
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "color_mode",
+ "id" : "obj-11",
+ "lock" : 1,
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 39.0, 221.0, 98.0, 22.0 ],
+ "text_width" : 73.0
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "use_uid",
+ "id" : "obj-23",
+ "lock" : 1,
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 355.0, 476.0, 75.0, 22.0 ],
+ "text_width" : 53.0
+ }
+
+ }
+, {
+ "box" : {
+ "attr" : "timestamp",
+ "id" : "obj-7",
+ "lock" : 1,
+ "maxclass" : "attrui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 446.0, 476.0, 97.0, 22.0 ],
+ "text_width" : 73.0
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-2", 0 ],
+ "midpoints" : [ 256.5, 534.0, 600.0, 534.0, 600.0, 336.0, 623.5, 336.0 ],
+ "source" : [ "obj-10", 4 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-27", 0 ],
+ "source" : [ "obj-10", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-11", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-11", 0 ],
+ "source" : [ "obj-12", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-22", 0 ],
+ "source" : [ "obj-2", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "midpoints" : [ 364.5, 501.0, 276.0, 501.0, 276.0, 371.0, 19.5, 371.0 ],
+ "source" : [ "obj-23", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "midpoints" : [ 138.0, 525.0, 6.0, 525.0, 6.0, 375.0, 19.5, 375.0 ],
+ "source" : [ "obj-27", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-34", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-39", 0 ],
+ "source" : [ "obj-38", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-12", 0 ],
+ "hidden" : 1,
+ "source" : [ "obj-5", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "midpoints" : [ 455.5, 501.0, 276.0, 501.0, 276.0, 371.0, 19.5, 371.0 ],
+ "source" : [ "obj-7", 0 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 567.0, 26.7999267578125, 112.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p \"slot colors & uid\"",
+ "varname" : "slot colors"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-16",
+ "maxclass" : "newobj",
+ "numinlets" : 0,
+ "numoutlets" : 0,
+ "patcher" : {
+ "fileversion" : 1,
+ "appversion" : {
+ "major" : 8,
+ "minor" : 6,
+ "revision" : 5,
+ "architecture" : "x64",
+ "modernui" : 1
+ }
+,
+ "classnamespace" : "box",
+ "rect" : [ 344.0, 272.0, 899.0, 620.0 ],
+ "bglocked" : 0,
+ "openinpresentation" : 0,
+ "default_fontsize" : 13.0,
+ "default_fontface" : 0,
+ "default_fontname" : "Arial",
+ "gridonopen" : 1,
+ "gridsize" : [ 5.0, 5.0 ],
+ "gridsnaponopen" : 1,
+ "objectsnaponopen" : 1,
+ "statusbarvisible" : 2,
+ "toolbarvisible" : 1,
+ "lefttoolbarpinned" : 0,
+ "toptoolbarpinned" : 0,
+ "righttoolbarpinned" : 0,
+ "bottomtoolbarpinned" : 0,
+ "toolbars_unpinned_last_save" : 0,
+ "tallnewobj" : 0,
+ "boxanimatetime" : 200,
+ "enablehscroll" : 1,
+ "enablevscroll" : 1,
+ "devicewidth" : 0.0,
+ "description" : "",
+ "digest" : "",
+ "tags" : "",
+ "style" : "",
+ "subpatcher_template" : "",
+ "showontab" : 1,
+ "assistshowspatchername" : 0,
+ "boxes" : [ {
+ "box" : {
+ "bgcolor" : [ 0.701960784313725, 0.701960784313725, 0.701960784313725, 0.0 ],
+ "fontface" : 1,
+ "fontsize" : 14.0,
+ "id" : "obj-13",
+ "linecount" : 6,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 10.0, 159.0, 457.0, 100.0 ],
+ "text" : "Get tc.preset working in 2 steps:\n1. Create a [tc.preset] (substitute for [jsui @filename tc.preset.js])\n2. Connect it to your [pattrstorage] like shown below\n\n...and that's it! The @pattrstorage attribute of [tc.preset] will be automatically populated."
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-4",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 219.0, 27.0, 89.0, 21.0 ],
+ "text" : "Max 8 version"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-38",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "", "", "" ],
+ "patching_rect" : [ 596.0, 159.0, 40.0, 23.0 ],
+ "restore" : [ -0.079365079365079, 0.206349206349206, 0.428571428571429, 0.682539682539683, 0.904761904761905, 0.904761904761905, 0.841269841269841, 0.555555555555556, 0.047619047619048, -0.301587301587302, -0.587301587301587, -0.682539682539683, -0.650793650793651, -0.428571428571429, -0.111111111111111, 0.079365079365079 ],
+ "saved_object_attributes" : {
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0
+ }
+,
+ "text" : "pattr",
+ "varname" : "u099005226"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-20",
+ "maxclass" : "multislider",
+ "numinlets" : 1,
+ "numoutlets" : 2,
+ "outlettype" : [ "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 607.0, 186.0, 136.0, 78.0 ],
+ "size" : 16,
+ "varname" : "multislider"
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "id" : "obj-15",
+ "linecount" : 2,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 680.0, 529.0, 212.0, 40.0 ],
+ "text" : "Rightmost outlet provides a dictionary with all stored presets"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-14",
+ "maxclass" : "dict.view",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 490.0, 492.0, 188.0, 114.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "id" : "obj-12",
+ "linecount" : 3,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 394.0, 426.0, 103.0, 54.0 ],
+ "text" : "Lock state of the current preset"
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "bubbleside" : 0,
+ "id" : "obj-6",
+ "linecount" : 2,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 228.5, 473.0, 150.0, 55.0 ],
+ "text" : "Edit the selected preset name and hit enter!"
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "bubblepoint" : 0.8,
+ "bubbleside" : 0,
+ "id" : "obj-5",
+ "linecount" : 4,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 18.0, 478.0, 183.0, 84.0 ],
+ "text" : "The umen is automatically updated with the list of stored presets. It also displays the currently selected preset."
+ }
+
+ }
+, {
+ "box" : {
+ "bubble" : 1,
+ "id" : "obj-24",
+ "linecount" : 10,
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 511.0, 305.0, 368.0, 156.0 ],
+ "text" : "tc.preset handles the same user interactions as the regular preset object, plus a few useful ones:\n\n- RECALL (or SELECT if select_mode enabled): click\n- STORE: shift+click\n- DELETE: shift-(option|alt)-click\n- LOCK/UNLOCK: shift+control+click\n- RENAME: control+click (requires a [textedit] connected to third outlet)\n- MOVE: click and drag presets to reorganize them"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-30",
+ "maxclass" : "comment",
+ "numinlets" : 1,
+ "numoutlets" : 0,
+ "patching_rect" : [ 640.0, 160.0, 118.0, 21.0 ],
+ "text" : "Some data to store"
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-56",
+ "maxclass" : "toggle",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "int" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 372.0, 440.0, 24.0, 24.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-27",
+ "keymode" : 1,
+ "lines" : 1,
+ "maxclass" : "textedit",
+ "nosymquotes" : 1,
+ "numinlets" : 1,
+ "numoutlets" : 4,
+ "outlettype" : [ "", "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 254.0, 441.0, 98.0, 23.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-8",
+ "items" : [ 1, "up", ",", 2, "down", ",", 3, "sine", ",", 4, "random", ",", 7, "W", ",", 17, "Bell" ],
+ "maxclass" : "umenu",
+ "numinlets" : 1,
+ "numoutlets" : 3,
+ "outlettype" : [ "int", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 136.0, 441.0, 112.0, 23.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "embedstate" : [ [ "poll_edited", 0 ], [ "ignoreslotzero", 1 ], [ "bubblesize", 14 ], [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ], [ "spacing", 4 ], [ "min_rows", 10 ], [ "color_mode", 0 ], [ "color_5", 0.283, 0.606, 0.559, 1 ], [ "menu_mode", 0 ], [ "select_mode", 0 ], [ "layout", 0 ], [ "use_uid", 0 ], [ "interp_slot_color", 1, 1, 1, 0.8 ], [ "color_3", 0.527, 0.459, 0.756, 1 ], [ "edited_color", 1, 0.49, 0.263, 1 ], [ "recall_passthrough", 1 ], [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ], [ "ui_rename", 0 ], [ "margin", 4 ], [ "color_1", 0.743, 0.41, 0.501, 1 ], [ "text_color", 0.85, 0.85, 0.85, 1.0 ], [ "fontsize", 13 ], [ "color_6", 0.316, 0.616, 0.377, 1 ], [ "send_name", "none" ], [ "timestamp", 0 ], [ "nbslot_edit", 1 ], [ "slot_round", 0 ], [ "autoname", 0 ], [ "autowriteagain", 0 ], [ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ], [ "fontname", "Arial" ], [ "pattrstorage", "tcpreset_help" ], [ "color_4", 0.367, 0.542, 0.712, 1 ], [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ], [ "scrollable", 0 ], [ "unique_names", 0 ], [ "color_2", 0.679, 0.405, 0.669, 1 ], [ "display_interp", 1 ] ],
+ "filename" : "tc.preset.js",
+ "id" : "obj-10",
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 5,
+ "outlettype" : [ "", "", "", "", "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 18.0, 328.0, 491.0, 95.0 ]
+ }
+
+ }
+, {
+ "box" : {
+ "id" : "obj-1",
+ "maxclass" : "newobj",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "patching_rect" : [ 18.0, 286.0, 247.0, 23.0 ],
+ "saved_object_attributes" : {
+ "client_rect" : [ 100, 172, 596, 755 ],
+ "parameter_enable" : 0,
+ "parameter_mappable" : 0,
+ "storage_rect" : [ 365, 44, 816, 172 ]
+ }
+,
+ "text" : "pattrstorage tcpreset_help @savemode 0",
+ "varname" : "tcpreset_help"
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "filename" : "helpdetails.js",
+ "id" : "obj-2",
+ "ignoreclick" : 1,
+ "jsarguments" : [ "tc.preset" ],
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 10.0, 621.0, 124.0 ]
+ }
+
+ }
+ ],
+ "lines" : [ {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-1", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-14", 0 ],
+ "source" : [ "obj-10", 4 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-27", 0 ],
+ "source" : [ "obj-10", 2 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-56", 0 ],
+ "source" : [ "obj-10", 3 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-8", 0 ],
+ "source" : [ "obj-10", 1 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-10", 0 ],
+ "midpoints" : [ 263.5, 473.2890625, 9.0, 473.2890625, 9.0, 324.0, 27.5, 324.0 ],
+ "source" : [ "obj-27", 0 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-20", 0 ],
+ "source" : [ "obj-38", 1 ]
+ }
+
+ }
+ ]
+ }
+,
+ "patching_rect" : [ 240.0, 27.7999267578125, 50.0, 22.0 ],
+ "saved_object_attributes" : {
+ "description" : "",
+ "digest" : "",
+ "fontsize" : 13.0,
+ "globalpatchername" : "",
+ "tags" : ""
+ }
+,
+ "text" : "p basic",
+ "varname" : "basic_tab"
+ }
+
+ }
+, {
+ "box" : {
+ "border" : 0,
+ "filename" : "helpname.js",
+ "id" : "obj-18",
+ "ignoreclick" : 1,
+ "jsarguments" : [ "tc.preset" ],
+ "maxclass" : "jsui",
+ "numinlets" : 1,
+ "numoutlets" : 1,
+ "outlettype" : [ "" ],
+ "parameter_enable" : 0,
+ "patching_rect" : [ 10.0, 10.0, 188.288009643554688, 57.599853515625 ]
+ }
+
+ }
+ ],
+ "lines" : [ ],
+ "dependency_cache" : [ {
+ "name" : "colors.json",
+ "bootpath" : "~/Documents/_DEV/tc.preset/help",
+ "patcherrelativepath" : ".",
+ "type" : "JSON",
+ "implicit" : 1
+ }
+, {
+ "name" : "helpdetails.js",
+ "bootpath" : "C74:/help/resources",
+ "type" : "TEXT",
+ "implicit" : 1
+ }
+, {
+ "name" : "helpname.js",
+ "bootpath" : "C74:/help/resources",
+ "type" : "TEXT",
+ "implicit" : 1
+ }
+, {
+ "name" : "helpstarter.js",
+ "bootpath" : "C74:/help/resources",
+ "type" : "TEXT",
+ "implicit" : 1
+ }
+, {
+ "name" : "tc.preset.js",
+ "bootpath" : "~/Documents/Max 8/Packages/tc.preset/javascript",
+ "patcherrelativepath" : "../../../Max 8/Packages/tc.preset/javascript",
+ "type" : "TEXT",
+ "implicit" : 1
+ }
+, {
+ "name" : "tcpreset_help.json",
+ "bootpath" : "~/Documents/_DEV/tc.preset/help",
+ "patcherrelativepath" : ".",
+ "type" : "JSON",
+ "implicit" : 1
+ }
+ ],
+ "autosave" : 0
+ }
+
+}
diff --git a/help/max9.tc.preset.maxhelp b/help/max9.tc.preset.maxhelp
index a91cbc3..18bf5d8 100644
--- a/help/max9.tc.preset.maxhelp
+++ b/help/max9.tc.preset.maxhelp
@@ -3,8 +3,8 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
@@ -12,6 +12,7 @@
"rect": [ 322.0, 100.0, 900.0, 648.0 ],
"showrootpatcherontab": 0,
"showontab": 0,
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -23,14 +24,15 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 0.0, 26.0, 900.0, 622.0 ],
"showontab": 1,
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -68,6 +70,7 @@
{
"box": {
"border": 0,
+ "embed": 0,
"filename": "helpname.js",
"id": "obj-8",
"ignoreclick": 1,
@@ -118,13 +121,14 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 59.0, 119.0, 1000.0, 755.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -140,8 +144,10 @@
{
"box": {
"border": 0,
+ "embed": 0,
"embedstate": [
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1 ],
+ [ "autoname", 0 ],
[ "autowriteagain", 0 ],
[ "bgcolor", 0.125, 0.125, 0.125, 1 ],
[ "bubblesize", 14 ],
@@ -174,6 +180,7 @@
[ "spacing", 4 ],
[ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1 ],
[ "text_color", 0.85, 0.85, 0.85, 1 ],
+ [ "timestamp", 0 ],
[ "ui_rename", 1 ],
[ "unique_names", 0 ],
[ "use_uid", 0 ]
@@ -259,19 +266,22 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 59.0, 119.0, 1000.0, 755.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
"border": 0,
+ "embed": 0,
"embedstate": [
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1 ],
+ [ "autoname", 0 ],
[ "autowriteagain", 0 ],
[ "bgcolor", 0.125, 0.125, 0.125, 1 ],
[ "bubblesize", 14 ],
@@ -304,6 +314,7 @@
[ "spacing", 4 ],
[ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1 ],
[ "text_color", 0.85, 0.85, 0.85, 1 ],
+ [ "timestamp", 0 ],
[ "ui_rename", 1 ],
[ "unique_names", 0 ],
[ "use_uid", 0 ]
@@ -377,54 +388,57 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 59.0, 119.0, 1000.0, 755.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
"border": 0,
"embedstate": [
- [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
- [ "fontsize", 13 ],
- [ "menu_mode", 0 ],
- [ "autowriteagain", 0 ],
- [ "color_4", 0.367, 0.542, 0.712, 1 ],
- [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
- [ "interp_slot_color", 1, 1, 1, 0.8 ],
- [ "fontname", "Arial" ],
- [ "select_mode", 0 ],
- [ "spacing", 4 ],
- [ "ui_rename", 0 ],
- [ "layout", 0 ],
- [ "color_2", 0.679, 0.405, 0.669, 1 ],
- [ "display_interp", 1 ],
- [ "poll_edited", 0 ],
- [ "scrollable", 0 ],
- [ "use_uid", 0 ],
- [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ],
- [ "color_mode", 0 ],
- [ "color_5", 0.283, 0.606, 0.559, 1 ],
- [ "min_rows", 10 ],
- [ "bubblesize", 14 ],
- [ "margin", 4 ],
- [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ],
[ "color_3", 0.527, 0.459, 0.756, 1 ],
- [ "send_name", "none" ],
+ [ "bubblesize", 14 ],
[ "edited_color", 1, 0.49, 0.263, 1 ],
- [ "recall_passthrough", 1 ],
- [ "ignoreslotzero", 1 ],
+ [ "spacing", 4 ],
+ [ "layout", 0 ],
[ "unique_names", 0 ],
- [ "pattrstorage", "mypat" ],
+ [ "ignoreslotzero", 1 ],
+ [ "select_mode", 0 ],
+ [ "display_interp", 1 ],
+ [ "scrollable", 0 ],
+ [ "color_5", 0.283, 0.606, 0.559, 1 ],
+ [ "autowriteagain", 0 ],
+ [ "color_mode", 0 ],
[ "slot_round", 0 ],
+ [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
+ [ "color_2", 0.679, 0.405, 0.669, 1 ],
+ [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
+ [ "poll_edited", 0 ],
+ [ "timestamp", 0 ],
+ [ "send_name", "none" ],
+ [ "margin", 4 ],
+ [ "autoname", 0 ],
+ [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
+ [ "fontsize", 13 ],
+ [ "recall_passthrough", 1 ],
+ [ "color_4", 0.367, 0.542, 0.712, 1 ],
+ [ "nbslot_edit", 1 ],
+ [ "fontname", "Arial" ],
+ [ "pattrstorage", "mypat" ],
[ "color_1", 0.743, 0.41, 0.501, 1 ],
+ [ "use_uid", 0 ],
+ [ "ui_rename", 0 ],
+ [ "interp_slot_color", 1, 1, 1, 0.8 ],
+ [ "min_rows", 10 ],
[ "color_6", 0.316, 0.616, 0.377, 1 ],
- [ "nbslot_edit", 1 ]
+ [ "menu_mode", 0 ],
+ [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ]
],
"filename": "tc.preset",
"id": "obj-1",
@@ -549,14 +563,15 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 0.0, 26.0, 900.0, 622.0 ],
"showontab": 1,
+ "integercoordinates": 1,
"boxes": [],
"lines": []
},
@@ -590,14 +605,15 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 0.0, 26.0, 900.0, 622.0 ],
"showontab": 1,
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -1040,6 +1056,7 @@
{
"box": {
"border": 0,
+ "embed": 0,
"filename": "helpname.js",
"id": "obj-4",
"ignoreclick": 1,
@@ -1061,8 +1078,10 @@
{
"box": {
"border": 0,
+ "embed": 0,
"embedstate": [
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1 ],
+ [ "autoname", 0 ],
[ "autowriteagain", 0 ],
[ "bgcolor", 0.125, 0.125, 0.125, 1 ],
[ "bubblesize", 14 ],
@@ -1095,6 +1114,7 @@
[ "spacing", 4 ],
[ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1 ],
[ "text_color", 0.85, 0.85, 0.85, 1 ],
+ [ "timestamp", 0 ],
[ "ui_rename", 0 ],
[ "unique_names", 0 ],
[ "use_uid", 0 ]
@@ -1341,14 +1361,15 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
- "rect": [ 0.0, 26.0, 900.0, 622.0 ],
+ "rect": [ 322.0, 126.0, 900.0, 622.0 ],
"showontab": 1,
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -1385,13 +1406,14 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 59.0, 107.0, 640.0, 480.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -1729,8 +1751,10 @@
{
"box": {
"border": 0,
+ "embed": 0,
"embedstate": [
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1 ],
+ [ "autoname", 0 ],
[ "autowriteagain", 0 ],
[ "bgcolor", 0.125, 0.125, 0.125, 1 ],
[ "bubblesize", 14 ],
@@ -1763,6 +1787,7 @@
[ "spacing", 4 ],
[ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1 ],
[ "text_color", 0.85, 0.85, 0.85, 1 ],
+ [ "timestamp", 0 ],
[ "ui_rename", 1 ],
[ "unique_names", 0 ],
[ "use_uid", 0 ]
@@ -1804,6 +1829,7 @@
{
"box": {
"border": 0,
+ "embed": 0,
"filename": "helpname.js",
"id": "obj-4",
"ignoreclick": 1,
@@ -2114,14 +2140,15 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 0.0, 26.0, 900.0, 622.0 ],
"showontab": 1,
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -2143,13 +2170,14 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 59.0, 119.0, 1000.0, 755.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -2166,42 +2194,44 @@
"box": {
"border": 0,
"embedstate": [
- [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
- [ "fontsize", 13 ],
- [ "menu_mode", 0 ],
- [ "autowriteagain", 0 ],
- [ "color_4", 0.367, 0.542, 0.712, 1 ],
- [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
- [ "interp_slot_color", 1, 1, 1, 0.8 ],
- [ "fontname", "Arial" ],
- [ "select_mode", 0 ],
- [ "spacing", 4 ],
- [ "ui_rename", 0 ],
- [ "layout", 0 ],
- [ "color_2", 0.679, 0.405, 0.669, 1 ],
- [ "display_interp", 1 ],
- [ "poll_edited", 0 ],
- [ "scrollable", 0 ],
- [ "use_uid", 0 ],
- [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ],
- [ "color_mode", 0 ],
- [ "color_5", 0.283, 0.606, 0.559, 1 ],
- [ "min_rows", 10 ],
- [ "bubblesize", 14 ],
- [ "margin", 4 ],
- [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1.0 ],
[ "color_3", 0.527, 0.459, 0.756, 1 ],
- [ "send_name", "none" ],
+ [ "bubblesize", 14 ],
[ "edited_color", 1, 0.49, 0.263, 1 ],
- [ "recall_passthrough", 1 ],
- [ "ignoreslotzero", 1 ],
+ [ "spacing", 4 ],
+ [ "layout", 0 ],
[ "unique_names", 0 ],
- [ "pattrstorage", "mypat" ],
+ [ "ignoreslotzero", 1 ],
+ [ "select_mode", 0 ],
+ [ "display_interp", 1 ],
+ [ "scrollable", 0 ],
+ [ "color_5", 0.283, 0.606, 0.559, 1 ],
+ [ "autowriteagain", 0 ],
+ [ "color_mode", 0 ],
[ "slot_round", 0 ],
+ [ "empty_slot_color", 0.221327066888467, 0.221327006361825, 0.221327022178404, 1.0 ],
+ [ "color_2", 0.679, 0.405, 0.669, 1 ],
+ [ "bgcolor", 0.125, 0.125, 0.125, 1.0 ],
+ [ "poll_edited", 0 ],
+ [ "timestamp", 0 ],
+ [ "send_name", "none" ],
+ [ "margin", 4 ],
+ [ "autoname", 0 ],
+ [ "text_color", 0.85, 0.85, 0.85, 1.0 ],
+ [ "fontsize", 13 ],
+ [ "recall_passthrough", 1 ],
+ [ "color_4", 0.367, 0.542, 0.712, 1 ],
+ [ "nbslot_edit", 1 ],
+ [ "fontname", "Arial" ],
+ [ "pattrstorage", "mypat" ],
[ "color_1", 0.743, 0.41, 0.501, 1 ],
+ [ "use_uid", 0 ],
+ [ "ui_rename", 0 ],
+ [ "interp_slot_color", 1, 1, 1, 0.8 ],
+ [ "min_rows", 10 ],
[ "color_6", 0.316, 0.616, 0.377, 1 ],
- [ "nbslot_edit", 1 ]
+ [ "menu_mode", 0 ],
+ [ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1.0 ]
],
"filename": "tc.preset",
"id": "obj-1",
@@ -2322,13 +2352,14 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 59.0, 119.0, 1000.0, 755.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -2371,8 +2402,10 @@
{
"box": {
"border": 0,
+ "embed": 0,
"embedstate": [
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1 ],
+ [ "autoname", 0 ],
[ "autowriteagain", 0 ],
[ "bgcolor", 0.125, 0.125, 0.125, 1 ],
[ "bubblesize", 14 ],
@@ -2405,6 +2438,7 @@
[ "spacing", 4 ],
[ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1 ],
[ "text_color", 0.85, 0.85, 0.85, 1 ],
+ [ "timestamp", 0 ],
[ "ui_rename", 1 ],
[ "unique_names", 0 ],
[ "use_uid", 0 ]
@@ -2496,19 +2530,22 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 59.0, 119.0, 584.0, 605.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
"border": 0,
+ "embed": 0,
"embedstate": [
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1 ],
+ [ "autoname", 0 ],
[ "autowriteagain", 0 ],
[ "bgcolor", 0.125, 0.125, 0.125, 1 ],
[ "bubblesize", 14 ],
@@ -2541,6 +2578,7 @@
[ "spacing", 4 ],
[ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1 ],
[ "text_color", 0.85, 0.85, 0.85, 1 ],
+ [ "timestamp", 0 ],
[ "ui_rename", 0 ],
[ "unique_names", 0 ],
[ "use_uid", 0 ]
@@ -2755,13 +2793,14 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 59.0, 119.0, 1000.0, 755.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -2798,13 +2837,14 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 439.0, 167.0, 640.0, 480.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -3064,8 +3104,10 @@
{
"box": {
"border": 0,
+ "embed": 0,
"embedstate": [
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1 ],
+ [ "autoname", 0 ],
[ "autowriteagain", 0 ],
[ "bgcolor", 0.125, 0.125, 0.125, 1 ],
[ "bubblesize", 14 ],
@@ -3098,6 +3140,7 @@
[ "spacing", 4 ],
[ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1 ],
[ "text_color", 0.85, 0.85, 0.85, 1 ],
+ [ "timestamp", 0 ],
[ "ui_rename", 1 ],
[ "unique_names", 0 ],
[ "use_uid", 0 ]
@@ -3218,14 +3261,15 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 0.0, 26.0, 900.0, 622.0 ],
"showontab": 1,
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -3323,8 +3367,10 @@
{
"box": {
"border": 0,
+ "embed": 0,
"embedstate": [
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1 ],
+ [ "autoname", 0 ],
[ "autowriteagain", 0 ],
[ "bgcolor", 0.125, 0.125, 0.125, 1 ],
[ "bubblesize", 14 ],
@@ -3357,6 +3403,7 @@
[ "spacing", 4 ],
[ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1 ],
[ "text_color", 0.85, 0.85, 0.85, 1 ],
+ [ "timestamp", 0 ],
[ "ui_rename", 1 ],
[ "unique_names", 0 ],
[ "use_uid", 0 ]
@@ -3398,6 +3445,7 @@
{
"box": {
"border": 0,
+ "embed": 0,
"filename": "helpname.js",
"id": "obj-4",
"ignoreclick": 1,
@@ -3425,7 +3473,7 @@
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 668.0, 50.0, 231.0, 91.0 ],
+ "patching_rect": [ 667.0, 65.0, 231.0, 91.0 ],
"text": "...and: bgcolor, empty_slot_color, stored_slot_color, interp_slot_color, active_slot_color, fontname, fontsize, text_bg_color, text_color\n(see the tc.preset attributes in the inspector or in its Reference page)"
}
},
@@ -3640,15 +3688,44 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
- "rect": [ 322.0, 126.0, 900.0, 622.0 ],
+ "rect": [ 0.0, 26.0, 900.0, 622.0 ],
"showontab": 1,
+ "integercoordinates": 1,
"boxes": [
+ {
+ "box": {
+ "bubble": 1,
+ "bubbleside": 3,
+ "id": "obj-13",
+ "linecount": 3,
+ "maxclass": "comment",
+ "numinlets": 1,
+ "numoutlets": 0,
+ "patching_rect": [ 128.5, 561.0, 485.0, 51.0 ],
+ "text": "You can always access all preset info as a dictionary from the objects rightmost outlet, but also remotely from a [receive] named \"_presets_dict\". Presets are accessible either by their uid or their slot number."
+ }
+ },
+ {
+ "box": {
+ "bubble": 1,
+ "bubble_bgcolor": [ 0.388235294117647, 0.172549019607843, 0.172549019607843, 1.0 ],
+ "bubbleside": 2,
+ "id": "obj-28",
+ "linecount": 7,
+ "maxclass": "comment",
+ "numinlets": 1,
+ "numoutlets": 0,
+ "patching_rect": [ 548.0, 148.0, 288.0, 119.0 ],
+ "text": "For color modes 2 and 3, use_uid and timestamp to work, you need to add a pattr object named 'preset_metadata' to your patch. If using subscribe mode, make sure to add preset_metadata to the pattrstorage's subscribe list.\nPreset color data will be stored just like your other parameters.",
+ "textcolor": [ 0.815686274509804, 0.815686274509804, 0.815686274509804, 1.0 ]
+ }
+ },
{
"box": {
"id": "obj-2",
@@ -3656,7 +3733,7 @@
"numinlets": 1,
"numoutlets": 3,
"outlettype": [ "", "", "" ],
- "patching_rect": [ 614.0, 312.0, 156.0, 22.0 ],
+ "patching_rect": [ 614.0, 340.0, 156.0, 22.0 ],
"saved_object_attributes": {
"legacy": 0
},
@@ -3683,15 +3760,14 @@
{
"box": {
"bubble": 1,
- "bubblepoint": 0.37,
"bubbleside": 2,
"id": "obj-40",
- "linecount": 5,
+ "linecount": 6,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 591.5, 146.0, 249.0, 93.0 ],
- "text": "When enabled, each stored preset gets a unique identifier, following the preset when it gets renamed, moved and overwritten. This can be useful when doing some complex preset management."
+ "patching_rect": [ 299.0, 374.0, 288.0, 106.0 ],
+ "text": "Additional info can be stored in preset_metadata:\n- uid: unique identifier, following the preset when it gets renamed, moved and overwritten. Useful when doing some complex preset management.\n- timestamp: remember when your preset was created/modified!"
}
},
{
@@ -3702,7 +3778,7 @@
"numoutlets": 3,
"outlettype": [ "", "", "" ],
"patching_rect": [ 636.0, 16.0, 40.0, 22.0 ],
- "restore": [ -0.23, -0.5700000000000001, 0.26, 0.02, 0.72, -0.18, -0.46, 0.4, 0.16, -0.92, 0.77, 0.9500000000000001, -0.37, 0.25, -0.07, -0.38 ],
+ "restore": [ -0.31, 0.15, 0.08, -0.77, 0.62, 0.19, -0.35000000000000003, 0.9, 0.87, 0.92, -0.16, -0.7000000000000001, 0.11, 0.31, -0.09, -0.77 ],
"saved_object_attributes": {
"parameter_enable": 0,
"parameter_mappable": 0
@@ -3734,24 +3810,13 @@
"text": "Some data to store"
}
},
- {
- "box": {
- "id": "obj-21",
- "maxclass": "newobj",
- "numinlets": 0,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 614.0, 280.0, 119.0, 22.0 ],
- "text": "r colors_presets_dict"
- }
- },
{
"box": {
"id": "obj-22",
"maxclass": "dict.view",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 614.0, 345.0, 253.0, 267.0 ]
+ "patching_rect": [ 614.0, 378.0, 248.5, 234.0 ]
}
},
{
@@ -3764,13 +3829,14 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 703.0, 163.0, 460.0, 440.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -3779,7 +3845,7 @@
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 188.0, 419.0, 206.0, 47.0 ],
+ "patching_rect": [ 188.0, 377.0, 206.0, 47.0 ],
"text": "If you move presets around, or write presets to disk and read them back later, colors will still be here."
}
},
@@ -3790,7 +3856,7 @@
"numinlets": 1,
"numoutlets": 1,
"outlettype": [ "" ],
- "patching_rect": [ 141.0, 370.0, 98.0, 22.0 ],
+ "patching_rect": [ 141.0, 328.0, 98.0, 22.0 ],
"text": "prepend setcolor"
}
},
@@ -3801,7 +3867,7 @@
"numinlets": 1,
"numoutlets": 2,
"outlettype": [ "int", "bang" ],
- "patching_rect": [ 141.0, 270.0, 29.5, 22.0 ],
+ "patching_rect": [ 141.0, 228.0, 29.5, 22.0 ],
"text": "t i b"
}
},
@@ -3816,13 +3882,14 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 59.0, 119.0, 640.0, 480.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -3945,7 +4012,7 @@
}
]
},
- "patching_rect": [ 156.0, 303.0, 92.0, 22.0 ],
+ "patching_rect": [ 156.0, 261.0, 92.0, 22.0 ],
"text": "p random_color"
}
},
@@ -3956,7 +4023,7 @@
"numinlets": 2,
"numoutlets": 3,
"outlettype": [ "bang", "bang", "int" ],
- "patching_rect": [ 119.0, 244.0, 41.0, 22.0 ],
+ "patching_rect": [ 119.0, 202.0, 41.0, 22.0 ],
"text": "uzi 20"
}
},
@@ -3966,7 +4033,7 @@
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 161.0, 169.0, 175.0, 20.0 ],
+ "patching_rect": [ 161.0, 127.0, 175.0, 20.0 ],
"text": "Set selected preset color to red"
}
},
@@ -3976,7 +4043,7 @@
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 121.0, 129.0, 123.0, 20.0 ],
+ "patching_rect": [ 121.0, 87.0, 123.0, 20.0 ],
"text": "Change preset colors"
}
},
@@ -3987,7 +4054,7 @@
"numinlets": 2,
"numoutlets": 1,
"outlettype": [ "" ],
- "patching_rect": [ 52.0, 167.0, 104.0, 22.0 ],
+ "patching_rect": [ 52.0, 125.0, 104.0, 22.0 ],
"text": "setcolor 1. 0. 0. 1."
}
},
@@ -3998,7 +4065,7 @@
"numinlets": 5,
"numoutlets": 1,
"outlettype": [ "" ],
- "patching_rect": [ 141.0, 338.0, 97.0, 22.0 ],
+ "patching_rect": [ 141.0, 296.0, 97.0, 22.0 ],
"text": "pack 0 0. 0. 0. 1."
}
},
@@ -4010,7 +4077,7 @@
"numoutlets": 1,
"outlettype": [ "bang" ],
"parameter_enable": 0,
- "patching_rect": [ 119.0, 207.0, 24.0, 24.0 ]
+ "patching_rect": [ 119.0, 165.0, 24.0, 24.0 ]
}
},
{
@@ -4019,7 +4086,7 @@
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 149.0, 209.0, 265.0, 20.0 ],
+ "patching_rect": [ 149.0, 167.0, 265.0, 20.0 ],
"text": "Set a random color for the first 20 presets"
}
},
@@ -4029,7 +4096,7 @@
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 142.0, 70.0, 163.0, 20.0 ],
+ "patching_rect": [ 142.0, 28.0, 163.0, 20.0 ],
"text": "Set color mode to 3 (custom)"
}
},
@@ -4040,7 +4107,7 @@
"numinlets": 2,
"numoutlets": 1,
"outlettype": [ "" ],
- "patching_rect": [ 26.0, 69.0, 81.0, 22.0 ],
+ "patching_rect": [ 26.0, 27.0, 81.0, 22.0 ],
"text": "color_mode 3"
}
},
@@ -4050,7 +4117,7 @@
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 26.0, 439.0, 81.0, 22.0 ],
+ "patching_rect": [ 26.0, 397.0, 81.0, 22.0 ],
"text": "s to_tc.preset"
}
},
@@ -4068,7 +4135,7 @@
"numoutlets": 3,
"outlettype": [ "", "", "int" ],
"parameter_enable": 0,
- "patching_rect": [ 115.0, 70.0, 20.0, 20.0 ],
+ "patching_rect": [ 115.0, 28.0, 20.0, 20.0 ],
"rounded": 60.0,
"text": "1",
"textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ]
@@ -4088,7 +4155,7 @@
"numoutlets": 3,
"outlettype": [ "", "", "int" ],
"parameter_enable": 0,
- "patching_rect": [ 161.0, 432.5, 20.0, 20.0 ],
+ "patching_rect": [ 161.0, 391.0, 20.0, 20.0 ],
"rounded": 60.0,
"text": "3",
"textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ]
@@ -4108,7 +4175,7 @@
"numoutlets": 3,
"outlettype": [ "", "", "int" ],
"parameter_enable": 0,
- "patching_rect": [ 94.0, 129.0, 20.0, 20.0 ],
+ "patching_rect": [ 94.0, 87.0, 20.0, 20.0 ],
"rounded": 60.0,
"text": "2",
"textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ]
@@ -4184,7 +4251,7 @@
}
]
},
- "patching_rect": [ 226.0, 181.0, 94.0, 22.0 ],
+ "patching_rect": [ 237.0, 261.0, 94.0, 22.0 ],
"text": "p custom_mode"
}
},
@@ -4195,7 +4262,7 @@
"numinlets": 0,
"numoutlets": 1,
"outlettype": [ "" ],
- "patching_rect": [ 205.5, 340.0, 79.0, 22.0 ],
+ "patching_rect": [ 209.5, 309.0, 79.0, 22.0 ],
"text": "r to_tc.preset"
}
},
@@ -4209,13 +4276,14 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 703.0, 163.0, 481.0, 436.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -4495,7 +4563,7 @@
}
]
},
- "patching_rect": [ 127.0, 181.0, 87.0, 22.0 ],
+ "patching_rect": [ 144.0, 261.0, 87.0, 22.0 ],
"text": "p select_mode"
}
},
@@ -4507,8 +4575,8 @@
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 327.0, 174.0, 160.0, 37.0 ],
- "text": "Open these subpatchers to get more info"
+ "patching_rect": [ 336.0, 254.0, 193.0, 37.0 ],
+ "text": "Open these subpatchers to get more info about color modes"
}
},
{
@@ -4521,13 +4589,14 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 724.0, 259.0, 378.0, 380.0 ],
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -4556,7 +4625,7 @@
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 44.0, 14.0, 321.0, 100.0 ],
+ "patching_rect": [ 44.0, 14.0, 323.0, 100.0 ],
"text": "The color wheel is a set of six colors used in color_mode 1 (cycle) and 2 (select).\n\nYou can change each of the 6 colors from the color wheel either by using color_1 to color_6 messages, either by using a generic color_wheel message, or directly in the inspector when selecting the tc.preset object."
}
},
@@ -4662,25 +4731,10 @@
}
]
},
- "patching_rect": [ 33.0, 181.0, 83.0, 22.0 ],
+ "patching_rect": [ 54.0, 261.0, 83.0, 22.0 ],
"text": "p color_wheel"
}
},
- {
- "box": {
- "bubble": 1,
- "bubble_bgcolor": [ 0.38823529411764707, 0.17254901960784313, 0.17254901960784313, 1.0 ],
- "bubbleside": 2,
- "id": "obj-28",
- "linecount": 4,
- "maxclass": "comment",
- "numinlets": 1,
- "numoutlets": 0,
- "patching_rect": [ 182.0, 231.5, 393.0, 79.0 ],
- "text": "For color modes 2 and 3, and use_uid to work, you need to add a pattr object named 'preset_metadata' to your patch. If using subscribe mode, make sure to add preset_metadata to the pattrstorage's subscribe list.\nPreset color data will be stored just like your other parameters.",
- "textcolor": [ 0.8156862745098039, 0.8156862745098039, 0.8156862745098039, 1.0 ]
- }
- },
{
"box": {
"id": "obj-6",
@@ -4688,8 +4742,8 @@
"numinlets": 1,
"numoutlets": 3,
"outlettype": [ "", "", "" ],
- "patching_rect": [ 319.0, 312.5, 126.0, 22.0 ],
- "restore": [ "{\"color\":[0,0.502,0.502,0.502,1],\"uid\":\"44918fd8-bfef-42ee-87ed-13929dc21d32\"}" ],
+ "patching_rect": [ 629.0, 269.0, 126.0, 22.0 ],
+ "restore": [ "{\"uid\":\"mr0o8lc56u8go\",\"created\":\"2026-06-30T13:17:24.869Z\",\"modified\":\"2026-06-30T13:17:24.869Z\"}" ],
"saved_object_attributes": {
"parameter_enable": 0,
"parameter_mappable": 0
@@ -4710,14 +4764,26 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 574.0, 280.0, 640.0, 480.0 ],
+ "integercoordinates": 1,
"boxes": [
+ {
+ "box": {
+ "id": "obj-7",
+ "maxclass": "button",
+ "numinlets": 1,
+ "numoutlets": 1,
+ "outlettype": [ "bang" ],
+ "parameter_enable": 0,
+ "patching_rect": [ 50.0, 96.0, 24.0, 24.0 ]
+ }
+ },
{
"box": {
"id": "obj-10",
@@ -4795,17 +4861,6 @@
"text": "zl.group 16"
}
},
- {
- "box": {
- "id": "obj-1",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "patching_rect": [ 50.0, 98.0, 54.0, 22.0 ],
- "text": "deferlow"
- }
- },
{
"box": {
"id": "obj-12",
@@ -4828,17 +4883,6 @@
"text": "uzi 26"
}
},
- {
- "box": {
- "id": "obj-7",
- "maxclass": "newobj",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "bang" ],
- "patching_rect": [ 50.0, 65.0, 58.0, 22.0 ],
- "text": "loadbang"
- }
- },
{
"box": {
"id": "obj-6",
@@ -4863,12 +4907,6 @@
}
],
"lines": [
- {
- "patchline": {
- "destination": [ "obj-11", 0 ],
- "source": [ "obj-1", 0 ]
- }
- },
{
"patchline": {
"destination": [ "obj-13", 0 ],
@@ -4931,7 +4969,7 @@
},
{
"patchline": {
- "destination": [ "obj-1", 0 ],
+ "destination": [ "obj-11", 0 ],
"source": [ "obj-7", 0 ]
}
},
@@ -4943,15 +4981,17 @@
}
]
},
- "patching_rect": [ 289.5, 340.0, 34.0, 22.0 ],
+ "patching_rect": [ 232.0, 340.0, 34.0, 22.0 ],
"text": "p init"
}
},
{
"box": {
"border": 0,
+ "embed": 0,
"embedstate": [
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1 ],
+ [ "autoname", 0 ],
[ "autowriteagain", 0 ],
[ "bgcolor", 0.125, 0.125, 0.125, 1 ],
[ "bubblesize", 14 ],
@@ -4984,6 +5024,7 @@
[ "spacing", 4 ],
[ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1 ],
[ "text_color", 0.85, 0.85, 0.85, 1 ],
+ [ "timestamp", 1 ],
[ "ui_rename", 0 ],
[ "unique_names", 0 ],
[ "use_uid", 1 ]
@@ -5011,30 +5052,24 @@
"id": "obj-4",
"ignoreclick": 1,
"jsarguments": [ "tc.preset" ],
- "maxclass": "v8ui",
+ "maxclass": "jsui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [ "" ],
"parameter_enable": 0,
- "patching_rect": [ 10.0, 10.0, 188.2880096435547, 57.599853515625 ],
- "textfile": {
- "filename": "helpname.js",
- "flags": 0,
- "embed": 0,
- "autowatch": 1
- }
+ "patching_rect": [ 10.0, 10.0, 188.2880096435547, 57.599853515625 ]
}
},
{
"box": {
"fontsize": 13.0,
"id": "obj-113",
- "linecount": 4,
+ "linecount": 6,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
- "patching_rect": [ 10.0, 64.0, 470.0, 65.0 ],
- "text": "When color_mode is set to 1 (Cycle), stored presets are shown in colors from color_1 to color_6, cyclically depending on their slot number.\nIn mode 2 (Select), you can freely choose one of the 6 colors for each preset.\nIn mode 3 (Custom), you are free to set any color in rgba format for any preset."
+ "patching_rect": [ 10.0, 64.0, 470.0, 94.0 ],
+ "text": "When color_mode is set to 1 (Cycle), stored presets are shown in colors from color_1 to color_6, cyclically depending on their slot number.\nIn mode 2 (Select), you can freely choose one of the 6 colors for each preset.\nIn mode 3 (Custom), you are free to set any color in rgba format for any preset.\nIn modes 2 and 3, colors are stored in a special pattr that must be named \"preset_metada\", which can be used to store other info."
}
},
{
@@ -5047,7 +5082,7 @@
"numinlets": 1,
"numoutlets": 1,
"outlettype": [ "" ],
- "patching_rect": [ 10.0, 342.0, 189.0, 22.0 ],
+ "patching_rect": [ 10.0, 309.0, 189.0, 22.0 ],
"saved_object_attributes": {
"client_rect": [ 100, 172, 596, 755 ],
"parameter_enable": 0,
@@ -5062,97 +5097,42 @@
"box": {
"attr": "color_mode",
"id": "obj-11",
+ "lock": 1,
"maxclass": "attrui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [ "" ],
"parameter_enable": 0,
- "patching_rect": [ 58.0, 144.0, 225.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_1",
- "id": "obj-13",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 378.0, 150.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_2",
- "id": "obj-16",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 404.0, 150.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_3",
- "id": "obj-17",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 428.0, 150.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_4",
- "id": "obj-18",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 452.0, 150.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_5",
- "id": "obj-19",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 476.0, 150.0, 22.0 ]
- }
- },
- {
- "box": {
- "attr": "color_6",
- "id": "obj-20",
- "maxclass": "attrui",
- "numinlets": 1,
- "numoutlets": 1,
- "outlettype": [ "" ],
- "parameter_enable": 0,
- "patching_rect": [ 288.0, 500.0, 150.0, 22.0 ]
+ "patching_rect": [ 38.0, 222.0, 149.0, 22.0 ],
+ "text_width": 73.0
}
},
{
"box": {
"attr": "use_uid",
"id": "obj-23",
+ "lock": 1,
"maxclass": "attrui",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [ "" ],
"parameter_enable": 0,
- "patching_rect": [ 614.0, 245.0, 87.0, 22.0 ],
- "text_width": 64.0
+ "patching_rect": [ 355.0, 476.0, 75.0, 22.0 ],
+ "text_width": 53.0
+ }
+ },
+ {
+ "box": {
+ "attr": "timestamp",
+ "id": "obj-7",
+ "lock": 1,
+ "maxclass": "attrui",
+ "numinlets": 1,
+ "numoutlets": 1,
+ "outlettype": [ "" ],
+ "parameter_enable": 0,
+ "patching_rect": [ 446.0, 476.0, 97.0, 22.0 ],
+ "text_width": 73.0
}
}
],
@@ -5163,6 +5143,13 @@
"source": [ "obj-1", 0 ]
}
},
+ {
+ "patchline": {
+ "destination": [ "obj-2", 0 ],
+ "midpoints": [ 256.5, 534.0, 600.0, 534.0, 600.0, 336.0, 623.5, 336.0 ],
+ "source": [ "obj-10", 4 ]
+ }
+ },
{
"patchline": {
"destination": [ "obj-27", 0 ],
@@ -5175,36 +5162,6 @@
"source": [ "obj-11", 0 ]
}
},
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-13", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-16", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-17", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-18", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
- "source": [ "obj-19", 0 ]
- }
- },
{
"patchline": {
"destination": [ "obj-22", 0 ],
@@ -5214,18 +5171,7 @@
{
"patchline": {
"destination": [ "obj-10", 0 ],
- "source": [ "obj-20", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-2", 0 ],
- "source": [ "obj-21", 0 ]
- }
- },
- {
- "patchline": {
- "destination": [ "obj-10", 0 ],
+ "midpoints": [ 364.5, 501.0, 276.0, 501.0, 276.0, 371.0, 19.5, 371.0 ],
"source": [ "obj-23", 0 ]
}
},
@@ -5247,6 +5193,13 @@
"destination": [ "obj-39", 0 ],
"source": [ "obj-38", 1 ]
}
+ },
+ {
+ "patchline": {
+ "destination": [ "obj-10", 0 ],
+ "midpoints": [ 455.5, 501.0, 276.0, 501.0, 276.0, 371.0, 19.5, 371.0 ],
+ "source": [ "obj-7", 0 ]
+ }
}
]
},
@@ -5265,8 +5218,8 @@
"fileversion": 1,
"appversion": {
"major": 9,
- "minor": 1,
- "revision": 2,
+ "minor": 2,
+ "revision": 0,
"architecture": "x64",
"modernui": 1
},
@@ -5275,6 +5228,7 @@
"default_fontsize": 13.0,
"gridsize": [ 5.0, 5.0 ],
"showontab": 1,
+ "integercoordinates": 1,
"boxes": [
{
"box": {
@@ -5431,8 +5385,10 @@
{
"box": {
"border": 0,
+ "embed": 0,
"embedstate": [
[ "active_slot_color", 0.618934978328545, 0.744701397656435, 0.953750108255376, 1 ],
+ [ "autoname", 0 ],
[ "autowriteagain", 0 ],
[ "bgcolor", 0.125, 0.125, 0.125, 1 ],
[ "bubblesize", 14 ],
@@ -5465,6 +5421,7 @@
[ "spacing", 4 ],
[ "stored_slot_color", 0.458595350062755, 0.458595237564901, 0.458595266962388, 1 ],
[ "text_color", 0.85, 0.85, 0.85, 1 ],
+ [ "timestamp", 0 ],
[ "ui_rename", 1 ],
[ "unique_names", 0 ],
[ "use_uid", 0 ]
diff --git a/javascript/tc.preset.js b/javascript/tc.preset.js
index f32e213..6f72b74 100644
--- a/javascript/tc.preset.js
+++ b/javascript/tc.preset.js
@@ -823,7 +823,7 @@ function resolve_metadata_pattr_alias() {
resolve_metadata_pattr_alias.local = 1;
function get_metadata_pattr_address() {
- is_listening_to_clientlist = is_listening_to_clientlist === 2 ? 2 : 1; // 2 if setting color mode, 1 otherwise
+ is_listening_to_clientlist = is_listening_to_clientlist > 1 ? is_listening_to_clientlist : 1; // 3 if setting timestamp, 2 if setting color mode, 1 otherwise
to_pattrstorage("getclientlist");
}
get_metadata_pattr_address.local = 1;
@@ -2336,7 +2336,7 @@ function setcolor_mode(v){
color_mode = v;
paint_base();
} else {
- error("Connection with [pattr preset_metadata lost\n");
+ error("Connection with [pattr preset_metadata] lost\n");
metadata_pattr = null;
}
} else {
@@ -2496,9 +2496,15 @@ setuse_uid.local = 1;
declareattribute("timestamp", null, "settimestamp", 1, {style: "onoff", label: "Generate timestamp metadata"});
function settimestamp(v){
var new_val = v === 1;
- if (new_val && !use_uid) {
- error("timestamp requires use_uid to be enabled");
- new_val = false;
+ if (new_val) {
+ if (metadata_pattr == null) {
+ is_listening_to_clientlist = 3;
+ connect_to_metadata_pattr();
+ } else if (!metadata_pattr.valid) {
+ error("Connection with [pattr preset_metadata] lost\n");
+ metadata_pattr = null;
+ new_val = 0;
+ }
}
timestamp = new_val;
}