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 65 66 67 68 69 70 71 72
| begin
Text_Io.Put_Line("Initialize Digital Instrument...");
Digital_Instrument := new Digital_Instrument_Type;
Digital_Instrument.Instrument_Id := Instrument_Id;
Digital_Instrument.Digital_Id := Digital_Id;
Gtk_New(Digital_Instrument.Main_Frame);
Gtk.Box.Gtk_New_Vbox(Digital_Instrument.Global_Vbox, Homogeneous => False);
Gtk_New(Digital_Instrument.Global_Frame, "Global channel");
Gtk_New_Text(Digital_Instrument.Global_Channel);
for I in 1..16 loop
insert_Text(Digital_Instrument.Global_channel, Glib.Gint(I), "Channel" & Positive'Image(I));
end loop;
Set_Active(Digital_Instrument.Global_Channel, 0);
Pack_Start(Digital_Instrument.Global_Vbox, Digital_Instrument.Global_Channel, False, False, 0);
Digital_Instrument_Handlers.Connect
(Digital_Instrument.Global_Channel,
"changed",
Digital_Instrument_Handlers.To_Marshaller(Set_channel'access),
Digital_Instrument);
Gtk_New(Digital_Instrument.Bank_Frame, "Bank geometry");
Gtk_New_Text(Digital_Instrument.Bank_Max);
Gtk_New(Bank_Label, "Bank max :");
for I in Bank_Type'range loop
insert_Text(Digital_Instrument.Bank_Max, Glib.Gint(I), Positive'Image(Natural(I)+1));
end loop;
Set_Active(Digital_Instrument.Bank_Max, 0);
Digital_Instrument_Handlers.Connect
(Digital_Instrument.Bank_Max,
"changed",
Digital_Instrument_handlers.To_Marshaller(Set_Bank_Max'access),
Digital_Instrument);
Gtk_New_Hbox(Bank_Max_Hbox);
Pack_Start(Bank_Max_Hbox, Bank_Label, False, False, 0);
Pack_Start(Bank_Max_Hbox, Digital_Instrument.Bank_Max, False, False, 0);
Gtk_New_Text(Digital_Instrument.Program_Max);
Gtk_New(Program_Label, "Program max :");
for I in MIDI.Program_Type'range loop
insert_Text(Digital_Instrument.Program_Max, Glib.Gint(I), Positive'Image(Natural(I)+1));
end loop;
Set_Active(Digital_Instrument.Program_Max, Glib.Gint(MIDI.Program_Type'Last));
Digital_Instrument_Handlers.Connect
(Digital_Instrument.Program_Max,
"changed",
Digital_Instrument_Handlers.To_Marshaller(Set_Program_Max'access),
Digital_Instrument);
Gtk_New_Hbox(Program_Max_Hbox);
Pack_Start(Program_Max_Hbox, Program_Label, False, False, 0);
Pack_Start(Program_Max_Hbox, Digital_Instrument.Program_Max, False, False, 0);
Gtk_New_Vbox(Digital_Instrument.Bank_Geometry_Box, Homogeneous => False);
Pack_Start(Digital_Instrument.Bank_Geometry_Box, Bank_Max_Hbox, False, False, 0);
Pack_Start(Digital_Instrument.Bank_Geometry_Box, Program_Max_Hbox, False, False, 0);
Add(Digital_Instrument.Bank_Frame, Digital_Instrument.Bank_Geometry_Box);
Gtk_New_Vbox(Digital_Instrument.Common, Homogeneous => False);
Add(Digital_Instrument.Global_frame, Digital_Instrument.Global_vbox);
Pack_Start(Digital_Instrument.Common, Digital_Instrument.Global_Frame, False, False, 0);
Pack_Start(Digital_Instrument.Common, Digital_Instrument.Bank_Frame, false, False, 0);
Add(Digital_Instrument.Main_Frame, Digital_Instrument.common);
Show_All(Digital_Instrument.Main_Frame);
end |
Partager