[etoys-dev] Etoys: MorphicExtras-kfr.78.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Feb 16 16:41:55 EST 2013


Karl Ramberg uploaded a new version of MorphicExtras to project Etoys:
http://source.squeak.org/etoys/MorphicExtras-kfr.78.mcz

==================== Summary ====================

Name: MorphicExtras-kfr.78
Author: kfr
Time: 16 February 2013, 10:41:28 pm
UUID: 6eca10ef-24bd-664b-be0a-a4d727ea7de6
Ancestors: MorphicExtras-kfr.77

Fix playing between cursor position and a given position

=============== Diff against MorphicExtras-kfr.77 ===============

Item was changed:
  ----- Method: GraphMorph>>playOnce (in category 'commands') -----
  playOnce
  
  	| scale absV scaledData |
  	data isEmpty ifTrue: [^ self].  "nothing to play"
  	scale _ 1.
  	data do: [:v | (absV _ v abs) > scale ifTrue: [scale _ absV]].
  	scale _ 32767.0 / scale.
  	scaledData _ SoundBuffer newMonoSampleCount: data size.
+ 	1 to: data size do: [:i | scaledData at: i put: (scale * (data at: i)) truncated].
+ 	SoundService default playSampledSound: scaledData rate: 11025.
- 	cursor to: data size do: [:i | scaledData at: i put: (scale * (data at: i)) truncated].
- 	SoundService default playSampledSound: scaledData rate: samplingRate.
  !

Item was changed:
  ----- Method: GraphMorph>>playOnce: (in category 'commands') -----
+ playOnce: aSampleNumber 
+ 	| scale absV scaledData sampleNumber |
+ 	sampleNumber := aSampleNumber.
+ 	data isEmpty
+ 		ifTrue: [^ self]. "nothing to play"
+ 	sampleNumber < cursor ifTrue: [^ self]. 
+ 	scale := 1.
+ 	data
+ 		do: [:v | (absV := v abs) > scale
+ 				ifTrue: [scale := absV]].
+ 	scale := 32767.0 / scale.
+ 	scaledData := SoundBuffer newMonoSampleCount: sampleNumber - cursor.
+ 	1
+ 		to: sampleNumber - cursor
+ 		do: [:i | scaledData at: i put: (scale
+ 					* (data
+ 							at: (i + cursor min: data size max: 1))) truncated].
+ 	SoundService default playSampledSound: scaledData rate: samplingRate!
- playOnce: aSampleNumber
- 
- 	| scale absV scaledData |
- 	data isEmpty ifTrue: [^ self].  "nothing to play"
- 	scale _ 1.
- 	data do: [:v | (absV _ v abs) > scale ifTrue: [scale _ absV]].
- 	scale _ 32767.0 / scale.
- 	scaledData _ SoundBuffer newMonoSampleCount: data size.
- 	cursor to: aSampleNumber do: [:i | scaledData at: i put: (scale * (data at: i)) truncated].
- 	SoundService default playSampledSound: scaledData rate: samplingRate.
- !



More information about the etoys-dev mailing list