WaveLab Scripting & External Programs

Thanks. So, not to be (too) impertinent: when can we expect some sort of equivalent functionality for the Mac version? Particularly given that Steinberg charges the same (industry leading) amount of money for both versions.


It’s easier for me to extend the internal scripting, rather than supporting some new external scripting based on Apple Script.
Hence, if you have suggestions, I might implement them.

Sorry for the delay in responding; I was (as you might tell) in a sulk.

I don’t think I’d suggest going with Apple Script on the Mac side. But my understanding of the internals is limited. Why move from JavaScript to a different syntax. So, I guess the question is: what’s needed to put a “basement” on the WaveLab scripting engine on the Mac. Something of more or less equivalent functionality to ActiveX.

I’ve run across a company called Late Night Software – http://www.latenightsw.com/ – that distributes a JavaScript component for Mac and sells a debugger for same.

Perhaps it would be worthwhile for Steinberg to look into whether this offering is ready for prime-time, what would be involved in building plumbing from WaveLab, and what the financial implications might be.

I say this not having looked at this question in any great detail.

In fact, the question is academic from my point of view. As I mentioned earlier, I own WaveLab Elements, not the full product.

To add insult to injury, I received a promotional email this morning announcing the cross-grade from BIAS Peak software. For 50% off! It’s an insult to current and ostensibly loyal Steinberg customers, that this sort of offer is not available to them, i.e., an upgrade from Elements to the full version. Who do I write to at the Steinberg brain-trust to complain further about this?

Thanks for your interest and patience and help.


Why move from JavaScript to a different syntax.

Note sure I understand what you mean. WaveLab internal scripts use JavaScript.

Many things are potentially possible, but I want to implement stuff from solid user cases.


Philippe, perhaps we’re at cross purposes. You mentioned Apple Script in the preceding entry. I thought you were looking to move to Apple Script. I provided you with a possible resource that does JavaScript on Mac in response, in my previous posting.

As far as solid user cases go: I doubt there are 6 people who would want to use WaveLab as the hub of their (classical) electronic music composition. So, it don’t know what to say in that regard.

My query has to do with the ability to execute command line or batch code external to WaveLab – in my case the Composers Desktop Suite of Utilities – and have the resulting, processed files available in the Audio editor in WaveLab. I’m not suggesting you should replicate the functionality of CDP in WaveLab; however, I suspect some of it already exists in WaveLab and more of it, e.g., enhancements to spectral analysis and editing, is probably under development. (You might want to look at Iris from iZotope for some very interesting work being done with spectral analysis and editing.)

So the issue, as it was originally framed is: How do you make MAC WaveLab functionally equivalent to Win WaveLab (via ActiveX) in terms of access to the Operating System and other software utilities? I suspect there is a significantly larger market for that kind of generic functionality.

If you are interested in what functionality CDP offers, I can direct you to one of the developers. You can contact me off line. And I think I’ve provided the URL in a previous posting.


OK, I see.

Note that WaveLab can already execute External tools:
Audo File Workspace > Tools > Configure External Tools
and also for the Batch Processor.

But this is not scriptable.

CDP seems an interesting thing, at first sight. Basically, I like the idea of WaveLab being able to cooperate with other software via command line tools. I would need to study more the functionality offered by CDP to imagine possible developments.


Excellent! I wasn’t aware of the Configure External Tools option. I’ll take a look at it to see if it helps me. The current Composer’s Desktop GUI available for the Mac is written in Tc/Tkl and is quite unwieldy to use and idiosyncratic in its workflow design ; but it is also just a way of running the CDP program modules. The one thing it does help with is managing intermediate results so that you are not overwriting your files unless you are satisfied with the modifications. In addition, there is the notion of a “process” or score that let’s the user string a sequence of processes together. It may be that WaveLab external tools collected into batches will do a similar trick.

Incidentally and off topic, I’ve encountered another piece of software that uses JavaScript as its programming dialect. It’s called IanniX – http://iannix.org/en/index.php – and is a sequencer, quite a sophisticated sequencer – capable of sending OSC, MIDI and serial messages. It has been integrated with MAX/MSP, Puredata, SuperCollider (my axe of choice), Csound and other composition tools. I don’t know if looking at its JavaScript implementation would be of any use but it is an interesting piece of work on its own.

Thanks for the heads up about external tools.


I just tried to set up an External Tool link to one of the Composer’s Desktop Project executables.

Unfortunately, WaveLab will only allow me to set a link to an .app. The CDP files are described as “Unix Executables” if you do a “Get Info” on them. The default application for opening is Terminal.

So unless you can help me with a work-around, I’m scuppered with the external tool solution.

This continues to be very frustrating when you consider that WaveLab is billed as the premiere sound editing tool, priced at the top of the market. I hope the fact that there is no competition is not affecting Steinberg’s attitude toward innovative and pro-active development.


WaveLab can also select command line applications, not only .app files.
the “External tools” option is only in WaveLab. How did you try, since you said:

As I mentioned earlier, I own WaveLab Elements, not the full product.

I’m evaluating full WaveLab (not Elements). Here’s the procedure I follow:

  1. while looking at wave forms (and assuming this means I’m in the Audio Editor,) I choose Tools and then Configure External Tools from the main menu.

  2. I am presented with a window that allows me to Add a new tool; I do so; I name it and then I search for it via the folder icon next to the Application field.

  3. I navigate to the directory containing the CDP executables and find they are all greyed out.

  4. I change the file type drop down to . rather than *.app and I find a single .sh script, but the executable files remain greyed out and inaccessible.

  5. I check the file properties for these files and I find that I and the Administrator have Read/Write access. I’m not a unix guy but I’m assuming this is adequate (since other executables have the same permissions.) However, these files are not in the Applications folder tree, they are in my home/data folder tree. The default application for executing these files is listed as Terminal and this works, i.e., I can execute them via Terminal.

What else should I be looking for? Thanks for your help.


What you do is right. But at first sight I don’t known why the command line applications are disabled in the file selector.
Try to enter the file names by typing them rather than selecting them from the file selector…

First, I tried to set the default “Open with” configuration to WaveLab in the Get Info window. The system, initially, did not present me with WaveLab as an option to do so, i.e., the system didn’t know if it was possible to open the file or not.

I changed the selection options to allow any application to open the file. And still, after executing the External Tools menu options, the sample program was still greyed out.

Then I typed in the path and file name as per your suggestion and, after trying to run it, received the message the “The file was not able to be opened successfully; please check its definition.”


Just to continue with this line a bit: I have attempted to add executables in the /sw/bin directory and find that they too are greyed out. So it doesn’t seem to be an issue with this particular product suite. There is something more fundamental the is not understood.


I will have to check. There is maybe a bug. This part was more tested on Windows than on Mac, I must say. Give me a few days.

Just one more, hopefully unimportant, detail: I do have WaveLab Elements installed on my Mac. It would not be the case that something like access to executables would be “turned off” by that product and not turned on by the evaluation version of WaveLab full? …


Any updates on this thread?

The days of my eval period are passing and this capability on Mac is key to my final decision.

Thanks. …edN

The file selector is searching for . files, which means files with a . then an extension. If the file name does not have a . like some command line tools, they are greyed out. We can say this is a wavelab bug. But this does not prevent you to enter valid file names. For instance, in the picture below, the tool call the zip command line utility to compress the current WaveLab file. This works, I just tested it.

Interesting. One of those obscure things that is totally obvious once you discover it.

Thanks. It’s late here. I’ll take a look tomorrow and let you know how things go.


Good! Progress. I can get the zip example you posted to work by following the model in the PNG file. However, when I try similar things with the executables I would like to use, I’m given the message window with, for example, “The tool ‘CDP Blur’ could not start successfully. Please check its definition.”

Is there a log file where I can try to get more detail about why this failure is happening?

The executables I’m testing are already in my PATH, but I must still include the path to the executable file in the Initial Folder field?

There should be no difficulties including conventional command line switches, e.g., -i, -M2, in the Arguments field?

I can work these commands from the Terminal so I’m hoping / assuming the same syntax will hold. There’s no need to nest things in quotes or some such?

Thanks for your help. …edN

OK. I think I have something to work with now. There are complications with any of the executables that either pause or require a key sequence to terminate early. I don’t know if that is an issue yet.

One strategy that seems to work when setting up the external configuration is to choose “Explore” from the tool name field, find what you’re looking for and then drag it to the field. You end up with the complete path to the executable but that doesn’t seem to be a problem. (I don’t know if that obviates the need for the path in the “Current directory” field or not; not a big deal either way, I guess.)

One suggestion in addition to answering relevant questions from the earlier post, might be to try to figure out how to deliver status and / or error information to the user. I can see this being an increasingly important feature if one were to try to string multiple tools together in a batch.

Thanks again for the hints.