Karya, built on 2020-11-26T21:03:17 (patch 23b5be2d53a9e8e7d6136cda5aae2849abe5cded)
Safe HaskellNone



Low level rendering of Sample.Samples.



ratioCloseEnough :: Y -> Bool Source #

More or less a semitone 100 cents 10. Anything narrower than this probably isn't perceptible.

envelopeDuration :: RealTime.RealTime -> Signal.Signal -> Maybe RealTime.RealTime Source #

Get the duration implied by the envelope, or Nothing if the envelope won't shorten the duration.

If the envelope ends on a 0, I can clip the sample short. Not just for performance, but because checkpoints rely on the note durations being accurate.

predictFileDuration :: Double -> Signal.Signal -> FilePath -> IO Frames Source #

Predict how long a sample will be if resampled with the given ratio signal.