Christoph Thiede uploaded a new version of MorphicExtras to project The Trunk: http://source.squeak.org/trunk/MorphicExtras-ct.305.mcz
==================== Summary ====================
Name: MorphicExtras-ct.305 Author: ct Time: 3 January 2022, 11:23:47.016397 pm UUID: 50af01bc-e04f-7441-ac0d-3d7a1fac9363 Ancestors: MorphicExtras-mt.304
Two fixes for MIDI:
- Ignore non-red mouse clicks to MIDIPianoKeyboardMorph - Honor users of SimpleSwitchMorph that do not take the new state via the actionSelector.
=============== Diff against MorphicExtras-mt.304 ===============
Item was added: + ----- Method: PianoKeyboardMorph>>basicMouseDownPitch: (in category 'simple keyboard') ----- + basicMouseDownPitch: midiKey + + | pitch | + pitch := AbstractSound pitchForMIDIKey: midiKey + 23. + soundPlaying ifNotNil: [soundPlaying stopGracefully]. + soundPlaying := soundPrototype soundForPitch: pitch dur: 100.0 loudness: 0.3. + SoundPlayer resumePlaying: soundPlaying quickStart: true.!
Item was added: + ----- Method: PianoKeyboardMorph>>basicMouseUpPitch: (in category 'simple keyboard') ----- + basicMouseUpPitch: pitch + + soundPlaying ifNotNil: [soundPlaying stopGracefully].!
Item was changed: ----- Method: PianoKeyboardMorph>>mouseDownPitch:event:noteMorph: (in category 'simple keyboard') ----- mouseDownPitch: midiKey event: event noteMorph: noteMorph + - | pitch | event redButtonPressed ifFalse: [^ self]. event hand hasSubmorphs ifTrue: [^ self "no response if drag something over me"]. event hand mouseFocus ifNil: ["If dragged into me, then establish focus so I'll see moves" event hand newMouseFocus: noteMorph event: event]. + noteMorph color: playingKeyColor. + + self basicMouseDownPitch: midiKey.! - pitch := AbstractSound pitchForMIDIKey: midiKey + 23. - soundPlaying ifNotNil: [soundPlaying stopGracefully]. - soundPlaying := soundPrototype soundForPitch: pitch dur: 100.0 loudness: 0.3. - SoundPlayer resumePlaying: soundPlaying quickStart: true. - !
Item was changed: ----- Method: PianoKeyboardMorph>>mouseUpPitch:event:noteMorph: (in category 'simple keyboard') ----- mouseUpPitch: pitch event: event noteMorph: noteMorph
+ noteMorph color: ((#(0 1 3 5 6 8 10) includes: pitch \ 12) + ifTrue: [whiteKeyColor] + ifFalse: [blackKeyColor]). + + self basicMouseUpPitch: pitch.! - noteMorph color: ((#(0 1 3 5 6 8 10) includes: pitch\12) - ifTrue: [whiteKeyColor] - ifFalse: [blackKeyColor]). - soundPlaying ifNotNil: [soundPlaying stopGracefully]. - !
Item was changed: ----- Method: SimpleSwitchMorph>>doButtonAction (in category 'button') ----- doButtonAction "Perform the action of this button. The last argument of the message sent to the target is the new state of this switch."
| newState | (target notNil and: [actionSelector notNil]) ifTrue: [newState := color = onColor. target perform: actionSelector + withEnoughArguments: (arguments copyWith: newState)]! - withArguments: (arguments copyWith: newState)]!
squeak-dev@lists.squeakfoundation.org