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