Does anyone use Waves plugins in Ardour?

sorry, one final thought here… but is your moral qualm with theft and piracy, or with the technical altering of a software program? I think the key thing that is being overlooked here is that buying the software from the developer and altering it’s functions to get it to work properly is very diffferent from outright pirating it. Piracy protection is there to ensure that the developer is paid for their work… So if you paid for the work and alter it for your own personal use, can that really equated to piracy? To my understanding, piracy is when you remove the restrictions without paying for the right to do so, then participate in the distribution of unlocked software to others who also have no valid license. Paying the creator for a license is in essence paying for the right to unlock the software. Once you own a license legitimately, what should it matter if I unlock it with a damn chainsaw? the point is that its not being stolen or illegally distributed.

so if we can agree that purchasing a software license entitles you to unlock the use of the software in one way or the other, then your qualm at that point is not with theft or piracy, but with alteration of code and platform loyalty… Many would say you cant steal what you already purchased, or 'no harm no foul… ’ That’s fair if you really object to the act of lock picking as a principle, but then you might rethink using a coat hanger to unlock your car the next time you lock your keys inside, as breaking locks goes against your principle… And if you wanna talk EULA etc, then why is using WINE for any windows app immune to your principle, as it enables users to run programs on a platform that its developers never intended? Apple lost the jailbreak battle in court, so even case law would support what im saying here. I’d just like to point out that at the end of the day, are we shaming the act of theft and piracy, or are we shaming the act of lock picking? What I suggested as a last resort is more along the lines of lock picking. A locksmith commands locks, which grants him the power to steal things, yes, but if he uses that power only for good, he is not a criminal or dishonorable man, he is a service provider who may one day help you out of a situation involving a malfunctioning lock. Just saying…

but is your moral qualm with theft and piracy, or with the technical altering of a software program? You have to consider that both may be a violation of the license, depending upon the particular license terms and applicable laws. For example some licenses do not permit reverse engineering (except to the extent mandated by applicable laws). If you really want to "Keep on making music and giving proprietary OS's the middle finger" then go ahead, it's your choice, that's fine - but surely it's better to do this by using free software, with a permissive license that allows you to do exactly what you want to do with the software, and perhaps contribute something back and improve it in the process, rather than to publicly advocate a potential violation of the license you agreed to when you purchased / installed the software? There's something at odds between a clearly passionately held belief that you should be able to do whatever you want with software, and yet continuing to use a commercal product which may not afford you those freedoms.

I don’t actually care about distinctions between “lock picking” versus “theft”. What I know is that when I create something and release it to the world, I do so on the hope and expectation that the world will honor the intent of the way I choose to release it. If I release it only for the Haiku operating system, in binary only format, then I hope and expect that the world will not try to hack the executable to make it work on Linux or Windows. If I choose to release it as source code under the GPL then I hope and expect that the code will not be incorporated into a proprietary application.

The developers of proprietary software are programmers just like me. I expect that the intent of their release decisions be honored, just as I hope and expect that mine are too. If they didn’t release it for Linux, then that’s their choice. If they didn’t release it for Windows, that’s their choice. I cannot see how any one expects people to follow the GPL at the same time as advocating for hacks/tinkering/whatever to get around proprietary developers release decisions.

@mike Well stated.

“surely it’s better to do this by using free software, with a permissive license that allows you to do exactly what you want to do with the software, and perhaps contribute something back and improve it in the process,”

Agreed. No argument there…

I suppose we’re now getting into the hair splitting details, and in the interest of honesty I have to admit that I haven’t read the Waves EULA in it’s entirety recently enough to recall exactly what their policies are regarding alteration or reverse engineering… I would imagine that the language used there would require some kind of expert to lay it all out for us in the context of this instance which could perhaps be called a ‘gray area.’ If I called Waves and explained this to them, I’m not sure they’d see the trouble as a good use of time. lol. That said, if we are debating principle here, then yes, I suppose you are right and I would have to agree with what you are saying. Since my lifestyle shift of migrating to linux from OSX, (similar to a pig farmer going vegan,) I make it a point to stick to open source tools as much as possible and even hand rig many of my effects and synths using tools like puredate, which I am currently using in developing my own series of tools and tutorials to gift to the community under a free license.

My use of commercial tools is mostly a result the of fact that I am a working professional in music, and most musicians are not developers or all that tech savvy, so they tend to use exclusively commercial software. In many cases, (cough Apple) It is made intentionally difficult to interface with proprietary software in a cross platform sense, while still maintaining a reasonably functionable workflow - particularly in the case where each party is using different DAWs. Much like living without money may be principally desired by some, but impossible if you plan to stay in the big city, using only non-commercial software is extremely difficult in a professional world where 99% of the time, others are using something like protools or Logic. Much like a starving vegan at a family bbq in rightwing USA, sometimes you just have to be practical - especially when others are counting on you and your skills to realize their vision. As @paul touched on earlier, some of us are cut out to be GNU warriors and some of us are cut out lead a more practical lifestyle, it is true that we can each get away with our own ideas when it involves ourselves, but when working with others becomes the task, we have all had to swallow our pride and do what is practical to some degree. If you have ever entered a studio session with a common setup and pull a complex puredata patch on the screen, or enter anything in a terminal, then you might know what feels like to be stared at as if you were an alien who flew to a bus stop to pick up passengers in your spaceship. I cant expect everyone to be willing to tackle such learning curves in the prime of their careers… so there we are, parking our spaceship and pulling out the keys to the bus so that everyone may have a pleasant ride and arrive safely at the destination.

Everyone here makes valid points in a practical sense, and in a practical sense, I have no real choice but to agree… but therein lays the point to which I allude: Say what you will about my Ideals or gray area methods… however it should be pointed out while you all have a good sense of what is practical right now, in the bigger picture, I am the only one at the moment conveying ideals that do not tell anyone else what they are or are not allowed to do, whilst remaining functional and productive in an environment where others entertain a wide variety of conflicting ideals or ‘company policies’ that impose real limitations on others in some way or other, even when others are doing no harm to anyone. Limiting ones potential for the sake of maintaining systems, structures or protocols of a theoretical nature to the degree that it alters the physical abilities of one’s expression and accomplishment could be a textbook definition for the word “impractical,” particularly when looked at in the grand scheme.

It’s nice talking with you all and I do love a good debate!
Cheers

@paul So then you are not a fan of WINE or Crossover etc?

@paul

“I cannot see how any one expects people to follow the GPL at the same time as advocating for hacks/tinkering/whatever to get around proprietary developers release decisions.”

I think that ‘hacks/tinkering’ tends to get a bit of a bad wrap. The truth is, I have only been in the world of software and hardware development for a short while compared to someone like you, or compared to my time as a musician. To learn much of what I now know about coding and patching together synths and effects from old recycled junk TVs, discarded electronics and AVR boards was by being the kind of person who would tear things apart to see what is inside. It wasnt about being malicious or disrespecting anyone, it was about learning a skill to empower myself to create things and salvaging/recycling things that otherwise go to waste. Hacking and tinkering could be likened to martial arts in that learning and practicing these skills can give you the kind of power that makes you potentially dangerous, but also can make you a force of good, or a force to defend others against those who would abuse such skills/practices. It’s all about intention in that sense.

Secondly, it’s quite understandable to hope that people respect your own decisions and wishes… but to ‘expect’ it might be creating a rather large space that could be filled with disappointment. In my experience, I have found that the attitude of ‘hope for the best; prepare for the worst’ tends to make sleeping easier at night. When dealing with something like releasing music or software to the www, it’s a tall order to suppose that what people at large do with your work can be controlled. A problem is something you have the ability to solve. A condition that thinks for itself simply is what it is, like it or not. Im not saying that to be rude. I say it as it is only true.

Now, if someone does something with another’s work that actually undermines them, steals from them, damages them in any way, then of course that person has the right to seek recourse… But if someone downloads a program and hacks and tweaks it beyond recognition, but does not release it or exploit it, but simply learns from it or uses it for their own personal purpose, Then that is no one’s business but that person. In other words, what I do with software on my computer is my business. I would hope and expect just as you do that no one assert over me what I can or can’t do with my own property. As long as its for personal use only, it’s of no consequence to anyone else anyway.

I suppose it could be said that your sentiment cuts both ways. On one hand, the developer wants his release decisions respected, on the other hand the end user wants his needs and personal freedom of how he chooses to use his own equipment respected. What’s the answer to it all? Your guess is as good as mine… but I find that life is easier when I focus my upsets on things I can actually control vs the things that are what they are beyond me. The way my parents, grandparents and great grandparents conducted their business is gone. The way its looking, software and gaming is the next to feel the wave change… and when 3d printers become more commonplace, tools, clothing designs, plastic parts etc will follow suit, and by the time we are ol geezers, the way the whole world does business will likely be unrecognizable to the way it is today. I suppose we can choose to be upset or offended by that, or we can choose to embrace it and adapt gracefully. To each their own.

Thanks again for your work. Ardour is a great project and a powerful DAW that is made available to everyone for love over gain. That shows and is something I personally admire.
Cheers!

On one hand, the developer wants his release decisions respected, on the other hand the end user wants his needs and personal freedom of how he chooses to use his own equipment respected. What's the answer to it all?

There’s no mystery: the user who wants to be able to tinker, or make copies to give to friends, should ensure that they use only the work of developers who gave them the freedom to do so.

While I will never advocate for piracy (that is run a program without the legal right to do so because you bought^Wlicensed it), I am in favor of reverse-engeneering and other kind of similar actions for interoperability purposes. Note that in several countries there is a legal right to tinker with a (binary only) program for educational or interoperability reasons, and I’m very happy to live in one of those countries (which also doesn’t recognize software patents even if some people succeeded in obtaining some anyway by tricking the office into thinking they were not).
Having bought a program and using a crack on in in order to force it to run on another operating system is not piracy to me. And it doesn’t deprive the developer of his needed money to live. That the developer cannot control what I do with the software I own should be the rule, as is the rule that a hammer manufacturer cannot prevent me to do whatever I want with my hammer (including reselling it).
The real problem here is IMHO the fact that most software is licensed, not sold, in what I consider a scamming scheme devised by software manufacturers a long time ago (and that’s almost exactly what prompted RMS to react back in the day). That scheme is now tried by an awful lot of markets, including books or music, and I don’t find it very fun that they essentially want to kill the used aftermarket and even often require users to buy one version of the song for the house and one for the car. And fair use or private copies are dead (even though we still pay a “privace copy” fee on most storage devices, in France at least).
The GPL is not affected by this because it doesn’t regulate usage at all (you can do what you want) but only distribution.

Again, stomping on the legal rights of the initial developer to run a program you didn’t buy is not right (either morally or legally). Cracking a program you bought to circumvent a problem you have with it (and not activate a feature you didn’t pay for) is morally right, and legally right in several countries. Mixing up the two in the above arguments is not helpful IMHO.

So if you consider a situation where a commercial developer sells you the license to use a piece of software on a particular machine, as is not uncommon, and you chose to purchase a copy locked to that machine, would you then assume you then have the right to take a pirated copy without (or disable) such restrictions, and perhaps run it on another machine? And would this not be analogous to saying ‘because I bought this tin of beans, I obviously have the right to as many free extra tins as I need…’ You may not agree with such a licensing policy, in which case you can chose not to agree with it by not buying the software and not entering into the agreement in the first place. Reverse engineering for certain purposes is permitted under some laws, but my understanding of that (with the obvious caveat that I am not a lawyer etc) would be that reverse engineering for compatibility purposes, or to ensure compatibility, if it is permitted, would not involve deliberately removing restrictions or changing functionality. In other words, you might be within your rights to modify the software to make it work, but only if the copy protection and other functionality also works as intended.

No. If you bought it for one machine, you get to run it on one machine. What could be argued is that a lot of such restricting licenses / lock systems don’t take into account the case where your machine died and you need to build another, or even sometimes the software locks because you changed your hard-drive (e.g. for an SDD) or video card or sometimes as little a change as adding an HDD. In such case, if contacting the developer doesn’t help solving the issue, I think you are entitled to crack the protection, but that is already not so white and black so I’m not advising you do that.

A similar train of thought would hint that if you change your OS from Windows to Linux, you might have the right to use whatever mean is needed to make your software work on Linux, but that (at least morally) it wouldn’t be right if you want to dual-boot and use the software both in Windows and Linux. Again, it can be muddy watters, since we are treading upon subtleties in machine vs user vs instance vs whatchamallit license types. Note that most small developer studios have a down-to-earth approach on that (even Mixbus for instance) where none of this applies because they are genuinely helpful in cases where you change your machine or loose your license ID or similar. In my experience, that’s big devs who rack a lot of money who have a very hard stance that borders on extortion, like Avid, Adobe or Apple.

As for your last statement, I an not a lawyer either, but I don’t think that you are required to leave the copy protection intact if that one is hindering interoperability. In fact, I’m pretty sure I read about cases (as in court) that were about that, and were won by the « infringer ».

Personally I don’t think advocating the breaking of copy protection is ever an appropriate remedy, however ‘morally’ justified someone may believe it to be. By far the best option if you want to modify or otherwise change the software for whatever purpose is of course to use software provided under a permissive license which allows such changes. If you want to ensure compatibility, the best option is to use a product designed for the purpose.

Note that most small developer studios have a down-to-earth approach on that (even Mixbus for instance) where none of this applies because they are genuinely helpful in cases where you change your machine or loose your license ID or similar

As just such an independent developer, my company provides commercial software which is designed to work natively on linux, so modification should not be necessary - under a very flexible license - so you are not locked to just one machine (and I personally spend a significant amount of my out of hours support time - I hope helpfully - resolving issues for users who have lost their license IDs or software after wiping their machine to perform some OS (re)install / ‘upgrade’ or other without a backup). I still would not want someone advocating breaking the copy protection or terms of the license.

Of course, I would recommend to vote with our wallet in the first place and never ever buy anything from vendors that require iLoks or similar (Autocad being a famous case back in the day, with a parallel port dongle IIRC). And favor vendors that already create software that is tailored to the users needs, so yes, I would recommend OvertoneDSP. In fact, I myself very much apply that principle so my previous argument was solely on a philosophical point of view. I never was plagued by the problem since I’m under Linux for so long that I was too young to buy anything of real value when I was on Windows (I switched before being 18yo). The most expensive software I owned back in the day was Visual Basic (for Windows 3.1 IIRC) and it was gifted to me by my dad for my 12th or 13th anniversary (maybe 11th, I don’t really remember).

But users who bought from other less virtuous vendors before understanding their mistake shouldn’t be doomed for their honest blunder either, and some software is very expensive and/or doesn’t have suitable replacements for Linux (yet). The fact that CrossOver is flourishing is a testimony to that IMHO. In the realm of audio plugins, I think the change is coming slowly but surely, led by companies like yours or Harrison, and indeed the need to commit to badly behaving companies is disappearing.

So, since we’ve passed the storm, Waves on Linux status update from anyone?

Waves plugins work with Ardour on OSX and Windows. Waves does not provide Linux versions.

As for Waves VST on Windows. The waves-shell (which includes all plugins) can take a long time to scan and on some system times out. Press the “Stop Timeout” button in Ardour’s scan dialog or increase the default timeout in Preferences >Plugins > VST. (clear the blacklist and re-scan in Preferences >Plugins)

Back after some time with an update for the original question of this post:

Using the latest version of wine staging and linVST, the entire waves bundle is fully functional. You will want to ensure that all of the applicable redist packages and libraries are installed in your wine prefix, like msvcredXX.dll vcrunXX.dll etc. In order to run the legitimate licensing programs to properly license your software, you will almost certainly need wininet and webio installed in your prefix. Unlike previous times, the licensing software should work ok now. (that ones for all those in the previous debate, lol.) You will also still need to unpack the waveshells using shell2vst etc. I have managed to get every one of them working, though some seem to spike the CPU usage more than what I would think is normal. That said, Steinberg just released the VST3 SDK for linux, so strap in folks, we are gonna have a lot of plugin support soon!
Cheers!

recommended dll overrides: d2d1.dll wininet.dll, nsi.dll, iertutil.dll : native only
recommended installed libraries:
vcrun 2005 through 2015 should all be installed.
registered fonts
gdiplus
dx3d11

for 32bit versions: sudo apt-get install gcc-multilib g+±multilib

for plugins that require internet access for registration etc, its a good idea to install these libraries in linux:
sudo apt-get install winbind sudo apt-get install gnutls-bin sudo apt-get install libntlm0

Be careful about overcomplicating the registry in your prefix. thorough practice is to keep a separate prefix for different versions of plugins. For updates, best practice is to clean install in a fresh prefix.

For ease of maintaining prefixes, make a prefix with all of the most commonly needed libraries and components installed and keep a backup copy of it. Instead of creating prefixes from scratch each time, copy the backup to your wineprefix directory under the desired name and tweak it accordingly.

I do hope this helps save someone the headache I went through to figure out this info.

If VST3 support also finds its way into ardour - though other linux host applications do support it.

I do hope this helps save someone the headache I went through to figure out this info.

Why not just keep the Windows install that most likely came with the PC and run your Windows plug-ins on Windows rather than creating an add-hoc - and likely fragile - Windows emulation (in all but name) to run on top of Linux? Having already had to purchase commercial Windows plug-ins, it seems like the worst of all worlds.

the VST3 SDK has more lines of code in it than Ardour! It barely fixes the worst parts of VST. In the last month, despite Steinberg’s efforts to stop this, I’ve noticed at least 3 new plugins released in VST2 format, and I don’t even follow plugin announcements.

I wouldn’t rule out future VST3 support, but we’re not falling over ourselves to implement it.

Developers can still release VST2 as long as they have the SDK and a license agreement with Steinberg (I believe there was a cut-off for approving new agreements after October (2018) ) and I guess will continue to do so as long as hosts support it. The ‘problem’ with VST2 is that it’s actually quite good (considering its age) - its relatively easy for (new) developers to understand, its flexible enough that you can do just about all you would need for most plug-ins (as proved by the sheer number of them) and - it is extensible. You can add custom extensions if required (though not many do). VST3 adds some complexity - and improvements - its relatively easy to compile for Linux (I’ve ported a few plug-ins to VST3 on Linux, but there is little point in releasing them yet - as not all hosts support VST3 reliably and those that do also support VST2… which I guess proves my previous point)*

the VST3 SDK has more lines of code in it than Ardour

Some of my plug-ins (including the graphics toolkit / framework etc) have more lines of code in than Ardour… :slight_smile:

*Developers - especially commercial - generally hate new plug-in formats - it means no-one will buy your existing range because - futureproofing, unless you support the new format (which you will be expected to provide for free). Often this means significant work to port to a format which by definition there will be no immediate support / market for. All of which time could have been spent developing new products.

I don’t have an issue with a plugin that has a lot of code. I am sure that in particular things like Kontakt are enormous. But a plugin SDK? That doesn’t actually do much of anything? Oh, except for a GUI library that uses a very poor choice of underlying technology on Linux. No thanks.

I’m not even sure that VST3 fixes the single biggest problem in the VST API, which is the use of pointers in the API, making the 32/64 bit distinction problematic. I know this is fixed for VST4, at least.

I don’t have an issue with a plugin that has a lot of code…

I guess what I was saying - light-heartedly - about the amount of code, was that perhaps to a lot of people a plug-in appears as if its just some little ‘add in’ to a much larger application… whereas in many cases it has as much support infrastructure contained in it as a standalone application - it just happens to get hosted in / by another application.

(I’m probably unusual, in

a) spending so much of my time actually doing this… :slight_smile: (I must be out of my mind…) and
b) having developed all the DSP, graphics toolkit etc, across all the supported platforms and OS - and even associated documentation, manuals etc - for the plug-ins I… attempt… to sell)

It is unusual that the SDK should be so large but as you mention VST3 has some GUI code in there too - though my preference (along with many other developers I expect) is to rely on my own GUI framework (others may use JUCE for example, or something similar, but they normally hook into the SDK at the same level)

I’m not even sure that VST3 fixes the single biggest problem in the VST API, which is the use of pointers in the API

This is a strange issue to highlight - in most cases, while there are some bits that are not ideal (I’m guessing you’re referring more to the dreaded use of something like VstInt32 to contain a pointer in some of the APIs), this is fixed up for 64Bit, and you can only run e.g. 32Bit plug-ins in 32Bit hosts or 64Bit in 64Bit etc, so this has never - to my knowledge - been a practical issue.