Script syntaxe

Un article de XMIX.

Revision as of 6 novembre 2007 à 17:54; view current revision
← Version précédente | Version suivante →
Jump to: navigation, search

Sommaire

Général

Une instruction est une commande permettant d'utiliser les ressources de l'AudioEngine. Elle est exécutée au sein d'une session. Une instruction est composée de la manière suivante:

 <time_code>:<variable>:<instruction>[:<param> [:<parma2> ... :<param n>]]

tous doit tenir sur un ligne (les retours chariots délimité chaque instruction).

<time_code>

Il est existe de trois types différents :

       <n> : Time code absolu, l'instruction sera déclanchée n miliseconde(s) après le démarrage du player. 
                    (Ex: 12000:A:CREATECHANNEL) 
       *<n> : Time code relatif temps réel. L'instruction sera déclanchée n miliseconde(s) après son interprétation.
                    (Ex: *1000:A:CREATESRTEAM) 
                    Petit raccourci : *: -> immédiat et equivalent à *0
       +<n> : Time code relatif incrémental. Cette instruction sera exécutée n miliseconde(s) après la dernière 
                    instruction de type relatif incrémental ou de type relatif temps réel.(Ex: +500:A:CREATECHANNEL)

<variable>

Chemin pour accéder à l'objet:

      *                 : Self (généralement la session)    
      _SYS_             : Correspondant aux instruction qui porte sur le système (Ex: *:_SYS_:EXIT) 
      <variable_path>   : Correspond à un chemin absolu ou relatif pour accéder à un objet. 
                                exemple: /Session1/AG1/Channel1 ou AG1/Channel1.


<instruction> : objet _SYS_

      GETFILEID         : Interroge le TAudioFileMgr pour obtenir l'ID correspondant à une source audio définit dans une URL.
                              exemple: *:_SYS_:GETFILEID:@<alias>:"file://C:/MP3_SAMPLE/MyFile1.mp3"
                              ou       *:_SYS_:GETFILEID:@<alias>:"xmix://Le%20%plus%20fou%20des%20MP3"
      DRAWHEAP          : Dessine l'arbre des variables actuellement définit
      DOSTDUPDATE       : Met à jour les informations "standard" des variables
      DOFSTUPDATE       : Met à jour les informations "fast" des variables

<instruction> : objet type Session

      CREATEAUDIOGROUP  : Créer un AudioGroup
                                *:<session>:CREATEAUDIOGROUP:<NomAudioGroup>
      FREE:<Obj>        : Suprime un objet et sa décendance
      NOP               : Ne fait rien

<instruction> : objet type AudioGroup

      CREATECHANNEL     : Créer un objet de type stream 
                                *:<NomAudioGroup>:CREATECHANNEL:<NomCanal>
      FREE:<Obj>        : Suprime un objet et sa décendance
      SETVOL:<vol>      : Modifie le volume de l'objet (0-255)
      SETPAN:<pan>      : Modifie la répartition du son entre gauche/droite en stéréo (0 à droite, 255 à gauche)
      SETMUTE:[ON|OFF]  : Active le mode mute

<instruction> : objet type Channel

      SETFILEID:<ID>    : Affecte une source audio représenté par <ID> (un TAudioFile) au canal
                                *:<NomCanal>:SETFILEID:<ID>
      PLAY              : Commence la lecture
                                *:<NomCanal>:PLAY
      PAUSE             : Met en pause la lecture
                                *:<NomCanal>:PAUSE
      STOP              : Arrête la lecture
                                *:<NomCanal>:STOP
      SETPOS:<position> : Deplace le curseur de lecture à la position indiquée.
      SETVOL:<vol>      : Modifie le volume de l'objet (0-255)
      SETPAN:<pan>      : Modifie la répartition du son entre gauche/droite en stéréo (0 à droite, 255 à gauche)
      MONITOR:[OFF|STD|FAST] : Active le monitoring de la variable pour le client puisse accéder rapidement au données semi/temps réel

To be continued...