-- $Date: 2003/12/26 10:11:36 $
-- $Revision: 1.10 $
-- $Author: jcrocholl $

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

package body Scores is

   -- Constructor for instances.
   function Create
     (Title          : in String-- The initial title.
      Movement_Name  : in String-- The initial movement name.
      Movement_Title : in String-- The initial movement title.
     return Score                 -- The newly created score.
   is
      Result : Score := new Score_Record;
   begin
      Result.Title := To_Unbounded_String(Title);
      Result.Movement_Name := To_Unbounded_String(Movement_Name);
      Result.Movement_Title := To_Unbounded_String(Movement_Title);
      return Result;
   end Create;

   -- Accessor to read the title of a score.
   function Get_Title
     (This : in Score-- The score to read from.
     return String is  -- The title of that score.
   begin
      return To_String(This.Title);
   end Get_Title;

   -- Accessor to read the movement name of a score.
   function Get_Movement_Name
     (This : in Score-- The score to read from.
     return String is  -- The movement name of that score.
   begin
      return To_String(This.Movement_Name);
   end Get_Movement_Name;

   -- Accessor to read the movement title of a score.
   function Get_Movement_Title
     (This : in Score-- The score to read from.
     return String is  -- The movement title of that score.
   begin
      return To_String(This.Movement_Title);
   end Get_Movement_Title;

   -- Add a part to the score. No duplicate checking is performed.
   procedure Add_Part
     (This : in Score;         -- The score object instance.
      Part : in Parts.Part) is -- The part to be added.
   begin
      Part_Lists.Push(This.Parts, Part);
   end Add_Part;

end Scores;