~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/sound/synth/emux/emux_voice.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 #ifndef __EMUX_VOICE_H
  3 #define __EMUX_VOICE_H
  4 
  5 /*
  6  * A structure to keep track of each hardware voice
  7  *
  8  *  Copyright (C) 1999 Steve Ratcliffe
  9  *  Copyright (c) 1999-2000 Takashi Iwai <tiwai@suse.de>
 10  */
 11 
 12 #include <linux/wait.h>
 13 #include <linux/sched.h>
 14 #include <sound/core.h>
 15 #include <sound/emux_synth.h>
 16 
 17 /* Prototypes for emux_seq.c */
 18 int snd_emux_init_seq(struct snd_emux *emu, struct snd_card *card, int index);
 19 void snd_emux_detach_seq(struct snd_emux *emu);
 20 struct snd_emux_port *snd_emux_create_port(struct snd_emux *emu, char *name,
 21                                            int max_channels, int type,
 22                                            struct snd_seq_port_callback *callback);
 23 void snd_emux_reset_port(struct snd_emux_port *port);
 24 int snd_emux_event_input(struct snd_seq_event *ev, int direct, void *private,
 25                          int atomic, int hop);
 26 int snd_emux_inc_count(struct snd_emux *emu);
 27 void snd_emux_dec_count(struct snd_emux *emu);
 28 int snd_emux_init_virmidi(struct snd_emux *emu, struct snd_card *card);
 29 int snd_emux_delete_virmidi(struct snd_emux *emu);
 30 
 31 /* Prototypes for emux_synth.c */
 32 void snd_emux_init_voices(struct snd_emux *emu);
 33 
 34 void snd_emux_note_on(void *p, int note, int vel, struct snd_midi_channel *chan);
 35 void snd_emux_note_off(void *p, int note, int vel, struct snd_midi_channel *chan);
 36 void snd_emux_key_press(void *p, int note, int vel, struct snd_midi_channel *chan);
 37 void snd_emux_terminate_note(void *p, int note, struct snd_midi_channel *chan);
 38 void snd_emux_control(void *p, int type, struct snd_midi_channel *chan);
 39 
 40 void snd_emux_sounds_off_all(struct snd_emux_port *port);
 41 void snd_emux_update_channel(struct snd_emux_port *port,
 42                              struct snd_midi_channel *chan, int update);
 43 void snd_emux_update_port(struct snd_emux_port *port, int update);
 44 
 45 void snd_emux_timer_callback(struct timer_list *t);
 46 
 47 /* emux_effect.c */
 48 #ifdef SNDRV_EMUX_USE_RAW_EFFECT
 49 void snd_emux_create_effect(struct snd_emux_port *p);
 50 void snd_emux_delete_effect(struct snd_emux_port *p);
 51 void snd_emux_clear_effect(struct snd_emux_port *p);
 52 void snd_emux_setup_effect(struct snd_emux_voice *vp);
 53 void snd_emux_send_effect_oss(struct snd_emux_port *port,
 54                               struct snd_midi_channel *chan, int type, int val);
 55 void snd_emux_send_effect(struct snd_emux_port *port,
 56                           struct snd_midi_channel *chan, int type, int val, int mode);
 57 #endif
 58 
 59 /* emux_nrpn.c */
 60 void snd_emux_sysex(void *private_data, unsigned char *buf, int len,
 61                     int parsed, struct snd_midi_channel_set *chset);
 62 int snd_emux_xg_control(struct snd_emux_port *port,
 63                         struct snd_midi_channel *chan, int param);
 64 void snd_emux_nrpn(void *private_data, struct snd_midi_channel *chan,
 65                    struct snd_midi_channel_set *chset);
 66 
 67 /* emux_oss.c */
 68 void snd_emux_init_seq_oss(struct snd_emux *emu);
 69 void snd_emux_detach_seq_oss(struct snd_emux *emu);
 70 
 71 /* emux_proc.c */
 72 #ifdef CONFIG_SND_PROC_FS
 73 void snd_emux_proc_init(struct snd_emux *emu, struct snd_card *card, int device);
 74 void snd_emux_proc_free(struct snd_emux *emu);
 75 #else
 76 static inline void snd_emux_proc_init(struct snd_emux *emu,
 77                                       struct snd_card *card, int device) {}
 78 static inline void snd_emux_proc_free(struct snd_emux *emu) {}
 79 #endif
 80 
 81 #define STATE_IS_PLAYING(s) ((s) & SNDRV_EMUX_ST_ON)
 82 
 83 /* emux_hwdep.c */
 84 int snd_emux_init_hwdep(struct snd_emux *emu);
 85 void snd_emux_delete_hwdep(struct snd_emux *emu);
 86 
 87 #endif
 88 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php