The problem was that I was not able to do this in Beatnik. I read
the manual several times and could not find this functionality. I
wrote the Beatnik folks and asked them specifically how to build up a
song full of notes on the fly and get Beatnik to play it back with
the proper timing. Their answer was to set up either a timer object
or use a MIDI song with "metaevents" as a timer. As I have said
earlier, while the timing seems to work correctly, it sounds wrong -
there is no consistent beat to the music. It's close, but just not
right. If there is a way to build up an arbitrary Lingo list of
"notes" that describes a MIDI song and have Beatnik play that list,
I'd like to hear about it, because I couldn't find it and the Beatnik
engineers failed to tell me about it.
I guess I don't understand your question about "locking to quarter
notes, eigth notes, etc.". The user says that they want to play (for
example) quarter notes E, F, G. I generate a sequence of MIDI notes,
as a list:
> > [[[1, 1, 1, 1], [[0, 144, 52, 100, 480], [480, 144, 53, 100, 480],
> > [960, 144, 55, 100, 480]]]]
and pass this in to a call in the Sequence XTRA called
"sxBuildTrack". Then I call "sxPlay" in the Sequence XTRA and it
plays the song. This does just what I want.
In the above list, each sublist group of 5 numbers describes a note.
The order is:
1. Where in MIDI time to play the note
2. 144 is the "noteOn" event"
3. The note number
4. Velocity (whatever that is)
5. Duration (480 is a quarter note)
The tempo is set in a seperate call, sxSetTempo I think.
Irv
At 1:24 PM -0400 5/3/01, g r i m m w e r k s wrote:
>Yeah, but you can do all this in Beatnik as well.
>
>I guess I'm not seeing how you're locking to quarter notes, eigth notes,
>etc....how are you keeping track between note values in relation to each
>other, ie tempo?
>
>
>
>On 5/3/01 11:43 AM, "Irv Kalb" <[EMAIL PROTECTED]> wrote:
>
>> When using the Sequence XTRA, I build up a list of notes that the
>> user wants to hear, then turn them into a MIDI sequence. For
>> example, the notes E, F, G, gets turned into:
>>
> > [[[1, 1, 1, 1], [[0, 144, 52, 100, 480], [480, 144, 53, 100, 480],
>> [960, 144, 55, 100, 480]]]]
> >
>> Then I pass this list to the Sequence XTRA and ask it to play the
>> notes. There are no stored samples. The above list is a description
>> of MIDI notes that are generated by the Sequence XTRA. There is
>> another call I in the Sequence XTRA that allows you to change
>> "instruments" Each instrument has a number, and you just tell it
>> what number instrument you want it to play (e.g. Piano is 0, cello is
>> 42, trombone is 57, etc.)
>
>
>[To remove yourself from this list, or to change to digest mode, go to
>http://www.penworks.com/LUJ/lingo-l.cgi To post messages to the list,
>email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED])
>Lingo-L is for learning and helping with programming Lingo. Thanks!]
--
Lingo / Director / Shockwave development for all occasions.
(Home-made Lingo cooked up fresh every day just for you.)
[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/LUJ/lingo-l.cgi To post messages to the list,
email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED])
Lingo-L is for learning and helping with programming Lingo. Thanks!]