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; }