1 /*
2  *   xmcd - Motif(R) CD Audio Player/Ripper
3  *
4  *   Copyright (C) 1993-2004  Ti Kan
5  *   E-mail: xmcd@amb.org
6  *
7  *   This program is free software; you can redistribute it and/or modify
8  *   it under the terms of the GNU General Public License as published by
9  *   the Free Software Foundation; either version 2 of the License, or
10  *   (at your option) any later version.
11  *
12  *   This program is distributed in the hope that it will be useful,
13  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *   GNU General Public License for more details.
16  *
17  *   You should have received a copy of the GNU General Public License
18  *   along with this program; if not, write to the Free Software
19  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20  *
21  */
22 #ifndef __DBPROG_H__
23 #define __DBPROG_H__
24 
25 #ifndef lint
26 static char *_dbprog_h_ident_ = "@(#)dbprog.h	7.41 03/12/12";
27 #endif
28 
29 
30 #define TRKLIST_FMT	" %02d  %02u:%02u  %s%s "
31 #define CREDITLIST_FMT	"%s (%s)%s"
32 #define SEGLIST_FMT	"%s (%s/%s -> %s/%s)%s"
33 #define MATCHLIST_FMT	"%s / %s %s%s%s"
34 #define HISTLIST_FMT	"%.3s %02d %02d:%02d  %.127s%s%.127s"
35 #define CHGRLIST_FMT	"Disc %-4d  %.127s%s%.127s"
36 #define UNDEF_STR	"??"
37 #define ASTERISK_STR	"*"
38 
39 /* Track list time modes */
40 #define TIME_TOTAL	1
41 #define TIME_TRACK	2
42 
43 /* Disc list window modes */
44 #define DLIST_HIST	1
45 #define DLIST_CHGR	2
46 
47 /* Credit list window modes */
48 #define CREDITS_NONE	0
49 #define CREDITS_DISC	1
50 #define CREDITS_TRACK	2
51 #define CREDITS_SEG	3
52 
53 /* Fullname window modes */
54 #define FNAME_NONE	0
55 #define FNAME_DISC	1
56 #define FNAME_TRACK	2
57 #define FNAME_CREDITS	3
58 
59 /* Region selector window modes */
60 #define REGION_NONE	0
61 #define REGION_DISC	1
62 #define REGION_USERREG	2
63 
64 
65 /* Public functions */
66 extern void	dbprog_curfileupd(void);
67 extern void	dbprog_curtrkupd(curstat_t *);
68 extern void	dbprog_progclear(curstat_t *);
69 extern void	dbprog_dbclear(curstat_t *, bool_t);
70 extern void	dbprog_progget(curstat_t *);
71 extern void	dbprog_dbget(curstat_t *);
72 extern void	dbprog_chgr_scan_stop(curstat_t *);
73 extern void	dbprog_init(curstat_t *);
74 extern bool_t	dbprog_chgsubmit(curstat_t *);
75 extern char	*dbprog_curartist(curstat_t *);
76 extern char	*dbprog_curtitle(curstat_t *);
77 extern char	*dbprog_curttitle(curstat_t *);
78 extern cdinfo_incore_t
79 		*dbprog_curdb(curstat_t *);
80 extern int	dbprog_curseltrk(curstat_t *);
81 extern bool_t	dbprog_pgm_parse(curstat_t *);
82 extern void	dbprog_segments_setmode(curstat_t *);
83 extern void	dbprog_segments_cancel(curstat_t *);
84 extern bool_t	dbprog_stopload_active(int, bool_t);
85 
86 /* Callback functions */
87 extern void	dbprog_popup(Widget, XtPointer, XtPointer);
88 extern void	dbprog_inetoffln(Widget, XtPointer, XtPointer);
89 extern void	dbprog_text_new(Widget, XtPointer, XtPointer);
90 extern void	dbprog_focus_next(Widget, XtPointer, XtPointer);
91 extern void	dbprog_trklist_play(Widget, XtPointer, XtPointer);
92 extern void	dbprog_trklist_select(Widget, XtPointer, XtPointer);
93 extern void	dbprog_ttitle_focuschg(Widget, XtPointer, XtPointer);
94 extern void	dbprog_ttitle_new(Widget, XtPointer, XtPointer);
95 extern void	dbprog_pgmseq_verify(Widget, XtPointer, XtPointer);
96 extern void	dbprog_pgmseq_txtchg(Widget, XtPointer, XtPointer);
97 extern void	dbprog_addpgm(Widget, XtPointer, XtPointer);
98 extern void	dbprog_clrpgm(Widget, XtPointer, XtPointer);
99 extern void	dbprog_savepgm(Widget, XtPointer, XtPointer);
100 extern void	dbprog_submit(Widget, XtPointer, XtPointer);
101 extern void	dbprog_submit_popup(Widget, XtPointer, XtPointer);
102 extern void	dbprog_submit_yes(Widget, XtPointer, XtPointer);
103 extern void	dbprog_submit_url(Widget, XtPointer, XtPointer);
104 extern void	dbprog_submit_url_chg(Widget, XtPointer, XtPointer);
105 extern void	dbprog_submit_url_submit(Widget, XtPointer, XtPointer);
106 extern void	dbprog_submit_url_ok(Widget, XtPointer, XtPointer);
107 extern void	dbprog_flush(Widget, XtPointer, XtPointer);
108 extern void	dbprog_load(Widget, XtPointer, XtPointer);
109 extern void	dbprog_stop_load_yes(Widget, XtPointer, XtPointer);
110 extern void	dbprog_stop_load_no(Widget, XtPointer, XtPointer);
111 extern void	dbprog_ok(Widget, XtPointer, XtPointer);
112 extern void	dbprog_do_clear(Widget, XtPointer, XtPointer);
113 extern void	dbprog_timedpy(Widget, XtPointer, XtPointer);
114 extern void	dbprog_set_changed(Widget, XtPointer, XtPointer);
115 extern void	dbprog_fullname(Widget, XtPointer, XtPointer);
116 extern void	dbprog_fullname_autogen(Widget, XtPointer, XtPointer);
117 extern void	dbprog_fullname_ok(Widget, XtPointer, XtPointer);
118 extern void	dbprog_genre_sel(Widget, XtPointer, XtPointer);
119 extern void	dbprog_subgenre_sel(Widget, XtPointer, XtPointer);
120 extern void	dbprog_role_sel(Widget, XtPointer, XtPointer);
121 extern void	dbprog_subrole_sel(Widget, XtPointer, XtPointer);
122 extern void	dbprog_extd(Widget, XtPointer, XtPointer);
123 extern void	dbprog_extd_compilation(Widget, XtPointer, XtPointer);
124 extern void	dbprog_extd_ok(Widget, XtPointer, XtPointer);
125 extern void	dbprog_extt(Widget, XtPointer, XtPointer);
126 extern void	dbprog_extt_prev(Widget, XtPointer, XtPointer);
127 extern void	dbprog_extt_next(Widget, XtPointer, XtPointer);
128 extern void	dbprog_extt_autotrk(Widget, XtPointer, XtPointer);
129 extern void	dbprog_extt_ok(Widget, XtPointer, XtPointer);
130 extern void	dbprog_credits_popup(Widget, XtPointer, XtPointer);
131 extern void	dbprog_credits_popdown(Widget, XtPointer, XtPointer);
132 extern void	dbprog_credits_select(Widget, XtPointer, XtPointer);
133 extern void	dbprog_credits_add(Widget, XtPointer, XtPointer);
134 extern void	dbprog_credits_mod(Widget, XtPointer, XtPointer);
135 extern void	dbprog_credits_del(Widget, XtPointer, XtPointer);
136 extern void	dbprog_credits_ok(Widget, XtPointer, XtPointer);
137 extern void	dbprog_segments_popup(Widget, XtPointer, XtPointer);
138 extern void	dbprog_segments_popdown(Widget, XtPointer, XtPointer);
139 extern void	dbprog_segments_select(Widget, XtPointer, XtPointer);
140 extern void	dbprog_segments_add(Widget, XtPointer, XtPointer);
141 extern void	dbprog_segments_mod(Widget, XtPointer, XtPointer);
142 extern void	dbprog_segments_del(Widget, XtPointer, XtPointer);
143 extern void	dbprog_segments_ok(Widget, XtPointer, XtPointer);
144 extern void	dbprog_regionsel_popup(Widget, XtPointer, XtPointer);
145 extern void	dbprog_regionsel_select(Widget, XtPointer, XtPointer);
146 extern void	dbprog_regionsel_ok(Widget, XtPointer, XtPointer);
147 extern void	dbprog_langsel_popup(Widget, XtPointer, XtPointer);
148 extern void	dbprog_langsel_select(Widget, XtPointer, XtPointer);
149 extern void	dbprog_langsel_ok(Widget, XtPointer, XtPointer);
150 extern void	dbprog_matchsel_select(Widget, XtPointer, XtPointer);
151 extern void	dbprog_matchsel_ok(Widget, XtPointer, XtPointer);
152 extern void	dbprog_the(Widget, XtPointer, XtPointer);
153 extern void	dbprog_password_vfy(Widget, XtPointer, XtPointer);
154 extern void	dbprog_auth_retry(Widget, XtPointer, XtPointer);
155 extern void	dbprog_auth_ok(Widget, XtPointer, XtPointer);
156 extern void	dbprog_auth_cancel(Widget, XtPointer, XtPointer);
157 extern void	dbprog_dlist_cancel(Widget, XtPointer, XtPointer);
158 extern void	dbprog_dlist(Widget, XtPointer, XtPointer);
159 extern void	dbprog_dlist_mode(Widget, XtPointer, XtPointer);
160 extern void	dbprog_dlist_select(Widget, XtPointer, XtPointer);
161 extern void	dbprog_dlist_show(Widget, XtPointer, XtPointer);
162 extern void	dbprog_dlist_goto(Widget, XtPointer, XtPointer);
163 extern void	dbprog_dlist_delete(Widget, XtPointer, XtPointer);
164 extern void	dbprog_dlist_delall(Widget, XtPointer, XtPointer);
165 extern void	dbprog_dlist_delall_yes(Widget, XtPointer, XtPointer);
166 extern void	dbprog_dlist_rescan(Widget, XtPointer, XtPointer);
167 extern void	dbprog_scan_stop_btn(Widget, XtPointer, XtPointer);
168 
169 #endif	/* __DBPROG_H__ */
170