comparison src/cue/cuesheet.h @ 2951:6abe60a81301

reimplemented cuesheet plugin using subtune.
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Sat, 11 Oct 2008 20:03:01 +0900
parents
children 63bf9d97ce65
comparison
equal deleted inserted replaced
2950:dcd8d93ba781 2951:6abe60a81301
1 #ifndef _CUE_H_
2 #define _CUE_H_
3
4 #include "config.h"
5
6 #define AUD_DEBUG 1
7
8 #include <string.h>
9 #include <stdlib.h>
10 #include <stdio.h>
11 #include <ctype.h>
12 #include <audacious/plugin.h>
13 #include <audacious/output.h>
14
15 #define MAX_CUE_LINE_LENGTH 1000
16 #define MAX_CUE_TRACKS 1000
17
18 extern GMutex *cue_mutex;
19 extern GCond *cue_cond;
20
21 typedef enum {
22 STOP = 0,
23 RUN,
24 EXIT
25 } watchdog_state_t;
26
27 extern watchdog_state_t watchdog_state;
28
29 extern gint last_cue_track;
30 extern gint cur_cue_track;
31 extern gulong target_time;
32 extern GMutex *cue_target_time_mutex;
33
34 typedef struct cue_tracks {
35 gchar *title;
36 gchar *performer;
37 gint index;
38 gint duration;
39 } cue_tracks_t;
40
41 extern cue_tracks_t cue_tracks[];
42 extern gint finetune_seek;
43 extern InputPlayback *real_ip;
44 extern InputPlayback *caller_ip;
45
46 /* prototypes */
47 void cache_cue_file(gchar *f);
48 void free_cue_info(void);
49 void fix_cue_argument(char *line);
50 int is_our_file(gchar *filename);
51 void play(InputPlayback *data);
52 void play_cue_uri(InputPlayback *data, gchar *uri);
53 void mseek(InputPlayback *data, gulong time);
54 void seek(InputPlayback *data, gint time);
55 void stop(InputPlayback *data);
56 void cue_pause(InputPlayback *data, short);
57 Tuple *get_song_tuple(gchar *uri);
58 void cue_init(void);
59 gint get_time(InputPlayback *playback);
60 void cue_cleanup(void);
61 gpointer watchdog_func(gpointer data);
62 Tuple *probe_for_tuple(gchar *songFilename, VFSFile *fd);
63
64 #endif