Hosted by
|
with Real_Numbers; use Real_Numbers;
with Music.Notes; use Music.Notes;
with Clefs; use Clefs;
with Keys; use Keys;
with Times; use Times;
with Music.Notes; use Music.Notes;
with Music.Barlines; use Music.Barlines;
package Collectors is
type Collector is abstract tagged limited private;
type Collector_Access is access all Collector'Class;
procedure Add_Stave
(This : access Collector)
is abstract;
procedure Add_Measure
(This : access Collector)
is abstract;
procedure Add_Clef
(This : access Collector;
Add : access Clef)
is abstract;
procedure Add_Key
(This : access Collector;
Add : access Key)
is abstract;
procedure Add_Time
(This : access Collector;
Add : access Time)
is abstract;
procedure Set_Barline
(This : access Collector;
Set : access Barline)
is abstract;
procedure Add_Chord
(This : access Collector)
is abstract;
procedure Add_Note
(This : access Collector;
Add : access Note)
is abstract;
private
type Collector is abstract tagged limited null record;
end Collectors;
|