Is it hard to compile the sources in windows?


(newbie44) #1

I know ardour doesn’t provide support for windows but maybe some member of this forum can answer me.

I’m think about making my own version of ardour. I don’t intend to modify or add anything, just remove a couple of things I don’t use (the video menu for instance)… Well maybe add something in the plugins menu so that I can add one plug-in without scanning the whole thing each time. And more subcategories for the VST which are all together.Not necessarily a button, one can do that with a config.ini file for instance.

I’ve never coded in C++ but I know a little bit of html/css/php/javascript… It can’t be that hard, right?

Anyway. I have windows 7 64 bits, I use ardour 32 bits (because of the plugins). Where shall I start? What software shall I use?


(Seablade) #2

Short version, it doesn’t sound like you are prepared for this. I haven’t ever built on Windows, but I can tell you from my experience on Linux and OS X, outside of Linux I would expect a great amount of difficulty. Add on top of this you have never worked with C++, and the experience you list don’t involve any compilation, I tihnk you have a lot to learn before tackling this personally.

Aside from that several of the things you mention (Other than removing features) might be well received as a patch to incorporate those features for all users, so I would recommend going that route if you do manage to get it compiled, rather than maintaining your own version.

      Seablade

(Robin Gareus) #3

The hard part is not to compile Ardour itself, but to get all the dependencies to do so.

In any case for editing the menu, you don’t have to recompile Adour, just edit the ardour.menus file in C:\Program Files\Ardour5\share\ardour5\ (I’m not sure about the exact path).

That should already be the case. A cache is used to remember previously discovered plugins and (unless you manually clear the cache) scanning only discovers for newly installed plugins.

Can you describe what actual issue you’re trying to solve?

That is not possible. Categories are provided by the VST itself and Steinberg only offers a limited list.
Ardour6 will allow to tag plugins and add custom tags to mitigate this.

PS. There are a couple of blogs out there that describe how to build Ardour on Windows, but is no canonical way to do that. Official Ardour/Windows binaries are cross-compiled on GNU/Linux. In either case you’re mostly on your own there. Learning how to build Ardour from scratch is the entry-level exam :wink:
– Keep in mind that Ardour is a huge project, and if you have not done any C/C++ development before, you’ll be in for quite a ride! Keep in mind that even experienced developers can spend a week or more to get started, so don’t a first failed attempt after some hours discourage you.


(mike@overtonedsp) #4

I really hope you’re not serious about that… :slight_smile:


(newbie44) #5

Of course, if ever that happens, I’ll send my version to the developpers.

In Mulab or VSThost, there’s a “add new plugin button”. I click on it, find the plugin and that’s it. It can be used at once.
With ardour, I have to put the plugin in my vst folder, open the pref menu, clic on “search for plugins”. It’s not that long but still…
Besides, I don’t like caches. I’d rather have everything written in a plugin.ini file, easily editable and updatable. It’s old-fashioned but if it works…

In VSTHost (Hermann Seib) there is as much categories and subcategories as there is folders and subfolders.

As you can see, I have folders for my amps plugins, my delay, my keyboards… And all these folders are displayed like categories.
In Ardour there’s only one category for VST, and it’s everything in the same page

Half yes, half no. :wink:
I seriously consider trying it.
But honestly if I’m blocked at step 1 for a week, I won’t insist.


(Paul Davis) #6

VSTHost is nothing but a plugin host. I’d certainly hope they had a button like that.

However, Ardour is a DAW in which the act of “adding a new plugin” is an extremely infrequent operation compared to everything else you can do with the program. That’s why there is no trivially visible button. And you still have to tell VSTHost where to find your plugin, since the VST specification does not specify this.

Your “.ini” file is precisely like what we cache. Plugins are shared objects (“DLLs” in windows speak), and for the VST fplugin ormat, you cannot discover anything about the plugin except by loading it into memory. We prefer not to do that every time you run Ardour, so we load it when first discovered, make a note of the information we need to know about it, store that in text format, and use that (just like a “.ini” file) next time.

Did you create folders in the filesystem for your plugins? Or is that using metadata provided by the plugin manufacturers?


(newbie44) #7

All my VST plugins are put together in a “vst” folder, on a NTFS partition.
I’ve got two separate folders actually, one for the 32 bits and one, rarely used, for the 64 bits.
This folder is shared between all software that use or require VST.

Granted, VSThost is not a DAW. But it’s a niece piece of software, very elaborate and very complete for what it is. It can handle 20 plugins at once and the midi and audio chaining are handy. It gives a lot of control. For instance, I can make my midi keyboard use one VST on channel 1, then another on channel 2, then both at the same time on channel 3 for instance…
The only things that’s missing on VSThost are a multitrack recorder and a midi recorder. In my opinion.


(Paul Davis) #8

I’m not attacking VSTHost and there’s no need to defend it. My point was that in a full DAW “add a new plugin” is an extremely rare operation for our core users. Therefore, unlike in VSTHost, we do not put an “add new plugin” button in a part of the GUI where it would be stealing space from the core tasks you do in a DAW.

The folder structure you see is what Robin meant when he said

Categories are provided by the VST itself and Steinberg only offers a limited list.

He also noted:

Ardour6 will allow to tag plugins and add custom tags to mitigate this.