FICHIER DE DESCRIPTION DE L'ORGUE :

Le programme générique de commande d'orgue ORGLIB.EXE permet de définir entièrement tout orgue avec ses jeux et ses boutons de registres.
Cette définition est décrite sous forme d'un fichier texte nommé "options.wri", pouvant être généré à partir de n'import quel logiciel de traitement de texte;
Sur PC, je recommande le programme write.exe, mais tout autre logiciel peut être utilisé.

PRINCIPE :  :
Les claviers comme les jeux sont définis sous forme de chaines de bits, à 1 ou à 0 définis dans la structure interne O_REG.
Il peuvent comporter 64 bits ou plus, sans limitation.
Le rôle fondamental du programme ORGIB.EXE consiste à tranférer des chaines de bits (en fait l'état de notes) depuis les claviers jusqu'aux registres.
Il correspond à ce que font MECANIQUEMENT les abrégés, les balanciers, les accouplements octaves graves, aigues, etc...

LA STRUCTURE DE DONNEES DU FICHIER OPTIONS.WRI :
EXEMPLE
PORT_BASE Adresse physique du port parallèle
PORT_BASE_HALLAdresse physique du port parallèle de sortie des jeux (optionnel)
MIDI_INPUTS:Périphérique audio USBNom des claviers d'une console distante optionnelle. (exemple de l'orgue de Rians)
MIDI_OUTPUTS:Nom d'un module à tuyaux réel relier par liaison USB/MIDI (optionnel)
CLAVIERS 4Nombre de claviers
DELTAXCLAVDécalage visuel sur l'écran entre les représentation des blocs de boutons de registres : clavier 1, 2, etc...
DX_DY_STOPS    Nombre de colonnes en X et Y des boutons de registres

DESCRIPTION DES JEUX : EXEMPLES :
JEUX 10NOMBRE DES JEUX
BOURDON     ;00F;CARTE4X64;FOND
ADRESSES PHYSIQUES DES CARTES DE COMMANDE DES JEUX REELS
FLUTE_4        ;0FF;CARTE1X64;FOND

DESCRIPTION DES BOUTONS DE REGISTRES :
Contrairement aux orgues mécaniques simples, un bouton de registre ne correspond pas obligatoirement et directement à un jeu réel : Grâce à l'informatique, on peut composer son jeu à partir de plusieurs transferts de registres de claviers vers les registres réels. On eut même définir un nombre quelconque de tuyaux différent pour chaque notes. C'est ce que j'appelle les "mixtures généralisées", définies par un simple fichier texte. La stucture des boutons de registres est la suivante :

BOUTONSMot clé définissant le début de la structure des boutons de registres.
NBLOCSBOUTONS Nombre de blocs de boutons : en principe, 1 par clavier ou pédalier, davantage si nécessaire.
KEYBOARD Clavier 1
PEDALENom du clavier/pédalier qui apparaîtra sur l'écran
XY0 5 55Position des premiers boutons
COL    5Nombre de colonnes
STOPNUMBER 4Nombre de boutons de registres ici 4 dans le bloc pédalier
1;Im1002.bmp;Im0002.bmp;NB_MOVES:2 0 0 1 1 64;1 2 3 5 44;Bouton 1;Image On;Image Off,Nombre de moves; Registre destination, clavier source, Note 1 destination, Note 1 source, nombre de notes à transférer


COMBINAISONS : Les combinaisons sont aussi décrites dans le fichier Options.wri :

COMBINAISONS Nombre de combinaisons
IMAGEON    ;on.bmp
IMAGEOF    ;of.bmp
XY0 30 300
Image combinaison appelée ou renvoyée.
XY0 coordonnées du bouton sur l'écran
ENREGBouton d'enregistrement
IMAGEON    ;bouton_enr_on.bmp
IMAGEOF    ;bouton_enr_off.bmp
Image enregistrement On et Off
RENVOI
IMAGEON    ;bouton_renv_on.bmp
IMAGEOF    ;bouton_renv_off.bmp
Image Renvoi des jeux On et Off
SENSITIFMode Sensitif (clavier sensible à la vélocité)
IMAGEON    ;bouton_sensitif_on.bmp
IMAGEOF    ;bouton_sensitif_off.bmp
INCRBouton incrémenteur
DECRBouton décrémenteur

NOTA : toutes ces commandes peuvent bien entendu être doublées par des boutons réels.

ACCOUPLEMENTS et TRANSPOSITIONS :
Le système permet de créer de façon élégante ces fonctionnalités :
Il suffit d'aouter aux jeux réels des jeux virtuels, et de faire les moves à volonté dans un bloc de boutons supplémentaire.
MIXTURES :
Les mixtures sont définies de façon  similaire :
MIXTURES
[Nombre de notes à mixtures]
[Numéro de note 1][nombre de tuyaux à actionner pour la note][numero de tuyau à actionner]..
[Numéro de note 2 ][nombre de tuyaux à actionner pour la note][numero de tuyau à actionner]..
[Numéro de note N][nombre de tuyaux à actionner pour la note][numero de tuyau à actionner]...