All Beatnik player software includes a simple MIDI sequencer that's used to play back the
imported MIDI files embedded in your RMF files.
|
Because this is a playback-only sequencer, there's no way to record or add new tracks, notes, or
other MIDI events while a Song is playing. There's also no way to directly control starting, stopping,
pausing, or resuming from within your MIDI file.
|
The sequencer's `transport controls' are instead handled with the Music Object programming
interface - in JavaScript for Web pages, or in Lingo for Director, Shockwave, and Flash projects.
(C and C++ developers can achieve the same results with the Beatnik Audio Engine Client API).
It's completely up to the Web page developer, Director author, or C/C++ developer to tie the user's
actions to the musically correct starting and stopping operations. In other words, the programmer's
the one who gets to press the `play button'. RMF files are usually made to start playing
immediately upon loading, but the programmer has control over that too.
|
This means that your MIDI file is essentially a resource that gets used by the playback sequencer
- the MIDI file doesn't get to touch the transport controls on its own.
|
- Note: To a designer of interactive music, that means that nearly all interactive, adaptive
effects will have to be achieved using just the tracks, notes, and other MIDI events stored in
the Standard MIDI File - basically, you need to put all your dynamic variations and alternatives
into the MIDI file, and rely on interactive track and channel muting to control which
parts are exposes and when. This muting and unmuting is also controlled not from the MIDI
file itself, but with the Music Object interface (or Beatnik Audio Engine Client API). Again,
the Web page developer, Director author, or C/C++ developer must make the musically correct
link between user actions and muting and unmuting operations.
- Tip: The one exception to this rule of developer control is the Advanced Technique we call
Automatic Looping and Track Muting. This involves using your MIDI sequencer program to
place certain markers and MIDI controller events in your MIDI files before you import them
into the Beatnik Editor. When the Beatnik Audio Engine encounters these items in RMF
files, it interprets them as embedded `instructions' that define the starts and ends of looping
regions, and then selectively mutes and unmutes a different set of your tracks at each pass
through the loop. (See Automatic Looping and Track Muting for the details).
|