Mercurial > hg > xmms-sid
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 */ |