\begin{code}
module Music.Analysis.MusicXML.Level1Num (
    module Music.Analysis.MusicXML.Level1Num,
    )where
import Music.Analysis.Base
\end{code} \begin{code}
-- |
type Score_Partwise = [Music_Data]
--- |
--- type Part = [Measure]
--- | 
--- type Measure = [Music_Data]
-- |
data Music_Data = 
      Music_Data_1 Note 
---    | Music_Data_2 MusicXML.Backup 
---    | Music_Data_3 MusicXML.Forward 
---    | Music_Data_4 MusicXML.Direction 
---    | Music_Data_5 Attributes 
---    | Music_Data_6 MusicXML.Harmony
---    | Music_Data_7 MusicXML.Figured_Bass
---    | Music_Data_8 MusicXML.Print
---    | Music_Data_9 MusicXML.Sound
---    | Music_Data_10 Barline
---    | Music_Data_11 MusicXML.Grouping
---    | Music_Data_12 MusicXML.Link
---    | Music_Data_13 MusicXML.Bookmark
      deriving (Eq, Show)
-- |
type Note = (Note_, Maybe Type, [Dot], Maybe Accidental)
-- |
data Note_ = 
---          Note_1 (Grace, Full_Note, Maybe (Tie, Maybe Tie))
---        | Note_2 (Cue, Full_Note, Duration)
          Note_3 Full_Note -- , Maybe (Tie, Maybe Tie))
          deriving (Eq, Show)
-- | 
type Full_Note = Full_Note_
-- |
data Full_Note_ = Full_Note_1 Pitch
---                | Full_Note_2 Unpitched
                | Full_Note_3 Rest
                  deriving (Eq, Show)
-- | 
type Pitch = (IntegerNumber, Maybe Alter)
-- | 
type Alter = Number
-- | 
type Rest = () 
-- |
type Type = Type_
-- |
type Type_ = IntegerNumber
--    Long | Breve | 
--    Whole | Half | Quarter | Eighth | 
--    Th16 | Th32 | Th64 | Th128 | Th256
--    deriving (Eq, Show)
-- |
type Dot = ()
-- |
type Accidental = Accidental_
-- |
type Accidental_ = IntegerNumber
--    Sharp | Natural | Flat | 
--    Double_Sharp | Sharp_Sharp | Flat_Flat |
--    Natural_Sharp | Natural_Flat |
--    Quarter_Sharp | Quarter_Flat |
--    Three_Quarters_Sharp | Three_Quarters_Flat
--    deriving (Eq, Show)
\end{code} \begin{nocode} -- | data Step = C | D | E | F | G | A | B deriving (Eq, Show) -- | type Octave = IntegerNumber -- | type Alter = Number -- | type Pitch = (Step, Maybe Alter, Octave) -- | type Rest = () -- | data Type = Long | Breve | Whole | Half | Quarter | Eighth | Th16 | Th32 | Th64 | Th128 | Th256 deriving (Eq, Show) -- | type Dots = IntegerNumber -- | type Note = (Either Pitch Rest, (Type, Dots)) -- | type Music = [Note] \end{nocode}