1 /*
2  * Copyright (C) 1990 Regents of the University of California.
3  *
4  * Permission to use, copy, modify, distribute, and sell this software and
5  * its documentation for any purpose is hereby granted without fee,
6  * provided that the above copyright notice appear in all copies and that
7  * both that copyright notice and this permission notice appear in
8  * supporting documentation, and that the name of the University of
9  * California not be used in advertising or publicity pertaining to
10  * distribution of the software without specific, written prior
11  * permission.  the University of California makes no representations
12  * about the suitability of this software for any purpose.  It is provided
13  * "as is" without express or implied warranty.
14  */
15 
16 #include "version.h"
17 #include "patchlevel.h"
18 
19 /* shorthand */
20 # define rootwin(x)	RootWindow(XtDisplay(x), XtWindow(x))
21 
22 /*
23  * number of milliseconds to sleep between
24  * checking to see what the current track
25  * is.
26  */
27 # define TIMER_PERIOD		((unsigned long) 250)
28 
29 # define BACKWARDS	-1
30 # define FORWARDS	1
31 
32 extern Widget		top_setup();
33 extern Widget		main_setup();
34 
35 extern void		cb_cdrom_play();
36 extern void		cb_cdrom_pause();
37 extern void		cb_cdrom_stop();
38 extern void		cb_cdrom_previous();
39 extern void		cb_cdrom_next();
40 extern void		cb_cdrom_eject();
41 #ifdef sgi
42 extern void		cb_cdrom_audio();
43 #endif
44 extern void		cb_cdrom_cycle();
45 extern void		cb_cdrom_quit();
46 extern void		cb_cdrom_shuffle();
47 extern void		cb_cdrom_rewind();
48 extern void		cb_cdrom_ff();
49 extern void		cb_cdrom_program();
50 
51 extern int		cdrom_get_curtime();
52 extern void		cdrom_timer_on();
53 extern void		cdrom_timer_off();
54 extern int		cdrom_play();
55 extern void		cdrom_reset();
56 extern void		cdrom_rewind();
57 extern void		cdrom_ff();
58 
59 extern void		logo_setup();
60 extern void		track_button_update();
61 extern void		track_button_set();
62 extern void		track_button_reset();
63 extern void		timer_button_update();
64 extern void		timer_button_set();
65 extern void		timer_button_reset();
66 
67 extern void		button_setup();
68 extern void		top_start();
69 extern void		update_status();
70 extern void		play_button_set();
71 extern void		play_button_reset();
72 extern void		pause_button_reset();
73 extern void		eject_button_reset();
74 extern void		shuffle_button_set();
75 extern void		shuffle_button_reset();
76 extern void		pgm_button_set();
77 extern void		pgm_button_reset();
78 extern void     	update_title();
79 
80 
81 extern void		leds_stop();
82 extern void		leds_update();
83 
84 extern void		shuffle_setup();
85 extern unsigned char	shuffle_next_track();
86 extern unsigned char	shuffle_prev_track();
87 
88 extern void		program_form_setup();
89 extern void		popup_program_form();
90 extern int      	program_time_remaining();
91 extern unsigned char	program_resume();
92 extern unsigned char	program_goto_next_track();
93 extern unsigned char	program_goto_prev_track();
94 extern unsigned char	program_next_track();
95 extern unsigned char	program_prev_track();
96 extern void		program_add_track();
97 extern void		program_cancel();
98 
99 extern int		cdrom_open();
100 extern int		cdrom_init();
101 
102 extern XtAppContext	appc;
103 
104 #include "app.h"
105 
106 extern char             info_filename[];
107 extern char     	*disc_title;
108 extern unsigned int     timer_fsecs;
109