What's new

MIDI Plugin in VST Format?

C++ is a bit harder to learn, but if you have the time, it would let you do everything you want and more, and it should run faster, cause latency is important.
It would also allow you to use the best UI framework possible, if you learn got to use it. And you coul even make a TCP server to control all your plugin instances from a central window.
But yeah, it would take time and effort.
If you are not sure, maybe the best option is to use one of the tools previously mentioned.
 
The scripters mentioned will not add any latency. Yes C++ runs faster then Lua or Javascript, but Lua and Javascript both run perfectly fast enough for midi processing, its not a concern. In any case, they will not add any latency at all period. The worst that can happen is that they might increase CPU usage and/or eventually might be doing something so radically complex that midi events get dropped or something, but latency would not be effected AT ALL.

I have done some LogicPro Scripter scripts in Javascript that are literally thousands of lines of javascript code...granted, I'm being careful not to do anything stupid, but they do not even register even one extra percent of cpu usage...its really not a concern for most people.

The main advantage of C++ is that you can build a real GUI with it. But do not under-estimate the amount of effort required to learn C++.
 
C++ is a bit harder to learn, but if you have the time, it would let you do everything you want and more, and it should run faster, cause latency is important.
It would also allow you to use the best UI framework possible, if you learn got to use it. And you coul even make a TCP server to control all your plugin instances from a central window.
But yeah, it would take time and effort.
If you are not sure, maybe the best option is to use one of the tools previously mentioned.
Thanks Angeruroth, I have had a C++ book on my bedside table for many years, but there has always been something more important than to go through the chapters one by one and do the exercises. So I have only started. I want to do it, but realistically I may have to find an easier way. My goal is to create a VST plugin (as well as plugins in AU and RTAS format) based on the multiscript I have already written, that I can sell commercially. So I don't want to include proprietary software from another company, or be dependent on open source material in the final product. ATM I am exploring my options and trying to figure out the shortest way to get there.
 
OK the book I had started with is "Programming in C" by Stephen G. Kochan, so it is not about C++. Would reading the book be a first stage to learn C++?
 
I just want to make sure I am understanding the MIDI signal chain correctly when using a VST plugin. Can a multiscript for processing the MIDI signal (Port A, 16 channels) be ported to a VST plugin and function in the same way. I.e. after port A's 16 MIDI ch are processed by the plugin, the various processing results for the different channels may be distributed to individual tracks containing instruments designated port A midi channels 1-16? That's the way my multiscript is working at the moment. I want it to work the same way also when the multiscript is replaced by a VST plugin.
 
...but of course it's possible to process multiple MIDI channels in one plugin. The DAW only has to route it this way (which should work in any contemporary DAW).
 
I am trying to install/open Juce, but it is just impossible. A page opens directing me to join "Roli" before I can use Juce. When I try to enroll in "Roli", I receive a message that I need to activate java script in my browser (Chrome). I check the Chrome settings, and java script is already enabled. I test it on several java testing web sites that verifies that java is on and working. "Roli" still won't let me sign up and tells me I have to enable java script. Then I start all over and get back to the same result. What should I do?
I am on a PC running Windows 7.
 
It gets weirder. I tried to post a question about my problem on the Juce Forum, and I was immediately directed to join "Roli", which I did successfully. Happy, I try to open Juce again, but once again it refuses me to get beyond the "enroll in Roli", enable java script routine, etc.... :(
 
Unfortunately, as happens too often with "successful" free software companies, Roli have hidden away their free software lineage so that most new users are completely unaware that... Roli has a github page where you can download the latest source and build JUCE yourself - anonymously https://github.com/WeAreROLI/JUCE
 
Unfortunately, as happens too often with "successful" free software companies, Roli have hidden away their free software lineage so that most new users are completely unaware that... Roli has a github page where you can download the latest source and build JUCE yourself - anonymously https://github.com/WeAreROLI/JUCE

Thanks David, I'll try and download from github. I am confused about the requirements on the page though:
Building JUCE Projects
  • macOS: macOS 10.11 and Xcode 7.3.1
  • Windows: Windows 8.1 and Visual Studio 2013 64-bit
  • Linux: GCC 4.8
Minimum Deployment Targets
  • macOS: macOS 10.7
  • Windows: Windows Vista
  • Linux: Mainstream Linux distributions
Does this mean I must have Windows 8 and anyone that will use the plugin must have the "Minimum Deployment Targets"?
 
Thanks David, I'll try and download from github. I am confused about the requirements on the page though:
Building JUCE Projects
  • macOS: macOS 10.11 and Xcode 7.3.1
  • Windows: Windows 8.1 and Visual Studio 2013 64-bit
  • Linux: GCC 4.8
Minimum Deployment Targets
  • macOS: macOS 10.7
  • Windows: Windows Vista
  • Linux: Mainstream Linux distributions
Does this mean I must have Windows 8 and anyone that will use the plugin must have the "Minimum Deployment Targets"?

For juce development you just need juce and a c++ compiler. For stability I recommend visual studio, if you're on Windows you can run it. Juce has a tutorials page and a few guides on YouTube including setting up from scratch, should be enough for anyone looking to get started.

The requirements for users are based on setting set within the juce producer prior to starting a project (and the compiler/system requirements will be project dependant anyway)
 
Last edited:
Top Bottom