I would love to answer any questions you might have!
Cheers
C++ is a solid language, as C mostly is still lacking namespaces (due to avoidance of name mangling) and template meta-programming. Templates ultimately are the biggest reason C++ is viable for large scale projects, because unlike in C where you'd have to use macros, templates allow you far more flexibility. Templates can reduce the overhead of similar code to near zero, dramatically improving code reuse with the only overhead being the naturally double size of the compiled machine code for two variants of a similar function.StrangeSatellite wrote: Mon Apr 06, 2026 7:31 pm First, there really aren't shortcuts here. You are going to need to learn C++ if you're serious about this.
Mostly this is about mathematics rather than programming. It has very little to do with programming or abstraction in general, but those who have the innate ability to intuit mathematical properties ("all curves are straight lines in a different space projection transform") or work well with similar abstractions will find both mathematics and programming come naturally. In terms of mathematics, understanding algebra and calculus is absolutely necessary. Although this does not require rote memorization you might learn in low level college courses but rather requires an intuition of high level abstract "like-for-like". For example: the ability to recognize that the Gaussian function is emergent rather than an innate property of reality; that addition, multiplication, exponentiation, tetration and their inverses exist as steps of order (0, 1, 2, 3) but that the actual line is continuous such that order 0.5 (or -0.5) properties are most common in nature (such as pink spectra, normal distributions, ...) and arbitrary orders exist; that the order of a mathematical operation is simply a space transformation wherein a straight line is formed in the order of that space (for example, exponential decays are simply a straight line at order 1, where the delta is still a constant multiplicative per time step.)Second, learning DSP is a separate skill and is also necessary. It involves math that some may find to be pretty intense at first.
There are many disadvantages to library and framework utilization. Most obvious is the debt to the code you are unable to customize such that mistakes in the library or framework directly lead to mistakes in your own implementations using that code via derivation. The advantage may appear to be that you do not need to implement your own code or work as hard, but the truth is in fact that you in balance need to work less hard in some areas and much harder in others. It is near a zero-sum, and the benefits are mostly available to those who are lucky enough that their use in practice aligns solely with "work less hard" rather than "work more hard".Third, learn JUCE - it will make your life much easier.
It is bad advice to use any single IDE or compiler and toolchain. You should ensure your code functions correctly across all toolchains and strictly avoid wrapping things in ifdefs to provide multiple variants of source code for each platform. The ideal design is where you abstract your interfaces enough that you simply compile a platform specific translation unit (source file) and the abstract interface then calls "create_x()" for a variant of that object compatible with the platform in question.Fourth, use Visual Studio Community 2026 if you're on Windows.
This isn't true. I believe it suffices to say that you need good code to begin with. An LLM will trivially translate this code into alternative forms for you (such as an SSE or AVX variant.) Most of the work involves cleaning up the garbage output generated by most LLMs to ensure it has the same quality of the input code you provided. If you start with garbage code, you'll get garbage code. Garbage in, garbage out.Fifth, you are unlikely to be able to "vibe code" your way through this with LLMs. While an LLM can code a website, there is relatively little DSP knowledge in their training data and they have a very hard time following signal flow in a logical manner.
RAII is also a big deal in larger projects. Not only does it simplify memory management, it can also simplify control flow by allowing you to defer clean up (eg. closing files or whatever) to "whenever this function exits." Whenever I have a bug related to cleaning something up, it's almost invariably because for one reason or another I didn't use RAII.aciddose wrote: Mon Apr 20, 2026 8:57 pmC++ is a solid language, as C mostly is still lacking namespaces (due to avoidance of name mangling) and template meta-programming. Templates ultimately are the biggest reason C++ is viable for large scale projects, because unlike in C where you'd have to use macros, templates allow you far more flexibility.StrangeSatellite wrote: Mon Apr 06, 2026 7:31 pm First, there really aren't shortcuts here. You are going to need to learn C++ if you're serious about this.
Practically speaking it's typically impossible to completely avoid #ifdefs (because Windows like to do even basic things differently from every other platform) ... but I agree in principle: put the platform/toolchain/whatever dependent code in separate modules (or headers) as much as possible and try to keep the bulk of it clean. Makes porting to the next platform a lot less painful experience.You should ensure your code functions correctly across all toolchains and strictly avoid wrapping things in ifdefs to provide multiple variants of source code for each platform.
Absolutely, of course they are required. What is really nasty however is the style I wanted to point toward avoiding, where the same source file includes three or more platforms. It's best instead to absolutely minimize this as much as possible because it becomes nightmarish and bug prone to create code like that. (With what is ideally four source files, the abstract, platform1, platform2 and platform3 being all in myobject.cxx instead.)mystran wrote: Mon Apr 20, 2026 11:49 pm Practically speaking it's typically impossible to completely avoid #ifdefs (because Windows like to do even basic things differently from every other platform) ...
i'm experimenting with this, since i'm working on my own patcher ATM, and designed the clipboard so, that it is readable for LLM's, and also created a short documentation targeted at LLM's describing the nodes available. GPT5.6 (in browser) was able to build a usable 4p NL ladder filter with ADAA nonlinearities in every state.Tiles wrote: Fri May 08, 2026 7:24 am What i can say is that using one of the visual solutions in conjunction with AI doesn't really work well. I tried Hise, Reaktor, Pure Data, and another one that i have forgotten now. And AI was absolutely in trouble with it.

That actually matches a lot of what I've seen with AI-assisted development. Visual programming environments can be surprisingly difficult for AI because the logic is often hidden behind connections, node layouts, and UI states rather than being represented as straightforward code. Even if you provide the text representation, it still has to understand the structure and intent behind the patch.Tiles wrote: Fri May 08, 2026 7:24 am Diving into the AI assisted VST development at the moment. What i can say is that using one of the visual solutions in conjunction with AI doesn't really work well. I tried Hise, Reaktor, Pure Data, and another one that i have forgotten now. And AI was absolutely in trouble with it. I even tried to feed Claude with the pure text format of Pure Data. So that we don't need to discuss which button is meant this time. And it still struggled big time.
Installing Juce at the moment. Let's see how this turns out. AI seems to have ways less trouble to write code than with the visual solutions.
Hikmh wrote: Wed Feb 05, 2025 8:40 pm Hi Everyone! I lead product & partnerships at MuseHub, it’s a recently launched Steam/App Store style platform that allows audio apps and plugins developers to distribute and sell their products directly! I would love us to onboard some of your finished projects on the platform! You can get all the info you need here and apply to join https://developer.musehub.com/muse-partners-help (https://developer.musehub.com/muse-partners-help)
I would love to answer any questions you might have!
Cheers
Submit: News, Plugins, Hosts & Apps | Advertise @ KVR | Developer Account | About KVR / Contact Us | Privacy Statement
© KVR Audio, Inc. 2000-2026