I’d love to have a feature that basically replaces selected sound section with a result of external script.
This could make Audacity a really flexible tool, which could easily interact with complex pipelines of CLI programs (ffmpeg, sox, etc.) and apply any crazy experimental feature without losing productivity.
Detailed use case:
- user selects a sound section and chooses Effect - External Command…
- show a window with (editable) list of commands/scripts, where user selects a command
- silently export current selection as a temporary wav file
- run a shell script (which takes a path to the temporary file and expected output wav file as arguments or simply uses stdin/stdout instead)
- remove currently selected sound from the track
- insert output (that was produced by external command) on the track
- remove temporary files
Is there any similar feature?
Is it possible to implement something similar with Macros/Chains, Nyquist, mod-script-pipe? Or writing a Module in C++ is the only way?
I found wxExecute was used in VST effects plugin registration code (which is unrelated) and also in export to an external program feature which is almost what I’m looking for.
Is wxExecute the only way Audacity currently runs external programs or there’s something else?
I also noticed that running the following command with mod-script-pipe
Export: Mode=Selection Filename="selection.wav" Channels=1
just opens an export dialog, instead of silently writing a wav file with a given Filename, which is probably unexpected.