I'm trying to think about, if I want to get the ball rolling. Sell some plugins via Angelscript compiled, after getting money to upgrade my computer, to then be able to get Microsoft Visual C++ to run on it and then upgrade those plugins via native C++.
I've heard it's best to natively compile reverb plugins.
I would think... Midi plugins would be simpler to write and have less plugin overhead?
Trying to get the ball rolling, then get bigger later.
I have several ideas on some midi based plugins (not effects) that will reduce workload of a lot of engineers.
My first focus will be midi based plugins.
What kind of plugins does Angelscript run fairly fast?
-
- KVRAF
- 1972 posts since 14 Mar, 2006
Most midi tasks will probably use less CPU, depending on how you implement them. I would not underestimate how easy it could be though to get into trouble with complex midi tasks. Its not the same as doing math on thousands of samples in audio DSP, but if you end up building a lot of structures and allocating memory for new midi events on the fly, etc.. there are definitely ways to impact the CPU, but most of those things you can just use clean and good scripting techniques to avoid getting into trouble. I think you can safely distribute angelscript versions of midi plugins in most cases.
I am going to be converting my angel script midi scripts into C++ more for the point that in C++ I will have more options to expand what i can do, such as accessing midi files, XML files, JSON files, etc. basically gives me more complete access to the system, not to mention there might be slight performance improvements sure, but that is not the main reason to bother with it. If I am going to distribute a script I would rather distribute as VST/AU...and at that point I'd rather just go ahead and convert to C++ and build it in Xcode and visual studio. I am actually more proficient at C++ then I am at angelscript....so for me its not a problem. But main advantage of using angelscript as long as possible is that its a much faster lap time to try some change and see what happens without having to compile it the plugin and then open it on a track in some host and use it. It's WAY faster to just change the script, and see what happens relatively immediately. So angelscript is extremely handy for prototyping and working out everything...and basically save the C++ for later. once you move to using C++ and adding in C++ features, then you lose that advantage from then on....and then you're basically using it mainly for the KUIML and somewhat basic built in features.. its kind of debatable to me in my mind whether this is preferable or using something like jUCE once you're at that point. pros and cons either way.
I am going to be converting my angel script midi scripts into C++ more for the point that in C++ I will have more options to expand what i can do, such as accessing midi files, XML files, JSON files, etc. basically gives me more complete access to the system, not to mention there might be slight performance improvements sure, but that is not the main reason to bother with it. If I am going to distribute a script I would rather distribute as VST/AU...and at that point I'd rather just go ahead and convert to C++ and build it in Xcode and visual studio. I am actually more proficient at C++ then I am at angelscript....so for me its not a problem. But main advantage of using angelscript as long as possible is that its a much faster lap time to try some change and see what happens without having to compile it the plugin and then open it on a track in some host and use it. It's WAY faster to just change the script, and see what happens relatively immediately. So angelscript is extremely handy for prototyping and working out everything...and basically save the C++ for later. once you move to using C++ and adding in C++ features, then you lose that advantage from then on....and then you're basically using it mainly for the KUIML and somewhat basic built in features.. its kind of debatable to me in my mind whether this is preferable or using something like jUCE once you're at that point. pros and cons either way.
MacPro 5,1 12core x 3.46ghz-96gb MacOS 12.2 (opencore), X32+AES16e-50
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- 5971 posts since 8 Sep, 2004 from Paris (France)
For MIDI Angelscript is definitely fast enough - no need to convert it to C++ unless that's really heavy operations. All in all it's definitely best to try out the demo with Angelscript and convert scripts to C/C++ if required.