comparison src/amidi-plug/backend-alsa/b-alsa.c @ 1414:5f892afeb8e1 audacious-plugins-1.4.0-dr2

- amidi-plug 0.8 beta1; support for gthread and v3 plugin system; needs testing and refinements
author Giacomo Lozito <james@develia.org>
date Mon, 06 Aug 2007 14:01:24 +0200
parents d2e508857ded
children
comparison
equal deleted inserted replaced
1413:4731d28ea19d 1414:5f892afeb8e1
177 { 177 {
178 return snd_seq_start_queue( sc.seq , sc.queue , NULL ); 178 return snd_seq_start_queue( sc.seq , sc.queue , NULL );
179 } 179 }
180 180
181 181
182 gint sequencer_queue_stop( void )
183 {
184 return snd_seq_stop_queue( sc.seq , sc.queue , NULL );
185 }
186
187
182 gint sequencer_event_init( void ) 188 gint sequencer_event_init( void )
183 { 189 {
184 /* common settings for all our events */ 190 /* common settings for all our events */
185 snd_seq_ev_clear(&sc.ev); 191 snd_seq_ev_clear(&sc.ev);
186 sc.ev.queue = sc.queue; 192 sc.ev.queue = sc.queue;
285 291
286 292
287 gint sequencer_event_other( midievent_t * event ) 293 gint sequencer_event_other( midievent_t * event )
288 { 294 {
289 /* unhandled */ 295 /* unhandled */
296 return 1;
297 }
298
299
300 gint sequencer_event_allnoteoff( gint unused )
301 {
302 gint i = 0 , c = 0;
303 /* send "ALL SOUNDS OFF" to all channels on all ports */
304 sc.ev.type = SND_SEQ_EVENT_CONTROLLER;
305 sc.ev.time.tick = 0;
306 snd_seq_ev_set_fixed(&sc.ev);
307 sc.ev.data.control.param = MIDI_CTL_ALL_SOUNDS_OFF;
308 sc.ev.data.control.value = 0;
309 for ( i = 0 ; i < sc.dest_port_num ; i++ )
310 {
311 sc.ev.queue = sc.queue;
312 sc.ev.dest = sc.dest_port[i];
313
314 for ( c = 0 ; c < 16 ; c++ )
315 {
316 sc.ev.data.control.channel = c;
317 snd_seq_event_output(sc.seq, &sc.ev);
318 snd_seq_drain_output(sc.seq);
319 }
320 }
290 return 1; 321 return 1;
291 } 322 }
292 323
293 324
294 gint sequencer_output( gpointer * buffer , gint * len ) 325 gint sequencer_output( gpointer * buffer , gint * len )