% from AutoTrack by Stefan Ratschan \begin{haskelllisting}

    > module Haskore.Interface.AutoTrack.ScaleChart(T(Cons)) where

    > import qualified Haskore.Basic.Scale  as Scale

\end{haskelllisting} A certain type of event chart is a scale chart. \begin{haskelllisting}

    > newtype T = Cons Scale.T

\end{haskelllisting} Conversion from chord chart to ScaleChart. This needs to be improved into a sophisticated scale analyzer. \begin{haskelllisting} fromChord :: (EventChart.T ChordSym) -> T fromChord (EventChart.C c) = let f d ch = (d, chordToScale ch) in Cons (map f c) \end{haskelllisting}