Csound Csound-dev Csound-tekno Search About

Midi opcode changes

Date1997-02-12 22:52
FromMike Berry
SubjectMidi opcode changes
	Here is what I have come up with:
1)	Added optional fields to xxxmidib opcodes.

kcps	cpsmidib [irange]

irange = pitch bend range for this note in semitones
	 defaults to 1, which was earlier implementation
	 
2)	Fixed bug in rdorch.c to allow for opcodes with only optional
fields

3)	Added optional fields to midictrl opcode.

kctl	midictrl inumber[, init]

init	= sets the Csound controller to this value if the present value is
0.
	  This is used to "start" a controller at a particular value.
	  
4)	Removed some General Midi controls. The only active one set the
pitch bend range gloabally, which can now be set inside each instrument.
The coarse and fine pitch controls and the volume controls were not used
in any way. 

	If you want GM emulation you can build it in to your orchestra.
Read controller 101 at i time, then controller 6, and use that to set the
optional range field in xxxmidib.  This puts it all in each instrument
where it really should be.  Nothing should be broken about previous
orchestras.
	If I leave the global pitch changes, it will conflict with the
optional field.  Plus, this allows you to have a different pitchbend range
for each note on one instrument, which could be useful.
	Any comments?

Mike Berry
mikeb@mills.edu