Subject: CVS commit: [chap-midi] src/sys
To: None <>
From: Chapman Flack <>
List: source-changes
Date: 06/10/2006 22:32:27
Module Name:	src
Committed By:	chap
Date:		Sat Jun 10 22:32:27 UTC 2006

Modified Files:
	src/sys/dev [chap-midi]: midictl.c midictl.h midisyn.c midisynvar.h
	src/sys/dev/isa [chap-midi]: midi_pcppi.c
	src/sys/sys [chap-midi]: midiio.h

Log Message:
Now with support for the following MIDI controls -

  Channel Volume

- the following heretofore unimplemented message -

  Pitch Bend

- and the following registered parameters -

  Pitch Bend Range
  Channel Fine Tuning
  Channel Coarse Tuning

Volume and Expression are handled by all synth chip drivers but pcppi
(which has a fixed volume). All of the pitch controls will be effective
(at least for new notes struck after a change) for all current synth
drivers but cms (that driver discards all the fractional pitch bits and
calculates its own frequency by a table lookup; it should be possible to
do better with knowledge of the formula behind the table, but I have
found no cms docs).  If a driver provides repitchv and relevelv methods
for changing the pitch/level of a sounding voice, then changes to these
parameters will take effect in real time and not just for subsequent notes.
The effect can be heard (for repitchv) over pcppi.

Heads up: if you build with libprop earlier than 2006.05.28, you can enjoy
the exhilarating experience of seeing kernel memory stomped. ;)

To generate a diff of this commit:
cvs rdiff -r1.1.2.2 -r1.1.2.3 src/sys/dev/midictl.c src/sys/dev/midictl.h
cvs rdiff -r1.17.2.17 -r1.17.2.18 src/sys/dev/midisyn.c
cvs rdiff -r1.9.14.16 -r1.9.14.17 src/sys/dev/midisynvar.h
cvs rdiff -r1.12.14.3 -r1.12.14.4 src/sys/dev/isa/midi_pcppi.c
cvs rdiff -r1.13.14.7 -r1.13.14.8 src/sys/sys/midiio.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.