Arduino ?
-
Hello everyone, I recently had the desire to tinker with an Arduino Leonardo and a few rotary buttons to create a USB MIDI controller. Thanks to ChatGPT, I've been able to get a bit familiar with the language and various techniques, but I can't seem to find an answer to a problem I'm facing.
At the moment, I have a digital rotary button that sends MIDI signals, and I can assign it to control a parameter of a plugin, and it works. However, I'd like to take the experience further so that my rotary button can also be assigned to other plugins and, most importantly, retain the value given to a plugin.
For example, with Plugin 1, I adjust a parameter to 40% using my rotary button, and with Plugin 2 to 55%. Currently, I can do this, but when I go back to Plugin 1, it automatically reverts to 55%, which was its last value. I'm not sure if it's a coding issue or if it's just not possible.
However, I often use Softube's Console 1 in the studio, and my Console 1 is on multiple tracks, and each button responds correctly to each plugin. I know there are experts in thinking and coding here. Can you tell me if this is possible or not, keeping in mind that it's just a hobby for me to have some fun :)
I also thought about creating a plugin from HISE that would load another plugin, but from what I've seen on the forum, it seems very complex. Thank you all :)
-
-
@yall I'm not sure I understand the question. Are you asking if you can make a plugin host with HISE?
-
@d-healey yes that could be an idea. it's possible ? and difficulty level?
-
@yall I don't think it's possible, not without some serious C++, but I could be wrong...
-
@d-healey ```
Content.makeFrontInterface(600, 400);const myButton = Content.addButton("myButton", 200, 200);
myButton.set("text", "Charger le Plugin VST3");myButton.setControlCallback(function(value)
{
if (value) // Lorsque le bouton est pressé
{
local pluginPath = "Chemin_Vers_Votre_Plugin.vst3"; // Spécifiez le chemin de votre plugin VST3
Synth.loadFX(pluginPath); // Chargez le plugin VST3
}
});What do you think about that?
-
-
@d-healey so it might be interesting to have that later wouldn't it @Christoph-Hart ^^ I asked myself the question because like hise has his plugin which creates plugins ^^ and concerning arduino the problem that I described above you have an idea?
-
-
Unfortunately, connecting HISE with Arduinos is not really technically feasible.
Arduino
- Arduino is a collective term for microcontrollers that can be programmed with the Arduino ecosystem
- Arduino is a collection of C++ libraries, especially made for microcontrollers
- Arduinos have no operating system, no GPU and usually no heap and/or exceptions
- Typical Arduino MCUs have a maximum of 250Mhz CPU clock and kilobytes of RAM. Not megabytes
HISE
- HISE is a desktop application for modern high performance 64bit CPUs.
- The minimum CPU performance for HISE is about the same as a Raspberry Pi 3 or 4 (depending on what you have in mind).
- A Raspberry Pi has 4 cores with approx. 2Ghz each and 4 to 8 gigabytes of RAM
- All libraries that are used internally in HISE (JUCE, rLottie, zstd, mir, ...) are also not compatible with MCUs.
- Plugins (VST, AU, CLAP) are also not feasible without an operating system
- HiseScript/Javascript is too big for all microcontrollers
Theoretically feasible
- To compile SNEX programs for ARM microcontrollers, but for this you would also have to write drivers for the audio hardware. Not really within the scope of what makes sense for HISE. Other projects (PureData, MSP, Electro-Smith Daisy) are probably better for that.
-
@tobante well said, I just want to add: I'd rather add an email client to HISE than adding plugin hosting :)
-
@tobante I got HISE to compile on a RockChip board a few years ago
-
@tobante no I don't want to connect Arduino to hise ^^ my idea was to create a host vst which will load vsts. like RA control from rocksolid for example. but this is not possible in hise.
I wanted to create this host plugin so that my arduino controller is connected to my host vst in order to be able to assign parameters from other plugins and save the midi mappings in my host vst. that would have been cool. FYI, I managed to create my controller with 25 rotary buttons which works perfectly in midi -
@yall Is the goal to load any generic plugin or stuff you've created yourself?
If it's the latter, you could fake it by merging them in to one plugin and switch between them, maybe.
-
@modularsamples the ideal would be to create a vst3 plugin named “myhostPlugin”. and once opened, we could load a ssl, pultec, fab filter plugin..... this will allow me through my "myhostplugin" to save my midi maps that I would not have assigned to another plugin. but this involves a level of programming that is completely beyond me
-
@yall HISE can't be used to create a plugin host.