Safe Haskell | None |
---|---|
Language | Haskell98 |
Functions for exporting Jammit audio (as WAV) and sheet music (as PDF).
- type Library = [(FilePath, Info, [Track])]
- fuzzySearchBy :: (Info -> String) -> String -> Library -> Library
- exactSearchBy :: (Info -> String) -> String -> Library -> Library
- loadLibrary :: FilePath -> IO Library
- getAudioParts :: Library -> [(AudioPart, FilePath)]
- getSheetParts :: Library -> [(SheetPart, (FilePath, Integer))]
- audioSource :: MonadResource m => FilePath -> IO (AudioSource m Int16)
- runAudio :: [FilePath] -> [FilePath] -> FilePath -> IO ()
- runSheet :: [(FilePath, Integer)] -> Int -> FilePath -> IO ()
- metronomeTrack :: Monad m => [Beat] -> AudioSource m Int16
- writeMetronomeTrack :: FilePath -> [Beat] -> IO ()
Documentation
fuzzySearchBy :: (Info -> String) -> String -> Library -> Library Source #
Filter the library based on some string selector. The selector is applied case-insensitively, and the song's field only has to contain the search term rather than match it exactly.
exactSearchBy :: (Info -> String) -> String -> Library -> Library Source #
Filter the library based on some string selector. The selector must match exactly.
loadLibrary :: FilePath -> IO Library Source #
Given the top-level Jammit library directory, finds all song packages.
getAudioParts :: Library -> [(AudioPart, FilePath)] Source #
A mapping from audio part to absolute filename of an audio file.
getSheetParts :: Library -> [(SheetPart, (FilePath, Integer))] Source #
A mapping from sheet part to
(prefix of image files, line height in pixels)
.
audioSource :: MonadResource m => FilePath -> IO (AudioSource m Int16) Source #
metronomeTrack :: Monad m => [Beat] -> AudioSource m Int16 Source #