<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
Hi Dave,<div><br></div><div>+1 for 5.3</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div><blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
<p style="color: #AAAAAA; margin-top: 10px;">Am 12.12.2019 13:20:46 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p><div style="font-family:Arial,Helvetica,sans-serif">David T. Lewis uploaded a new version of Sound to project The Inbox:<br>http://source.squeak.org/inbox/Sound-dtl.68.mcz<br><br>==================== Summary ====================<br><br>Name: Sound-dtl.68<br>Author: dtl<br>Time: 12 December 2019, 7:20:38.226903 am<br>UUID: c7b5a141-2b1b-4d24-ab88-0a96dd78600b<br>Ancestors: Sound-dtl.67<br><br>Resolve unimplemented calls in the previous update.<br>Discussion on squeak-dev http://lists.squeakfoundation.org/pipermail/squeak-dev/2019-December/205515.html<br><br>=============== Diff against Sound-dtl.67 ===============<br><br>Item was changed:<br> ----- Method: AbstractSound>>loudness (in category 'volume') -----<br> loudness<br> "Answer the current volume setting for this sound."<br> <br>+ ^ envelopes detect: [:e | e isKindOf: VolumeEnvelope]<br>+ ifFound: [ :envelope | envelope scale ]<br>+ ifNone: [scaledVol asFloat / FloatScaleFactor]<br>+ !<br>- self hasVolumeEnvelope ifTrue: [^ self volumeEnvelope scale].<br>- <br>- ^ scaledVol asFloat / ScaleFactor!<br><br>Item was changed:<br> ----- Method: SequentialSound>>mixSampleCount:into:startingAt:leftVol:rightVol: (in category 'sound generation') -----<br> mixSampleCount: n into: aSoundBuffer startingAt: startIndex leftVol: leftVol rightVol: rightVol<br> "Play a collection of sounds in sequence."<br> "PluckedSound chromaticScale play"<br> <br> | finalIndex i snd remaining count leftScaledVol rightScaledVol |<br> currentIndex = 0 ifTrue: [^ self]. "already done"<br> <br>+ leftScaledVol := leftVol * scaledVol / ScaleFactor asFloat.<br>+ rightScaledVol := rightVol * scaledVol / ScaleFactor asFloat.<br>- leftScaledVol := leftVol * scaledVol /// ScaleFactor.<br>- rightScaledVol := rightVol * scaledVol /// ScaleFactor.<br> <br> finalIndex := (startIndex + n) - 1.<br> i := startIndex.<br> [i <= finalindex]="" whiletrue:=""></=><br> snd := (sounds at: currentIndex).<br> [(remaining := snd samplesRemaining) <= 0]="" whiletrue:=""></=><br> "find next undone sound"<br> currentIndex < sounds=""><br> ifTrue: [<br> currentIndex := currentIndex + 1.<br> snd := (sounds at: currentIndex)]<br> ifFalse: [<br> currentIndex := 0.<br> ^ self]]. "no more sounds"<br> count := (finalIndex - i) + 1.<br> remaining < count="" iftrue:="" [count="" :=""><br> snd mixSampleCount: count into: aSoundBuffer startingAt: i <br> leftVol: leftScaledVol<br> rightVol: rightScaledVol.<br> i := i + count].<br> !<br><br><br></div></blockquote>
</div></body>