Code :
package Phoebus is type Form_Type is (Null_Item, Classical, Electro, Jazz, Acid, Techno, Hardtech, Tribe, Hardcore, Trance, Minimal, DnB); type Category_Type is (Off, 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); subtype Channel_Type is Natural range 0..15; type Orchester_Type is array (Channel_Type) of Category_Type; type Program_Type is record Form : Form_Type := Null_Item; Orchester : Orchester_Type := (others => off); end record; Null_Program : constant Program_Type := (Null_Item, (others => Off)); type Program_Access is access all Program_Type; type Bank_Type is array (Natural range <>, Natural range <>, Natural range <> ) of Program_Access; function Initialize_From_File(Filename : in String) return Bank_Type; procedure Save_To_File(Filename : in String; Bank : in Bank_Type); end Phoebus;
|