WaveLab Application Programming Interface



Similar documents
Configuration for Microsoft Windows 7 Enterprise Edition

Desktop, Web and Mobile Testing Tutorials

Music Data Management Software Data Manager 6.1 User s Guide

Kaldeera Workflow Designer 2010 User's Guide

Event Center (rev b) EVENT CENTER. VPI 160 Camino Ruiz, Camarillo, CA (Voice) (Fax)

idvr-pro Viewer Software for Mac User Manual ver 0.1

TouchCopy is designed to help you get the most out of your ipod, ipod Touch, iphone or ipad.

Document Management Quick Reference Guide

You must have at least Editor access to your own mail database to run archiving.

Addendum DVR670 Installation and Operation manual AM18-Q0617

Automated backup. of the LumaSoft Gas database

Using Flow Control with the HEAD Recorder

Deploying Microsoft Operations Manager with the BIG-IP system and icontrol

Getting Started Using AudibleManager. AudibleManager 5.0

5.6.3 Lab: Registry Backup and Recovery in Windows XP

Configure SQL database mirroring

TM Online Storage: StorageSync

Introduction to Final Cut Pro 7 - Editing Basics

SafeGuard PrivateCrypto 2.40 help

Reading and Writing Files Using the File Utilities service

Welcome to myihome! This is a step-by-step guide that will teach you on how to use myihome in the simplest way.

How to start with 3DHOP

Call Recorder Oygo Manual. Version

Librarian. Integrating Secure Workflow and Revision Control into Your Production Environment WHITE PAPER

WS_FTP Professional 12

Help File. Version February, MetaDigger for PC

JetPaySM. JetComSM. Installation Guide

Final Cut Pro 6 Workshop Fabian Winkler

Zoom Plug-ins for Adobe

Autograph 3.3 Network Installation

Archiving - Outlook 2003

Plena Voice Alarm System Firmware update

Professional Surveillance System User s Manual

Recording Supervisor Manual Presence Software

Practice Fusion API Client Installation Guide for Windows

Microsoft SQL Server 2005 How to Create and Restore Database (GRANTH3) Manually

SeeVogh Player manual

MSI Admin Tool User Guide

Introduction to the use of the environment of Microsoft Visual Studio 2008

Technical Support Set-up Procedure

How to Back Up and Restore an ACT! Database Answer ID 19211

Soft Call Recorder v3 Manual Version

ADOBE CONNECT 8 USER GUIDE. Colorado Department of Labor & Employment

DSS Player Pro. Transcription Module INSTRUCTIONS

VThis A PP NOTE PROCESSING P2 MEDIA WITH FLIPFACTORY

Click the Entries tab to enter transactions that originated at the bank.

Adding Audio to a Presenter File

Audacity is a free, totally free, audio editing program. Get it here:

SMS (Server Management Software) Digital Video Recorder. User s Manual

Publishing Geoprocessing Services Tutorial

Using Microsoft Visual Studio API Reference

Step-by-Step Guide to Active Directory Bulk Import and Export

Membership PLUS Backup/Restore

Inteset Secure Lockdown ver. 2.0

Recording using Cubase LE 6

Quick Installation and Setup for WinPower Software

Citrix EdgeSight for Load Testing User s Guide. Citrix EdgeSight for Load Testing 3.8

Published. Technical Bulletin: Use and Configuration of Quanterix Database Backup Scripts 1. PURPOSE 2. REFERENCES 3.

1 ImageBrowser Software Guide

How to Use Motion Detection in ACTi Cameras

Simple Computer Backup

Version 1.6. User's manual

AutoCrypt 2.1 User Guide!

Flip4Mac Image Server Component

Capturing Material. Section 3

Finding and Opening Documents

ImagineWorldClient Client Management Software. User s Manual. (Revision-2)

TRANSFORM YOUR MEDE8ER TV WALL FROM THIS: TO THIS: LIBRARY VIEW SHOW VIEW SEASON VIEW FULL SYNOPSIS AND INFO

Citrix EdgeSight for Load Testing User s Guide. Citrx EdgeSight for Load Testing 2.7

Content Management Implementation Guide 5.3 SP1

Access to remote DVR from IE USER S MANUAL CONTENT

Scripting in Unity3D (vers. 4.2)

TIBCO Spotfire Automation Services 6.5. User s Manual

AT&T Connect Recording Converter User Guide

Microsoft SQL Server 2005 How to Create and Restore Database (GRANTH3) Manually

DENON DJ Music Manager

Information Technology Services

Microsoft Windows Movie Maker

Creating, Running, and Scheduling Scripts

BestSync Tutorial. Synchronize with a FTP Server. This tutorial demonstrates how to setup a task to synchronize with a folder in FTP server.

itunes 7.0 Fall 07 fall 2007

ivms-4500 (Android Tablet) Mobile Client Software User Manual (V3.0)

Call Recorder Quick CD Access System

Technical Notes. EMC NetWorker Performing Backup and Recovery of SharePoint Server by using NetWorker Module for Microsoft SQL VDI Solution

StreamServe Persuasion SP5 Ad Hoc Correspondence and Correspondence Reviewer

High Availability for VMware GSX Server

Manual Client Management Software HDR50-CMS

DiskPulse DISK CHANGE MONITOR

1. Central Monitoring System Software

User s Manual of DVR DVS Remote Client Software V 4.0.1

These instructions were tested on OS X Earlier or later versions may have slight or major differences in how things work and appear.

CLOUD DIGITISER 2014!

ALON MP3 Dictaphone. User's manual. 1. Introduction 2. Audio Player 3. Voice Dictaphone 4. Phone calls recorder 5. Customer support.

WS_FTP Pro. User s Guide. Software Version 6. Ipswitch, Inc.

HIC.SOAP Network User Instructions last updated June 22, :39 AM

Transcription:

WaveLab Application Programming Interface Introduction Application scripting in WaveLab enables you to automate tasks that might otherwise take a long time to perform manually, or to control WaveLab remotely as part of an automated system. For example, suppose you often have to normalize and convert audio files to MP3 with specific settings with the appropriate script, all you have to do is to drag and drop the audio file onto the script file: WaveLab is executed and the appropriate sequence of functions is called. Done! Or suppose you need to automate the recording or playback of files: a couple of script lines and you re there. You can run scripts that others have written or write your own scripts. You can also control WaveLab from a C++ application.you can write scripts in two languages: VBScript and JScript. Learn about these simple languages at http://msdn.microsoft.com/library (once there, search for VBScript or Jscript). You simply use a text editor to write scripts. There are many references on the internet about VBScript and JScript. If you want to create scripts, you will need to learn the basis of one of these script languages. To run a script, simply double-click on the script file in the Windows environment (you run script files the same way you run regular executable files). For certain scripts, drag and drop a file on them. Alternate method: in the Windows environment, click the Start button, and then click Run. In the Open field of the Run dialog box, type the full path of the script together with some possible arguments (eg. file name), and click OK. You can find some small script samples in the WaveLab\Scripting\ folder. But open them in a text editor to see the comments first, to know what they do. There is also the WaveLab type library (WaveLab.tlb ) if you need to implement a client application eg. in C++. Finally, there is a very simple C++ test application in the CppTest folder (this was generated from Visual C++; this application only opens WaveLab, then closes it 2 seconds later). API details WaveLab provides a COM interface. This API can be called by scripts or standard applications (eg. C++). The following documentation provides a summary of classes, methods and properties exposed by the WaveLab scripting API. This API is simple by design: few classes, few methods, few arguments, but combining them can create powerful solutions. Note: WaveLab makes much use of presets throughout the application (eg. File formats, Master Section presets, etc.). The API often refers to these presets. That is, instead of defining too many details in a script (eg. to set a file format), you first make proper presets in WaveLab, then you refers to these presets in the script. See further. 1

Class Application This class represents WaveLab and its main window. Quit() Quit WaveLab. If any file is not saved, the standard save dialog pops up. ShowWindow(int mode) mode = 0 -> then the WaveLab window gets minimized. mode = 1 -> then the WaveLab window gets maximized. mode = 2 -> then the WaveLab window gets restored to the position and size it had before being minimized. Dim app Set app = CreateObject("WaveLab.Application") app.showwindow(0) WScript.Sleep(2000) app.showwindow(2) WScript.Sleep(2000) app.showwindow(1) WScript.Sleep(2000) app.quit() 2

Class AudioFileFormat This class represents a file format definition. It is used as an argument for file saving and rendering (see further). In WaveLab 4.01, you can save file format presets (Save As dialog, Render dialog, etc.), and an AudioFileFormat object represents exactly such a preset. Load(String presetname) Initialize the object with the preset called presetname Dim ff Set ff = CreateObject("WaveLab.AudiofileFormat") ff.load("mp2") 3

Class MasterSectionPreset This class represents a Master Section preset. It is used as an argument for file rendering (see further). Load(String groupname, String presetname) Initialize the object with the preset called presetname from the group called groupname. See the WaveLab Master Section dialog for a better understanding of these two names. The preset names are case-sensitive! Dim msp Set msp = CreateObject("WaveLab.MasterSectionPreset") Call msp.load("mygroup", MyPreset ) 4

Class RecordSetup This class represents a Recording setup (see the WaveLab Record dialog). It is used as an argument for the recording API (see further). Load(String presetname) Initialize the object with the preset called presetname. Dim rs Set rs = CreateObject("WaveLab.RecordSetup") rs.load( MyPreset ) 5

Class Wave This class represents a wave file. Open(String filename) The wave file called filename will be open in a window. If the file is already open, nothing happens. Close() The wave file window gets closed. Play() The wave file is played from start to end. SaveAs(String filename, AudioFileFormat* fmt) The wave file is saved under a specific name and with the specified format. Render(String filename, AudioFileFormat* fmt, MasterSectionPreset* msp) The wave file is processed through a chain of plugins, and saved with the specified format and under the specified name. Dim ff, msp, wave Set ff = CreateObject("WaveLab.AudiofileFormat") ff.load("mp2") Set msp = CreateObject("WaveLab.MasterSectionPreset") Call msp.load("mygroup", MyPreset ) Set wave = CreateObject("WaveLab.Wave") wave.play() Call wave.render(c:\a.wav, ff, msp) Call wave.saveas(c:\b.wav, ff) wave.close() 6

Class AudioMontage This class represents an Audio Montage Open(String filename) The Audio Montage called filename will be open in a window. If the file is already open, nothing happens. Close() The Audio Montage window gets closed. Play(String clipname) If clipname is an empty string, then the Audio Montage is played from start to end. Else, the specified clip, and only it, is played from start to end. Render(String filename, AudioFileFormat* fmt, MasterSectionPreset* msp) The Audio Montage is processed through a chain of plugins, and a wave file is produced with the specified format and under the specified name. Dim ff, msp, mon Set ff = CreateObject("WaveLab.AudiofileFormat") ff.load("mp2") Set msp = CreateObject("WaveLab.MasterSectionPreset") Call msp.load("mygroup", MyPreset ) Set mon = CreateObject("WaveLab.AudioMontage") mon.play( ) Call mon.render(c:\a.wav, ff, msp) mon.close() 7

Class Player This class represents the Playback engine. Stop() Stop any playback activity. WaitEnd() Properties The function only returns when the current playback activity reaches its natural end (eg. end of file). IsNowPlaying This value is TRUE if playback is currently happening. Dim mon, player Set player = CreateObject("WaveLab.Player") Set mon = CreateObject("WaveLab.AudioMontage") mon.play( ) WScript.Sleep(2000) WScript.Echo player.isnowplaying player.stop() mon.play( ) player.waitend() 8

Class Recorder This class represents the Recorder engine. Init(String filename, IRecordSetup* rs) Open the recorder window, sets the specified setup and destination file name. Record() Start recording (just like pressing the RECORD button in the window). By design, and unlike when using WaveLab directly, there is no message to warn you about a possible file overwriting. Stop() End recording (just like pressing the STOP button in the window) Pause() Pause recording (just like pressing the PAUSE button in the window) Discard() Discard recording (just like pressing the DISCARD button in the window, but without any warning). End() End recording and close the window. Dim setup, recorder Set setup = CreateObject("WaveLab.RecordSetup") setup.load("aaa") Set recorder = CreateObject("WaveLab.Recorder") Call recorder.init("d:\a.wav", setup) recorder.record() WScript.Sleep(4000) recorder.pause() WScript.Sleep(4000) recorder.record() WScript.Sleep(4000) recorder.stop() 9

Class Batch This class represents a batch processor. Set(String outpath, String options, String pluginset) Initialize the batch process with a destination path, the batch options (corresponding to a name from the batch preset page, ie. File formats, etc.), the plugins to use (corresponding to a name from the batch plugin preset dialog). The preset names are case-sensitive! Clear() Remove all file from the batch list, and remove all plugins too. AddFile(String filename) Add a single audio file to the batch. AddFileList(String filename) Read all the file names from a text file (one full name per line) and add these files to the batch. AddFolder(String path, String ext, BOOL subfolders) Add to the batch all the files contained in the specified folder, with the specified file extension, and optionally also search in sub-folders. Run() Start the batch processing and wait till the end of it. End() Properties Close the batch window. Error This value is TRUE if an error has occurred during processing. Dim batch Set batch = CreateObject("WaveLab.Batch") batch.clear() batch.addfile("c:\mypiano.wav") batch.addfolder("c:\myproject", wav, TRUE) batch.addfilelist("c:\myfiles.txt") Call batch.set("d:\out", "MyOptions", "MyPlugins") batch.run() WScript.Echo batch.error batch.end() 10