| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Sound.Jammit.Base
Description
Basic types and functions for dealing with Jammit song packages.
Synopsis
- data Instrument
- data Part
- data AudioPart
- data SheetPart
- titleToPart :: String -> Maybe Part
- titleToAudioPart :: String -> Instrument -> Maybe AudioPart
- partToInstrument :: Part -> Instrument
- audioPartToInstrument :: AudioPart -> Instrument
- data Info = Info {
- album :: String
- artist :: String
- bpm :: String
- copyright :: String
- countInBeats :: Integer
- courtesyOf :: String
- demo :: Bool
- explicit :: Bool
- genre :: String
- instrument :: Instrument
- publishedBy :: String
- skillLevel :: SkillLevel
- sku :: String
- slow :: Double
- title :: String
- version :: Integer
- writtenBy :: String
- loadInfo :: FilePath -> IO (Maybe Info)
- data Track = Track {}
- loadTracks :: FilePath -> IO (Maybe [Track])
- data SkillLevel
- = OneSkill Integer
- | ManySkills [(Instrument, Integer)]
- findJammitDir :: IO (Maybe FilePath)
- songSubdirs :: FilePath -> IO [FilePath]
- data Beat = Beat {
- isDownbeat :: Bool
- isGhostBeat :: Bool
- position :: Double
- loadBeats :: FilePath -> IO (Maybe [Beat])
- loadGhost :: FilePath -> IO (Maybe [Beat])
- data Section = Section {}
- loadSections :: FilePath -> IO (Maybe [Section])
- findNotation :: Track -> FilePath -> IO [FilePath]
- findTab :: Track -> FilePath -> IO [FilePath]
- findAudio :: Track -> FilePath -> IO (Maybe FilePath)
- sheetWidth :: Num a => a
- sheetHeight :: Num a => a
Documentation
data Instrument Source #
The Enum instance corresponds to the number used in the instrument
property, and the names (used by Show and Read) are capitalized versions
of those used in the skillLevel property.
Instances
Constructors
| PartGuitar1 | Used for both Guitar and Guitar 1 |
| PartGuitar2 | |
| PartBass1 | Used for both Bass and Bass 1 |
| PartBass2 | Rarely used. Seen in "The Fish (Schindleria Praematurus)", "I've Seen All Good People", "Perpetual Change" |
| PartDrums1 | Used for both Drums and Drums 1 |
| PartDrums2 | Rarely used. Seen in "Space Truckin'" |
| PartKeys1 | Used for both Keys and Keys 1 |
| PartKeys2 | |
| PartPiano | Rarely used. Seen in "The Answer Lies Within" and "Wait for Sleep" |
| PartSynth | Rarely used. Seen in "Wait for Sleep" |
| PartOrgan | Rarely used. Seen in "Smoke on the Water" |
| PartVocal | |
| PartBVocals |
Constructors
| Only Part | An audio file for a single notated part. |
| Without Instrument | The backing track for an instrument package. |
Instances
| Eq AudioPart Source # | |
| Ord AudioPart Source # | |
| Read AudioPart Source # | |
| Show AudioPart Source # | |
Constructors
| Notation Part | For any instrument, the notation sheet music. |
| Tab Part | For guitar and bass, the tablature sheet music. |
Instances
| Eq SheetPart Source # | |
| Ord SheetPart Source # | |
| Read SheetPart Source # | |
| Show SheetPart Source # | |
titleToAudioPart :: String -> Instrument -> Maybe AudioPart Source #
partToInstrument :: Part -> Instrument Source #
Constructors
| Info | |
Fields
| |
Constructors
| Track | |
Fields | |
data SkillLevel Source #
Constructors
| OneSkill Integer | |
| ManySkills [(Instrument, Integer)] |
Instances
| Eq SkillLevel Source # | |
Defined in Sound.Jammit.Base | |
| Ord SkillLevel Source # | |
Defined in Sound.Jammit.Base Methods compare :: SkillLevel -> SkillLevel -> Ordering # (<) :: SkillLevel -> SkillLevel -> Bool # (<=) :: SkillLevel -> SkillLevel -> Bool # (>) :: SkillLevel -> SkillLevel -> Bool # (>=) :: SkillLevel -> SkillLevel -> Bool # max :: SkillLevel -> SkillLevel -> SkillLevel # min :: SkillLevel -> SkillLevel -> SkillLevel # | |
| Read SkillLevel Source # | |
Defined in Sound.Jammit.Base Methods readsPrec :: Int -> ReadS SkillLevel # readList :: ReadS [SkillLevel] # readPrec :: ReadPrec SkillLevel # readListPrec :: ReadPrec [SkillLevel] # | |
| Show SkillLevel Source # | |
Defined in Sound.Jammit.Base Methods showsPrec :: Int -> SkillLevel -> ShowS # show :: SkillLevel -> String # showList :: [SkillLevel] -> ShowS # | |
findJammitDir :: IO (Maybe FilePath) Source #
Tries to find the top-level Jammit library directory on Windows or Mac OS X.
songSubdirs :: FilePath -> IO [FilePath] Source #
Searches a directory and all subdirectories for folders containing a Jammit info file.
Constructors
| Beat | |
Fields
| |
Constructors
| Section | |
Fields
| |
sheetWidth :: Num a => a Source #
sheetHeight :: Num a => a Source #