A Reaper JSFX plugin that allows to control the Yamaha S-YXG50 synth, this project is a modified version of Shiru's control panel.
The following features were added:
- Default values for every parameter (obtained from both XGworks and the XG Specifications manual).
- A new editor tab for changing voice parameters (filter, envelopes, modulation, tuning, etc).
- Instruments are now saved per part (parameters from the editor tab are saved per part as well).
- Adds the few missing reverb, chorus and variation effects.
- UI improvements:
- New colors and bigger font for increased readability.
- New "XG" button to force re-send all parameters.
- Highlight user-changed parameters.
- Use full names for all voices (thanks @mkruselj).
- Draw bipolar parameters with bipolar sliders (thanks @mkruselj).
- Serialize parameter values instead of slider positions to avoid inconsistencies due to float precision loss.
- And many more small improvements and bug fixes.
💡 This modified version is NOT compatible with Shiru's original version due to serialization changes, if you need to open old projects then you should keep both versions installed.
Download the zip file from the Releases page, extract it and copy its contents to your Reaper effects folder.
In order to enable variation effects the Control Panel sends the variation connection
sysex message, however this happens once during instantiation so variation effects won't work unless the FX Chain is created in the following order:
- Add the S-YXG50 synth into the FX Chain.
- Drag the Control Panel from the FX Browser and drop it ABOVE the S-YXG50 synth.
💡 Clicking on the XG button (located at the top-right corner) will force re-send all the parameters to the S-YXG50 synth. This can be useful if you already changed some parameters but forgot to move the Control Panel above the S-YXG50 synth in the FX Chain.
Sliders
- Left click to change value.
- Right click or Ctrl+Left click to reset to default value.
- Scroll wheel to change value by small increments/decrements.
Part
- Left click to select next part.
- Right click to select previous part.
- Scroll wheel to select next/previous part.
- Number keys to change part (from 1 to 10).
- QWERTY keys to change part (from 11 to 16).
The FX Chain needs to be setup in a specific way, please see the Usage section for more details.
This seems to be an issue when bridging 32-bit plugins within the 64-bit version of Reaper. Since the S-YXG50 synth is a 32-bit plugin it is recommended to either:
- Use the 32-bit version of Reaper.
- Use an alternative bridging solution like jBridge (make sure to use version 1.77beta or newer).
This plugin is in JSFX format so it's intended for use within Reaper only, however there are tools that allow running JSFX plugins outside Reaper so it may be worth giving them a try:
- https://github.com/JoepVanlier/ysfx
- https://github.com/DISTRHO/Ildaeil
- https://www.reaper.fm/reaplugs/
If a new parameter needs to be serialized please add it after the previous ones to avoid breaking compatibility.
All commits should be made using the conventional commits specification, to help with this a git hook that validates commit messages can be installed with:
cp -r -T .githooks .git/hooks