module Temporal.Music.Notation (
    -- * Introduction
    -- | This library provides two kinds of musical structures. First is 
    -- general 'Score' representation. It tells how to combine musical 
    -- things together and how they can be transformed. Second is just
    -- the oposite side of first one, it stands for
    -- very basic musical structures like 'Pitch', 'Scale', 'Tone', 'Volume'.
    --
    -- So you can see huge gap inbetween the two. For example this
    -- module doesn't exports any 
    -- specific datatype for notes. Though there are data types 'Note' 
    -- and 'Drum' defined in "Temporal.Music.Notation.Note" module 
    -- that can be seen as example of usage of basic data types.
    -- It's up to you to fill in between. 
    -- But this gap is not just gap it's gap with bridges. 
    -- Pch\/Tone\/Vol Functors are those ropes that tie together those two
    -- levels. To use all basic structures transformation in your specific 
    -- note-representation you only need to tell how they are wrapped, i.e.
    -- provide instances of your note-representation for basic functors.
    -- And then you can use the bridges. 
    --
    -- For every XxxFunctor there is general instance for 'Score'.
    --
    -- For example 
    --
    -- >instance PchFunctor a => PchFunctor (Score c a) where (...)
    --  
    -- It implies that transformations like 
    -- 'quiet', 'step' or 'lower' can act on bunch of notes packed in
    -- 'Score' if notes are inside 'PchFunctor'.
    --
    -- There are two preliminary steps for using this library
    --
    -- * find note representation that suits you 
    --
    -- * if it contains basic musical structures, define corresponding 
    -- XxxFunctor instances
    --
    -- And then let it sound in 'Score'.
    -- 
    -- Examples can be found in package source folder.
 
	module Temporal.Music.Notation.Volume,
	module Temporal.Music.Notation.Pitch,
	module Temporal.Music.Notation.Score,
    module Temporal.Music.Notation.Seg
)
where

import Temporal.Music.Notation.Volume
import Temporal.Music.Notation.Pitch
import Temporal.Music.Notation.Score
import Temporal.Music.Notation.Seg