Releases: JoepVanlier/ysfx
v0.0.20
Intentional changes
- Make sure people don't enter an empty preset name by accident.
v0.0.19
Intentional changes
- plugin: Added experimental support for saving presets. Presets are stored in
plugin-name-ysfx.rpl
. - plugin: Added experimental support for unicode preset names.
- ysfx: Added the preset name as found in the base64-encoded blob in the RPL file to presets so that existing presets can be exactly stored as read. This field is called
blob_name
. - ysfx: Added the APIs
ysfx_save_bank
,ysfx_create_empty_bank
,ysfx_add_preset_to_bank
,ysfx_preset_exists
andysfx_delete_preset_from_bank
. Note that adding a preset to a bank consumes thepreset
(takes ownership) and returns a newbank
. The user is supposed to free the old bank, but not the preset. - ysfx: switched to
uint_8
for communicating slider groups (breaking change)
v0.0.18
Intentional changes
- Added feature to search presets by typing when the preset popup menu is open.
- Fixed bug in
file_avail
returning 0 for text mode files when there is still file left to read.
v0.0.17
Intentional changes
- Add support for differently scaled sliders (
sqr
,log
,sqr=x
,log=x
sliders; for more information see https://www.reaper.fm/sdk/js/js.php). Note that this unfortunately means a breaking change when one was already using automation on affected sliders. - Bumped memory limit to 1 GB of memory (128M slots).
- Added support for
options:prealloc
to preallocate memory on load. - Added CLAP build target.
- Added case insensitivity to slider parsing (analogous to reaper).
v0.0.16
Intentional changes
- Reduced size of padding between sliders.
- Added option to customize slider padding.
v0.0.15
Intentional changes
- Apply custom colors to code editor and a few elements that were missed.
- When downscaling the UI, prioritize the name over the
reload
button andoutput mapping
label. - When parameter values are very close to integer round them to integer values.
- Show a scrollbar in gfx mode when it is needed.
- Open file dialog when plugin has gone missing.
- Prompt user to confirm wanting to switch plugin, warning them that they will lose their current preset.
v0.0.14
Intentional changes
- Fix bug resulting in
theme.json
not being loaded. - Add currently active preset name to plugin label and show a tickmark next to the active preset in the dropdown menu.
- Ensure mousewheel scaling is the same as JSFX.
v0.0.13
Intentional changes
- Added some improvements to the default look and feel.
- Allow customization of the theme color palette. On windows, go to
%APPDATA%\ysfx_saike_mod\
, on mac it will be inApplication Support
. There you will find atheme.json
file that you can edit. - Move preferences to a custom folder (I'm sorry, but this will mean that it will reset your recently opened plugins list and the settings you had set for their respective sizes).
- Fix issue where plugin was constantly reporting a different PDC, leading to constant re-initialization issues on Ableton Live.
- Match reaper JSFX's initialization behavior (if there is no content in
@serialize
, reaper's JSFX will initialize all parameters to zero). This fixes bugs in JSFX which did not initialize their variables.
v0.0.12
Intentional changes
ysfx: add anti de-normalization offset
ysfx: don't silence channels when no plugin is loaded
ysfx: don't silence channels beyond the number of output channels
plugin: show visible sliders above gfx area
plugin: reduce unnecessary padding on the edges of the gfx area
plugin: change some of the juce default look
plugin: allow popup menu's to leave the plugin area
plugin: support typing parameter values for sliders in the label box
v0.0.11
Intentional changes
- Show parameter names in the host.
- Fixes for 256 slider support. Should support (touch) automation for all of them now. Note that it depends on the JSFX in question to actually implement the correct
slider_automate
calls for touch automation to work (most of mine don't yet for example).
Note that I did break the API to allow for these changes:
The sliders are divided into 4 groups, which each get their own bitmasks for automation, visibility and changes.
ysfx_fetch_slider_changes
, ysfx_fetch_slider_automations
, ysfx_fetch_slider_touches
and ysfx_get_slider_visibility
now take a second argument named group_index
.
The group index can be obtained with ysfx_fetch_slider_group_index(slider_number)
and the mask for extracting the slider with ysfx_slider_mask(slider_number, group_index)
.