[CM] time sig and instrument assignment
Rick Taube
taube@uiuc.edu
Thu, 26 Feb 2004 07:28:28 -0600
> thanks for the info! that really helped me. there are several
> functions (make-time-signature, make-program-change, midi-file-print)
> that you used that i cannot find documentation for. does any exist?
Yes they are not documented because this "lowlevel" midi layer has been
on my todo list for a long time. these routines currently act on
integer representations of midi messages -- this code is going to be
rewritten/removed in the next release to be replaced by full blown
clos/goops class definitions so that will be much easier to encorpoate
random midi message types in high level score descriptions.
> is there better documentation than the dictionary? many things in
> there are incomplete, and the above functions are non-existent.
hmm please let me know of specific missing/incomplete/poor entries and
ill try to correct it.
> also, the first line of every midi file i make starts with
> 0 #<Tempo Change 1000 ms>
> which leads me to believe there is a way to set the tempo of a midi
> file when it is created.
well that is in the dictionary, its the :timesig initialzation for midi
files:
http://commonmusic.sourceforge.net/doc/dict/midi-file-stream-cls.html
see midi-stream for more initializations:
http://commonmusic.sourceforge.net/doc/dict/midi-stream-cls.html
> if this is true, how do i do that? i have already discovered
> make-tempo-change, but that still leaves the first default tempo in
> the file.
>
(events (whatever) "test.midi" :tempo 90 :timesig '(3 4))