AudioEngine

Un article de XMIX.

Jump to: navigation, search

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

Les objets exposés

Les objets serveurs

  • Le controleur de NameSpace
  • Le routeur d'événement
  • L'arbre des objets

Les objets drivers (TAD/TAR)

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

  • Les AudioDriver (TAD)
  • Les AudioReader (TAR)

Les objets techniques (TAE)

  • Instanciation d'une DLL

Modèle objet

Convention de nomage

Objet TAEDll

Cette objet gère le chargement et le déchargement d'une DLL de type TAudioEngine (pour l'instant comme FMod ou BASS). Il gère également le rennomage de la DLL afin de palier au problème de multiple instance au sein de Windows sans partager le même espace mémoire.

Quoi Valeur
Diminutif TAE
Dérivée TAEBass, TAEFMod

Objet TAudioDriver

Cette objet permet la gestion d'un gestionnaire audio externe comme FMod ou BASS. Cette objet utilise un TAEDll pour le chargement d'une instance d'un moteur audio externe, assure le paramétrage du moteur audio.

Quoi Valeur
Diminutif TAD
Dérivée TADBass, TADFMod

Objet TAudioGroup

Cette objet gère la création d'une table de mixage de un ou plusieurs canaux associé à un TAudioDriver initialisé sur une interface audio précise.

Objet TAudioReader

Cette objet assure l'implémentation d'une interface de lecture pour des données audios. Cette objet est dépendant de la nature des données (Net, Stream ou module) et du driver audio qui a été instancié (TAE*) Des sous classe de cet objet ont été défini afin de spécialiser les contrôle en fonction des type de données audio : TARStream, TARMod, TARNet etc...

Objet TSChannel et TChannel

La classe TChannel représente le contrôle final d'un canal audio (une piste de la table de mixage TAudioGroup). Sa version « lecture-seule » TSChannel permet l'accès à la structure de donnée en lecture seule. TSChannel à pour vocation à être utilisé au niveau du GUI.

Dynamique des classes