File: doc/examples/svgdemo3.lhs A demonstration of the PcSet to Svg capability. You can build the svg files in this directory using 'make svg'. General case: a set in an alternative temperament. > import qualified Data.PcSets as P > import qualified Data.PcSets.Svg as S 19 Tone Equal Temperament (19-TET) has the following definition for its note names: C C# Db D D# Eb E * F F# Gb G G# Ab A A# Bb B & 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 * = either E# or Fb & = either B# or Cb Unlike 12-TET, this scale has only two enharmonic notes (* and &, above). Notice that C# and Db are distinct notes, for example. Here's the C Major scale in 19-TET: > cMajor19 :: P.GenSet > cMajor19 = P.genset 19 [0,3,6,8,11,14,17] The Data.PcSets.Svg module generates the *contents* of the .svg file as a string. It's up to you to print this string to stdout or save it as a file directly. Here we will see how the 19-TET C Major scale looks with our standard formatting. > main :: IO () > main = putStrLn $ S.pcSvg cMajor19 --- This file is part of gpcsets: Pitch Class Sets for Haskell Copyright 2009 by Bruce H. McCosar. Distributed under a BSD3 license; see the file 'LICENSE' for details.