A jsui replacement for the preset object.
tc.preset is a jsui clone of the preset object, but loaded with more features, such as preset organization through drag and drop, display as a scrollable list, auto-rewrite the saved JSON/XML file after any change.
Contrary to the preset object, tc.preset doesn't work alone and has to be used in conjonction with a pattrstorage object.
Théophile Clet
preset
pattrstorage
jsui
Recall numbered preset
Sending any integer will trigger the preset of the same number
Interpolate between presets
Recalls the data from the preset specified by float. If the number falls between two whole numbers (e.g. 1.5), the pattrstorage object will interpolate between the data stored in the preset corresponding to the integer portion of the float and the data stored at the preset numbered one higher (e.g. 1.5 will cause pattrstorage to interpolate 50% between presets 1 and 2). See the interp message for more information about interpolation modes.
Recall last recalled preset
When a bang is received, the last triggered preset is triggered again.
Define color wheel colors
The message "color_wheel", followed by an integer and four float, defines one of the 6 available slot colors when color_mode is enabled.
The integer argument, between 1 and 6, defines which color in being modified, and next the four floats define the color in the RGBA format.
The message "color_wheel" without argument resets the six colors to their default values.
Set the preset colors
The message "setcolor" allows to set the color of a preset as shown when in color_mode 2 (select) or 3 (custom).
With 1 or 2 integer arguments, it allows to set a preset color as seen in color mode 2. With 4 float arguments or 1 integer followed by 4 floats, it allows to set a preset color for the color mode 3.
With 1 integer argument, the currently selected preset color wheel's color is set to the argument's value.
With two integer arguments, the preset number defined by first argument is set to color wheel's color defined by the second argument.
With 4 float arguments, the currently selected preset is set to a custom color defined by the four arguments (in RGBA format).
With 1 integer followed by 4 float arguments, the preset number defined by first argument is set to a custom color defined by the four arguments (in RGBA format).
The integer argument, between 1 and 6, defines which color in being modifier, and next the four floats define the color in the RGBA format.
Link to named pattrstorage object
The word 'pattrstorage' followed by the name of an existing pattrstorage links the jsui to that pattrstorage.
Make sure that pattrstorage outlet is connected to the jsui left inlet prior to send the message.
If the word `pattrstorage`is sent alone, the jsui is unlinked from any pattrstorage.
Resync the jsui to the pattrstorage
The word 'resync' will repopulate the jsui with the current preset list from the pattrstorage. It is usefull in case you add/remove/edit presets without using the jsui.
Lock or unlock selected preset
The word 'setlock' followed by a 0 or a 1 respectively unlocks or locks the currently selected preset in the jsui.
Note that if select_mode is set to 1, the selected preset is not necessarily the last recalled one.
Set the name of the selected preset
The word 'setslotname' followed by a symbol sets that symbol as the name of the currently selected preset in the jsui.
Note that if select_mode is set to 1, the selected preset is not necessarily the last recalled one.
Set the name of the selected preset
Same as setslotname. Allows to connect the leftmost outlet of a textedit to the jsui and use it as an interface to rename the selected presets.
Active slot color
Color of the last recalled preset
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.
Background color
Sets the background color of the object in RGBA format
Slot size
Size of the preset slots
Color mode
When set to 0, all preset slots have the same color (same as the preset object) defined by the stored_slot_color attribute.
When set to 1, stored preset slots are colored according to one of the six colors of the color wheel, in a repeating pattern.
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.
Slot color 1
Slot color 1 in RGBA format. Sending this message without arguments resets the color to its default value. Has an effect only when color_mode is enabled.
Slot color 2
Slot color 2 in RGBA format. Sending this message without arguments resets the color to its default value. Has an effect only when color_mode is enabled.
Slot color 3
Slot color 3 in RGBA format. Sending this message without arguments resets the color to its default value. Has an effect only when color_mode is enabled.
Slot color 4
Slot color 4 in RGBA format. Sending this message without arguments resets the color to its default value. Has an effect only when color_mode is enabled.
Slot color 5
Slot color 5 in RGBA format. Sending this message without arguments resets the color to its default value. Has an effect only when color_mode is enabled.
Slot color 6
Slot color 6 in RGBA format. Sending this message without arguments resets the color to its default value. Has an effect only when color_mode is enabled.
Display interpolation
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.
Empty slot color
Sets the empty slot color of the object in RGBA format
How presets are displayed
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.
Object margin
Defines the size, in pixels, of the margin between the jsui border and the preset slots.
Minimum number of rows to display
Defines the minimum number of rows to display if scrollable is enabled and layout is set to 1.
If a preset is stored in a slot with a higher value than min_row, then min_row is ignored and presets are displayed up to the highest stored one.
Scroll through your presets
When set to 1, you can through the jsui to see all your presets, or at least up to the slot number defined by the min_rows attributes. Currently only works with the list layout.
Preset selection mode
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).
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.
Slot spacing
Defines the spacing, in pixels, between slot bubbles.
Stored slot color
Sets the stored preset color of the object in RGBA format