Page 2 of 2

Re: WaveLab scripting questions

Posted: Thu Nov 02, 2017 9:37 pm
by MrSoundman
PG wrote:
Thu Nov 02, 2017 9:15 am
If you need to register again, you can run this small .bat file:

Code: Select all

cd /d "C:\Program Files\Steinberg\WaveLab Pro 9.5"
"C:\Program Files\Steinberg\WaveLab Pro 9.5\WaveLabPro9_5.exe" /regserver
Thanks, that's working now! (needs to be run once, as Administrator). To help those who are getting started, on Windows you can also control WaveLab from PowerShell:

Code: Select all

# Hello-64.ps1

$app = New-Object -ComObject WaveLabPro9_5.Application
while (!$app.IsReady())
{
    Start-Sleep -Milliseconds 100
} 
$app.Hello()
$app.Quit()
This does not need to be run as Administrator. Note that the name of the ComObject will vary depending on what version of WaveLab you have -- this example is for WaveLab Pro 9.5

Re: WaveLab scripting questions

Posted: Sun Dec 10, 2017 12:50 pm
by MrSoundman
Here's the PowerShell equivalent to convert a wave file to an MP3:

Code: Select all

# ConvertToMp3.ps1

$ObjNameApp  = "WaveLabPro9_5.Application" # adjust to your version of WaveLab Pro
$ObjNameWave = "WaveLabPro9_5.Wave"
$fileToConvert = "E:\Audio\Awsome.wav" # the name of the source file
$targetFormat = "%factory%\Encoded\Mp3\Mp3 FH 128k cbr" # the format you want to convert to (preset)

$app = New-Object -ComObject $ObjNameApp
while (!$app.IsReady()) # wait for the application to load
{
    Start-Sleep -Milliseconds 100
} 

$wave = New-Object -ComObject $ObjNameWave # create a new wave editor
$wave.Open($fileToConvert) # load the source file
$wave.SaveAs($fileToConvert,$targetFormat) # convert and save in the target format
$wave.Close()
$app.Quit()
The first two lines may need to be adjusted for your specific version of WaveLab Pro. The next two lines should be self-explanatory -- the source file and the format you want to convert it to. The destination file is placed in the same folder as the source file.

Re: WaveLab scripting questions

Posted: Wed May 29, 2019 5:47 pm
by misohoza
Anyone using Visual Studio Code as external script editor for WaveLab?

I'm trying to put together a type declaration file to provide tooltips and auto-complete suggestions for WaveLab specific scripting functions. It's more the less ready and available here: https://github.com/misohoza/wavelab

I have a few questions that probably only PG can answer:
  • What version of ECMAScript is it? ES5?
  • In documentation examples is a function waitsUntilAllTasksFinished which isn't documented. Are there more undocumented functions or features?
  • I'm trying to "type" function arguments and return values. I'm not quite sure with clipId and fileId. Is clipId a number and fileId an object?
Thanks in advance.

Re: WaveLab scripting questions

Posted: Wed May 29, 2019 7:49 pm
by PG
What version of ECMAScript is it? ES5?
I think this is version 3.
The list of functions independent from WaveLab is there:
https://doc.qt.io/qt-5/ecmascript.html
In documentation examples is a function waitsUntilAllTasksFinished which isn't documented. Are there more undocumented functions or features?
No. But the number of functions will grow. FY, this script engine is used to test some parts of WaveLab.
I'm trying to "type" function arguments and return values. I'm not quite sure with clipId and fileId. Is clipId a number and fileId an object?
No, just integer IDs.

Philippe