% 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}