21 Commits

Author SHA1 Message Date
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
d57b71990b new move message, closes #3 ; further ui feedback improvement ; version bump 2025-10-10 20:52:48 +02:00
10 changed files with 6485 additions and 6403 deletions

View File

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

View File

@@ -72,6 +72,13 @@
With no argument, it resets colors for the select preset to default values. With no argument, it resets colors for the select preset to default values.
</description> </description>
</method> </method>
<method name="move">
<digest>Move a preset to another slot</digest>
<description> The word move followed by two integers move the stored preset located in the slot designaded by the first integer to the slot designated by the second integer.
This is the message equivalent of dragging a preset with the mouse.
If a preset gets moved to a slot with another existing preset, that preset and the subsequent ones will be offset by 1 slot.
</description>
</method>
<method name="pattrstorage"> <method name="pattrstorage">
<digest>Link to named pattrstorage object</digest> <digest>Link to named pattrstorage object</digest>
<description>The word 'pattrstorage' followed by the name of an existing pattrstorage links the jsui to that pattrstorage. <description>The word 'pattrstorage' followed by the name of an existing pattrstorage links the jsui to that pattrstorage.

View File

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"pattrstorage": { "pattrstorage": {
"name": "test", "name": "tcpreset_help",
"slots": { "slots": {
"1": { "1": {
"id": 1, "id": 1,
@@ -36,6 +36,13 @@
"data": { "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 ] "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 ]
} }
},
"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 ]
}
} }
} }
} }

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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