I'd take a look at JUCE if I were you. It'll instantly create templates for audio plug-ins or hosts, making your job much easier. Also it's written in C++, the entire source is available, and it doesn't tend to over-complicate things, so it makes a good reference to see how different things can be accomplished in C++. Cross platform too, which is otherwise a very ugly can of worms. Just look at the current state of platform schism; Win VST, Win x64 VST, OSX VST, OSX x64 VST, OSX AU, OSX x64 AU. That's the MINIMUM platforms that are expected for a plug-in these days. JUCE will take all that off that your hands and let you concentrate on the code that actually does the work. The "business logic".koalaboy wrote:With the outcome being pretty unanimous from the start, I've decide C++ does make sense, for all the reasons everyone is stating.
I already have a few books (oh, if my wife could talk about how many programming books I own), and have started working through 'Accelerated C++', with 'Effective C++' to follow. I've also ordered a few more including 'The C++ Standard Library' by Nicolai Josuttis (the latest version seems to include C++11) and 'Effective STL' again by Scott Meyers. I've also got my eyes on the range of Herb Sutter books for the future![]()
(Is BAS the literary equivalent of GAS ?)
Admittedly, my first experiments will likely be around OpenGL, but I intend to delve into audio once I feel a bit more confident. I'd like to be able to write a simple app that programatically sends notes/automation to a chosen VST and outputs via ASIO - sort of like SaviHost but with the ability to script a note sequence. Once I reach that point, I think I'm safe to jump off in all sorts of directions.
I may look at QT for cross-platform interface, or JUCE for something a bit more focused. I don't know.
Feel free to keep C++ advice coming in, as I'm taking notes and doing my best to avoid bad practices, and thanks again for all the thoughts.
RTAS too, if you can get them to answer your request for developer status.
I just wish it did 64 bit samples. Not yet. All samples in JUCE are currently "hard wired" as 32 bit floats.

