Mercurial > audlegacy-plugins
diff src/amidi-plug/amidi-plug.c @ 1447:195b5657303e
updated input plugins to use set_pb_ready to signal to the core that they're ready for playback
author | Giacomo Lozito <james@develia.org> |
---|---|
date | Fri, 10 Aug 2007 22:00:07 +0200 |
parents | e11d83ce8d16 |
children | 489e32a8e106 |
line wrap: on
line diff
--- a/src/amidi-plug/amidi-plug.c Fri Aug 10 12:42:07 2007 -0500 +++ b/src/amidi-plug/amidi-plug.c Fri Aug 10 22:00:07 2007 +0200 @@ -139,24 +139,9 @@ static void amidiplug_stop( InputPlayback * playback ) { - gboolean is_error = FALSE; DEBUGMSG( "STOP request at tick: %i\n" , midifile.playing_tick ); g_mutex_lock( amidiplug_playing_mutex ); - if ( amidiplug_playing_status == AMIDIPLUG_ERR ) - is_error = TRUE; - g_mutex_unlock( amidiplug_playing_mutex ); - - if ( !is_error ) - { - /* if stop wasn't called due to error condition, - wait until the play thread reach a 'safe state' - (that is, when amidiplug_play_thread exists) */ - while ( !amidiplug_play_thread ) - g_usleep( 20000 ); - } - - g_mutex_lock( amidiplug_playing_mutex ); amidiplug_playing_status = AMIDIPLUG_STOP; g_cond_signal( amidiplug_pause_cond ); g_mutex_unlock( amidiplug_playing_mutex ); @@ -476,6 +461,7 @@ amidiplug_playing_status = AMIDIPLUG_PLAY; g_mutex_unlock( amidiplug_playing_mutex ); amidiplug_play_thread = g_thread_self(); + playback->set_pb_ready(playback); amidiplug_play_loop(playback); break; }