Contrôle clavier midi

Description

Le contrôle Clavier MIDI permet d'avoir un clavier fonctionnel redimensionnable avec comme propriétés le nombre d'octaves et le numéro de l'octave de base. Au niveau de la modélisation je suis parti d'un contrôle Octave regroupant 12 touches (des contrôles Button) correspondant à une octave qui génère un événement lors de l'appui ou du relâchement d'une touche avec comme paramètres la note et le numéro de l'octave (par exemple D#3). Le contrôle Clavier regroupe des contrôles Octave (11 au maximum étant donné les limites imposées par la norme MIDI) et relaye l'événement de touche actionnée avec ses paramètres. Cette approche ne permet pas d'avoir un clavier avec une portion d'octave mais est-ce vraiment utile ? Je ne me suis pas vraiment soucié de la gestion des erreurs, ça viendra dans une prochaine version éventuelle...

Au niveau des commandes MIDI le FrameWork n'est pas bavard et il faut passer par l'interop. Je m'étais lancé dans la constitution d'une librairie lorsque je suis tombé sur celle de Toub qui est quasi exhaustive. Je l'ai intégrée dans ce projet sans y toucher. Je n'en utilise qu'une petite partie (commandes de bas niveau uniquement) mais j'ai tout laissé pour simplifier et pour livrer une librairie complète. Par contre j'ai ajouté un contrôle hérité de ComboBox pour avoir la liste des instruments en français (l'énumération contenue dans la librairie est en anglais) et simplifier la mise en oeuvre. La librairie de Toub est très riche mais il faut un peu de temps pour l'apprivoiser et les exemples de son utilisation ne sont pas légion. Quand on a compris c'est simple mais une petite doc serait la bienvenue...

J'ai inclus un projet de test pour montrer la mise en oeuvre du clavier, du combo des instruments et de la librairie de Toub. Je n'ai pas insisté sur le l'esthétique, l'objectif étant seulement une démo de mise en oeuvre.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.