Steinberg WaveLab 7 Operation Manual French Version
Have a look at the manual Steinberg WaveLab 7 Operation Manual French Version online for free. It’s possible to download the document as PDF or print. UserManuals.tech offer 523 Steinberg manuals and user’s guides for free. Share the user manual or guide on Facebook, Twitter or Google+.
4.9 Script 67 Rubriques associées Langage de script de WaveLab Référence ECMAScript Fenêtre Scripting (Espace de travail Fichier Audio) Fenêtre Scripting (Espace de travail Montage Audio) Fenêtre de Contrôle 4.9.1 Langage de script de WaveLab Le langage de script de WaveLab varie légèrement en fonction des espaces de travail. Cette aide présente les commandes disponibles dans chaque espace de travail ainsi que les com- mandes globales. Commandes globales Ces commandes de script sont disponibles dans tous les contextes de script. Fenêtre Journal Objet représentant la fenêtre Journal, dans laquelle il est possible de générer des messages. Si la fenêtre Journal n'est pas ouverte, toutes les fonctions sont ignorées (car elles ne sont pas visibles). Fonctions printInfo(messageString) : génère un message informel dans la fenêtre Journal. L'argu- ment du message doit être saisi sous la forme d'une chaîne, entre guillemets. Exemple : logWindow.printInfo("start"); printWarning(messageString) : génère un message d'avertissement dans la fenêtre Jour- nal. printError(messageString) : génère un message d'erreur dans la fenêtre Journal. clear() : efface la fenêtre Journal. Exemple : logWindow.clear(); WaveLab 7
68 Concepts WaveLab Commandes de script du fichier audio Objets activeWave Objet représentant le fichier audio actif. De nombreuses fonctions utilisent des préconfigurations comme argument. Par exemple, la fonction normalize() accepte une préconfiguration comme argument : activeWave.normalize("myPreset"); L'avantage est qu'il n'est pas nécessaire de spécifier un grand nombre de paramètres dans vos scripts, vous pouvez utiliser la boîte de dialogue correspondante pour définir les para- mètres d'une fonction particulière, puis les enregistrer en tant que fichier de préconfiguration. Étant donné que chaque type de préconfiguration est unique, il n'est pas utile de spécifier le nom du chemin complet de la préconfiguration. Il suffit d'indiquer son nom, sans son ex- tension. Étant donné que les préconfigurations peuvent également être stockées dans un sous-dossier, vous pouvez utiliser un nom de chemin relatif si nécessaire. Par exemple, si vous souhaitez normaliser un fichier à l'aide d'une préconfiguration définie dans la boîte de dialogue Normaliser (et enregistrée dans un sous-dossier en tant que pré- configuration), vous obtenez : activeWave.normalize("mySubFolder/myPreset"); Toutes les fonctions de traitement de l'audio fonctionnent sur l'étendue audio sélectionnée. S'il n'y a aucune sélection, toute la plage du fichier est traitée (si l'option d'édition en question est sélectionnée dans la Préférences d'édition des fichiers audio ). Si le curseur ou la sélection se trouve dans un seul canal, seul celui-ci est traité. En d'autres termes, cela fonctionne comme si vous appliquez un traitement à partir d'une boîte de dialogue. Toutes les positions et tailles sont mesurées en unités d'échantillonnage. Pour spécifier une plage horaire dans une autre unité, vous devez auparavant la convertir à partir des échan- tillons. var twoSeconds = 2 * activeWave.sampleRate(); Fonctions size() : retourne le nombre d'échantillons du fichier audio. sampleRate() : retourne la fréquence d'échantillonnage du fichier audio. numChannels() : retourne le nombre de canaux du fichier audio. cursorPosition() : retourne la position actuelle du curseur (dans les échantillons). setCursorPosition(pos) : définit la position actuelle du curseur à un certain emplacement de l'échantillon. selectionStart() : retourne l'index du premier échantillon sélectionné ou -1 s'il n'y a aucune sélection. selectionSize() : retourne le nombre d'échantillons sélectionnés. select(presetName) : charge la préconfiguration de l'étendue audio et applique son para- mètre au fichier audio actif. WaveLab 7
4.9 Script 69 select(start, size) : sélectionne un nombre d'échantillons, en commençant à une position donnée. setCursorChannel(channel) : définit la position du curseur sur un nouveau canal. Utilisez les arguments leftCh, rightCh ou allCh. addMarker(type, name, comment) : ajoute un marqueur à la position du curseur. Les valeurs possibles pour le type sontles suivantes : { generic { temporary { cdTrackStart { cdTrackEnd { cdTrackFrontier { cdTrackIndex { loopStart { loopEnd { muteStart { muteEnd { playbackStarter { regionStart { regionEnd { errorStart { errorEnd { correctionStart { correctionEnd Exemple : activeWave.addMarker(generic, "SomeName", "SomeComment"); findNextMarkerPosition(posStartSearch, type) : recherche le marqueur suivant de type , à partir d'une position donnée. Retourne la position du marqueur trouvé (le cas échéant) ou -1. normalize(presetName) : charge la préconfiguration du normaliseur et applique son pa- ramètre à une étendue audio. normalizeLoudness(presetName) : charge la préconfiguration du normaliseur de sonie et applique son paramètre à une étendue audio. normalizePan(presetName) : charge la préconfiguration du normaliseur de panoramique et applique son paramètre à une étendue audio. silence(presetName) : charge la préconfiguration du silence et applique son paramètre à une étendue audio. timeStretch(presetName) : charge la préconfiguration d'étirement temporel et applique son paramètre à une étendue audio. pitchCorrection(presetName) : charge la préconfiguration de correction de la hauteur et applique son paramètre à une étendue audio. pitchQuantize(presetName) : charge la préconfiguration de quantification de la hauteur et applique son paramètre à une étendue audio. changeLevel(dbValue) : change le niveau de l'étendue audio sélectionnée. fadeIn(shape) et fadeOut(shape) : applique un fondu à l'étendue audio sélectionnée. La forme peut être l'une des suivantes : { linear { sinus WaveLab 7
70 Concepts WaveLab { squareRoot { sinusoid { log { exp { expp Exemple : activeWave.fadeIn(squareRoot); levelEnvelope(presetName) : charge la forme d'enveloppe et applique son paramètre à une étendue audio. morph(presetName) : charge une préconfiguration de métamorphose d'effet et l'applique en fonction de ses paramètres. invertPhase() : inverse la phase des échantillons dans l'étendue audio. reverse() : inverse l'ordre des échantillons dans l'étendue audio. cut() : coupe l'étendue audio sélectionnée. copy() : copie l'étendue audio sélectionnée. paste() : colle l'audio du presse-papiers à la position actuelle du curseur. trim() : rogne l'étendue audio sélectionnée. remove() : supprime l'étendue audio sélectionnée. removeSmooth() : supprime l'étendue audio sélectionnée et applique un fondu aux régions générées. mute() : met en sourdine l'étendue audio sélectionnée. swapChannels() : échange les canaux stéréo. undo() : annule la dernière commande. removeDcOffset() : supprime le décalage CC de l'étendue audio. readSamples(channelIndex, from, numSamples) : lit un nombre d'échantillons à partir d'une position donnée du curseur, sur un canal donné : { Utilisez 0 pour le canal gauche { Utilisez 1 pour le canal droit Retourne le résultat dans un tableau. Exemple : buf = activeWave.readSamples(0, 20, 100); // read 100 samples on left channel, fr om sample index 20 for (i = 0; i < 100; i++)7 { logWindow.printInfo(buf[i]); } Commandes de script du montage audio Fonctions Informations préalables : l'API de script est un projet ouvert qui évolue selon les demandes utilisateur. size() : retourne le nombre d'échantillons du montage audio. WaveLab 7
4.9 Script 71 sampleRate() : retourne la fréquence d'échantillonnage du montage audio. numChannels() : retourne le nombre de canaux de sortie du montage audio. numTracks() : retourne le nombre de pistes du montage audio. cursorPosition() : retourne la position actuelle du curseur (dans les échantillons). setCursorPosition(pos) : définit la position actuelle du curseur à un certain emplacement de l'échantillon. selectionStart() : retourne l'index du premier échantillon sélectionné ou -1 s'il n'y a aucune sélection. selectionSize() : retourne le nombre d'échantillons sélectionnés. select(presetName) : charge la préconfiguration de l'étendue audio et applique son para- mètre au montage audio actif. select(start, size) : sélectionne un nombre d'échantillons, en commençant à une position donnée. setFocusedTrack(index) : définit la piste focalisée. addMarker(type, name, comment) : ajoute un marqueur à la position du curseur. Les valeurs possibles pour le type sontles suivantes : { generic { temporary { cdTrackStart { cdTrackEnd { cdTrackFrontier { cdTrackIndex { loopStart { loopEnd { muteStart { muteEnd { playbackStarter { regionStart { regionEnd { errorStart { errorEnd { correctionStart { correctionEnd Exemple : activeWave.addMarker(generic, "SomeName", "SomeComment"); findNextMarkerPosition(posStartSearch, type) : recherche le marqueur suivant de type , à partir d'une position donnée. Retourne la position du marqueur trouvé (le cas échéant) ou -1. insertMonoTrack(where) : ajoute une piste audio mono à l'index 'where'. insertStereoTrack(where) : ajoute une piste audio stéréo à l'index 'where'. insertClip(iTrack, timePosition, fileName, autoShift) : crée un clip à partir de 'fileNa- me', l'insère dans la piste 'iTrack' sur la règle temporelle à la position 'timePosition' et décale éventuellement les autres clips pour insérer de l'espace selon le paramètre 'autoShift' auto- Shift peut avoir l'une des valeurs suivantes : { autoShiftNo { autoShiftTrack WaveLab 7
72 Concepts WaveLab { autoShiftGlobal Cette fonction retourne l'ID du premier clip créé ou 0. clipWithName(name) : retourne l'ID du premier clip avec le nom 'name' ou 0. clipWithFile(name) : retourne l'ID du premier clip qui fait référence à 'fileName' ou 0. firstClip() : retourne le premier ID de clip dans le montage ou retourne 0 si le montage est vide. nextClip(clipId) : retourne l'ID du clip stocké après 'clipId' ou 0. Les clips ne sont pas triés dans un ordre précis. L'utilisation à la fois de firstClip et de nextClip permet d'accéder à tous les clips du montage. clipName(clipId) : retourne le nom du clip identifié par 'clipId'. clipPosition(clipId) : retourne la position de la règle temporelle du clip identifié par 'clipId'. clipSize(clipId) : retourne la taille du clip identifié par 'clipId'. setClipName(clipId, name) : renomme le clip identifié par 'clipId'. setTrackName(index, name) : renomme la piste identifiée par 'index'. moveClip(clipId, newPos) : déplace la règle temporelle du clip identifié par 'clipId'. resizeClip(clipId, qlonglong newSize) : redimensionne le clip identifié par 'clipId'. La taille est limitée par le fichier audio référencé par le clip. setClipDefaultFadeIn(clipId) : définit la forme du fondu d'entrée et l'heure par défaut pour le clip identifié par 'clipId'. setClipDefaultFadeOut(clipId) : définit la forme du fondu de sortie et l'heure par défaut pour le clip identifié par 'clipId'. undo() : annule la dernière commande. Rubriques associées Référence ECMAScript 4.9.2 Référence ECMAScript Le langage de script de WaveLab est basé sur le langage de script ECMAScript, tel qu'il est défini dans la norme ECMA-262 . Les langages JScript de Microsoft, JavaScript de Nets- cape et Actionscript d'Adobe sont également basés sur la norme ECMAScript. Si vous ne connaissez pas le langage ECMAScript, il existe de nombreux documents d'apprentissage et de référence disponibles en ligne. Cette page de référence contient la liste de tous les objets, fonctions et propriétés ECMAS- cript pris en charge par le système de script de WaveLab. Ceux-ci sont disponibles dans n'importe quel contexte de script mais ne sont pas spécifiques à WaveLab. Lorsque vous créez un script pour l'espace de travail Fichier Audio, par exemple (à l'aide de Fenêtre Scrip- ting (Espace de travail Fichier Audio) ), il existe des fonctions supplémentaires particulières qui vous permettent de réaliser des commandes d'édition. Pour obtenir la liste des com- mandes et fonctions de script spécifiques à WaveLab, voir Langage de script de WaveLab . Astuce : Certains exemples de scripts sont inclus ci-dessous. Ils affichent la syntaxe des scripts en contexte. Ces scripts fonctionnent si vous les copiez, collez et exécutez dans une fenêtre de script. WaveLab 7
4.9 Script 73 Sous-ensemble ECMAScript pris en charge Objet global Valeurs { NaN { Infinity { undefined { Math Fonctions { eval(x) { parseInt(string, radix) { parseFloat(string) { isNaN(number) { isFinite(number) { decodeURI(encodedURI) { decodeURIComponent(encodedURIComponent) { encodeURI(uri) { encodeURIComponent(uriComponent) Objets { Object { Fonction { Tableau { Chaîne { Booléen { Nombre { Date { RegExp { Erreur Exemples : //Test if a value is not a number var isNumber = isNaN("c'est une chaîne"); //Print the result in the log window logWindow.printInfo(isNumber); //Traces "vrai" parce que c'est une chaîne //Convert a string to a number var numStr = "2,345"; var num = parseFloat(numStr); //Print the result in the log window logWindow.printInfo(num); //Encode a string into an internet valid ASCII String var str = "une phrase avec des spaces"; var encodedStr = encodeURI(str); logWindow.printInfo(encodedStr); WaveLab 7
74 Concepts WaveLab Objet Fonction Prototypes { toString() { toLocaleString() { valueOf() { hasOwnProperty(V) { isPrototypeOf(V) { propertyIsEnumerable(V) Fonctions { toString() { apply(thisArg, argArray) { call(thisArg [, arg1 [, arg2, ...]]) Exemple : //Create a new custom marker Object function customMarker(name, comment, timeSecs) { this.name=name; this.comment=comment; this.timeSecs=timeSecs; } //Create a new instance of the custom marker var myMarker=new customMarker("Un marqueur personnalisé", "Mes propres commentair es de marqueur",5); //Use prototype function to add a new property to it customMarker.prototype.samples = null; myMarker.samples = activeWave.sampleRate() * myMarker.timeSecs; //Trace the results in the log window logWindow.printInfo(myMarker.name); logWindow.printInfo(myMarker.samples); Objets Tableau Fonctions { toString() { toLocaleString() { concat([item1 [, item2 [, ...]]]) { join(separator) { pop() { push([item1 [, item2 [, ...]]]) { reverse() { shift() { slice(start, end) { sort(comparefn) { splice(start, deleteCount[, item1 [, item2 [, ...]]]) { unshift([item1 [, item2 [, ...]]]) Exemple : WaveLab 7
4.9 Script 75 //Create an empty array var a = new Array(); //Add some items to it a.push("premier élément du tableau"); a.push("élément suivant du tableau", "dernier élément du tableau"); //Print them out in the Log window logWindow.printInfo(a.toString()); //Call the Array's reverse function a.reverse(); //View the results in the Log window logWindow.printInfo(a.toString()); Objets Chaîne Fonctions { toString() { valueOf() { charAt(pos) { charCodeAt(pos) { concat([string1 [, string2 [, ...]]]) { indexOf(searchString ,position) { lastIndexOf(searchString, position) { localeCompare(that) { match(regexp) { replace(searchValue, replaceValue) { search(regexp) { slice(start, end) { split(separator, limit) { substring(start, end) { toLowerCase() { toLocaleLowerCase() { toUpperCase() { toLocaleUpperCase() Exemple : //Create a string variable var str = new String("WaveLab est un outil d'édition performant"); //Make it all upper case var capsStr = str.toUpperCase(); //View the results in the Log window logWindow.printInfo(capsStr); Objets Booléen Fonctions { toString() { valueOf() Exemple : //Test if an equation is true or false var isTrue = (1 + 1 == 3); //Convert the Boolean to a String and trace in the Log window logWindow.printInfo(isTrue.toString()); WaveLab 7
76 Concepts WaveLab Objets Nombre Fonctions { toString(radix) { toLocaleString() { toFixed(fractionDigits) { toExponential(fractionDigits) { toPrecision(precision) Exemple : //Convert a number into exponential notation var num = new Number(13,3714); //Show the result in the Log window logWindow.printInfo(num.toExponential()); Objects Math Valeurs { E { LN10 { LN2 { LOG2E { LOG10E { PI { SQRT1 2 { SQRT2 Fonctions { abs(x) { acos(x) { asin(x) { atan(x) { atan2(y, x) { ceil(x) { cos(x) { exp(x) { floor(x) { log(x) { max([value1 [, value2 [, ...]]]) { min([value1 [, value2 [, ...]]]) { pow(x, y) { random() { round(x) { sin(x) { sqrt(x) { tan(x) Exemples : //Get a random number from 0 to 1 var r = Math.random(); WaveLab 7