AudioEngine

Un article de XMIX.

(Différences entre les versions)
Jump to: navigation, search
Version du 23 avril 2007 à 22:06
Yoann (Discuter | contribs)
(Les objets serveurs (TAE))
← Différence précédente
Version du 3 mai 2007 à 21:56
Yoann (Discuter | contribs)
(Le script)
Différence suivante →
Ligne 32: Ligne 32:
Voici un petite exemple Voici un petite exemple
- // Création d’un objet stream nommé A+ // Création d'un AudioGroupe
- *:A:CREATESTREAM+ *:*:CREATEAUDIOGROUP:AG1
 + // Création d’un cannal audio nommé A
 + *:AG1:CREATECHANNEL:A
// Affectation du fichier ID=MON_FICHIER_1 à l’objet A // Affectation du fichier ID=MON_FICHIER_1 à l’objet A
- *:A:FILE:"MON_FICHIER_1"+ *:AG1/A:SETFILEID:"MON_FICHIER_1"
// Début de lecture du fichier après la quatrième seconde depuis le début // Début de lecture du fichier après la quatrième seconde depuis le début
// de l’exécution du script // de l’exécution du script
- 4000:A:PLAY+ 4000:AG1/A:PLAY
// Création d’un objet stream nommé B // Création d’un objet stream nommé B
- *:B:CREATESTREAM+ *:AG1:CREATECHANNEL:B
// Affectation du fichier ID=MON_FICHIER_2 à l’objet B // Affectation du fichier ID=MON_FICHIER_2 à l’objet B
- *:B:FILE:"MON_FICHIER_2"+ *:AG1/B:SETFILEID:"MON_FICHIER_2"
- // Début de mix entre le fichier 1 et 2 à deux minutes après le début+ // Libération des canaux A et B
- // d’exécution du script+ *:AG1:FREE:A
- 120000:_SYS_:MIXVOL:A:B:10+ *:AG1:FREE:B
- // Libération du canal A+
- *:A:CLOSE+
- *:A:FREE+
// Fin du script // Fin du script
* [[script_syntaxe | La syntaxe]] * [[script_syntaxe | La syntaxe]]

Version du 3 mai 2007 à 21:56

L'AudioEngine est le système qui assure la gestion de tout les objets audio du serveur. Nous l'utiliserons au moyen d'une session.

Sommaire

La Session

Une session est le point d'entrée de l'utilisation du moteur audio.

Les objets exposés

Les objets serveurs (TAE)

  • Le contrôleur de NameSpace (TAENameSpace)
  • Le routeur d'événement (TAEEventRouter)
  • L'arbre des variables (CAEVar)
  • Le gestionaire de session (CAESessionMgr)

Les objets drivers (TAD/TAR)

Les objets drivers assure l'implémentation des librairie audios externe comme Bass et FMod

Les objets techniques (TAE)

  • Instanciation d'une DLL (TAEDll)

Le script

Qu'est ? L'idée d'introduire le script dans ce player me tien beacoup à coeur... et cela a pour objectif d'avoir la possibilité de piloter l'ensemble des fonctions du moteur de Xmix via un script.

Comment L'idée est d'y aller vite, donc nous avons choisi d'utiliser la méthode d'interprétation la plus simple, à savoir sans structure et chaque instruction est décrite en une ligne.

Voici un petite exemple

// Création d'un AudioGroupe
*:*:CREATEAUDIOGROUP:AG1
// Création d’un cannal audio nommé A
*:AG1:CREATECHANNEL:A
// Affectation du fichier ID=MON_FICHIER_1 à l’objet A
*:AG1/A:SETFILEID:"MON_FICHIER_1"
// Début de lecture du fichier après la quatrième seconde depuis le début
// de l’exécution du script
4000:AG1/A:PLAY
// Création d’un objet stream nommé B
*:AG1:CREATECHANNEL:B
// Affectation du fichier ID=MON_FICHIER_2 à l’objet B
*:AG1/B:SETFILEID:"MON_FICHIER_2"
// Libération des canaux A et B
*:AG1:FREE:A
*:AG1:FREE:B
// Fin du script