Builing with mod-script-pipe on Ubuntu Linux

I am interested in mod-script-pipe. What I need to do in order to see it in preferences->modules. I currently have released version of 2.2.0 audacity on my Ubuntu Linux. When I enter “modules” in preferences it says “No modules were found”. Do I need to compile entire audacity for this or just the mod-script-pipe.

Thanks in advance.

Both, Audacity and mod-script-pipe.
When running “configure”, be sure to use the “–with-mod-script-pipe” option.

After building Audacity you will need to manually move mod-script-pipe.so into a location where Audacity can find it. There’s a couple of options where to put it, but I’d recommend putting it in:

~/.audacity-files/modules/

Thanks for the prompt reply.
I have compiled audacity with the option you mentioned. I see the following files in

audacity/build/lib-src/mod-script-pipe directory

config.log
libtool
config.status
Makefile
mod-script-pipe.la
mod_script_pipe_la-PipeServer.lo
mod_script_pipe_la-ScripterCallback.lo

Do I need to copy these mod-script-pipe*.l* file to ~/.audacity-files/modules/

Also I see another directory in my home
~/.audacity-data is that okay?

I am asking these question as I couldn’t test the newly compiled audacity. When I try to run it, it is giving this error and I am in the process of fixing this.
./audacity: error while loading shared libraries: libwx_baseu_xml-3.1.so.1: cannot open shared object file: No such file or directory

The current version 2.3.0 has --mod-script-pipe option in the configure script but in the earlier versions I am not seeing anything specific to mod-script-pipe in the “configure” script. Even if I configure with --with-mod-script-pipe, the mod-script-pipe is not getting built. I am not seeing anything in lib-src. As I am working on Linux I don’t want to use 2.3.0 version as it is not stable. I am using the source from this link

https://github.com/audacity/audacity/releases

By any chance the compiling of mod-script-pipe has been disabled as it is a security risk.

Here’s a short version of how I build Audacity on Ubuntu 16.04:

Starting from the root of the Audacity source tree:

mkdir build
cd build
mkdir "Portable Settings"
../configure --with-lib-preference="local system" --with-ffmpeg="system" --disable-dynamic-loading --with-mod-script-pipe 2>&1 | tee build.log
make -j8 2>&1 | tee -a build.log

Note that I’m building on an 8 core machine. If your computer has less cores, change the “-j8” in the last line to match the number of CPU cores.

When it completes (without errors), Audacity can be launched:

./audacity

If you need to scrap the build and start again, you can just delete the “build” directory.

When that works, we can build mod-script-pipe. Note that this must be built on the same day as building Audacity.

cd lib-src/mod-script-pipe
make -j8

Assuming that completed without error, open

.../build/lib-src/mod-script-pipe/.libs/

and you should see a bunch of files.
Copy all of them into:

~/.audacity-files/modules/

Restart Audacity and enable mod-script-pipe in Preferences > Modules
Close and restart Audacity.

Thanks for the detailed explanation. Please note I have been compiling audacity with different versions. I understand Linux fairly well. I have been following the same procedure you mentioned for the build. Other than the version 2.3.0 in all the earlier versions lib-src/mod-script-pipe directory is not getting created after the audacity configure+make.

Anyway I followed the same command you suggested. It is building audacity successfully but I don’t see the directory lib-src/mod-script-pipe. The behaviour is exactly same as what I was seeing earlier. I built here audacity version 2.2.2 on Ubuntu Linux 18.04.

…/configure --with-lib-preference=“local system” --with-ffmpeg=“system” --disable-dynamic-loading --with-mod-script-pipe 2>&1 | tee build.log
make 2>&1 | tee -a build.log

I am only seeing these files/directories after building audacity in lib-src

silent@silent-ideacentre-510S-08IKL:~/Downloads/MyAudacity/audacity-Audacity-2.2.2/build/lib-src$ ls -l
total 140
drwxr-xr-x 7 silent silent 4096 Oct 26 03:38 expat
drwxr-xr-x 7 silent silent 4096 Oct 26 03:37 FileDialog
drwxr-xr-x 11 silent silent 4096 Oct 26 03:36 libflac
drwxr-xr-x 5 silent silent 4096 Oct 26 03:38 libid3tag
drwxr-xr-x 5 silent silent 4096 Oct 26 03:38 libmad
drwxr-xr-x 4 silent silent 4096 Oct 26 03:37 libnyquist
drwxr-xr-x 5 silent silent 4096 Oct 26 03:36 libogg
drwxr-xr-x 12 silent silent 4096 Oct 26 03:36 libsndfile
drwxr-xr-x 6 silent silent 4096 Oct 26 03:36 libsoxr
drwxr-xr-x 4 silent silent 4096 Oct 26 03:38 libvamp
drwxr-xr-x 9 silent silent 4096 Oct 26 03:36 libvorbis
drwxr-xr-x 4 silent silent 4096 Oct 26 03:38 lib-widget-extra
drwxr-xr-x 9 silent silent 4096 Oct 26 03:37 lv2
-rw-r–r-- 1 silent silent 54771 Oct 26 03:36 Makefile
drwxr-xr-x 3 silent silent 4096 Oct 26 03:36 mod-nyq-bench
drwxr-xr-x 6 silent silent 4096 Oct 26 03:37 portaudio-v19
drwxr-xr-x 3 silent silent 4096 Oct 26 03:38 portmidi
drwxr-xr-x 4 silent silent 4096 Oct 26 03:37 portmixer
drwxr-xr-x 3 silent silent 4096 Oct 26 03:38 portsmf
drwxr-xr-x 3 silent silent 4096 Oct 26 03:36 sbsms
drwxr-xr-x 4 silent silent 4096 Oct 26 03:36 soundtouch
drwxr-xr-x 7 silent silent 4096 Oct 26 03:36 twolame

That’s correct. You need to manually copy the mod-script-pipe directory into …/build/lib-src/

I made a clean build today with the current 2.3.1 alpha code, and found that …/lib-src/mod-script-pipe/ was created automatically.

Note that 2.3.1 alpha is currently NOT suitable for production work as there are problems with several of the built-in effects (see this post: Macros: Change Pitch intermittently zero'd out - #14 by steve)

Thank you very much for clarifying. I didn’t know that I had to copy the files to lib-src/mod-script-pipe. Now everything compiled for version 2.2.2
I was confused from day one as to why 2.3.0 creates the mod-script-pipe directory automatically and other versions don’t. Anyway thanks for your awesome help.

We are slowly moving towards including mod-script-pipe as part of the standard Audacity package.
Currently I would recommend it for geeks, enthusiasts and “advanced users”, that understand that this feature is still under development and subject to change.

Mod-script-pipe should NOT be used on a shared network environment, such as on a server that has public access. (See the warnings near the top of this page in the alpha-manual: https://alphamanual.audacityteam.org/man/Scripting). Because of this, even when mod-script-pipe is shipped, it will be disabled by default.