1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
--
package MIDI is
type Categories_Set is array (Positive range <>) of access String;
type Categories_Record is tagged
record
Categories : Categories_Set(1..Category_Max);
Last : Natural := 0;
end record;
type Categories_Access is access all Categories_Record'Class;
type Timer_Record is
record
Date : Time := Clock;
end record;
type Timers_Access is access all Timer_Record;
type Banks_Geometry_Type is
record
MSB_Max : Integer := 0;
LSB_Max : Integer := 0;
MSB_Min : Integer := 0;
LSB_Min : Integer := 0;
end record;
type MIDI_Options_record is tagged
record
Tempo : Float := 0.0;
Categories : Categories_Access;
In_Loop : Boolean := False;
Timers : Timers_Access;
Format : access String;
Bank_Geometry : Banks_Geometry_type;
end record;
type MIDI_Options is access MIDI_Options_Record;
end MIDI;
use MIDI;
type Plugin_Record is Abstract tagged null record;
type Plugin_Access is access all Plugin_Record'Class;
type Plugins_Set is array (Positive range <>) of Plugin_Access;
type Plugins_Access is access Plugins_Set(1..Plug_Max);
type Theories_Type is
record
-- null;
-- Flots
File : access String;
-- views
Options : MIDI_Options;
-- Menus
devices, Aux : Plugins_Access;
-- class
end record; |
Partager