I guess DAWs that support multiple plugin formats need to abstract anyway.GaryG wrote: ↑Thu May 06, 2021 2:04 pm You'd be adding levels of abstraction which I don't think would be very useful. Take the plugin handler for instance; you'd be hosting a plugin and talking to it through the VST (say) protocol, have you read the VST specs? Lots of parameters and event controls to deal with. So you get audio data(?) from the plug, then what? Pass it through another set of protocols (your new ones) to get it to where ever you want it to go?
DAW construction kit
-
- KVRist
- Topic Starter
- 288 posts since 18 Mar, 2012
-
- KVRist
- Topic Starter
- 288 posts since 18 Mar, 2012
Here's a sketch that serves as an example. The hardest part would be the protocol of course.
Code: Select all
#include "kit.h"
#include "venus.h"
#include "mars.h"
#include "mystuff.h"
int main()
{
// a barebone daw...
kit::daw daw;
// ...now gets its parts
kit::project_manager *pm = new mystuff::MyProjectManager();
daw.add_project_manager(pm);
kit::mixer *mixer = new venus::MixerFromVenus();
kit::mixer_track *track = new mars::MixerTrackFromMars();
mixer->add_track(track);
daw.add_mixer(mixer);
kit::sequencer *seq = kit::load_sequencer("SequencerFromSaturn.so");
// or kit::sequencer *seq = kit::load_sequencer("SequencerFromSaturn.dll");
daw.add_sequencer(seq);
// blah, blah, blah, ...
return daw.run();
}
- KVRAF
- 2207 posts since 25 Sep, 2014 from Specific Northwest
I think this would work well for an open source DAW where if you didn't like the current mixer plugin, say, you could write/modify your own to drop in. Although, I think one would mostly be looking at cosmetics and not function. It might be easier to add all the features, but allow enabling/disabling the ones you want and to use a script to describe the GUI. Either way, the user is stuck into the original chosen paradigm.
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better?
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4265 posts since 8 Mar, 2004 from Berlin, Germany
i think, the main motivation (for me, at least) to contemplate such a thing would be that i may want to tweak the workflow and add certain usability features that current daws just don't have. i'm not thinking about anything specific here - just generally and abstractly speaking
-
- KVRist
- Topic Starter
- 288 posts since 18 Mar, 2012
It's not only a matter of replacing a component.syntonica wrote: ↑Thu May 06, 2021 7:32 pm I think this would work well for an open source DAW where if you didn't like the current mixer plugin, say, you could write/modify your own to drop in. Although, I think one would mostly be looking at cosmetics and not function. It might be easier to add all the features, but allow enabling/disabling the ones you want and to use a script to describe the GUI. Either way, the user is stuck into the original chosen paradigm.
If you start from scratch, you have to build all
the parts yourself and it takes time and tests
to find bugs. With a daw kit, you would look around
to find the parts you need. Some might be for free,
some might have a price. In any case, you have your
daw up and running in a short time.
It's just like looking for a jpeg decoder library when
you need to create a program that shows pictures.
-
- KVRist
- Topic Starter
- 288 posts since 18 Mar, 2012
Yes.Music Engineer wrote: ↑Thu May 06, 2021 8:21 pmi think, the main motivation (for me, at least) to contemplate such a thing would be that i may want to tweak the workflow and add certain usability features that current daws just don't have. i'm not thinking about anything specific here - just generally and abstractly speaking
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4265 posts since 8 Mar, 2004 from Berlin, Germany
yep, you beat me to it. are there any open source example projects out there that use it?FigBug wrote: ↑Thu May 06, 2021 1:45 pm There is Tracktion Engine: https://github.com/tracktion/tracktion_engine
You can get a DAW like application going with not much code.
- KVRAF
- 7868 posts since 12 Feb, 2006 from Helsinki, Finland
There's a good chance that if a plugin supports multiple plugin formats it's probably going to be abstracting internally as well.bitwise wrote: ↑Thu May 06, 2021 7:05 pmI guess DAWs that support multiple plugin formats need to abstract anyway.GaryG wrote: ↑Thu May 06, 2021 2:04 pm You'd be adding levels of abstraction which I don't think would be very useful. Take the plugin handler for instance; you'd be hosting a plugin and talking to it through the VST (say) protocol, have you read the VST specs? Lots of parameters and event controls to deal with. So you get audio data(?) from the plug, then what? Pass it through another set of protocols (your new ones) to get it to where ever you want it to go?
That said.. I'm not sure how I feel about the whole "construction kit" idea, because I feel like much of the complexity in a DAW might come from getting all the pieces to interoperate nicely.
-
- KVRAF
- 1990 posts since 16 Jan, 2013 from USA
As they all do basically the same thing internally, I think an interface construction kit would have more merit. Fully customizable looks, menus, key commands, mouse and controller actions, etc. Something like Reaper, but even more so.
- GRRRRRRR!
- 15847 posts since 14 Jun, 2001 from Somewhere else, on principle
The point is you could have only those features you need and none you don't. You mention video tracks and notation but what about things that make the application less efficient because they are always running, even if you don't use them? e.g. I am amazed at how difficult it is to get Studio One running reliably (no clicks or pops) on hardware that Orion handles without any problems. If I could work out what it is that makes it such a CPU hog and remove those components, I'd pay money to be able to do so.antic604 wrote: ↑Thu May 06, 2021 11:57 amOn paper it sounds interesting, but in practice the HOW certain feature is implemented and HOW it works with everything else decides about DAWs' appeal. It would be really difficult to build an environment covering e.g. different "flavours" of sequencers, mixers, device chains, etc. And if there would only be one of each, then what's the point?
NOVAkILL : Asus RoG Flow Z13, Core i9, 16GB RAM, Win11 | EVO 16 | Studio One | bx_oberhausen, GR-8, JP6K, Union, Hexeract, Olga, TRK-01, SEM, BA-1, Thorn, Prestige, Spire, Legend-HZ, ANA-2, VG Iron 2 | Uno Pro, Rocket.
-
- KVRist
- 126 posts since 13 Aug, 2017 from Gothenburg
I would love if something like a modular DAW happened.
There is an analogue in the 3d graphics world. In programs like Maya or 3dsMax you can replace parts like the animation, rendering or physics modules with different ones if you don't like the ones that comes built in.
Imagine being able to plug in a different piano roll or mixer interface into your DAW. That would be something
I guess ARA is a step towards that for the audio editor part. Something similar for MIDI editing doesn't seem that far fetched.
I remember sending an email to Karl Steinberg about this about 20 years ago and to my surprise actually got a response. He thought it was an interesting idea but it would be too much work and be hard to define stable plugin interfaces that didn't make it too hard to keep developing Cubase.
There is an analogue in the 3d graphics world. In programs like Maya or 3dsMax you can replace parts like the animation, rendering or physics modules with different ones if you don't like the ones that comes built in.
Imagine being able to plug in a different piano roll or mixer interface into your DAW. That would be something
I guess ARA is a step towards that for the audio editor part. Something similar for MIDI editing doesn't seem that far fetched.
I remember sending an email to Karl Steinberg about this about 20 years ago and to my surprise actually got a response. He thought it was an interesting idea but it would be too much work and be hard to define stable plugin interfaces that didn't make it too hard to keep developing Cubase.
-
- KVRian
- 649 posts since 2 Nov, 2014
I was at least expecting a modular DAW concept by now. You could customize at the start ,check the components you want and make it a template. For example I would love to lock out VR, Surround, VST Transit, VST Connect, VST Rack Instruments out of Cubase. So less menu items, less clutter, less problems maybe, I don't know. Likewise Studio One. I never even checked out Show or Project page. Never used scratchpad thing.
- Banned
- 11467 posts since 4 Jan, 2017 from Warsaw, Poland
That's the exact application where such a construction kit wouldn't help, I think.BONES wrote: ↑Fri May 07, 2021 3:15 am...I am amazed at how difficult it is to get Studio One running reliably (no clicks or pops) on hardware that Orion handles without any problems. If I could work out what it is that makes it such a CPU hog and remove those components, I'd pay money to be able to do so.
DAWs are very demanding realtime applications, in many ways much more so than video games and in that space every 3rd party engine (Unity, Unreal, CryEngine, etc.) is less performant than dedicated in-house built solutions, that are tailored and optimised for specific, particular application, workflow, data structures, etc.
Regarding S1, make sure to read up on the relationship between audio buffer, dropout protection and realtime monitoring.
-
- KVRAF
- 11093 posts since 2 Dec, 2004 from North Wales
If we could make our own perfect DAWS, what the hell would we complain about! Stupid idea, I want to criticise other peoples work, not be open to having my work criticised!!
X32 Desk, i9 PC, S49MK2, Studio One, BWS, Live 12. PUSH 3 SA, Osmose, Summit, Pro 3, Prophet8, Syntakt, Digitone, Drumlogue, OP1-F, Eurorack, TD27 Drums, Nord Drum3P, Guitars, Basses, Amps and of course lots of pedals!
-
- KVRAF
- 15508 posts since 13 Oct, 2009
If we could this it would be like Reaper skins. A bunch of half-finished U/I concepts with too much fluff, not enough substance, and bugs for days.