Script syntaxe

Un article de XMIX.

(Différences entre les versions)
Jump to: navigation, search
Version du 3 mai 2007 à 23:11
Yoann (Discuter | contribs)

← Différence précédente
Version actuelle
Yoann (Discuter | contribs)

Ligne 1: Ligne 1:
== Général == == Général ==
-Un instruction est composé de la manière suivante+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>]]''' '''<time_code>:<variable>:<instruction>[:<param> [:<parma2> ... :<param n>]]'''
Ligne 12: Ligne 12:
'''*<n>''' : Time code relatif temps réel. L'instruction sera déclanchée n miliseconde(s) après son interprétation. '''*<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) (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 '''+<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) + instruction de type relatif incrémental ou de type relatif temps réel.(Ex: +500:A:CREATECHANNEL)
- '''CREATECHANNEL''' : Créer un objet de type stream +
- *:<NomAudioGroup>:CREATECHANNEL:<NomCanal> petit raccourci : *: -> immédiat et equivalent à *0+
== <variable> == == <variable> ==
Ligne 22: Ligne 21:
'''_SYS_''' : Correspondant aux instruction qui porte sur le système (Ex: *:_SYS_:EXIT) '''_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. '''<variable_path>''' : Correspond à un chemin absolu ou relatif pour accéder à un objet.
- exemple: /Session1/AG1/Channel1 ou AG1/Channel1 + 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 == == <instruction> : objet type Session ==
Ligne 28: Ligne 36:
*:<session>:CREATEAUDIOGROUP:<NomAudioGroup> *:<session>:CREATEAUDIOGROUP:<NomAudioGroup>
'''FREE:<Obj>''' : Suprime un objet et sa décendance '''FREE:<Obj>''' : Suprime un objet et sa décendance
 + '''NOP''' : Ne fait rien
== <instruction> : objet type AudioGroup == == <instruction> : objet type AudioGroup ==
Ligne 35: Ligne 44:
'''SETVOL:<vol>''' : Modifie le volume de l'objet (0-255) '''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) '''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+ '''SETMUTE:[ON|OFF]''' : Active le mode mute
== <instruction> : objet type Channel == == <instruction> : objet type Channel ==
- '''SETFILEID:<ID>''' : Affecte un fichier représenté par <ID> à l'objet de type stream+ '''SETFILEID:<ID>''' : Affecte une source audio représenté par <ID> (un TAudioFile) au canal
*:<NomCanal>:SETFILEID:<ID> *:<NomCanal>:SETFILEID:<ID>
'''PLAY''' : Commence la lecture '''PLAY''' : Commence la lecture
Ligne 51: Ligne 60:
'''SETPAN:<pan>''' : Modifie la répartition du son entre gauche/droite en stéréo (0 à droite, 255 à gauche) '''SETPAN:<pan>''' : Modifie la répartition du son entre gauche/droite en stéréo (0 à droite, 255 à gauche)
- '''SETMONITOR:<type>:[ON|OFF] : Active le monitoring de la variable pour le client puisse accéder rapidement au données semi/temps réel+ '''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... To be continued...

Version actuelle

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...