A new version of MorphicExtras was added to project The Inbox:
http://source.squeak.org/inbox/MorphicExtras-kfr.232.mcz==================== Summary ====================
Name: MorphicExtras-kfr.232
Author: kfr
Time: 29 April 2018, 10:10:14.012436 am
UUID: 4639d186-22ab-8d48-a447-5c6a897ce664
Ancestors: MorphicExtras-kfr.231
Changed category for KeyboardMorphForInput and PianoRollNoteMorph
=============== Diff against MorphicExtras-kfr.231 ===============
Item was changed:
PianoKeyboardMorph subclass: #KeyboardMorphForInput
instanceVariableNames: 'pianoRoll duration durationModifier articulation buildingChord insertMode prevSelection startOfNextNote'
classVariableNames: ''
poolDictionaries: ''
+ category: 'MorphicExtras-SoundInterface'!
- category: 'MorphicExtras-Sound'!
!KeyboardMorphForInput commentStamp: 'nice 3/24/2010 07:37' prior: 0!
This class adds state and controls to the basic PianoKeyboardMorph so that notes of reliable duration can be keyed into a score without the need for a real keyboard.
To try this out, execute...
| n score | n := 3.
score := (MIDIScore new tracks: ((1 to: n) collect: [:i | Array new]);
trackInfo: ((1 to: n) collect: [:i | 'Instrument' , i printString]);
tempoMap: nil; ticksPerQuarterNote: 96).
ScorePlayerMorph openOn: score title: 'empty score'
Then open a pianoRoll and, from that, open a keyboard. The rule is that the keyboard will append after the current selection. If the current selection is muted or nil, then input will go to the end of the first non-muted track.!
Item was changed:
Morph subclass: #PianoRollNoteMorph
instanceVariableNames: 'trackIndex indexInTrack hitLoc editMode selected notePlaying'
classVariableNames: 'SoundPlaying'
poolDictionaries: ''
+ category: 'MorphicExtras-SoundInterface'!
- category: 'MorphicExtras-Sound'!
!PianoRollNoteMorph commentStamp: '<historical>' prior: 0!
A PianoRollNoteMorph is drawn as a simple mroph, but it carries the necessary state to locate its source sound event via its owner (a PianorRollScoreMorph) and the score therein. Simple editing of pitch and time placement is provided here.!