Mercurial > audlegacy
diff Plugins/Input/amidi-plug/i_seq.h @ 522:60c744f652f4 trunk
[svn] amidi-plug (MIDI through ALSA seq) input plugin added, brand new and completely written from scratch :)
author | giacomo |
---|---|
date | Thu, 26 Jan 2006 18:43:59 -0800 |
parents | |
children | 8efa4b799c19 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/Input/amidi-plug/i_seq.h Thu Jan 26 18:43:59 2006 -0800 @@ -0,0 +1,61 @@ +/* +* +* Author: Giacomo Lozito <james@develia.org>, (C) 2005-2006 +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at your +* option) any later version. +* +* This program is distributed in the hope that it will be useful, but +* WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* General Public License for more details. +* +* You should have received a copy of the GNU General Public License along +* with this program; if not, write to the Free Software Foundation, Inc., +* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* +*/ + +#ifndef _I_SEQ_H +#define _I_SEQ_H 1 + +#include "i_common.h" +#include <alsa/asoundlib.h> + +typedef struct +{ + snd_seq_t * seq; + gint client_port; + gint queue; + + snd_seq_addr_t * dest_port; + gint dest_port_num; + + snd_seq_queue_tempo_t * queue_tempo; +} +sequencer_client_t; + +extern sequencer_client_t sc; + +gint i_seq_on( gshort , gchar * ); +gint i_seq_off( void ); +gint i_seq_open( void ); +gint i_seq_close( void ); +gint i_seq_port_create( void ); +gint i_seq_port_connect( void ); +gint i_seq_port_disconnect( void ); +gint i_seq_queue_create( void ); +gint i_seq_queue_free( void ); +gint i_seq_queue_set_tempo( gint , gint ); +gint i_seq_mixer_set_volume( gint , gint , gchar * , gchar * , gint ); +gint i_seq_port_wparse( gchar * ); +GSList * i_seq_port_get_list( void ); +GSList * i_seq_card_get_list( void ); +GSList * i_seq_mixctl_get_list( gint ); +void i_seq_port_free_list( GSList * ); +void i_seq_card_free_list( GSList * ); +void i_seq_mixctl_free_list( GSList * ); + +#endif /* !_I_SEQ_H */