Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 #ifndef _DRIVERS_SOUND_DM_H
  2 #define _DRIVERS_SOUND_DM_H
  3 
  4 /*
  5  *      Definitions of the 'direct midi sound' interface used
  6  *      by the newer commercial OSS package. We should export
  7  *      this to userland somewhere in glibc later.
  8  */
  9 
 10 /*
 11  * Data structure composing an FM "note" or sound event.
 12  */
 13 
 14 struct dm_fm_voice
 15 {
 16         u8 op;
 17         u8 voice;
 18         u8 am;
 19         u8 vibrato;
 20         u8 do_sustain;
 21         u8 kbd_scale;
 22         u8 harmonic;
 23         u8 scale_level;
 24         u8 volume;
 25         u8 attack;
 26         u8 decay;
 27         u8 sustain;
 28         u8 release;
 29         u8 feedback;
 30         u8 connection;
 31         u8 left;
 32         u8 right;
 33         u8 waveform;
 34 };
 35 
 36 /*
 37  *      This describes an FM note by its voice, octave, frequency number (10bit)
 38  *      and key on/off.
 39  */
 40 
 41 struct dm_fm_note
 42 {
 43         u8 voice;
 44         u8 octave;
 45         u32 fnum;
 46         u8 key_on;
 47 };
 48 
 49 /*
 50  * FM parameters that apply globally to all voices, and thus are not "notes"
 51  */
 52 
 53 struct dm_fm_params
 54 {
 55         u8 am_depth;
 56         u8 vib_depth;
 57         u8 kbd_split;
 58         u8 rhythm;
 59 
 60         /* This block is the percussion instrument data */
 61         u8 bass;
 62         u8 snare;
 63         u8 tomtom;
 64         u8 cymbal;
 65         u8 hihat;
 66 };
 67 
 68 /*
 69  *      FM mode ioctl settings
 70  */
 71  
 72 #define FM_IOCTL_RESET        0x20
 73 #define FM_IOCTL_PLAY_NOTE    0x21
 74 #define FM_IOCTL_SET_VOICE    0x22
 75 #define FM_IOCTL_SET_PARAMS   0x23
 76 #define FM_IOCTL_SET_MODE     0x24
 77 #define FM_IOCTL_SET_OPL      0x25
 78 
 79 #endif
 80 
  This page was automatically generated by the LXR engine.