/
usr
/
src
/
linux-headers-5.15.0-181
/
include
/
sound
/
/usr/src/linux-headers-5.15.0-181/include/sound
mkdir
upload
Name
Size
Mode
Actions
ac97/
-
0755
rm
sof/
-
0755
rm
ac97_codec.h
16044
0644
edit
dl
rm
aci.h
2458
0644
edit
dl
rm
ad1816a.h
4843
0644
edit
dl
rm
ad1843.h
1516
0644
edit
dl
rm
adau1373.h
706
0644
edit
dl
rm
ak4xxx-adda.h
2724
0644
edit
dl
rm
ak4113.h
10461
0644
edit
dl
rm
ak4114.h
9773
0644
edit
dl
rm
ak4117.h
8542
0644
edit
dl
rm
ak4531_codec.h
2478
0644
edit
dl
rm
ak4641.h
476
0644
edit
dl
rm
alc5623.h
536
0644
edit
dl
rm
asequencer.h
2975
0644
edit
dl
rm
asound.h
590
0644
edit
dl
rm
asoundef.h
16403
0644
edit
dl
rm
compress_driver.h
7986
0644
edit
dl
rm
control.h
9958
0644
edit
dl
rm
core.h
15895
0644
edit
dl
rm
cs35l33.h
888
0644
edit
dl
rm
cs35l34.h
741
0644
edit
dl
rm
cs35l35.h
2267
0644
edit
dl
rm
cs35l36.h
772
0644
edit
dl
rm
cs35l41.h
30889
0644
edit
dl
rm
cs42l42.h
35149
0644
edit
dl
rm
cs42l52.h
592
0644
edit
dl
rm
cs42l56.h
1046
0644
edit
dl
rm
cs42l73.h
361
0644
edit
dl
rm
cs4231-regs.h
7785
0644
edit
dl
rm
cs4271.h
961
0644
edit
dl
rm
cs8403.h
8138
0644
edit
dl
rm
cs8427.h
9954
0644
edit
dl
rm
da7213.h
1032
0644
edit
dl
rm
da7218.h
2468
0644
edit
dl
rm
da7219-aad.h
2263
0644
edit
dl
rm
da7219.h
998
0644
edit
dl
rm
da9055.h
707
0644
edit
dl
rm
designware_i2s.h
1631
0644
edit
dl
rm
dmaengine_pcm.h
6913
0644
edit
dl
rm
emu10k1.h
90722
0644
edit
dl
rm
emu10k1_synth.h
693
0644
edit
dl
rm
emu8000.h
3333
0644
edit
dl
rm
emu8000_reg.h
9767
0644
edit
dl
rm
emux_legacy.h
4811
0644
edit
dl
rm
emux_synth.h
6948
0644
edit
dl
rm
es1688.h
2923
0644
edit
dl
rm
graph_card.h
271
0644
edit
dl
rm
gus.h
20119
0644
edit
dl
rm
hdaudio.h
21538
0644
edit
dl
rm
hdaudio_ext.h
5680
0644
edit
dl
rm
hda_chmap.h
2660
0644
edit
dl
rm
hda_codec.h
17669
0644
edit
dl
rm
hda_component.h
2085
0644
edit
dl
rm
hda_hwdep.h
736
0644
edit
dl
rm
hda_i915.h
589
0644
edit
dl
rm
hda_register.h
10655
0644
edit
dl
rm
hda_regmap.h
6934
0644
edit
dl
rm
hda_verbs.h
17296
0644
edit
dl
rm
hdmi-codec.h
3011
0644
edit
dl
rm
hwdep.h
1925
0644
edit
dl
rm
i2c.h
2857
0644
edit
dl
rm
info.h
8053
0644
edit
dl
rm
initval.h
2484
0644
edit
dl
rm
intel-dsp-config.h
869
0644
edit
dl
rm
intel-nhlt.h
2851
0644
edit
dl
rm
jack.h
3172
0644
edit
dl
rm
l3.h
524
0644
edit
dl
rm
madera-pdata.h
1996
0644
edit
dl
rm
max9768.h
729
0644
edit
dl
rm
max98088.h
1074
0644
edit
dl
rm
max98090.h
534
0644
edit
dl
rm
max98095.h
1357
0644
edit
dl
rm
memalloc.h
2642
0644
edit
dl
rm
minors.h
3738
0644
edit
dl
rm
mixer_oss.h
1773
0644
edit
dl
rm
mpu401.h
3905
0644
edit
dl
rm
omap-hdmi-audio.h
971
0644
edit
dl
rm
opl3.h
11909
0644
edit
dl
rm
opl4.h
459
0644
edit
dl
rm
pcm-indirect.h
5159
0644
edit
dl
rm
pcm.h
53684
0644
edit
dl
rm
pcm_drm_eld.h
183
0644
edit
dl
rm
pcm_iec958.h
597
0644
edit
dl
rm
pcm_oss.h
2063
0644
edit
dl
rm
pcm_params.h
8864
0644
edit
dl
rm
pt2258.h
513
0644
edit
dl
rm
pxa2xx-lib.h
2190
0644
edit
dl
rm
rawmidi.h
5881
0644
edit
dl
rm
rt286.h
314
0644
edit
dl
rm
rt298.h
373
0644
edit
dl
rm
rt1015.h
283
0644
edit
dl
rm
rt5514.h
399
0644
edit
dl
rm
rt5659.h
880
0644
edit
dl
rm
rt5660.h
578
0644
edit
dl
rm
rt5663.h
476
0644
edit
dl
rm
rt5665.h
761
0644
edit
dl
rm
rt5668.h
646
0644
edit
dl
rm
rt5682.h
901
0644
edit
dl
rm
s3c24xx_uda134x.h
229
0644
edit
dl
rm
sb.h
10550
0644
edit
dl
rm
sb16_csp.h
2100
0644
edit
dl
rm
seq_device.h
2165
0644
edit
dl
rm
seq_kernel.h
3378
0644
edit
dl
rm
seq_midi_emul.h
6757
0644
edit
dl
rm
seq_midi_event.h
1356
0644
edit
dl
rm
seq_oss.h
2264
0644
edit
dl
rm
seq_oss_legacy.h
360
0644
edit
dl
rm
seq_virmidi.h
2123
0644
edit
dl
rm
sh_dac_audio.h
441
0644
edit
dl
rm
sh_fsi.h
693
0644
edit
dl
rm
simple_card.h
529
0644
edit
dl
rm
simple_card_utils.h
8351
0644
edit
dl
rm
snd_wavefront.h
5620
0644
edit
dl
rm
soc-acpi-intel-match.h
2074
0644
edit
dl
rm
soc-acpi.h
5637
0644
edit
dl
rm
soc-card.h
2944
0644
edit
dl
rm
soc-component.h
19387
0644
edit
dl
rm
soc-dai.h
19957
0644
edit
dl
rm
soc-dapm.h
32957
0644
edit
dl
rm
soc-dpcm.h
5523
0644
edit
dl
rm
soc-jack.h
3822
0644
edit
dl
rm
soc-link.h
1172
0644
edit
dl
rm
soc-topology.h
5835
0644
edit
dl
rm
soc.h
47899
0644
edit
dl
rm
sof.h
2596
0644
edit
dl
rm
soundfont.h
3903
0644
edit
dl
rm
spear_dma.h
350
0644
edit
dl
rm
spear_spdif.h
345
0644
edit
dl
rm
sta32x.h
1015
0644
edit
dl
rm
sta350.h
1474
0644
edit
dl
rm
tas2552-plat.h
283
0644
edit
dl
rm
tas5086.h
210
0644
edit
dl
rm
tea6330t.h
468
0644
edit
dl
rm
timer.h
5109
0644
edit
dl
rm
tlv.h
1627
0644
edit
dl
rm
tlv320aic3x.h
1777
0644
edit
dl
rm
tlv320aic32x4.h
1320
0644
edit
dl
rm
tlv320dac33-plat.h
574
0644
edit
dl
rm
tpa6130a2-plat.h
291
0644
edit
dl
rm
uda134x.h
451
0644
edit
dl
rm
uda1380.h
335
0644
edit
dl
rm
util_mem.h
1623
0644
edit
dl
rm
vx_core.h
15055
0644
edit
dl
rm
wavefront.h
18518
0644
edit
dl
rm
wm0010.h
466
0644
edit
dl
rm
wm1250-ev1.h
510
0644
edit
dl
rm
wm2000.h
479
0644
edit
dl
rm
wm2200.h
1353
0644
edit
dl
rm
wm5100.h
1129
0644
edit
dl
rm
wm8903.h
15377
0644
edit
dl
rm
wm8904.h
7389
0644
edit
dl
rm
wm8955.h
442
0644
edit
dl
rm
wm8960.h
888
0644
edit
dl
rm
wm8962.h
1694
0644
edit
dl
rm
wm8993.h
1076
0644
edit
dl
rm
wm8996.h
1289
0644
edit
dl
rm
wm9081.h
515
0644
edit
dl
rm
wm9090.h
634
0644
edit
dl
rm
wss.h
7949
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-181/include/sound/seq_midi_emul.h
(6757B)
/* SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef __SOUND_SEQ_MIDI_EMUL_H #define __SOUND_SEQ_MIDI_EMUL_H /* * Midi channel definition for optional channel management. * * Copyright (C) 1999 Steve Ratcliffe */ #include <sound/seq_kernel.h> /* * This structure is used to keep track of the current state on each * channel. All drivers for hardware that does not understand midi * directly will probably need to use this structure. */ 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 */ unsigned char midi_mode; /* GM, GS, XG etc */ unsigned int drum_channel:1, /* Drum channel */ param_type:1 /* RPN/NRPN */ ; unsigned char midi_aftertouch; /* Aftertouch (key pressure) */ unsigned char midi_pressure; /* Channel pressure */ unsigned char midi_program; /* Instrument number */ short midi_pitchbend; /* Pitch bend amount */ unsigned char control[128]; /* Current value of all controls */ unsigned char 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 */ }; /* * A structure that represets a set of channels bound to a port. There * would usually be 16 channels per port. But fewer could be used for * particular cases. * The channel set consists of information describing the client and * port for this midi synth and an array of snd_midi_channel structures. * A driver that had no need for snd_midi_channel could still use the * channel set type if it wished with the channel array null. */ 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; unsigned char midi_mode; /* MIDI operating mode */ unsigned char gs_master_volume; /* SYSEX master volume: 0-127 */ unsigned char gs_chorus_mode; unsigned char gs_reverb_mode; }; struct snd_midi_op { void (*note_on)(void *private_data, int note, int vel, struct snd_midi_channel *chan); void (*note_off)(void *private_data,int note, int vel, struct snd_midi_channel *chan); /* release note */ void (*key_press)(void *private_data, int note, int vel, struct snd_midi_channel *chan); void (*note_terminate)(void *private_data, int note, struct snd_midi_channel *chan); /* terminate note immediately */ void (*control)(void *private_data, int type, struct snd_midi_channel *chan); void (*nrpn)(void *private_data, struct snd_midi_channel *chan, struct snd_midi_channel_set *chset); void (*sysex)(void *private_data, unsigned char *buf, int len, int parsed, struct snd_midi_channel_set *chset); }; /* * These defines are used so that pitchbend, aftertouch etc, can be * distinguished from controller values. */ /* 0-127 controller values */ #define MIDI_CTL_PITCHBEND 0x80 #define MIDI_CTL_AFTERTOUCH 0x81 #define MIDI_CTL_CHAN_PRESSURE 0x82 /* * These names exist to allow symbolic access to the controls array. * The usage is eg: chan->gm_bank_select. Another implementation would * be really have these members in the struct, and not the array. */ #define gm_bank_select control[0] #define gm_modulation control[1] #define gm_breath control[2] #define gm_foot_pedal control[4] #define gm_portamento_time control[5] #define gm_data_entry control[6] #define gm_volume control[7] #define gm_balance control[8] #define gm_pan control[10] #define gm_expression control[11] #define gm_effect_control1 control[12] #define gm_effect_control2 control[13] #define gm_slider1 control[16] #define gm_slider2 control[17] #define gm_slider3 control[18] #define gm_slider4 control[19] #define gm_bank_select_lsb control[32] #define gm_modulation_wheel_lsb control[33] #define gm_breath_lsb control[34] #define gm_foot_pedal_lsb control[36] #define gm_portamento_time_lsb control[37] #define gm_data_entry_lsb control[38] #define gm_volume_lsb control[39] #define gm_balance_lsb control[40] #define gm_pan_lsb control[42] #define gm_expression_lsb control[43] #define gm_effect_control1_lsb control[44] #define gm_effect_control2_lsb control[45] #define gm_sustain control[MIDI_CTL_SUSTAIN] #define gm_hold gm_sustain #define gm_portamento control[MIDI_CTL_PORTAMENTO] #define gm_sostenuto control[MIDI_CTL_SOSTENUTO] /* * These macros give the complete value of the controls that consist * of coarse and fine pairs. Of course the fine controls are seldom used * but there is no harm in being complete. */ #define SNDRV_GM_BANK_SELECT(cp) (((cp)->control[0]<<7)|((cp)->control[32])) #define SNDRV_GM_MODULATION_WHEEL(cp) (((cp)->control[1]<<7)|((cp)->control[33])) #define SNDRV_GM_BREATH(cp) (((cp)->control[2]<<7)|((cp)->control[34])) #define SNDRV_GM_FOOT_PEDAL(cp) (((cp)->control[4]<<7)|((cp)->control[36])) #define SNDRV_GM_PORTAMENTO_TIME(cp) (((cp)->control[5]<<7)|((cp)->control[37])) #define SNDRV_GM_DATA_ENTRY(cp) (((cp)->control[6]<<7)|((cp)->control[38])) #define SNDRV_GM_VOLUME(cp) (((cp)->control[7]<<7)|((cp)->control[39])) #define SNDRV_GM_BALANCE(cp) (((cp)->control[8]<<7)|((cp)->control[40])) #define SNDRV_GM_PAN(cp) (((cp)->control[10]<<7)|((cp)->control[42])) #define SNDRV_GM_EXPRESSION(cp) (((cp)->control[11]<<7)|((cp)->control[43])) /* MIDI mode */ #define SNDRV_MIDI_MODE_NONE 0 /* Generic midi */ #define SNDRV_MIDI_MODE_GM 1 #define SNDRV_MIDI_MODE_GS 2 #define SNDRV_MIDI_MODE_XG 3 #define SNDRV_MIDI_MODE_MT32 4 /* MIDI note state */ #define SNDRV_MIDI_NOTE_OFF 0x00 #define SNDRV_MIDI_NOTE_ON 0x01 #define SNDRV_MIDI_NOTE_RELEASED 0x02 #define SNDRV_MIDI_NOTE_SOSTENUTO 0x04 #define SNDRV_MIDI_PARAM_TYPE_REGISTERED 0 #define SNDRV_MIDI_PARAM_TYPE_NONREGISTERED 1 /* SYSEX parse flag */ enum { SNDRV_MIDI_SYSEX_NOT_PARSED = 0, SNDRV_MIDI_SYSEX_GM_ON, SNDRV_MIDI_SYSEX_GS_ON, SNDRV_MIDI_SYSEX_GS_RESET, SNDRV_MIDI_SYSEX_GS_CHORUS_MODE, SNDRV_MIDI_SYSEX_GS_REVERB_MODE, SNDRV_MIDI_SYSEX_GS_MASTER_VOLUME, SNDRV_MIDI_SYSEX_GS_PROGRAM, SNDRV_MIDI_SYSEX_GS_DRUM_CHANNEL, SNDRV_MIDI_SYSEX_XG_ON, }; /* Prototypes for midi_process.c */ void snd_midi_process_event(const struct snd_midi_op *ops, struct snd_seq_event *ev, struct snd_midi_channel_set *chanset); void snd_midi_channel_set_clear(struct snd_midi_channel_set *chset); struct snd_midi_channel_set *snd_midi_channel_alloc_set(int n); void snd_midi_channel_free_set(struct snd_midi_channel_set *chset); #endif /* __SOUND_SEQ_MIDI_EMUL_H */
Save
cmd:
run