-- $Date: 2004/03/08 11:05:10 $
-- $Revision: 1.3 $
-- $Author: jcrocholl $
-- $Hash: 778c36b27d5e10abcbd4505d1d540c87 $

-- This file was automatically created with ado.php.
-- Manual changes will be lost when it is updated.

with Strings; use Strings;

package Midi_Instruments is

   -- Public representation.
   type Midi_Instrument is limited private;

   -- Pointer to representation data.
   type Midi_Instrument_Access is access all Midi_Instrument;

   -- Constructor for instances.
   function Create
     (ID      : in String;          -- The initial id.
      Channel : in Natural;         -- The initial channel.
      Program : in Natural)         -- The initial program.
     return Midi_Instrument_Access-- The newly created midi instrument.

   -- Accessor to read the id of a midi instrument.
   function Get_ID
     (This : access Midi_Instrument-- The midi instrument to read from.
     return String;                  -- The id of that midi instrument.

   -- Accessor to read the channel of a midi instrument.
   function Get_Channel
     (This : access Midi_Instrument-- The midi instrument to read from.
     return Natural;                 -- The channel of that midi instrument.

   -- Accessor to read the program of a midi instrument.
   function Get_Program
     (This : access Midi_Instrument-- The midi instrument to read from.
     return Natural;                 -- The program of that midi instrument.

private

   -- Private representation.
   type Midi_Instrument is limited record
      ID      : String_Access;
      Channel : Natural;
      Program : Natural;
   end record;

end Midi_Instruments;