1 /* aylet 0.1, a .AY music file player. 2 * Copyright (C) 2001 Russell Marks and Ian Collier. See main.c for licence. 3 * 4 * main.h 5 */ 6 7 enum cb_action_tag 8 { 9 cb_none, 10 cb_quit, 11 cb_highspeed, 12 cb_prev_file, 13 cb_next_file, 14 cb_prev_track, 15 cb_next_track, 16 cb_play, 17 cb_pause, 18 cb_stop, 19 cb_restart, 20 cb_dec_stopafter, 21 cb_inc_stopafter, 22 cb_dec_fadetime, 23 cb_inc_fadetime, 24 cb_dec_vol, 25 cb_inc_vol 26 }; 27 28 29 extern int action_callback(enum cb_action_tag action); 30 extern int do_interrupt(void); 31 extern unsigned int in(int h,int l); 32 extern unsigned int out(int h,int l,int a); 33 34 extern unsigned char mem[]; 35 extern unsigned long tstates,tsmax; 36 extern int highspeed,playing,paused,want_quit; 37 extern int stopafter,fadetime; 38 extern int use_ui,play_to_stdout; 39 extern char **ay_filenames; 40 extern int ay_file,ay_num_files; 41 extern int ay_track; 42 43 44 struct ay_track_tag 45 { 46 unsigned char *namestr,*data; 47 unsigned char *data_stacketc,*data_memblocks; 48 int fadestart,fadelen; 49 }; 50 51 struct aydata_tag 52 { 53 unsigned char *filedata; 54 int filelen; 55 struct ay_track_tag *tracks; 56 57 int filever,playerver; 58 unsigned char *authorstr,*miscstr; 59 int num_tracks; 60 int first_track; 61 }; 62 63 struct time_tag { int min,sec,subsecframes; }; 64 65 extern struct aydata_tag aydata; 66 extern struct time_tag tunetime; 67