71A      !"#$%&'()*+,-./0123456789:;<=>?@ Safe-InferredADA wrapper around IO with a designated directory for temporary files.BCreates a new temporary directory to run a computation in. When finished, the final file will be moved/copied to the given path, and the temporary directory will be deleted.C@Creates a new file in the temporary directory, given a template.ABCDEABCABC Safe-InferredFSequentially connect audioG/Add audio sample-wise, also multiplying volumesHPad audio start with silenceIAn existing (stereo) fileJAn empty stereo file KLMNFGHIJOPQ KLMNFGHIJPQKMLNJIHGFOPQ Safe-InferredRFind an ImageMagick binary, because the names are way too generic, and "convert" is both an ImageMagick program and a Windows built-in utility.S-Only runs actions until the first that gives T.U5Stick images together vertically into one long image.V9Splits an image vertically into chunks of a given height.W<Joins several images into a PDF, where each image is a page.RXSUVWUVWRXSUVW Safe-Inferred YIGiven a (new-style) IMA4-compressed AIFC file, converts it to a WAV file.ZYYZYNone /For guitar and bass, the tablature sheet music.-For any instrument, the notation sheet music.,The backing track for an instrument package.(An audio file for a single notated part.#%Rarely used. Seen in "Wait for Sleep"$BRarely used. Seen in "The Answer Lies Within" and "Wait for Sleep"&Used for both Keys and Keys 1*!Used for both Guitar and Guitar 1+The Enum instance corresponds to the number used in the "instrument" property, and the names (used by Show/Read) are capitalized versions of those used in the "skillLevel" property.[;Reads strictly so as not to exhaust our allowed open files.7MTries to find the top-level Jammit library directory on Windows or Mac OS X.\-Gets the contents of a directory without the . and ..] special paths, and adds the directory to the front of all the names to make absolute paths.8WSearches a directory and all subdirectories for folders containing a Jammit info file.A  !"#$%&'()*+,-./01234]^_`56[7\8ab9  !"#$%&'()*+,-./0123456789+0/.-, *)('&%$#"!1234 5678  *)('&%$#"!+0/.-,1234]^_`56[7\8abNone: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.;SFilter the library based on some string selector. The selector must match exactly.<FGiven the top-level Jammit library directory, finds all song packages.=@A mapping from audio part to absolute filename of an audio file.>A mapping from sheet part to .(prefix of image files, line height in pixels). 9:;<=>?AIFCs to mix in normallyAIFCs to mix in invertedthe resulting WAV file@ pairs of $(png file prefix, line height in px)%how many sheet music systems per pagethe resulting PDFc9:;<=>?@9:;<=>?@ 9:;<=>?@cd       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKILMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnjammittools-0.3Sound.Jammit.BaseSound.Jammit.ExportSound.Jammit.Internal.TempFileSound.Jammit.Internal.Sox!Sound.Jammit.Internal.ImageMagickSound.Jammit.Internal.AIFC2WAVTrack trackClass identifierscoreSystemHeightscoreSystemInterval trackTitleInfoalbumartistbpm copyright countInBeats courtesyOfdemoexplicitgenre instrument publishedBy skillLevelskuslowtitleversion writtenBy SheetPartTabNotation AudioPartWithoutOnlyPart PartBVocals PartVocal PartSynth PartPiano PartKeys2 PartKeys1 PartDrumsPartBass PartGuitar2 PartGuitar1 InstrumentVocalKeyboardDrumsBassGuitar titleToParttitleToAudioPartpartToInstrumentaudioPartToInstrumentloadInfo loadTracks findJammitDir songSubdirsLibrary fuzzySearchBy exactSearchBy loadLibrary getAudioParts getSheetPartsrunAudiorunSheetTempIO runTempIO newTempFiletransformers-0.3.0.0Control.Monad.IO.ClassliftIOControl.Monad.Trans.ReaderaskConcatMixPadFileEmptyTimeSamplesSecondsAudioshowTime renderAudiooptimize imageMagick firstJustMbase Data.MaybeJustconnectVertical splitVertical joinPages imageMagick' aifcToWav aifc2wav_mainreadXmlPropertyListFromFile' lsAbsolute fromPlEnumplEnum fromPlSkillsplSkills$fPropertyListItemTrack$fPropertyListItemInfochunksOf