47 Commits

Author SHA1 Message Date
15fece4b80 fix object not being resized if created in presentation mode 2026-07-20 10:44:48 +02:00
0d03fb4979 fix regression where a blank tc.preset wouldn't get properly initalized.
Fix text_bg_color not being set properly
2026-07-20 10:22:47 +02:00
eb89d37a7c prevents some uneeded redraws in v8ui 2026-07-16 16:56:34 +02:00
ac39f1ac4d update readme 2026-07-15 21:27:08 +02:00
7146d26a57 helpfile update 2026-07-15 20:23:27 +02:00
074c23523d bring back bubble when moving slot 2026-07-15 20:14:25 +02:00
514f6fd417 reworked interactions with a "modifier" state; click interactions still
possible when drag_mode enabled; display a cross when about to delete
2026-07-15 20:11:59 +02:00
1cf0d247f3 Add more presets to helpfile 2026-07-15 19:06:27 +02:00
3b10eef0c8 version bump; fix error in in-line interp mode 2026-07-14 16:40:30 +02:00
e5d871456e add interp_mode, change drag_mode behavior, add option hold to switch
between drag modes, change interp multi for gaussian distribution, doc
update
2026-07-14 16:34:04 +02:00
08f97d61de dbap interp rolloff algo 2026-07-13 16:45:19 +02:00
b3aed4c39a add store_passthrough 2026-07-10 09:35:23 +02:00
ddc5dcc162 make drag_mode 2 compatible with list layout; weighted interp for
drag_mode 3; small fixes
2026-07-09 21:20:54 +02:00
ae02cdbf7c removed useless attribute getters 2026-07-09 13:49:24 +02:00
bc3a4b31e7 bug fix 2026-07-09 13:23:24 +02:00
589c97b56b add drag_interp_radius attribute, defaults to 1. 2026-07-09 12:20:29 +02:00
3a8d893e5a inline interp + multi interp modes working 2026-07-09 11:59:57 +02:00
bcfeb98af9 1st attempt to drag-to-interp 2026-07-08 22:04:26 +02:00
e7aa6c789f prevent some interpolation from being incorrectly displayed. Fixes #5 2026-07-08 17:40:41 +02:00
e2f2843dc0 version bump 2026-07-08 13:35:49 +02:00
41022fecc8 add click_mode 2026-07-08 13:32:56 +02:00
1c109df629 update readme 2026-06-30 16:55:07 +02:00
d71d15c8f4 reduce redraws when resizing 2026-06-30 16:47:08 +02:00
6c98714971 update doc and help file 2026-06-30 16:06:05 +02:00
dabb81f8e4 prevent storing preset when clicking an empty slot with shift+ctrl 2026-06-30 14:21:29 +02:00
1897983305 new timestamp attribute, few simplifications/optimization 2026-06-30 14:15:06 +02:00
26e7fd1ca4 1.3.0: new autoname attribute, better unnamed preset handling, no more
"alias must be unique" error", shorter&faster hash generator
2026-06-30 01:49:51 +02:00
5eaa9ca63d bump version number 2026-02-11 09:11:41 +01:00
1b84b07e22 remove text_bg_color attr, set this color automatically based on text_color, remove ability to rename empty slots, bring textedit to front when renaming, minor ui changes 2026-02-11 09:07:51 +01:00
0fa39f185b main colors now fetches current Max theme during object instantiation 2026-01-15 20:45:55 +01:00
627848d872 small ui tweaks for more clarity 2026-01-15 13:58:11 +01:00
7c37e5a0d4 Always display bubble beside currently hovered slot. Add little arrow 2026-01-13 19:13:22 +01:00
18f183f91a slots can now be properly named without being filled ; add 'filled' slot value 2026-01-13 17:53:41 +01:00
5a5f26ce07 update launcher 2026-01-13 10:44:51 +01:00
12b585a6d2 hide preset name when <unnamed> (matchin [preset] behavior) 2026-01-13 10:33:55 +01:00
ca80a6cfe6 doc update 2026-01-13 10:33:15 +01:00
a9322cd2eb build: avoid zipping previous .zip 2025-10-28 19:54:15 +01:00
717fe34acc update presets 2025-10-22 18:46:30 +02:00
76969558ed disable border ; check for textedit at every rename action if not present. 2025-10-22 18:39:24 +02:00
e1d57b0683 textedit: enable nosymquotes 2025-10-22 17:49:49 +02:00
ac2c71a75e version bump 2025-10-22 16:34:46 +02:00
84d986e33d new feature: auto-link to pattrstorage at connection ; hopefully more robust init sequence 2025-10-22 16:27:17 +02:00
a554a531bc update support link 2025-10-22 13:45:23 +02:00
1921d38184 rename test.json to tcpreset_help to avoid possible conflicts ; Max 9 help file: add compatibility tab 2025-10-22 13:44:57 +02:00
032320a646 clear textedit when found 2025-10-22 13:40:30 +02:00
b245cc56e1 slightly improve readability of rename/lock indicators in some cases 2025-10-18 21:59:05 +02:00
fe348b7732 slightly improve textedit font size management 2025-10-14 23:18:39 +02:00
13 changed files with 8890 additions and 6435 deletions

View File

@@ -5,7 +5,8 @@ A [jsui]/[v8ui] replacement for the [preset] object in Cycling'74 Max.
## Features
- Same click + modifier key behavior as the preset object to store and delete presets
- \+ Additional interactions (control+click to rename, shift+control+click to lock/unlock)
- Drag and drop presets to re-organize
- Drag modes : Drag and drop presets to re-organize, or drag through presets to interpolate
- Click modes: set the behavior of single clicks: recall, select without recall, store, delete
- Display presets as a grid or a list
- Scrollable list layout (requires Max 8.6.2)
- Shows active preset even if recalled directly from pattrstorage
@@ -22,6 +23,8 @@ A [jsui]/[v8ui] replacement for the [preset] object in Cycling'74 Max.
- Select mode: simple click selects the slot, double click recalls it (allows for organizing presets without recalling them)
- Color mode: various ways to colorize preset slots
- UID: generate unique identifiers for each preset so you can "follow" them when they're moved, renamed or re-saved. Practical in case of advanced preset management
- Timestamps: automatically save a 'created' and 'modified' date for each preset
...and more!
## How to install
@@ -49,7 +52,7 @@ Consider donating if you like this package.
[![Paypal donation button](https://pics.paypal.com/00/s/YjdhYzU5ZDItYjM0Yi00MGE1LWEzMWEtZGQ2NzVjMDI3MDg2/file.PNG)](https://www.paypal.com/donate/?hosted_button_id=AVGJ5JLTP76K8)
## License
Copyright (C) 2025 Théophile Clet <contact@tflcl.xyz> - https://tflcl.xyz.
Copyright (C) 2026 Théophile Clet <contact@tflcl.xyz> - https://tflcl.xyz.
GPL-3.0-or-later

View File

@@ -31,6 +31,7 @@ copy_files() {
-not -path "*/.*" \
-not -path "./dist/*" \
-not -path "./media/*" \
-not -name "*.zip" \
-not -name "build.sh" | while read -r file; do
# Get filename without path

View File

@@ -128,6 +128,10 @@
<digest>Automatic writeagain</digest>
<description>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.</description>
</attribute>
<attribute name='autoname' get='1' set='1' type='bool' size='1' >
<digest>Autoname new presets</digest>
<description>When enabled, presets stored in an empty slot get attributed a name starting with "Preset" followed by the slot number.</description>
</attribute>
<attribute name='bgcolor' get='1' set='1' type='list' size='4' >
<digest>Background color</digest>
<description>Sets the background color of the object in RGBA format</description>
@@ -136,6 +140,12 @@
<digest>Slot size</digest>
<description>Size of the preset slots</description>
</attribute>
<attribute name='click_mode' get='1' set='1' type='int' size='1' >
<digest>Click Mode</digest>
<description>Sets the behavior of single clicks. When set to 1 (select mode), a single click on a stored preset selects it without recalling it. A double-click is required to recall it. It allows to drag it, set its name and lock state while keeping the last recalled preset active.
Other modes (2, 3) allow to respectively store or delete presets with single clicks.
</description>
</attribute>
<attribute name='color_mode' get='1' set='1' type='int' size='1' >
<digest>Color mode</digest>
<description>When set to 0, all preset slots have the same color (same as the preset object) defined by the stored_slot_color attribute.
@@ -143,7 +153,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]
</description>
</attribute>
<attribute name='color_1' get='1' set='1' type='list' size='4' >
@@ -175,6 +185,11 @@
<description>When set to 1, the jsui will display the ongoing interpolation between presets when a recall message with three arguments or a recallmulti message with at least one argument are sent to the linked pattrstorage.
Notice that the recallmutli message needs to be sent both the pattrstorage and the jsui.</description>
</attribute>
<attribute name='drag_mode' get='1' set='1' type='int' size='1' >
<digest>Drag Mode</digest>
<description>Sets the behavior of click+drag interactions. 0 disables them, 1 (default) allows to move presets around, while 2 interpolates through presets, according to interp_mode. You can temporarily switch between modes 1 and 2 by holding option/alt.
</description>
</attribute>
<attribute name='edited_color' get='1' set='1' type='list' size='4' >
<digest>Edited Dot Color</digest>
<description>Defines the color of the dot shown on top of a slot when the corresponding preset is edited. See poll_edited attribute.</description>
@@ -183,6 +198,17 @@
<digest>Empty slot color</digest>
<description>Sets the empty slot color of the object in RGBA format</description>
</attribute>
<attribute name='interp_mode' get='1' set='1' type='int' size='1' >
<digest>Interpolation mode</digest>
<description>Defines the interpolation behavior occuring when click+dragging while drag_mode is set to 2. If 0 (disabled), nothing happens. If 1 (in-line interp), interpolation happens across adjacent presets, even if separated by empty slots. In mode 2 (multi interp), presets are interpolated using recallmulti pattrstorage feature. The closest a preset is from the mouse cursor, the more it will be weighted, according to a gaussian distribution. See interp_multi_radius to change the way distance from mouse affects the weight.
If recall_passthrough is disabled, recall and recallmulti messages generated by dragging interactions are sent to tc.preset leftmost outlet only, letting the user to trigger custom logic before potentially re-routing them toward pattrstorage (recall) or both pattrstorage and tc.preset (recallmulti).
</description>
</attribute>
<attribute name='interp_multi_radius' get='1' set='1' type='float' size='1' >
<digest>Interp_multi Radius</digest>
<description> Defines how distance between a preset and the mouse affects the weight of that preset when interpolating using interp_mode 2. A value of 3 means that all filled preset slots closer than roughly 3 slots in the presets grid will be part of the generated recallmulti message.
</description>
</attribute>
<attribute name='layout' get='1' set='1' type='int' size='1' >
<digest>How presets are displayed</digest>
<description>When set to 0, the jsui mimics the default preset object: slots are displayed in a grid. When set to 1, they are displayed as a vertical list, with the preset slots on the left and their name on the right.</description>
@@ -217,7 +243,7 @@
</attribute>
<attribute name='recall_passthrough' get='1' set='1' type='bool' size='1' >
<digest>Send recall messages to pattrstorage directly</digest>
<description>When enabled (default) recall messages triggered by clicking filled slots in tc.preset are sent directly to [pattrstorage]. When disabled, these recall messages are sent out of [tc.preset] left outlet and it's up to the user to pass them to [pattrstorage]. It can be usefull for triggering interpolations with custom logic.</description>
<description>When enabled (default) recall messages triggered by clicking filled slots in tc.preset, or recall and recallmulti messages resulting from a dragging interaction with drag_mode set to 2, are sent directly to [pattrstorage]. When disabled, these recall/recallmulti messages are sent out of tc.prese] left outlet and it's up to the user to pass them to [pattrstorage].</description>
</attribute>
<attribute name='scrollable' get='1' set='1' type='bool' size='1' >
<digest>Scroll through your presets</digest>
@@ -226,10 +252,16 @@
</attribute>
<attribute name='select_mode' get='1' set='1' type='int' size='1' >
<digest>Preset selection mode</digest>
<description>When set to 1, a single click on a stored preset selects it without recalling it. It allows to drag it, set its name and lock state while keeping the last recalled preset active.
<description>(Depreciated, will be removed in next major version. Use click_mode instead) When set to 1, a single click on a stored preset selects it without recalling it. It allows to drag it, set its name and lock state while keeping the last recalled preset active.
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).
</description>
</attribute>
<attribute name='send_name' get='1' set='1' type='symbol' size='1' >
<digest>Send dictionary to </digest>
<description>
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 &lt;pattrstorage_name&gt;_presets_dict
</description>
</attribute>
<attribute name='slot_round' get='1' set='1' type='float' size='1' >
<digest>Slot corner rounding</digest>
<description>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 +276,10 @@
<digest>Stored slot color</digest>
<description>Sets the stored preset color of the object in RGBA format</description>
</attribute>
<attribute name='timestamp' get='1' set='1' type='bool' size='1' >
<digest>Generate timestamp metadata</digest>
<description>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]</description>
</attribute>
<attribute name='ui_rename' get='1' set='1' type='bool' size='1' >
<digest>Rename slots in UI</digest>
<description>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.</description>
@@ -254,7 +290,7 @@
</attribute>
<attribute name='use_uid' get='1' set='1' type='bool' size='1' >
<digest>Generate unique identifiers for each stored preset</digest>
<description>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.</description>
<description>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.</description>
</attribute>
</attributelist>

View File

@@ -1,202 +1,253 @@
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 9,
"minor" : 1,
"revision" : 0,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 371.0, 273.0, 483.0, 443.0 ],
"gridsize" : [ 15.0, 15.0 ],
"toolbarvisible" : 0,
"lefttoolbarpinned" : 2,
"toptoolbarpinned" : 2,
"righttoolbarpinned" : 2,
"bottomtoolbarpinned" : 2,
"toolbars_unpinned_last_save" : 15,
"enablehscroll" : 0,
"enablevscroll" : 0,
"assistshowspatchername" : 0,
"commentary" : "",
"showcommentary" : 0,
"boxes" : [ {
"box" : {
"hidden" : 1,
"id" : "obj-17",
"linecount" : 5,
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 9.0, 354.0, 116.0, 76.0 ],
"text" : ";\rmax launchbrowser https://glucose47.gumroad.com/l/tc_preset"
}
}
, {
"box" : {
"id" : "obj-13",
"linecount" : 3,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 166.5, 373.0, 150.0, 47.0 ],
"text" : "GPL 3.0\n© Théophile Clet, 2025\nClick here to support",
"textcolor" : [ 0.0, 0.0, 0.0, 0.5 ],
"textjustification" : 1
}
}
, {
"box" : {
"fontsize" : 16.0,
"id" : "obj-11",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 99.0, 81.0, 285.0, 24.0 ],
"text" : "A jsui replacement for the preset object"
}
}
, {
"box" : {
"embedstate" : [ [ "margin", 4 ], [ "bgcolor", 0.2, 0.2, 0.2, 1 ], [ "scrollable", 0 ], [ "interp_slot_color", 1, 1, 1, 0.8 ], [ "layout", 1 ], [ "color_4", 0.367, 0.542, 0.712, 1 ], [ "autowriteagain", 0 ], [ "display_interp", 1 ], [ "text_bg_color", 1, 1, 1, 0.5 ], [ "select_mode", 0 ], [ "color_mode", 0 ], [ "color_5", 0.283, 0.606, 0.559, 1 ], [ "empty_slot_color", 0.349, 0.349, 0.349, 1 ], [ "ignoreslotzero", 1 ], [ "color_1", 0.743, 0.41, 0.501, 1 ], [ "text_color", 0.129, 0.129, 0.129, 1 ], [ "spacing", 4 ], [ "slot_round", 0 ], [ "color_6", 0.316, 0.616, 0.377, 1 ], [ "active_slot_color", 0.808, 0.898, 0.91, 1 ], [ "menu_mode", 0 ], [ "bubblesize", 14 ], [ "min_rows", 10 ], [ "color_2", 0.679, 0.405, 0.669, 1 ], [ "fontsize", 14 ], [ "send_name", "none" ], [ "stored_slot_color", 0.502, 0.502, 0.502, 1 ], [ "fontname", "Arial" ], [ "color_3", 0.527, 0.459, 0.756, 1 ] ],
"filename" : "tc.preset",
"id" : "obj-8",
"maxclass" : "jsui",
"numinlets" : 1,
"numoutlets" : 4,
"outlettype" : [ "", "", "", "" ],
"parameter_enable" : 0,
"patching_rect" : [ 254.0, 153.0, 130.0, 58.0 ]
}
}
, {
"box" : {
"hidden" : 1,
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 9.0, 301.0, 51.0, 22.0 ],
"text" : "pcontrol"
}
}
, {
"box" : {
"hidden" : 1,
"id" : "obj-6",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 9.0, 274.0, 165.0, 22.0 ],
"text" : "loadunique tc.preset.maxhelp"
}
}
, {
"box" : {
"fontsize" : 20.0,
"id" : "obj-4",
"maxclass" : "textbutton",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "", "", "int" ],
"parameter_enable" : 0,
"patching_rect" : [ 162.0, 282.0, 159.0, 41.0 ],
"text" : "Open helper file"
}
}
, {
"box" : {
"embedstate" : [ [ "margin", 4 ], [ "bgcolor", 0.2, 0.2, 0.2, 1 ], [ "scrollable", 0 ], [ "interp_slot_color", 1, 1, 1, 0.8 ], [ "layout", 0 ], [ "color_4", 0.367, 0.542, 0.712, 1 ], [ "autowriteagain", 0 ], [ "display_interp", 1 ], [ "text_bg_color", 1, 1, 1, 0.5 ], [ "select_mode", 0 ], [ "color_mode", 0 ], [ "color_5", 0.283, 0.606, 0.559, 1 ], [ "empty_slot_color", 0.349, 0.349, 0.349, 1 ], [ "ignoreslotzero", 1 ], [ "color_1", 0.743, 0.41, 0.501, 1 ], [ "text_color", 0.129, 0.129, 0.129, 1 ], [ "spacing", 4 ], [ "slot_round", 0 ], [ "color_6", 0.316, 0.616, 0.377, 1 ], [ "active_slot_color", 0.808, 0.898, 0.91, 1 ], [ "menu_mode", 0 ], [ "bubblesize", 14 ], [ "min_rows", 10 ], [ "color_2", 0.679, 0.405, 0.669, 1 ], [ "fontsize", 14 ], [ "send_name", "none" ], [ "stored_slot_color", 0.502, 0.502, 0.502, 1 ], [ "fontname", "Arial" ], [ "color_3", 0.527, 0.459, 0.756, 1 ] ],
"filename" : "tc.preset",
"id" : "obj-3",
"maxclass" : "jsui",
"numinlets" : 1,
"numoutlets" : 4,
"outlettype" : [ "", "", "", "" ],
"parameter_enable" : 0,
"patching_rect" : [ 99.0, 153.0, 130.0, 58.0 ]
}
}
, {
"box" : {
"fontface" : 1,
"fontsize" : 48.0,
"id" : "obj-2",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 137.0, 16.0, 209.0, 60.0 ],
"text" : "tc.preset",
"textjustification" : 1
}
}
, {
"box" : {
"bgcolor" : [ 0.2, 0.2, 0.2, 0.0 ],
"fontsize" : 20.0,
"id" : "obj-15",
"maxclass" : "textbutton",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "", "", "int" ],
"parameter_enable" : 0,
"patching_rect" : [ 166.5, 373.0, 150.0, 47.0 ],
"text" : "Open helper file",
"textoncolor" : [ 0.807843137254902, 0.898039215686275, 0.909803921568627, 0.0 ],
"textovercolor" : [ 0.929411764705882, 0.929411764705882, 0.352941176470588, 0.0 ]
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-17", 0 ],
"hidden" : 1,
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"hidden" : 1,
"source" : [ "obj-4", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"hidden" : 1,
"source" : [ "obj-6", 0 ]
}
}
],
"dependency_cache" : [ {
"name" : "tc.preset.js",
"bootpath" : "~/Documents/Max 9/Packages/tc.preset/javascript",
"patcherrelativepath" : "../javascript",
"type" : "TEXT",
"implicit" : 1
}
],
"autosave" : 0
}
}
"patcher": {
"fileversion": 1,
"appversion": {
"major": 9,
"minor": 1,
"revision": 2,
"architecture": "x64",
"modernui": 1
},
"classnamespace": "box",
"rect": [ 371.0, 273.0, 483.0, 443.0 ],
"toolbarvisible": 0,
"lefttoolbarpinned": 2,
"toptoolbarpinned": 2,
"righttoolbarpinned": 2,
"bottomtoolbarpinned": 2,
"toolbars_unpinned_last_save": 15,
"enablehscroll": 0,
"enablevscroll": 0,
"boxes": [
{
"box": {
"hidden": 1,
"id": "obj-17",
"linecount": 5,
"maxclass": "message",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [ "" ],
"patching_rect": [ 9.0, 354.0, 144.0, 76.0 ],
"text": ";\rmax launchbrowser https://www.paypal.com/donate/?hosted_button_id=AVGJ5JLTP76K8"
}
},
{
"box": {
"id": "obj-13",
"linecount": 3,
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [ 155.0, 374.0, 173.0, 47.0 ],
"text": "GPL 3.0\n© Théophile Clet, 2024-2026\nClick here to support",
"textcolor": [ 0.0, 0.0, 0.0, 0.5 ],
"textjustification": 1
}
},
{
"box": {
"fontsize": 16.0,
"id": "obj-11",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [ 82.0, 81.0, 319.0, 24.0 ],
"text": "A jsui/v8ui replacement for the preset object"
}
},
{
"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", 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", "" ],
[ "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",
"id": "obj-8",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 5,
"outlettype": [ "", "", "", "", "" ],
"parameter_enable": 0,
"patching_rect": [ 254.0, 153.0, 130.0, 58.0 ]
}
},
{
"box": {
"hidden": 1,
"id": "obj-7",
"maxclass": "newobj",
"numinlets": 1,
"numoutlets": 1,
"outlettype": [ "" ],
"patching_rect": [ 9.0, 301.0, 51.0, 22.0 ],
"text": "pcontrol"
}
},
{
"box": {
"hidden": 1,
"id": "obj-6",
"maxclass": "message",
"numinlets": 2,
"numoutlets": 1,
"outlettype": [ "" ],
"patching_rect": [ 9.0, 274.0, 165.0, 22.0 ],
"text": "loadunique tc.preset.maxhelp"
}
},
{
"box": {
"fontsize": 20.0,
"id": "obj-4",
"maxclass": "textbutton",
"numinlets": 1,
"numoutlets": 3,
"outlettype": [ "", "", "int" ],
"parameter_enable": 0,
"patching_rect": [ 162.0, 282.0, 159.0, 41.0 ],
"text": "Open helper file"
}
},
{
"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", "" ],
[ "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",
"id": "obj-3",
"maxclass": "jsui",
"numinlets": 1,
"numoutlets": 5,
"outlettype": [ "", "", "", "", "" ],
"parameter_enable": 0,
"patching_rect": [ 99.0, 153.0, 130.0, 58.0 ]
}
},
{
"box": {
"fontface": 1,
"fontsize": 48.0,
"id": "obj-2",
"maxclass": "comment",
"numinlets": 1,
"numoutlets": 0,
"patching_rect": [ 137.0, 16.0, 209.0, 60.0 ],
"text": "tc.preset",
"textjustification": 1
}
},
{
"box": {
"bgcolor": [ 0.2, 0.2, 0.2, 0.0 ],
"fontsize": 20.0,
"id": "obj-15",
"maxclass": "textbutton",
"numinlets": 1,
"numoutlets": 3,
"outlettype": [ "", "", "int" ],
"parameter_enable": 0,
"patching_rect": [ 155.0, 374.0, 173.0, 47.0 ],
"text": "Open helper file",
"textoncolor": [ 0.807843137254902, 0.898039215686275, 0.909803921568627, 0.0 ],
"textovercolor": [ 0.929411764705882, 0.929411764705882, 0.352941176470588, 0.0 ]
}
}
],
"lines": [
{
"patchline": {
"destination": [ "obj-17", 0 ],
"hidden": 1,
"source": [ "obj-15", 0 ]
}
},
{
"patchline": {
"destination": [ "obj-6", 0 ],
"hidden": 1,
"source": [ "obj-4", 0 ]
}
},
{
"patchline": {
"destination": [ "obj-7", 0 ],
"hidden": 1,
"source": [ "obj-6", 0 ]
}
}
],
"autosave": 0
}
}

View File

@@ -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 ]
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

98
help/tcpreset_help.json Normal file
View File

@@ -0,0 +1,98 @@
{
"pattrstorage": {
"name": "tcpreset_help",
"slots": {
"1": {
"id": 1,
"name": "up",
"data": {
"u099005226": [ -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 ]
}
},
"2": {
"id": 2,
"name": "down",
"data": {
"u099005226": [ 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 ]
}
},
"3": {
"id": 3,
"name": "sine",
"data": {
"u099005226": [ -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 ]
}
},
"4": {
"id": 4,
"name": "random",
"data": {
"u099005226": [ -0.587301587301587, 0.365079365079365, -0.46031746031746, -0.015873015873016, 0.904761904761905, -0.714285714285714, 0.206349206349206, -0.142857142857143, 0.428571428571429, -0.746031746031746, 0.587301587301587, -0.619047619047619, -0.047619047619048, -0.555555555555556, -0.428571428571429, 0.396825396825397 ]
}
},
"5": {
"id": 5,
"name": "center",
"data": {
"u099005226": [ -0.05128205128205132, -0.02564102564102566, -0.02564102564102566, 0.0, 0.0, 0.07692307692307687, 0.07692307692307687, 0.07692307692307687, 0.0, -0.05128205128205132, -0.02564102564102566, 0.0, 0.0, -0.02564102564102566, -0.05128205128205132, -0.1282051282051282 ]
}
},
"7": {
"id": 7,
"name": "W",
"data": {
"u099005226": [ 1.0, 0.6875, 0.21875, -0.15625, -0.46875, -1.0, -0.65625, -0.1875, 0.09375, -0.1875, -0.59375, -1.0, -0.5625, -0.1875, 0.40625, 1.0 ]
}
},
"8": {
"id": 8,
"name": "mount",
"data": {
"u099005226": [ -1.0, -0.717948717948718, -1.0, -0.542857142857143, -1.0, -0.3589743589743589, -1.0, -0.07692307692307687, -1.0, 0.2564102564102564, -1.0, 0.0, -1.0, -0.33333333333333337, -1.0, -0.6666666666666667 ]
}
},
"9": {
"id": 9,
"name": "alternate",
"data": {
"u099005226": [ -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 ]
}
},
"12": {
"id": 12,
"name": "down_up",
"data": {
"u099005226": [ -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -0.7435897435897436, -0.2564102564102564, 0.41025641025641035, 0.7948717948717949, 0.8205128205128205, 0.9230769230769231, 1.0, 1.0, 1.0, 1.0 ]
}
},
"13": {
"id": 13,
"name": "up_down",
"data": {
"u099005226": [ 0.9487179487179487, 0.9487179487179487, 0.9487179487179487, 0.9487179487179487, 0.9230769230769231, 0.8461538461538463, 0.6923076923076923, 0.1282051282051282, -0.6923076923076923, -0.9230769230769231, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 ]
}
},
"17": {
"id": 17,
"name": "Bell",
"data": {
"u099005226": [ -0.8974358974358975, -0.8461538461538461, -0.6923076923076923, -0.3846153846153846, 0.15384615384615374, 0.5897435897435896, 0.8974358974358974, 0.9743589743589745, 0.8461538461538463, 0.5641025641025641, 0.20512820512820507, -0.1282051282051282, -0.5384615384615384, -0.6923076923076923, -0.8205128205128205, -0.8717948717948718 ]
}
},
"47": {
"id": 47,
"name": "\\ \\ \\",
"data": {
"u099005226": [ 0.8717948717948718, 0.641025641025641, 0.3076923076923077, -0.02564102564102566, -0.6153846153846154, -0.8717948717948718, 1.0, 0.4871794871794872, 0.1282051282051282, -0.17948717948717952, -0.5641025641025641, 0.8205128205128205, 0.4358974358974359, -0.05128205128205132, -0.5128205128205128, -0.7948717948717949 ]
}
},
"48": {
"id": 48,
"name": "/ / /",
"data": {
"u099005226": [ -0.717948717948718, -0.41025641025641024, 0.02564102564102555, 0.46153846153846145, 1.0, -0.641025641025641, -0.2564102564102564, 0.10256410256410264, 0.5128205128205128, 0.8461538461538463, 0.9743589743589745, -0.4871794871794872, -0.02564102564102566, 0.3076923076923077, 0.6666666666666667, 1.0 ]
}
}
}
}
}

View File

@@ -1,42 +0,0 @@
{
"pattrstorage": {
"name": "test",
"slots": {
"1": {
"id": 1,
"name": "up",
"data": {
"u099005226": [ -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 ]
}
},
"2": {
"id": 2,
"name": "down",
"data": {
"u099005226": [ 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 ]
}
},
"3": {
"id": 3,
"name": "sine",
"data": {
"u099005226": [ -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 ]
}
},
"4": {
"id": 4,
"name": "random",
"data": {
"u099005226": [ -0.587301587301587, 0.365079365079365, -0.46031746031746, -0.015873015873016, 0.904761904761905, -0.714285714285714, 0.206349206349206, -0.142857142857143, 0.428571428571429, -0.746031746031746, 0.587301587301587, -0.619047619047619, -0.047619047619048, -0.555555555555556, -0.428571428571429, 0.396825396825397 ]
}
},
"7": {
"id": 7,
"name": "W",
"data": {
"u099005226": [ 1.0, 0.6875, 0.21875, -0.15625, -0.46875, -1.0, -0.65625, -0.1875, 0.09375, -0.1875, -0.59375, -1.0, -0.5625, -0.1875, 0.40625, 1.0 ]
}
}
}
}
}

View File

@@ -1,3 +1,3 @@
max setdefinepackage tc.preset pattrstorage;
max define tc.preset v8ui @filename tc.preset @jsarguments;
max define tc.preset v8ui @filename tc.preset;
max setdefinepackage "" "";

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name" : "tc.preset",
"displayname" : "",
"version" : "1.1.0",
"version" : "1.5.1",
"author" : "Théophile Clet",
"authors" : [ ],
"description" : "A jsui replacement for the preset object",

View File

@@ -1,7 +1,7 @@
{
"name" : "tc.preset",
"displayname" : "",
"version" : "1.1.0",
"version" : "1.5.1",
"author" : "Théophile Clet",
"authors" : [ ],
"description" : "A v8ui replacement for the preset object",
@@ -9,7 +9,7 @@
"website" : "https://github.com/Teufeuleu/tc.preset/",
"extends" : "",
"extensible" : 0,
"max_version_min" : "9.0.7",
"max_version_min" : "9.1.0",
"max_version_max" : "none",
"os" : {
"macintosh" : {