comparison src/amidi-plug/amidi-plug.h @ 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 592442919dbd
children b7665ebc9e1e
comparison
equal deleted inserted replaced
1413:4731d28ea19d 1414:5f892afeb8e1
22 #define _I_AMIDIPLUG_H 1 22 #define _I_AMIDIPLUG_H 1
23 23
24 #define AMIDIPLUG_STOP 0 24 #define AMIDIPLUG_STOP 0
25 #define AMIDIPLUG_PLAY 1 25 #define AMIDIPLUG_PLAY 1
26 #define AMIDIPLUG_PAUSE 2 26 #define AMIDIPLUG_PAUSE 2
27 #define AMIDIPLUG_ERR 3 27 #define AMIDIPLUG_SEEK 3
28 #define AMIDIPLUG_ERR 4
28 29
29 #include "i_common.h" 30 #include "i_common.h"
30 #include <audacious/plugin.h> 31 #include <audacious/plugin.h>
31 #include <audacious/output.h> 32 #include <audacious/output.h>
32 #include <audacious/auddrct.h> 33 #include <audacious/auddrct.h>
37 #include "i_midi.h" 38 #include "i_midi.h"
38 #include "i_fileinfo.h" 39 #include "i_fileinfo.h"
39 #include "i_utils.h" 40 #include "i_utils.h"
40 41
41 42
42 static pthread_t amidiplug_play_thread; 43 static GThread * amidiplug_play_thread = NULL;
43 static pthread_t amidiplug_audio_thread; 44 static GThread * amidiplug_audio_thread = NULL;
44 static pthread_mutex_t amidiplug_gettime_mutex = PTHREAD_MUTEX_INITIALIZER; 45 static GMutex * amidiplug_gettime_mutex = NULL;
45 static pthread_mutex_t amidiplug_playing_mutex = PTHREAD_MUTEX_INITIALIZER; 46 static GMutex * amidiplug_playing_mutex = NULL;
46 static pthread_cond_t amidiplug_playing_cond = PTHREAD_COND_INITIALIZER; 47 static GCond * amidiplug_pause_cond = NULL;
48 static GCond * amidiplug_seekonpause_cond = NULL;
47 49
48 gint amidiplug_playing_status = AMIDIPLUG_STOP; 50 gint amidiplug_playing_status = AMIDIPLUG_STOP;
49 51
50 midifile_t midifile; 52 midifile_t midifile;
51 53
61 0 /* ap_opts_lyrics_extract */ 63 0 /* ap_opts_lyrics_extract */
62 }; 64 };
63 65
64 gchar *amidiplug_vfs_extensions[] = { "mid" , "midi" , "rmi" , "rmid" , NULL }; 66 gchar *amidiplug_vfs_extensions[] = { "mid" , "midi" , "rmi" , "rmid" , NULL };
65 67
66 void * amidiplug_play_loop( void * ); 68 gpointer amidiplug_play_loop( gpointer );
67 void * amidiplug_audio_loop( void * ); 69 gpointer amidiplug_audio_loop( gpointer );
68 void amidiplug_skipto( gint ); 70 void amidiplug_skipto( gint );
69 static void amidiplug_init( void ); 71 static void amidiplug_init( void );
70 static void amidiplug_cleanup( void ); 72 static void amidiplug_cleanup( void );
71 static void amidiplug_aboutbox( void ); 73 static void amidiplug_aboutbox( void );
72 static void amidiplug_configure( void ); 74 static void amidiplug_configure( void );