Bonjour,
J'écris un compositeur virtuel interactif.
Je souhaite écrire une partie de mon programme grâce à la modélisation orienté objet.

Pour le moment, j'ai défini :

Un type Category_Type : (défini la classe d'instrument)
Code ada : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 type Category_Type is (Off, Drums_Kit, Global,
                          Bass, Lead, Synth_Hard, Synth_Soft,
                          Motion, Strings_N_Pads, Keyboard, Guitare_N_Pluck,
                          Bell_N_Decay, Hit_N_Drum, S_E, Arp_Seq,
                          Split, Audio_In, Vocoder, User);

Un type Form_Type : (défini la forme musicale)
Code ada : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
type Form_Type is (Null_Item,
                      Classical, Electro, Jazz,
                      Acid, Techno, Hardtech, Tribe,
                      Hardcore, Trance, Minimal, DnB);

Un type Num_Type : (défini le nombre de temps dans une mesure)
Code ada : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
subtype Num_Type is Positive range 1..16;

Un type Den_Type : (défini la résolution d'un temps, si on joue à la croche ou autre)
Code ada : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
subtype Den_Type is Positive range 1..16;


Un type Step_Seq_Type : défini un tableau de vecteur de C.long)
Code ada : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
package Longs_Vectors is new Ada.Containers.Vectors(positive,
                                                       long,
                                                       "=");
use Longs_Vectors;
 
type Step_Seq_Type is array (Natural range <>) of Vector;
type Step_Seq_Access is access Step_Seq_Type;

Ce que je voudrais, c'est écrire autant de fonction ou procédure que de forme*Catégorie pour composer une séquence de pas en fonction des caractéristique de mon objet (forme*Catégorie)

Comment procéderiez vous ?