[squeak-dev] The Inbox: Sound-dto.85.mcz
David O'Toole
deeteeoh1138 at gmail.com
Sat Feb 5 18:33:31 UTC 2022
Oh, it appears I included some whitespace-only changes, this must be the
result of having 'prettyPrint' turned on. I'll make sure I turn that off
when editing system methods in the future!
On Sat, Feb 5, 2022 at 1:19 PM <commits at source.squeak.org> wrote:
> David O'Toole uploaded a new version of Sound to project The Inbox:
> http://source.squeak.org/inbox/Sound-dto.85.mcz
>
> ==================== Summary ====================
>
> Name: Sound-dto.85
> Author: dto
> Time: 5 February 2022, 1:19:37.313377 pm
> UUID: 1f3917a1-5536-4c9f-80b7-6f3613e7d087
> Ancestors: Sound-ct.84
>
> Fixes incorrect AIFF loop marker extraction, and removes obsolete path
> delimiters in SampledInstrument.
>
> =============== Diff against Sound-ct.84 ===============
>
> Item was changed:
> ----- Method: AIFFFileReader>>loopEnd (in category 'accessing') -----
> loopEnd
> + ^ markers second last!
> -
> - ^ markers last last
> - !
>
> Item was changed:
> ----- Method: AIFFFileReader>>loopLength (in category 'accessing') -----
> loopLength
> + ^ markers second last - markers first last!
> -
> - ^ markers last last - markers first last
> - !
>
> Item was changed:
> ----- Method: AIFFFileReader>>readInstrumentChunk: (in category
> 'private') -----
> + readInstrumentChunk: chunkSize
> + | midiKey detune lowNote highNote lowVelocity highVelocity
> sustainMode sustainStartID sustainEndID releaseMode releaseStartID
> releaseEndID |
> - readInstrumentChunk: chunkSize
> -
> - | midiKey detune lowNote highNote lowVelocity highVelocity
> - sustainMode sustainStartID sustainEndID
> - releaseMode releaseStartID releaseEndID |
> -
> midiKey := in next.
> detune := in next.
> lowNote := in next.
> highNote := in next.
> lowVelocity := in next.
> highVelocity := in next.
> gain := in nextNumber: 2.
> sustainMode := in nextNumber: 2.
> sustainStartID := in nextNumber: 2.
> sustainEndID := in nextNumber: 2.
> releaseMode := in nextNumber: 2.
> releaseStartID := in nextNumber: 2.
> releaseEndID := in nextNumber: 2.
> isLooped := sustainMode = 1.
> + (isLooped
> + and: [markers notNil])
> + ifTrue: [(markers first last > frameCount
> + or: [markers second last >
> frameCount])
> + ifTrue: ["bad loop data; some sample CD
> files claim to be
> + looped but aren't"
> + isLooped := false]].
> + pitch := self pitchForKey: midiKey!
> - (isLooped and: [markers notNil]) ifTrue: [
> - ((markers first last > frameCount) or:
> - [markers last last > frameCount]) ifTrue: [
> - "bad loop data; some sample CD files claim to be
> looped but aren't"
> - isLooped := false]].
> - pitch := self pitchForKey: midiKey.
> - !
>
> Item was changed:
> ----- Method: SampledInstrument
> class>>readLoudAndStaccatoInstrument:fromDirectory: (in category 'instance
> creation') -----
> + readLoudAndStaccatoInstrument: instName fromDirectory: orchestraDir
> - readLoudAndStaccatoInstrument: instName fromDirectory: orchestraDir
> "SampledInstrument
> + readLoudAndStaccatoInstrument: 'oboe'
> + fromDirectory: 'Tosh:Sample Library:Orchestra'"
> - readLoudAndStaccatoInstrument: 'oboe'
> - fromDirectory: 'Tosh:Sample Library:Orchestra'"
> -
> | sampleSetDir memBefore memAfter loud short snd |
> + sampleSetDir := orchestraDir , FileDirectory slash , instName.
> - sampleSetDir := orchestraDir, ':', instName.
> memBefore := Smalltalk garbageCollect.
> + loud := SampledInstrument new readSampleSetFrom: sampleSetDir , '
> f'.
> + short := SampledInstrument new readSampleSetFrom: sampleSetDir , '
> stacc'.
> - loud := SampledInstrument new readSampleSetFrom: sampleSetDir, '
> f'.
> - short := SampledInstrument new readSampleSetFrom: sampleSetDir, '
> stacc'.
> memAfter := Smalltalk garbageCollect.
> + Transcript show: instName , ': ' , (memBefore - memAfter)
> printString , ' bytes; ' , memAfter printString , ' bytes left';
> + cr.
> + AbstractSound soundNamed: instName , '-f&stacc' put: (snd :=
> SampledInstrument new allSampleSets: loud;
> + staccatoLoudAndSoftSampleSet:
> short).
> - Transcript show:
> - instName, ': ', (memBefore - memAfter) printString,
> - ' bytes; ', memAfter printString, ' bytes left'; cr.
> - AbstractSound soundNamed: instName, '-f&stacc' put:
> - (snd := SampledInstrument new
> - allSampleSets: loud;
> - staccatoLoudAndSoftSampleSet: short).
> "fix slow attacks"
> + snd allNotes
> + do: [:n | n
> + firstSample: (n
> findStartPointForThreshold: 500)].
> + AbstractSound soundNamed: instName , '-f' put: (snd :=
> SampledInstrument new allSampleSets: loud).
> - snd allNotes do: [:n | n firstSample: (n
> findStartPointForThreshold: 500)].
> -
> - AbstractSound soundNamed: instName, '-f' put:
> - (snd := SampledInstrument new
> - allSampleSets: loud).
> "fix slow attacks"
> + snd allNotes
> + do: [:n | n
> + firstSample: (n
> findStartPointForThreshold: 1000)]!
> - snd allNotes do: [:n | n firstSample: (n
> findStartPointForThreshold: 1000)].
> - !
>
> Item was changed:
> ----- Method: SampledInstrument class>>readPizzInstrument:fromDirectory:
> (in category 'instance creation') -----
> + readPizzInstrument: instName fromDirectory: orchestraDir
> - readPizzInstrument: instName fromDirectory: orchestraDir
> "SampledInstrument
> + readPizzInstrument: 'violin'
> + fromDirectory: 'Tosh:Sample Library:Orchestra'"
> - readPizzInstrument: 'violin'
> - fromDirectory: 'Tosh:Sample Library:Orchestra'"
> -
> | sampleSetDir memBefore memAfter sampleSet snd |
> + sampleSetDir := orchestraDir , FileDirectory slash , instName , '
> pizz'.
> - sampleSetDir := orchestraDir, ':', instName, ' pizz'.
> memBefore := Smalltalk garbageCollect.
> sampleSet := SampledInstrument new readSampleSetFrom: sampleSetDir.
> memAfter := Smalltalk garbageCollect.
> + Transcript show: instName , ': ' , (memBefore - memAfter)
> printString , ' bytes; ' , memAfter printString , ' bytes left';
> + cr.
> + AbstractSound soundNamed: instName , '-pizz' put: (snd :=
> SampledInstrument new allSampleSets: sampleSet).
> - Transcript show:
> - instName, ': ', (memBefore - memAfter) printString,
> - ' bytes; ', memAfter printString, ' bytes left'; cr.
> - AbstractSound soundNamed: instName, '-pizz' put:
> - (snd := SampledInstrument new allSampleSets: sampleSet).
> -
> "fix slow attacks"
> + snd allNotes
> + do: [:n | n
> + firstSample: (n
> findStartPointForThreshold: 1000)].
> + ^ snd!
> - snd allNotes do: [:n |
> - n firstSample: (n findStartPointForThreshold: 1000)].
> -
> - ^ snd
> - !
>
> Item was changed:
> ----- Method: SampledInstrument
> class>>readSimpleInstrument:fromDirectory: (in category 'instance
> creation') -----
> readSimpleInstrument: instName fromDirectory: orchestraDir
> "SampledInstrument
> readSimpleInstrument: 'oboe'
> fromDirectory: 'Tosh:Sample Library:Orchestra'"
>
> | sampleSetDir memBefore memAfter sampleSet snd |
> + sampleSetDir := orchestraDir, FileDirectory slash, instName, ' f'.
> - sampleSetDir := orchestraDir, ':', instName, ' f'.
> memBefore := Smalltalk garbageCollect.
> sampleSet := SampledInstrument new readSampleSetFrom: sampleSetDir.
> memAfter := Smalltalk garbageCollect.
> Transcript show:
> instName, ': ', (memBefore - memAfter) printString,
> ' bytes; ', memAfter printString, ' bytes left'; cr.
> AbstractSound soundNamed: instName, '-f' put:
> (snd := SampledInstrument new allSampleSets: sampleSet).
>
> "fix slow attacks"
> snd allNotes do: [:n |
> n firstSample: (n findStartPointForThreshold: 1000)].
>
> ^ snd
> !
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220205/002078df/attachment.html>
More information about the Squeak-dev
mailing list
|