[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))