Hosted by
|
with Ada.Tags; use Ada.Tags;
with Notations; use Notations;
with Placements; use Placements;
with Enum_Strings; use Enum_Strings;
package Notations.Articulations is
type Articulation_Enum is (Accent, Strong_Accent, Staccato,
Tenuto, Detached_Legato, Staccatissimo, Spiccato, Scoop, Plop,
Doit, Falloff, Breath_Mark, Caesura, Other_Articulation);
function To_Articulation_Enum is new To_Enum(Articulation_Enum);
type Articulation is new Notation with private;
Articulation_Tag : constant String;
type Articulation_Access is access all Articulation;
function Create
(Name : in Articulation_Enum;
Placement : in Placement_Enum)
return Articulation_Access;
function Get_Name
(This : access Articulation)
return Articulation_Enum;
function Get_Placement
(This : access Articulation)
return Placement_Enum;
private
type Articulation is
new Notation with
record
Name : Articulation_Enum;
Placement : Placement_Enum;
end record;
Articulation_Tag : constant String := "notations.articulations.articulation";
end Notations.Articulations;
|