Safe Haskell | Safe-Infered |
---|
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 = IntSource
splitBlocks :: [String] -> [[String]]Source
cellToNote :: String -> (Maybe (T, Instrument), String)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])]) -> ShowSSource