Creating dynamic library plugins for Audacity (compiled)

Audio software developers forum.

If you require help using Audacity, please post on the forum board relevant to your operating system:
Windows
Mac OS X
GNU/Linux and Unix-like

Creating dynamic library plugins for Audacity (compiled)

Permanent link to this post Posted by CZghost » Mon May 29, 2017 8:00 am

Hello. I'm just wondering about how you manage to create plugins for Audacity using compiled dynamic libraries (eighter *.dll for Windows or *.so for GNU/Linux).

For Windows, how I can debug and test the plugin inside Audacity using Visual Studio's debugging session (and create the plugin using Visual Studio, too)?
How Linux debugging for Audacity compiled plugins is performed?

I'm going to create a plugin for Audacity (both for Windows and Linux) using Visual Studio on Windows and GNU programming tools on Linux, so that's why I'm asking...

Thank you in your interest :)
CZghost
 
Posts: 23
Joined: Wed Nov 14, 2012 5:29 pm
Operating System: Please select

Re: Creating dynamic library plugins for Audacity (compiled)

Permanent link to this post Posted by Gale Andrews » Mon May 29, 2017 3:19 pm

Wrong place to ask. This is the Audacity Forum. We only ship one shared library plugin (SC4 - LADSPA) and we don't debug it. It is old and has not been updated in years. We don't ship VST's at all.

Have you tried searching the internet? When you have done that, then if you still need help, you can try subscribing to audacity-devel mailing list and asking there: https://lists.sourceforge.net/lists/listinfo/audacity-devel.

Have you considered Nyquist plugins instead of LADSPA/VST? Nyquist plugins are Audacity's own format and we have experts in those.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual
Gale Andrews
Quality Assurance
 
Posts: 26089
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Creating dynamic library plugins for Audacity (compiled)

Permanent link to this post Posted by CZghost » Mon May 29, 2017 8:12 pm

Wait. All DLL plugins are using an obsolete and further not supported nor updated DLL core? Or how I can understand your words? I'm creating plugin, not looking for some plugin to work with. You probably misunderstood me.

I'm looking for some tutorial or a guide on creating plugins for Audacity. Google didn't help (perhaps I asked wrong question, I'm not Google master at all), so I decided to ask here, since this is Audacity forum and perhaps somebody could help me there. Well, I registered to devel mailing list, but unfortunately I didn't get the whole concept - where can I seek for something? Always use an archive to search or just list? Are there some general rules on using devel? Like how to form questions, how to submit plugins, etc.

If somebody adds new post to devel, I guess it will arrive in my inbox, right?

To Nyquist plugin: As Nyquist has great deal with manipulating audio data, it can create various sample tracks, various wave functions, but I actually do not get Nyquist, it's a language I just do not understand and seems too hard to implement. Also, I heard that Nyquist does not support handling with files. That's why I got to use Visual Studio and C# (and C++) for compiled DLL/SO dynamic linked library instead of interpreted Nyquist script. Because I practice in procedual programming and I believe that plugin should remember it's own settings from last session. One thing is to use registers (or something similar to save system and application settings), the other is to use files to store settings. Both ways require compiled library, it's something Nyquist can't ever achieve. Of course I could do hybrid plugin and use Nyquist scripting to actually generate the data, but DLL and EXE for saving files and show settings window, which would use user input for generating Nyquist script call command... But then it just would be very long as I have to learn Nyquist first before using it.
CZghost
 
Posts: 23
Joined: Wed Nov 14, 2012 5:29 pm
Operating System: Please select

Re: Creating dynamic library plugins for Audacity (compiled)

Permanent link to this post Posted by steve » Mon May 29, 2017 8:35 pm

Audacity supports various plug-in types. See: http://manual.audacityteam.org/man/cust ... ml#Plugins
See also the pages linked to from the above.
If you keep strictly to the format for any supported plug-in type, then it should work in Audacity.

This forum is primarily for "user support" rather than "developer support".
There is some (limited) information for developers on the Audacity wiki: http://wiki.audacityteam.org/wiki/Categ ... Developers
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
steve
Site Admin
 
Posts: 45327
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Creating dynamic library plugins for Audacity (compiled)

Permanent link to this post Posted by steve » Mon May 29, 2017 8:38 pm

In Audacity 2.1.3, Nyquist plug-ins do remember their last used settings. Their settings are saved in the "pluginsettings.cfg" file.

Nyquist plug-ins can read and write files, but there is currently no file browser widget, which is not very user friendly for selecting files / folders. See these plug-ins for examples:
http://manual.audacityteam.org/man/samp ... xport.html
http://manual.audacityteam.org/man/samp ... mport.html
Hopefully a file browser will be available in the future.

If you have questions specifically about Nyquist, please ask in this section of the forum: https://forum.audacityteam.org/viewforum.php?f=39

There is quite a lot of information available for developing Nyquist plug-ins as it is Audacity's 'native' plug-in format. See: http://wiki.audacityteam.org/wiki/Nyqui ... _Reference

For other plug-in formats you will need to search on-line for developer documentation. For example:
http://lv2plug.in/ns/
http://lv2plug.in/book/
http://ygrabit.steinberg.de/~ygrabit/pu ... /V2.2/doc/
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
steve
Site Admin
 
Posts: 45327
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Creating dynamic library plugins for Audacity (compiled)

Permanent link to this post Posted by CZghost » Mon May 29, 2017 9:10 pm

Okay, thank you for your feedback :) I'm going to study later :)
CZghost
 
Posts: 23
Joined: Wed Nov 14, 2012 5:29 pm
Operating System: Please select

Re: Creating dynamic library plugins for Audacity (compiled)

Permanent link to this post Posted by Gale Andrews » Tue May 30, 2017 3:48 pm

CZghost wrote:Wait. All DLL plugins are using an obsolete and further not supported nor updated DLL core?

What are you talking about there? I am saying the one DLL plugin we ship (SC4) is old. The author does not develop it further.

CZghost wrote:I'm creating plugin, not looking for some plugin to work with. You probably misunderstood me.

No I didn't misundertand.

As I said, we almost exclusively ship only Nyquist plugins. If you don't want to create Nyquist plugins, then the plugins you create are not only for Audacity but can also be used in other applications that support your chosen format.

Or do you want to propose a new built-in effect for Audacity? That will be LADSPA-based, programmed in C++.

CZghost wrote:I registered to devel mailing list, but unfortunately I didn't get the whole concept - where can I seek for something? Always use an archive to search or just list?

Yes to search, you have to use an archive such as http://audacity.238276.n2.nabble.com/audacity-devel-f238278.html or https://sourceforge.net/p/audacity/mailman/audacity-devel/.

CZghost wrote:Are there some general rules on using devel? Like how to form questions, how to submit plugins, etc.

There are some guidelines at http://wiki.audacityteam.org/wiki/Asking_Questions#ask which are for the -users list but they apply equally to the -devel list.

I think it fair to say that we are more likely to ship a Nyquist plugin than in other formats. LADSPA is old and quite limited and has been effectively replaced by LV2, but our support for LV2 still has rough edges and omissions, especially on Windows. We would likely not directly ship VST, because suppliers of some of our third-party libraries oppose the patented format.

CZghost wrote:If somebody adds new post to devel, I guess it will arrive in my inbox, right?

Yes, if you are subscribed.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual
Gale Andrews
Quality Assurance
 
Posts: 26089
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10


Return to General Audio Programming



Who is online

Users browsing this forum: No registered users and 2 guests