comparison src/xmms-sid.h @ 3:279b1e12df2b

Updated to version 0.8-devel
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 03 Jun 2003 11:00:02 +0000
parents 183e7cbc1036
children 271be59be975
comparison
equal deleted inserted replaced
2:041bebb28dc0 3:279b1e12df2b
1 /* 1 /*
2 xmms-sid - SIDPlay input plugin for X MultiMedia System (XMMS) 2 XMMS-SID - SIDPlay input plugin for X MultiMedia System (XMMS)
3 3
4 Main header file 4 Main header file
5 5
6 Written by Matti "ccr" Hamalainen <mhamalai@ratol.fi> 6 Written by Matti "ccr" Hamalainen <ccr@tnsp.org>
7 (few bits may still be by Willem Monsuwe) 7 (few bits may still be by Willem Monsuwe)
8 8
9 This program is free software; you can redistribute it and/or modify 9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by 10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or 11 the Free Software Foundation; either version 2 of the License, or
18 18
19 You should have received a copy of the GNU General Public License 19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software 20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 21 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 */ 22 */
23 /* 23 #define DEBUG
24 #define DEBUG
25 */
26 24
27 #ifndef _XMMS_SID_H 25 #ifndef XMMS_SID_H
28 #define _XMMS_SID_H 26 #define XMMS_SID_H
29 27
30 #ifdef __cplusplus 28 #ifdef __cplusplus
31 extern "C" { 29 extern "C" {
32 #endif 30 #endif
33 31
34 #include <glib.h> 32 #include <glib.h>
35 #include <xmms/plugin.h> 33 #include <xmms/plugin.h>
36 34
37 extern InputPlugin xmms_sid_ip; 35 /*
36 * Generals
37 */
38 #define XMMS_SID_NAME "XMMS-SID" /* Plugin name */
39 #define XMMS_SID_CONFIG_IDENT "XMMS-SID" /* Configuration file identifier */
40 #define XMMS_SID_BUFSIZE 4096 /* Size for some buffers */
38 41
39 /*
40 * Configuration structure
41 */
42 #define XMMS_SID_CONFIG_IDENT "XMMS-SID"
43 #define XMMS_SID_BUFSIZE 4096
44 #define XMMS_SID_NAME "xmms-sid"
45 42
46 #define XMMS_SID_CHN_MONO 0 43 extern InputPlugin xs_plugin_ip;
47 #define XMMS_SID_CHN_STEREO 1
48 #define XMMS_SID_CHN_AUTOPAN 2
49
50 #define XMMS_SID_CLOCK_PAL 1
51 #define XMMS_SID_CLOCK_NTSC 2
52
53 #define XMMS_SID_DEFAULT_FILTERFS 400.0
54 #define XMMS_SID_DEFAULT_FILTERFM 60.0
55 #define XMMS_SID_DEFAULT_FILTERFT 0.05
56
57 #define XMMS_SID_MPU_BANK_SWITCHING 1
58 #define XMMS_SID_MPU_TRANSPARENT_ROM 2
59 #define XMMS_SID_MPU_PLAYSID_ENVIRONMENT 3
60
61 extern struct T_sid_cfg {
62 gint bitsPerSample;
63 gint channels;
64 gint frequency;
65 gboolean mos8580;
66 gboolean emulateFilter;
67 gfloat filterFs;
68 gfloat filterFm;
69 gfloat filterFt;
70 gint memoryMode;
71 gint clockSpeed;
72 gboolean forceSpeed;
73 gboolean detectMagic;
74 gboolean usestil;
75 gchar *stilpath;
76 gchar *fileInfo;
77 } xs_cfg;
78 44
79 45
80 /* 46 /*
81 * Configuration specific stuff 47 * Plugin function prototypes
82 */
83 enum {
84 ATYPE_INT = 1,
85 ATYPE_FLOAT,
86 ATYPE_STR,
87 ATYPE_BOOL
88 };
89
90
91 typedef struct {
92 int atype;
93 void *adata;
94 gchar *aname;
95 } T_sid_cfg_entry;
96
97
98 /*
99 * General plugin function prototypes
100 */ 48 */
101 void xs_init(void); 49 void xs_init(void);
50 void xs_close(void);
102 int xs_is_our_file(char *); 51 int xs_is_our_file(char *);
103 void xs_play_file(char *); 52 void xs_play_file(char *);
104 void xs_stop(void); 53 void xs_stop(void);
105 void xs_pause(short); 54 void xs_pause(short);
106 void xs_seek(int); 55 void xs_seek(int);
107 int xs_get_time(void); 56 int xs_get_time(void);
108 void xs_get_song_info(char *, char **, int *); 57 void xs_get_song_info(char *, char **, int *);
109 void xs_file_info_box(char *); 58 // void xs_file_info_box(char *);
110 void xs_configure(void);
111 void xs_get_configure(void);
112 void xs_aboutbox(void);
113 int xs_stil_get(gchar *);
114
115 int xs_strcalloc(gchar **, gchar *);
116 void xs_stil_clear(void);
117
118 /*
119 * STIL information specific
120 */
121 #define XMMS_SID_STIL_MAXENTRY 64
122
123 typedef struct {
124 gchar *title;
125 gchar *name;
126 gchar *artist;
127 gchar *comment;
128 } T_sid_stil_subtune;
129 59
130 60
131 extern struct T_sid_stil_info { 61 #define LWW lookup_widget
132 T_sid_stil_subtune subtune[XMMS_SID_STIL_MAXENTRY];
133 } xs_stil_info;
134
135 62
136 /* 63 /*
137 * Debugging and error handling macros 64 * Debugging and error handling macros
138 */ 65 */
139 #ifdef DEBUG 66 #ifdef DEBUG
146 73
147 74
148 #ifdef __cplusplus 75 #ifdef __cplusplus
149 } 76 }
150 #endif 77 #endif
151 #endif /* _XMMS_SID_H */ 78 #endif /* XMMS_SID_H */