quoth

Craig Latta craig at netjam.org
Fri Sep 30 01:14:17 UTC 2005


Hi Brad--

 > Interesting Craig. Can you tell me about the demo. I can kinda
 > understand creating notes. But, how does the sequencer understand
 > time... and time signature?

	Currently when you make a note it has a default duration of 250 
milliseconds (and full volume, and MIDI channel one, and pitch C3). This 
is just so that you can make a note and immediately play it without 
having to tell it that stuff (although if you try to play a note without 
all the info it will refuse, and tell you which things aren't set).

	Sequences have a default tempo of 120 beats (quarter-notes) per minute, 
and when you add a default note to a default sequence the note realizes 
that its relative duration is an eighth-note.

	When you ask something to play, it schedules MIDI events for the 
appropriate times (typically "immediately"), using its own absolute 
duration. Sequences are basically streams of other events, with an 
optional concurrent event. You can nest sequences. If a sequence's 
primary event stream and it concurrent event are of different absolute 
durations, it loops the shorter of them to fill out the time.

	You change event info with abbreviated phrases like "120 bpm" or "3 
seconds" (similar to "kick"). They're short now just because they're 
faster to type in a live performance situation, but they could just as 
well be complete sentences (in any language, the finite-state machine 
doesn't care, see http://netjam.org/quoth/. Note that you can add states 
and leaves while the system is running.).


-C

-- 
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]





More information about the Squeak-dev mailing list