Dernière mise à jour :
14/09/2016
Développement non terminé, projet non inscrit dans les sommaires du site.
Présentation
Ce plugin est mon premier plugin VST, développé avec Delphi (XE4 puis 10.1 Berlin). Il a été développé pour faciliter
l'automation d'une console D&R Cinemix qui avait été quelque
peu "adaptée" (matériellement parlant) par son ancien propriétaire.
Il permet de piloter la Cinemix en temps réel et de l'automatiser
via l'hôte du plugin. Les commandes de pilotage de la cinemix ont
du être analysées "à la main" car les tranches mono réagissaient bien
avec le logiciel d'origine mais pas les tranches stéréo. Le
propriétaire de la Cinemix et moi-même avons étudié deux possibilités :
- soit réaliser un adaptateur MIDI autonome (à base de microcontrôleur)
- soit développer un plugin VST (tentative bien avancée).
Mais
en fin de compte, la seconde solution a été écartée car je n'ai
pas réussi à compiler le plugin dans une version MAC ! Cette
expérience m'aura tout de même été profitable, puisque je me suis basé sur ce projet pour finaliser mon premier plugin ;-)
Limitations posée par le plugin VST (2.3) avec la Cinemix
Un
plugin VST ne dispose par définition que d'un seul port MIDI (1E/1S). Et
la console Cinemix en réclame deux, ce qui gâche un peu le plaisir. Plusieurs solutions peuvent être
envisagées pour contourner ce problème :
- utiliser deux instances de plugin VST, un pour chaque port MIDI. Facile à faire mais pas très souple à l'utilisation;
- faire appel à des routines MIDI "parallèles" dans le plugin VST pour gérer plus d'un port MIDI à la fois;
-
décaler le numéro de canal MIDI des données qui transitent sur le
deuxième port pour tout faire tenir dans un seul port. Bien que cette
solution impose un convertisseur hard (ou soft) en plus, c'est celle
que nous avons adoptée.
Pour info, voici ce que nous avons relevé pour les commandes de la console Cinemix :
- Faders hauts voies Mono 1 à 24 -> port MIDI A
- Faders bas voies Mono 1 à 24 -> port MIDI A
- Faders hauts voies Stéréo 1 à 4 -> port MIDI B
- Faders bas voies Stéréo 1 à 4 -> port MIDI B
- Faders hauts voies Mono 25 à 32 -> port MIDI B
- Faders bas voies Mono 25 à 32 -> port MIDI B
- Mutes hauts voies Mono 1 à 24 -> port MIDI A
- Mutes bas voies Mono 1 à 24 -> port MIDI A
- Mutes hauts voies Stéréo 1 à 4 -> port MIDI B
- Mutes bas voies Stéréo 1 à 4 -> port MIDI B
- Mutes hauts voies Mono 25 à 32 -> port MIDI B
- Mutes bas voies Mono 25 à 32 -> port MIDI B
- Mutes voies Aux 1 à 10 -> port MIDI B
- Mutes voies Aux Joystick 1 à 2 -> port MIDI B
Comme
on peut le voir, seules les données liées aux faders hauts et bas des
24 premières voies (mono) transitent sur le port MIDI A.
Tests
Ce plugin a été testé avec succès (traitements audio ou MIDI) dans
Cubase, Live, Reaper et
Audacity. Je n'ai testé l'automation que dans Cubase et Reaper. Bien
évidement, je ne peux pas garantir que le plugin tourne sous
toutes les
plateformes existantes, les configurations sont trop diverses et
variées !

Version de Delphi "idéale" ?
Il
m'a fallu faire de nombreux essais avec plusieures versions de Delphi
(D5, D2010, XE4 et 10.1Berlin) avant d'arriver à ce que je
voulais. L'année dernière, quand j'ai démarré le développement de ce
plugin, je devais écrire les fonctions désirées dans Delphi XE4 puis
recompiler le tout avec Delphi 5. Méthode de "retour en arrière" peu
orthodoxe, mais qui me permettait de voir le plugin avec son nom
complet dans l'hôte. Si je ne repassais pas par Delphi 5 (ou pour être
plus précis par une version anterieure à D2009) les chaînes de
caractères n'étaient pas correctement
transmises, et les noms des paramètres d'automation n'étaient pas
affichés
en intégralité, seule la première lettre
s'affichait (problème lié aux codage des caractères, anciennement ANSI
sur un octet et maintenant Unicode sur deux octets). A ce jour je n'ai
plus besoin de repasser par Delphi 5, le plugin que je compile sous
Delphi 10.1 Berlin est exploitable comme tel.
Téléchargement
Pour utiliser ce plugin, il suffit de placer le fichier cinemix.dll
dans le répertoire des plugins VST de l'application hôte (Cubase ou
autre).
Plugin développé dans un
cadre pro et non disponible sur ce site.
Historique
11/09/2016
- Première mise à disposition.