#ifndef _XYMMS_H_ #define _XYMMS_H_ #define DUP_INIT 0x20000000 #include #include #include #include #include #include #include #include #include #include #include #include #include "callbacks.h" #include "interface.h" #include "support.h" /* * GYMTAG (sort of like an ID3 tag for MP3's) */ typedef struct { int gym_id; char song_title[32]; char game_title[32]; char game_publisher[32]; char ripped_with[32]; char ripped_by[32]; char comments[256]; unsigned int looped; unsigned int compressed; } GYMTAG; /* Global variables defined in xymms.c */ extern int ym2612_clock; extern int ym2612_base; extern int sn76496_clock; extern int sn76496_base; extern int ext_samples_per_sec; extern int ext_bits_per_sample; extern int ext_channels; extern int samples_menu[]; extern int channels_menu[]; extern char *name; //extern char name[255]; extern unsigned char *ym_data; extern GYMTAG gymtag; extern int has_gymtag; extern GtkWidget *fileinfo_win; extern GtkWidget *configure_win; extern GtkWidget *compress_label; extern GtkWidget *compress_button; /* * General local functions. */ static void init(void); static void configure(void); static int is_our_file(char *filename); static void *play_loop(void *arg); static void play_file(char *filename); static void stop(void); static void pause_play(short paused); static void seek(int time); static int get_time(void); static void get_song_info(char *filename, char **title, int *length); static void file_info_box(char *filename); static int play_gym_file(void); InputPlugin *get_iplugin_info(void); /* * Local utility functions. */ static int convert_to_header(unsigned char *buf); static int get_gym_data_pos(int time_position); static int calc_gym_time_length(unsigned char *data, int size); static short mix(int a, int b); /* * Global utility functions. */ void about(void); int get_filesize(char *filename); int read_gymtag(char *filename, GYMTAG *tag); int write_gym(char *filename, GYMTAG *tag); int write_gymtag(char *filename, GYMTAG *tag); int write_gymdata(char *filename, unsigned char *data, unsigned int len); #endif /* _XYMMS_H_ */