Hi List
I'm one of the authors of sequenceXtra and I must say it's interesting to
follow the ongoing discussion about MIDI and sequenceXtra going on on the
list now.
Since the question of timing in sequenceXtra and MIDI as a protocol has come
up I would like to take the opportunity to gove an introduction to that
matter, and at the same time make a few othe points. I hope I don't bore
everyone. I just think this is reallu useful stuff.
The MIDI protocol specifies a clock to be present in the applicaiton to take
care of accurate musical timing. MIDI software developers can select the
clock resolution but the clock must be there to make sure the music is
played correctly and independent of the system clock or any other timer
object. sequenceXtras clock runs at 480 ppq, that means 480 pulses per
quarter note, which is quite common among sequencer software.
All note events (as well as other MIDI events) includes a time stamp which
relates to that clock. When a sequence of events are played they are sent to
the MIDI device when the clock reaches the timestamps of the single events.
Changing the playback tempo is just a matter of changing the speed of the
clock, (which is a separate call to the software), and has no effect on
pitch or timing. All this is taken care of by the software (in this case
sequenceXtra) so the only thing the author will have to do is compile the
event list and tell the Xtra to play it.
An interesting thing with MIDI is that, since it does not contain any audio
information, it can be edited in a very detailed manner, even while the
music is playing. Almost any operation one might want to do can be done
during playback:
* Changing pitch on single notes or the whole piece (a k a transposing)
* Adding or deleting notes
* Movig notes "time wise" on single notes ot the whole piece
* Changing the volume on single notes ot the whole piece
* Swithing instruments on single notes ot the whole piece
* Adding a new instrument and add music to that new "player"
* Delete a whole Track
* Change the tempo without changing the pitch and vice versa
You can actually start playing an empty peiece and add notes and instruments
to it as it playes, i e actually hear the music building from scratch.
Since the MIDI data is built with Lingo Lists this is lightning fast.
And last but not least a real cracker:
The MIDI format includes a event type called "Marker". This is a string of
text with a time stamp. Much like cue points in audio files. You can use
them in the same manner, but additionally; You can edit them on the fly (or
delete them or even create new ones....)
Anyone that wants to read the story behind sequenceXtra can read the
following, others just ignore ;-)
***********************************************************************
We that wrote sequenceXtra did it because we needed it ourselves!
We were working on a music teaching CD ROM title back here in Sweden, and we
wanted lots of interactivity on the music material itself. Being muscians
and having used sequencer software and MIDi devices for hundreds of hours we
knew of the potential of MIDI in such an environment.
Our first thought was to go out and buy the appropriate Xtra or Xobject
(which was still supported at the time), but the only things we found were:
HyperMIDI a XCMD for HyperCard that worked under Director 5 (and maybe 6),
but was only Mac. This was an incredible piece of software, but getting
outdated as file format and not cross platform.
Then Yamaha made the MIDXtra. Great stuff, but with no possibility to create
or even edit the music...
Then I stumbled into Beatnik which at the time was a browser-plug only.
I met Thomas Dolby Robertson, who is the man behind Headspace, at MILIA and
asked him if they had thought about doing a Betnik Xtra for Director. He
smiled and sent me the beta for evaluation. As editing and the creating of
music form scratch was important to us we were a bit disappointed, but this
was in many ways great stuff! So we asked the guys at Headspace if they coud
take it a bit further. We also offered our help in that. These guys were
very interested in our wishes and we had a few interesting mails between us,
but as You all know this didn't happen.
The only way left seemed to be creating an Xtra of our own. So we did.
To our knowledge this is the only Xtra out there that allows the author to
create MIDI-files from scratch with Lingo. It's also the only one that
allows You to open and edit a Standard MIDI File down to the properties of a
single MIDI note.
Thanx for You patience
Bjarne
________________________________________________
Bjarne Nyquist
Software designer/Lingo programmer
Sourceforce, SWEDEN
www.sourceforce.nu
[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!]