Hi
Sure I'm not the first to think this, but why don't we have DSL for audio that spits out cross platform effects? NIM seems perfect for this.
It looks easy enough to use clap with it being c based but has anyone created a pluggable DSL inc ui for CPU/GPU - full cross platform - that works with all daws?
Design is important for this right?
After my experience seeing the differences all I wanted to write for simple gain is :
Should be able to create effect and ui from something like that.
Are folks waiting for nim3? No point designing with nim2 right?
It looks the industry are trying it with c++ but it doesn't have nims meta programming feature yet.
I'm not thinking of the code, more if we come up with a really good design it might be easier to write the code.
The building blocks look to be there.
https://codeberg.org/SpotlightKid/nim-audio-dev
Or am I missing something else? ie. too many vested interests in status quo. Would probably have to use the industry standard package formats.
Or is it maintenance nightmare? Take so long to do that the world will have moved on? AI can do much of work with a good design.
i'm not seeing the "guilt trip people into spending their free time for you".
People asking questions about why something doesn't exist doesn't necessarily mean they are asking for free labor, or labor at all. Sometimes people are just trying to discuss the current status, get other people's opinions, collaborate on design/code, etc, so efforts aren't duplicated and/or wasted. Even if they weren't planning on contributing code, what's the problem with proposing features, or even whole projects, especially in a discussion forum? They are contributing ideas. Anyone who doesn't feel like reading these ideas can just avoid discussion forums.
Please see this project list here for previous work in this realm:
https://codeberg.org/SpotlightKid/nim-audio-dev
In particular, there is (was) "omni", which is exactly what you describe, i.e. a DSl for audio effects, but it doesn't work with current Nim versions and also it doesn't include any UI support.
UIs for plugin effects in general are a hard problem. Most of the UI frameworks for desktop are not suitable, because:
This is one of the reason, why many use JUCE for developing audio plugins, which is a C++ framework and horrible, but at least it looks pretty.
---
Writing a plugin in Nim isn't that hard, though (if you know DSP). For example, with my 'nymph' library for implementing LV2 plugins, you can easily just copy one of the examples and just change a few lines. BTW, LV2 plugins are not only for Linux, they are cross-platform, although plugin hosts supporting LV2 on non-Linux platforms are scarce.
One of the nymph examples even shows you how to implement the DSP part in FAUST and generate a wrapper plugin for that, complete with parameter definitions etc. This currently only supports audio effects (not synth, or MIDI processors), though.