TheWaveWarden / odin2

Odin 2 Synthesizer Plugin
GNU General Public License v3.0
573 stars 53 forks source link

[Feature Request] MTS-ESP Support (Linux/MAC/Windows) #426

Open tank-trax opened 2 years ago

tank-trax commented 2 years ago

recently a problem with libMTS.so (Linux) has been corrected and as of this fix Entonal Studio's Linux build in MTS-ESP mode recognizes a few synths that had already added MTS-ESP support including; Surge XT, OB-XD, Pianoteq and TAL synths, Dexed has also recently added support and it too is recognized.

My request would to be ask that MTS-ESP support be added to Odin2.

This image shows Bitwig 4.1.6 on Debian 11 with Entonal Studio tuning Surge XT, OB-XD and Dexed in 19 EDO

image

eventual-recluse commented 1 month ago

I had a go at adding MTS-ESP to odin2. I've put a guide with instructions and edited source here: https://github.com/eventual-recluse/MTS-ESP-Guides

Making those changes gives you an MTS-ESP capable odin2. Note that with these changes, using an MTS-ESP master plugin will override the local KBM / SCL settings in odin2. Tuning is not continuous - any scale changes will only take effect on a new midi note. and there is no currently no note filtering.

There might be better ways to do it, e.g. an option to turn MTS-ESP on and off could be added to the GUI, then the user could choose either the local tuning or MTS-ESP.

The changes are fairly straightforward. MTS-ESP needs to be added as another lib with its own CMakeLists.txt, as well some changes to the main CMakeLists.txt. Apart from that there's just a few lines of code to add to Source/audio/Voice.h

I'm not so familiar with JUCE, so haven't made any other changes to the .jucer project or anything like that