dssiinit — Charge un greffon DSSI ou LADSPA.
Note | |
---|---|
Greffon : nécessite le greffon dssi4cs |
Opcode du greffon dssi4cs.
dssiinit est utilisé pour charger en mémoire un greffon DSSI ou LADSPA pour une utilisation avec les autres opcodes dssi4cs. On peut utiliser des effets LADSPA ainsi que des instruments DSSI.
ihandle - le numéro qui identifie le greffon, à passer au autres opcodes dssi4cs.
ilibraryname - le nom du fichier .so (objet partagé) à charger.
igreffondex - l'index du greffon à utiliser, supérieur ou égal à zéro.
iverbose (facultatif) - montre l'information et les paramètres du greffon lors du chargement. (1 par défaut)
dssiinit recherche ilibraryname dans les chemins définis par LADSPA_PATH et DSSI_PATH. Une de ces variables doit être définie sinon dssiinit retourne une erreur. Les bibliothèques LADSPA et DSSI peuvent contenir plus d'un greffon, ceux-ci étant référencés par un index. dssiinit tente alors de trouver le greffon d'index igreffondex dans la bibliothèque et le charge en mémoire s'il le trouve. Pour savoir quels greffons sont disponibles et quels sont leurs numéros d'index, on peut utiliser dssilist.
Si iverbose est différent de 0 (par défaut), une information sur les caractéristiques détaillées du greffon et sur ses ports est affichée. Cette information est importante pour les opcodes comme dssictls.
Les greffons sont inactifs par défaut. Il *faut* donc utiliser dssiactivate pour que le greffon produise du son. Ceci est obligatoire, même si le greffon ne possède pas de fonction activate().
dssiinit pouvant provoquer des interruptions du flux audio en temps réel, il est recommandé de charger tous les greffons que l'on veut utiliser avant l'exécution.
Voici un exemple de l'opcode dssinit. Il utilise le fichier dssiinit.csd.
Exemple 251. Exemple de l'opcode dssinit. (Penser à changer le nom de la bibliothèque)
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;RT audio out ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o dssiinit.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 gihandle dssiinit "g2reverb.so", 0, 1 gaout init 0 instr 1 ; activate DSSI dssiactivate gihandle, 1 endin instr 2 ain1 diskin2 "beats.wav", 1 gaout = gaout+(ain1*.3) endin instr 3 dssictls gihandle, 4, 100, 1 ; room 10 to 150 dssictls gihandle, 5, 10, 1 ; reverb time 1 to 20 dssictls gihandle, 6, .5, 1 ; input bandwith 0 to 1 dssictls gihandle, 7, .25, 1 ; damping 0 to 1 dssictls gihandle, 8, 0, 1 ; dry -80 to 0 dssictls gihandle, 9, -10, 1 ; reflections -80 to 0 dssictls gihandle, 10, -15, 1 ; rev. tail -80 to 0 endin instr 4 aout1, aout2 dssiaudio gihandle, gaout, gaout ;get beats.wav and outs aout1,aout2 ; stereo DSSI plugin gaout = 0 endin </CsInstruments> <CsScore> i 1 0 2 i 2 1 10 i 3 1 10 i 4 0 10 e </CsScore> </CsoundSynthesizer>