!A:mn      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmNoneM8i' midi-utilWhat to do when *# finds a misaligned time signature? midi-utilThrow an exception. midi-util Ignore it. midi-utilTruncate the previous measure. midi-utilbA number of measures (starting from 0), and an offset within that measure (also starting from 0). midi-utilTConverts between a simple beat position, and a measure offset plus a beat position. midi-util9Converts between positions in musical time and real time. midi-utilIA ratio between musical time and real time, measured in beats per second.  midi-utilReal time, measured in seconds. midi-util5Musical time, measured in beats a.k.a. quarter notes.n midi-util A hack to look up mappings in a o= using either one of two key types, which increase together. midi-utilGCreates a tempo as a ratio of a music duration to a real time duration. midi-util7Uses a tempo to convert from musical time to real time. midi-util7Uses a tempo to convert from real time to musical time. midi-utilAssigns units to the tracks in a MIDI file. Supports both the common ticks-based files as well as real-time SMPTE-encoded files. midi-utilvEncodes the tracks' beat positions in ticks, using the given resolution. Positions will be rounded if necessary; see . midi-utiluTo correctly encode all the given tracks without rounding, the resolution must be a multiple of the returned number. midi-util-Extracts the tempo from a tempo change event. midi-utilCreates a MIDI event to set the tempo to the given value. Rounds the tempo to the nearest whole "microseconds per beat" if necessary. midi-utilrGiven a MIDI event, if it is a time signature event, returns the length of one measure set by the time signature.p midi-utilIf the given number is 2 ^ n where n% is a non-negative integer, returns n. midi-utilDGiven a measure length, tries to encode it as a MIDI time signature.q midi-utilGShould never happen. Signifies an internal error in the creation of a o2: either there was no event at position 0, or the o contains a r or s.) midi-util?The duration of a number of measures in a given time signature.* midi-util>Computes the measure map, given the tempo track from the MIDI.0 midi-utilDUses the measure map to compute which measure a beat position is in.1 midi-utilHUses the measure map to convert a measures+beats position to just beats.2 midi-util>Returns the time signature active at the given beats position.3 midi-util Combines 5 and 6.4 midi-util=Prepends the given events to the event list at position zero.5 midi-util>Returns the list of events at position zero of the event list.6 midi-util4Drops all events at position zero of the event list.7 midi-util.Looks for a track name event at position zero.8 midi-utilKRemoves any existing track name events at position zero and adds a new one.; midi-utilEquivalent to  , except t doesn't have a u instance, presumably because v has an w constraint.< midi-util Combines = and >.= midi-util@Drops all events at or after the given time from the event list.> midi-utilDrops the given amount of time from the start of the event list. Events that are exactly at the time that is dropped will be kept in the list.? midi-utilBFinds and extracts the first event for which the function returns x.@  !"#$%&'()*+,-./0123456789:;<=>?@   '(!"#$%&)*+-/,.01 2789:3456;<=>?y        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{v|}~y&midi-util-0.2.1-DyrAjuoteQrLoPU07utwyASound.MIDI.Util Control.Monadjoin MeasureModeErrorIgnoreTruncate MeasureBeats MeasureMapTempoMapBPSfromBPSSeconds fromSecondsTimeSig timeSigLength timeSigUnitBeats fromBeats makeTempo applyTempo unapplyTempo decodeFileencodeFileBeats minResolution readTempo showTempo readSignaturereadSignatureFull showSignatureshowSignatureFullmeasureLengthToTimeSig makeTempoMapunmakeTempoMaptempoMapFromBPS tempoMapToBPS applyTempoMapunapplyTempoMapapplyTempoTrackunapplyTempoTrackmeasuresmakeMeasureMapunmakeMeasureMapmeasureMapFromTimeSigsmeasureMapFromLengthsmeasureMapToTimeSigsmeasureMapToLengthsapplyMeasureMapunapplyMeasureMap timeSigAttrackSplitZero trackGlueZero trackTakeZero trackDropZero trackName setTrackName readTrackName showTrackName trackJoin trackSplit trackTake trackDrop extractFirst$fOrdDoubleKey $fEqDoubleKey$fShowTempoMap$fShowMeasureMap$fShowDoubleKey$fReadDoubleKey $fEqBeats $fOrdBeats $fShowBeats$fSemigroupBeats $fMonoidBeats$fCBeats $fNumBeats $fRealBeats$fFractionalBeats$fRealFracBeats $fEqTimeSig $fShowTimeSig $fEqSeconds $fOrdSeconds $fShowSeconds$fSemigroupSeconds$fMonoidSeconds $fCSeconds $fNumSeconds $fRealSeconds$fFractionalSeconds$fRealFracSeconds$fEqBPS$fOrdBPS $fShowBPS$fSemigroupBPS $fMonoidBPS$fCBPS$fNumBPS $fRealBPS$fFractionalBPS $fRealFracBPS $fEqTempoMap$fEqMeasureMap$fEqMeasureMode$fOrdMeasureMode$fShowMeasureMode$fReadMeasureMode$fEnumMeasureMode$fBoundedMeasureMode DoubleKeycontainers-0.6.0.1Data.Map.InternalMaplogBase2translationErrorLookupALookupB'event-list-0.1.2-7camPDCzlNbCiWcMe09N5K'Data.EventList.Relative.TimeBodyPrivateTbaseGHC.BaseMonad Data.EventList.Relative.TimeBodymergeghc-prim GHC.ClassesOrd GHC.MaybeJust