Safe Haskell | None |
---|---|
Language | Haskell2010 |
Import Music from text printed by OctaMED. It will be certainly easy to adapt that for other trackers like SoundTracker, NoiseTracker, DigiBooster, FastTracker.
Take care that you use B not H note name.
- sieve :: Int -> [a] -> [a]
- sliceHoriz :: Int -> [a] -> [[a]]
- sliceVert :: Int -> [a] -> [[a]]
- type Instrument = Int
- splitBlocks :: [String] -> [[String]]
- cellToNote :: String -> (Maybe (T, Instrument), String)
- parseDigit :: CharParser () Int
- parseNote :: CharParser () (Maybe (T, Instrument))
- parseCell :: CharParser () (Maybe (T, Instrument), String)
- columnToNotes :: [String] -> ([String], [(T, Instrument, [String])])
- linesToNotes :: [String] -> [([String], [(T, Instrument, [String])])]
- columnToSimpleSerial :: Integer -> ([String], [(T, Instrument, [String])]) -> ShowS
Documentation
sliceHoriz :: Int -> [a] -> [[a]] Source
should be moved to Utility
type Instrument = Int Source
splitBlocks :: [String] -> [[String]] Source
cellToNote :: String -> (Maybe (T, Instrument), String) Source
parseDigit :: CharParser () Int Source
parseNote :: CharParser () (Maybe (T, Instrument)) Source
parseCell :: CharParser () (Maybe (T, Instrument), String) Source
columnToNotes :: [String] -> ([String], [(T, Instrument, [String])]) Source
:: [String] | lines of a block |
-> [([String], [(T, Instrument, [String])])] |
Convert a block of a song to a list of notes.
columnToSimpleSerial :: Integer -> ([String], [(T, Instrument, [String])]) -> ShowS Source