52 lines
2.2 KiB
Plaintext
52 lines
2.2 KiB
Plaintext
|
The following file describes the procedure for adding modules to MIDI
|
||
|
Please READ the main documentation files for the driver first!!!
|
||
|
|
||
|
|
||
|
Example: We have a sound card with a MIDI chip & port on it
|
||
|
and, we call it the 'MYBLASTER' card:
|
||
|
|
||
|
**************************************************************************
|
||
|
|
||
|
0: Run 'configure'. Select the MIDI on CHIP support option.
|
||
|
|
||
|
1: Write a midi driver module; 'blast_midi.c'
|
||
|
(with functions for open,close,read,write,attach.)
|
||
|
|
||
|
1a: Write all functions except the 'attach' the way you want.
|
||
|
|
||
|
For the 'attach' function, look at a model in the 'pro_midi.c'
|
||
|
file. Just dup it in the same fashion. For the 'generic_midi_operations'
|
||
|
structure which is required, see file 'dev_table.h'.
|
||
|
|
||
|
2: We called the 'attach' function: 'blast_attach'.
|
||
|
|
||
|
Go to the file 'dev_table.h' and add your driver name and the function
|
||
|
pointer ( which is 'blast_attach' ) to the 'midi_supported' table.
|
||
|
|
||
|
3: You are almost set. Go and make a reference
|
||
|
to an 'exclude constant'; say EXLCUDE_BLAST_MIDI in your module
|
||
|
(refer to the 'pro_midi.c' file for model). Also make sure to
|
||
|
add the constant to the file 'sound_config.h' (for example, look
|
||
|
where the constant EXCLUDE_PRO_MIDI is in the file.)
|
||
|
|
||
|
4: Add the line
|
||
|
|
||
|
#define ALL_EXTERNAL_TO_ME
|
||
|
|
||
|
as the 1st line of your 'blast_midi.c' file. This happily, makes
|
||
|
you ignorant of everything else specific to the driver! :).
|
||
|
|
||
|
4a: And of course, don't forget to make a device :). Note that your
|
||
|
minor number should be = ( 15 + position of your driver in the
|
||
|
'midi_supported' table in the 'dev_table.h' file ).
|
||
|
|
||
|
Eg: Your driver is the second one in the table. viz midi_supported[1].
|
||
|
Your device minor number should be ( 15 + 1 = 16 ). Then, make the
|
||
|
reference to your device as, say CMIDI_DEV_BLAST in the file
|
||
|
'sound_config.h'. Also add this in 'soundcard.c' for the open, read,
|
||
|
write and close routines. See files for example using CMIDI_DEV_PRO
|
||
|
(which is the ProAudioSpectrum on chip MIDI).
|
||
|
|
||
|
5: You are all set. If ever you have problems, follow the same model
|
||
|
as the file 'pro_midi.c', except for substituting your own functions!
|