| Is this one too hard? Mark Guzdial |
| Think about what a note sequence is and what you're passing in. Mark Guzdial |
| On (b), think about EllipseMorph new openInWorld, position:, bounds:, bounds, extent, and top:/left: messages. Mark Guzdial |
playNote: aNote
| sound |
sound := (AbstractSound noteSequenceOn:
(FMSound soundNamed: 'brass1')
from: OrderedCollection with: aNote ) play.
SoundPlayer waitUntilDonePlaying: sound.
multimediaMoveTest
| myNotes ellipseMorph |
myNotes := #((c4 1.0 500) (d4 1.0 500) (e4 1.0 500) (f4 1.0 500)).
ellipseMorph := EllipseMorph new.
ellipseMorph color: Color red.
ellipseMorph bounds: (Rectangle origin: 0@0 extent: 100@100).
ellipseMorph openInWorld.
World doOneCycle.
self playNote: (myNotes at: 1).
ellipseMorph position: 0@100.
World doOneCycle.
self playNote: (myNotes at: 2).
ellipseMorph position: 100@100.
World doOneCycle.
self playNote: (myNotes at: 3).
ellipseMorph position: 100@0.
World doOneCycle.
self playNote: (myNotes at: 4).
| Does it work without all those World doOneCycle's? Mark Guzdial |