Hosted by
|
with Enum_Strings; use Enum_Strings;
package Pitches is
type Step_Enum is (A, B, C, D, E, F, G);
function To_Step_Enum is new To_Enum(Step_Enum);
type Pitch is limited private;
type Pitch_Access is access all Pitch;
function Create
(Step : in Step_Enum;
Alter : in Integer;
Octave : in Integer)
return Pitch_Access;
function Get_Step
(This : access Pitch)
return Step_Enum;
function Get_Alter
(This : access Pitch)
return Integer;
function Get_Octave
(This : access Pitch)
return Integer;
function Get_Position
(This : access Pitch)
return Integer;
private
type Pitch is limited record
Step : Step_Enum;
Alter : Integer;
Octave : Integer;
end record;
end Pitches;
|