home *** CD-ROM | disk | FTP | other *** search
- /* proto.h */
-
- /* prototypes for external functions
- */
-
- /* $Author: Espie $
- * $Date: 91/05/16 15:06:02 $
- * $Revision: 1.41 $
- * $Log: proto.h,v $
- * Revision 1.41 91/05/16 15:06:02 Espie
- * *** empty log message ***
- *
- * Revision 1.40 91/05/12 19:54:50 Espie
- * Moved private protos to lprotos, minor changes.
- *
- * Revision 1.39 91/05/12 15:58:59 Espie
- * *** empty log message ***
- *
- * Revision 1.38 91/05/11 14:58:21 Espie
- * *** empty log message ***
- *
- * Revision 1.37 91/05/09 17:37:48 Espie
- * Support for parameters and appwindow.
- *
- * Revision 1.36 91/05/08 15:52:48 Espie
- * New prototypes for files.c, and set_volume.
- *
- * Revision 1.35 91/05/07 12:13:01 Espie
- * *** empty log message ***
- *
- * Revision 1.34 91/05/06 23:38:15 Espie
- * Cleaned up some prototypes, libraries.c.
- *
- * Revision 1.33 91/05/06 15:14:37 Espie
- * *** empty log message ***
- *
- * Revision 1.32 91/05/05 19:06:36 Espie
- * *** empty log message ***
- *
- * Revision 1.31 91/05/05 15:39:03 Espie
- * Changed all audio_hard prototypes...
- *
- * Revision 1.30 91/05/05 04:00:40 Espie
- * *** empty log message ***
- *
- * Revision 1.29 91/05/03 02:48:46 Espie
- * *** empty log message ***
- *
- * Revision 1.28 91/05/02 23:32:20 Espie
- * *** empty log message ***
- *
- * Revision 1.27 91/05/02 11:22:09 Espie
- * New prototypes, still tidying up...
- *
- * Revision 1.26 91/05/02 01:32:49 Espie
- * New prototypes almost everywhere.
- *
- * Revision 1.25 91/04/30 16:50:39 Espie
- * Some minor interface details.
- *
- * Revision 1.24 91/04/30 00:35:24 Espie
- * Stable version III.
- *
- * Revision 1.23 91/04/30 00:24:03 Espie
- * Changed proto for unload_song().
- *
- * Revision 1.22 91/04/29 23:54:21 Espie
- * Prototypes for the file requester functions.
- *
- * Revision 1.21 91/04/29 15:06:27 Espie
- * Cleaned up interface for audio_hard/interrupt.c.
- *
- * Revision 1.20 91/04/29 13:02:40 Espie
- * Cleaned up interface to the audio software.
- *
- * Revision 1.19 91/04/29 03:53:25 Espie
- * New prototypes for inter.c and audio_soft.c
- *
- * Revision 1.18 91/04/29 02:22:32 Espie
- * New prototypes for the blossoming interface.
- *
- * Revision 1.17 91/04/28 22:53:55 Espie
- * New: init_periods().
- *
- * Revision 1.16 91/04/27 20:49:18 Espie
- * Change in set_tempo.
- *
- * Revision 1.15 91/04/27 16:46:14 Espie
- * New protos for enabling/disabling interrupts.
- *
- * Revision 1.14 91/04/27 03:59:48 Espie
- * *** empty log message ***
- *
- * Revision 1.13 91/04/27 00:24:07 Espie
- * Nothing important.
- *
- * Revision 1.12 91/04/26 16:31:12 Espie
- * New prototypes for turn_on_dma()/audio_soft() functions.
- *
- * Revision 1.11 91/04/24 15:27:34 Espie
- * New prototypes for audio_soft.
- *
- * Revision 1.10 91/04/23 21:30:50 Espie
- * New prototypes for new functions.
- *
- * Revision 1.9 91/04/21 12:11:54 Espie
- * Stable version, known as bunch II.
- * Also features ``right'' log description.
- *
- * Revision 1.8 91/04/21 11:16:31 Espie
- * Prototypes for audio.c have been cleaned up.
- *
- * Revision 1.7 91/04/20 18:12:49 Espie
- *
- * Revision 1.6 91/04/19 13:20:24 Espie
- *
- * Revision 1.5 91/04/19 02:18:27 Espie
- *
- * Revision 1.4 91/04/18 20:23:17 Espie
- * no big change in this file.
- *
- * Revision 1.3 91/04/18 02:26:07 Espie
- * bunch I.
- *
- * Revision 1.2 91/04/18 02:18:42 Espie
- * New prototypes (temporary) for audio/player.
- *
- * Revision 1.1 91/04/17 18:52:20 Espie
- * Initial revision
- *
- */
-
- /* my personal quirks */
-
- #define FORWARD
- #define LOCAL static
- #define XT extern
- #define forever while(TRUE)
-
- /* necessary... */
-
- #define exit _exit
- #ifdef NDEBUG
- #define mayPanic(message) Panic(NULL)
- #else
- #define mayPanic(message) Panic(message)
- #endif
-
- /***
- *
- * audio_hard.c
- *
- ***/
-
- XT void reset_audio(void);
-
- XT void save_filter(void);
- XT void restore_filter(void);
-
- /***
- *
- * audio_soft.c
- *
- ***/
-
- /* obtain_audio(pri) set up structures for accessing the audio hardware.
- * start_player() starts the player routine if possible.
- * stop_player() stops the player routine when appropriate.
- *
- */
-
- XT ULONG obtain_audio(int priority);
-
- XT void handle_audio(void);
- XT void start_player(void);
- XT void stop_player(void);
- XT void song_available(BOOL really);
-
- /***
- *
- * interrupt.c
- *
- ***/
-
-
- XT struct pub_play *obtain_player(void);
- XT void stop_timer(void);
- XT void start_timer(void);
-
- XT void set_tempo(int tempo, int effect);
- XT void set_mode(int mode);
- XT void setup_song(struct song *s);
- XT void launch_play(int patt);
-
-
- /***
- *
- * load.c
- *
- ***/
-
- XT struct song *load_song(char *arg);
- XT int load_error(void);
-
- #define OUT_OF_MEMORY (-1)
- #define OUT_OF_CHIP (-2)
- #define MISSING_SAMPLE 1
- #define UNSUPPORTED 2
- #define FORMAT_ERROR 3
- #define NOTE_PROBLEM 4
- #define NOT_A_MOD 5
-
- /* always returns NULL, but useful that way
- */
- XT struct song *unload_song(struct song *s);
-
- /***
- *
- * play.c
- *
- ***/
-
- #ifndef LATTICE
- #define __interrupt
- #define __asm
- #define __a1
- #endif
-
- XT void __interrupt __asm do_play(register __a1 struct play *p);
-
- XT void init_player(struct play *play);
-
- /***
- *
- * crit.c
- *
- ***/
-
- XT int nobreak(void);
-
- /***
- *
- * periods.c
- *
- ***/
-
- XT void init_periods(UWORD **period_table);
- XT UBYTE find_note(UWORD period, UBYTE fine);
-
- /* returns -1 if there is a problem */
-
- XT BYTE normalize_finetune(UBYTE finetune);
-
- /***
- *
- * interface.c
- *
- ***/
-
- XT struct Window *init_interface(int xoffset, int yoffset);
- XT void message_interface(struct IntuiMessage *msg);
-
- XT void handle_interface(void);
- XT BOOL did_abort(void);
- XT void clear_abort(void);
-
- XT void update_title(int pos, int len, char *title);
- XT void new_title(int pos, int len, char *title);
- XT void no_title(void);
- XT void reset_tempo(void);
-
- XT void temporary_title(char *message);
- XT void restore_title(void);
-
- XT void pref_volume(int volume);
- XT void pref_speed(int speed);
- XT void pref_mode(int mode);
-
- /***
- *
- * events.c
- *
- ***/
-
- XT struct pub_play *init_events(int pri, int xoffset, int yoffset);
-
- XT void check_abort(void);
- XT void wait_abort(void);
-
- /* dump.c */
-
-
- XT void try_change_song(void);
- XT void add_some_songs(struct AppMessage *msg);
- XT void handle_player(void);
- XT BOOL safe_load_song(char *arg);
- XT BOOL safe_unload_song(void);
-
- /* requester.c */
-
- XT char *get_name(char *banner);
- XT BOOL init_requester(struct Window *w);
- XT BOOL is_info(char *name);
- /* libraries.c */
-
- #define ARP 0
- #define OS_20 1
- #define NO_REQ 3
-
- XT void open_libraries(void);
- XT BOOL running_20(void);
- XT int requester_type(void);
- XT BOOL icon_around(void);
- XT BOOL wb_around(void);
-
- XT struct IntuitionBase *IntuitionBase;
- XT struct GfxBase *GfxBase;
- XT struct Library *AslBase, *ArpBase, *IconBase;
-
- #ifdef SIZE_GADGET
- XT struct Library *LayersBase;
- #endif
-
- /***
- *
- * files.c
- *
- ***/
-
- XT char *next_song(struct iterator **head, BOOL req);
- XT struct iterator *setup_arguments(int argc, char **argv);
- XT int do_get_arg(char *tooltype, int def);
- XT int do_map_arg(char *tooltype, char **names, int def);
- XT int get_arg(char **tools, char *tooltype, int def);
- XT int map_arg(char **tools, char *tooltype, char **names, int def);
- XT char **grab_tooltypes(struct iterator *it, char *arg);
- XT void insert_args(struct iterator **head, struct AppMessage *msg);
-
- /***
- *
- * workbench.c
- *
- ***/
-
- XT ULONG init_appwindow(struct Window *w);
- XT void handle_app(void);
-