diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cue/cuesheet.h	Sat Oct 11 20:03:01 2008 +0900
@@ -0,0 +1,64 @@
+#ifndef _CUE_H_
+#define _CUE_H_
+
+#include "config.h"
+
+#define AUD_DEBUG 1
+
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <audacious/plugin.h>
+#include <audacious/output.h>
+
+#define MAX_CUE_LINE_LENGTH 1000
+#define MAX_CUE_TRACKS 1000
+
+extern GMutex *cue_mutex;
+extern GCond *cue_cond;
+
+typedef enum {
+    STOP = 0,
+    RUN,
+    EXIT
+} watchdog_state_t;
+
+extern watchdog_state_t watchdog_state;
+
+extern gint last_cue_track;
+extern gint cur_cue_track;
+extern gulong target_time;
+extern GMutex *cue_target_time_mutex;
+
+typedef struct cue_tracks {
+    gchar *title;
+    gchar *performer;
+    gint index;
+    gint duration;
+} cue_tracks_t;
+
+extern cue_tracks_t cue_tracks[];
+extern gint finetune_seek;
+extern InputPlayback *real_ip;
+extern InputPlayback *caller_ip;
+
+/* prototypes */
+void cache_cue_file(gchar *f);
+void free_cue_info(void);
+void fix_cue_argument(char *line);
+int is_our_file(gchar *filename);
+void play(InputPlayback *data);
+void play_cue_uri(InputPlayback *data, gchar *uri);
+void mseek(InputPlayback *data, gulong time);
+void seek(InputPlayback *data, gint time);
+void stop(InputPlayback *data);
+void cue_pause(InputPlayback *data, short);
+Tuple *get_song_tuple(gchar *uri);
+void cue_init(void);
+gint get_time(InputPlayback *playback);
+void cue_cleanup(void);
+gpointer watchdog_func(gpointer data);
+Tuple *probe_for_tuple(gchar *songFilename, VFSFile *fd);
+
+#endif