• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2     SDL - Simple DirectMedia Layer
3     Copyright (C) 1997-2012 Sam Lantinga
4 
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 of the License, or (at your option) any later version.
9 
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13     Library General Public License for more details.
14 
15     You should have received a copy of the GNU Library General Public
16     License along with this library; if not, write to the Free
17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 
19     Sam Lantinga
20     slouken@libsdl.org
21 */
22 #include "SDL_config.h"
23 
24 /*
25 	STFA control structure
26 
27 	Patrice Mandin
28 */
29 
30 #ifndef _SDL_mintaudio_stfa_h
31 #define _SDL_mintaudio_stfa_h
32 
33 /*--- Defines ---*/
34 
35 #define STFA_PLAY_ENABLE	(1<<0)
36 #define STFA_PLAY_DISABLE	(0<<0)
37 #define STFA_PLAY_REPEAT	(1<<1)
38 #define STFA_PLAY_SINGLE	(0<<1)
39 
40 #define STFA_FORMAT_SIGNED		(1<<15)
41 #define STFA_FORMAT_UNSIGNED	(0<<15)
42 #define STFA_FORMAT_STEREO		(1<<14)
43 #define STFA_FORMAT_MONO		(0<<14)
44 #define STFA_FORMAT_16BIT		(1<<13)
45 #define STFA_FORMAT_8BIT		(0<<13)
46 #define STFA_FORMAT_LITENDIAN	(1<<9)
47 #define STFA_FORMAT_BIGENDIAN	(0<<9)
48 #define STFA_FORMAT_FREQ_MASK	0x0f
49 enum {
50 	STFA_FORMAT_F4995=0,
51 	STFA_FORMAT_F6269,
52 	STFA_FORMAT_F7493,
53 	STFA_FORMAT_F8192,
54 
55 	STFA_FORMAT_F9830,
56 	STFA_FORMAT_F10971,
57 	STFA_FORMAT_F12538,
58 	STFA_FORMAT_F14985,
59 
60 	STFA_FORMAT_F16384,
61 	STFA_FORMAT_F19819,
62 	STFA_FORMAT_F21943,
63 	STFA_FORMAT_F24576,
64 
65 	STFA_FORMAT_F30720,
66 	STFA_FORMAT_F32336,
67 	STFA_FORMAT_F43885,
68 	STFA_FORMAT_F49152
69 };
70 
71 /*--- Types ---*/
72 
73 typedef struct {
74 	unsigned short sound_enable;
75 	unsigned short sound_control;
76 	unsigned short sound_output;
77 	unsigned long sound_start;
78 	unsigned long sound_current;
79 	unsigned long sound_end;
80 	unsigned short version;
81 	void *old_vbl;
82 	void *old_timera;
83 	unsigned long old_mfp_status;
84 	void *new_vbl;
85 	void *drivers_list;
86 	void *play_stop;
87 	unsigned short frequency;
88 	void *set_frequency;
89 	unsigned short frequency_threshold;
90 	unsigned short *custom_freq_table;
91 	unsigned short stfa_on_off;
92 	void *new_drivers_list;
93 	unsigned long old_bit_2_of_cookie_snd;
94 	void (*stfa_it)(void);
95 } cookie_stfa_t;
96 
97 #endif /* _SDL_mintaudio_stfa_h */
98