Home | History | Annotate | Download | only in dev
History log of /src/sys/dev/midictl.h
RevisionDateAuthorComments
 1.4  23-Nov-2011  jmcneill Merge jmcneill-audiomp3 branch, which is derived from ad-audiomp2. From
the original ad-audiomp branch notes:

Add MP locking to the audio drivers.

Making the audio drivers MP safe is necessary before efforts
can be made to make the VM system MP safe.

The are two locks per device instance, an ISR lock and
a character device lock. The ISR lock replaces calls to
splaudio()/splx(), and will be held across calls to device
methods which were called at splaudio() before (e.g.
trigger_output). The character device lock is held across
calls to nearly all of the methods, excluding some only
used for initialization, e.g. get_locks.

Welcome to 5.99.57.
 1.3  28-Apr-2008  martin branches: 1.3.12; 1.3.34; 1.3.36;
Remove clause 3 and 4 from TNF licenses
 1.2  30-Jun-2006  chap branches: 1.2.4; 1.2.8; 1.2.14; 1.2.60; 1.2.62; 1.2.64;
Ankh-Morpork, we have a MIDI driver....

Merge from chap-midi branch, after
~month for review
Comments by thorpej@ drochner@ and Alexandre Ratchov

Incorporated: points by thorpej@ drochner@; preliminary support for
a stats-collecting ioctl suggested by martin@ from comments by A.R.

PR kern/32441 kern/32442 kern/32567 kern/32588 kern/32694 kern/33590
kern/33614 and one instance of kern/32651

ok martin@
 1.1  06-Jun-2006  chap branches: 1.1.2; 1.1.4;
file midictl.h was initially added on branch chap-midi.
 1.1.4.1  13-Jul-2006  gdamore Merge from HEAD.
 1.1.2.4  22-Jun-2006  chap Now with non-proplib-backed store, as proplib (undocumentedly) relies on
never being called in interrupt context.

This store implementation will also use memory a bit more economically
than the proplib version, and inserts are amortized O(1) rather than O(n).
I was ready to live with a bit of inefficiency for the sake of code reuse,
but if proplib can't be used anyway, may as well use the opportunity to
improve some.
 1.1.2.3  10-Jun-2006  chap Now with support for the following MIDI controls -

Channel Volume
Expression

- 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. ;)
 1.1.2.2  06-Jun-2006  chap Add include guard.

Thinking it would have been more conventional to name this midictl_if.h.
Well, can always remove/add.
 1.1.2.1  06-Jun-2006  chap Add midictl, a module dedicated to managing a MIDI controller/parameter
space, as a first step to getting the partial and duplicated controller-
handling logic OUT of the md synth chip drivers, and getting as much as
possible of the control effects that are common and well-defined (pitch
bend depth, say) handled centrally by midisyn itself.

Compiles, works in unit testing, added to 'files', but nothing else in
the kernel calls it yet.

Possibly some naming of private symbols to be revisited pending style
question posted on tech-kern.
 1.2.64.1  16-May-2008  yamt sync with head.
 1.2.62.1  18-May-2008  yamt sync with head.
 1.2.60.1  02-Jun-2008  mjf Sync with HEAD.
 1.2.14.2  30-Dec-2006  yamt sync with head.
 1.2.14.1  30-Jun-2006  yamt file midictl.h was added on branch yamt-lazymbuf on 2006-12-30 20:47:50 +0000
 1.2.8.2  09-Sep-2006  rpaulo sync with head
 1.2.8.1  30-Jun-2006  rpaulo file midictl.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:49:09 +0000
 1.2.4.2  11-Aug-2006  yamt sync with head
 1.2.4.1  30-Jun-2006  yamt file midictl.h was added on branch yamt-pdpolicy on 2006-08-11 15:43:52 +0000
 1.3.36.1  19-Nov-2011  jmcneill port ad-audiomp2 branch changes to 5.99.56
todo:
- port ad-audiomp2 pcppi changes
- these drivers need to be fixed:
- emuxki
- gcscaudio
- hdafg
- uaudio
- umidi
- MD audio drivers
 1.3.34.1  17-Apr-2012  yamt sync with head
 1.3.12.1  09-Dec-2008  ad Checkpoint work on MIDI.

RSS XML Feed