/* *Thisstructureisusedtokeeptrackofthecurrentstateoneach *channel.Alldriversforhardwarethatdoesnotunderstandmidi *directlywillprobablyneedtousethisstructure.
*/ struct snd_midi_channel { void *private; /* A back pointer to driver data */ int number; /* The channel number */ int client; /* The client associated with this channel */ int port; /* The port associated with this channel */
unsignedchar midi_aftertouch; /* Aftertouch (key pressure) */ unsignedchar midi_pressure; /* Channel pressure */ unsignedchar midi_program; /* Instrument number */ short midi_pitchbend; /* Pitch bend amount */
unsignedchar control[128]; /* Current value of all controls */ unsignedchar note[128]; /* Current status for all notes */
short gm_rpn_pitch_bend_range; /* Pitch bend range */ short gm_rpn_fine_tuning; /* Master fine tuning */ short gm_rpn_coarse_tuning; /* Master coarse tuning */
};
/* *Astructurethatrepresetsasetofchannelsboundtoaport.There *wouldusuallybe16channelsperport.Butfewercouldbeusedfor *particularcases. *Thechannelsetconsistsofinformationdescribingtheclientand *portforthismidisynthandanarrayofsnd_midi_channelstructures. *Adriverthathadnoneedforsnd_midi_channelcouldstillusethe *channelsettypeifitwishedwiththechannelarraynull.
*/ struct snd_midi_channel_set { void *private_data; /* Driver data */ int client; /* Client for this port */ int port; /* The port number */
int max_channels; /* Size of the channels array */ struct snd_midi_channel *channels;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.