Hello, I’m thinking of making code contributions to the project. I have a philosophical kind of question to developers and maintainers regarding the placement of the additional functionality in the Ardour. The main thing that droves me into this DAW are sane defaults, and quite logical UI. For example in contrary to Reaper, you don’t have to build your own DAW “IKEA” style, like some people describe it.
Reaper has a lot of community scripts, and that’s what droves people into it. Personally I’m not a big fan of that as sometimes it’s not so user friendly as it’s not native. There are other aspects like discoverability of those scripts etc. - in short, I like integrated options and I think that makes the program easier to recommend to people in specific niches. I’m mainly thinking in the realms of sound design for video games, but I believe that the same thing applies to other ones.
Let’s say for example: I want to create water droplets SFX as a 9 separate files with reverb. I import an audio file with droplets, I strip silence, and I want to space those multiple single droplets evenly every 1 second to comfortably hear full reverb tail. Then I want to export all of these regions as a separate files, with a naming scheme ranging from 1 to 9 in the end of name of every file, and have 1000ms tail.
As far as I know it’s not entirely possible natively to achieve all of this, but I could be wrong. I think it would be nice to have functionality built-in, and I don’t want to strain development resources on little UX/workflow stuff by randomly coming by and saying “hey I want XYZ, please make it happen”.
My question is: are there any aspects that you consider if some functions should stay out of the code base and live as an additional scripts?
Can’t answer your final question, but in the meantime not certain what wouldn’t be natively achievable there actually?
Import all the droplets to a single track (Or multiple), strip silence, and edit them to be at least 2 seconds apart. Then create a range for each 1000mS you wish to export, name it appropriately, and export ranges to multiple files.
I was thinking about automating the process of setting those regions apart, like on this video: https://youtu.be/hwlSXFG146Q?si=LbtShXuATAKHlKco&t=450
The other option would be to remove the space/time between regions to make them next to each other, and insert specific value of desired space/time from there.
With ranges I’m not sure if there’s an option for creating them with tail for all at once, I mean: I can select all of the regions and choose “Add range marker per region”, and then move their ending markers one by one to create a tail (or is there an option for operations for multiple markers at once?)
Ahh ok, it isn’t that you can’t do that, you are looking to automate it.
I haven’t dove into it, but my suspicion is you could automate this with Lua. But no ther eis not built in functionality to do this. My gut says this makes sense as a lua script rather than a built in functionality, but I hold no sway on those decisions and my opinion means little;)
My own opinion is that the tools themselves should be built in, but if we are chaining multiple tools together to create a multistep process, then a lua script makes sense, but that isn’t even a great answer as there might be options need for UI interaction that aren’t as possible with Lua.
Exactly, I agree that chaining multiple tools together as a multistep process is better as a lua script because it can be oddly specific, and there are too many variations/combinations of needs. But as you say, sometimes there are needs for UI interaction.
Chaining specific logic reminds me of Project Logical Editor from Cubase