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!]

Reply via email to