view src/audio/mint/SDL_mintaudio_stfa.h @ 761:c5b2b6d2d1fe

Date: Wed, 31 Dec 2003 21:55:30 +0100 From: Max Horn Subject: SDL: video/quartz cleanup while doing some experimental changes in the quartz code, I was annoyed by having to recompile that one big .o file over and over again. So I decided to finally realize one TODO: properly splitting the code over multiple files :-). With two exceptions, I didn't make code changes, only rearranged files and added new headers. Since there are several new files, making a patch didn't work out so well, so I decided to just send you all the new & modified files. The one source change I made is related to showing/hiding the mouse. I renamed cursor_visible to cursor_should_be_visible and cursor_hidden to cursor_visible; I think that makes reading the code easier. Then I added two new functions: QZ_ShowMouse and QZ_HideMouse. They help manage cursor_visible (the former 'cursor_hidden'). Finally I replaced the Carbon ShowCursor/HiderCuror calls by [NSCursor hide] and [NSCursor unhide]. The API docs are not conclusive, but it might be that with those the "cursor_visible" (former 'cursor_hidden') hack may not be necessary anymore; however so far I didn't test this hypothesis, so I left that in. The other change was to remove in_foreground and use [NSApp isActive] instead: Manually keeping track of whether we are in the foreground is error prone. This should work better in some corner cases.
author Sam Lantinga <slouken@libsdl.org>
date Sun, 04 Jan 2004 14:55:35 +0000
parents 594422ab8f9f
children b8d311d90021
line wrap: on
line source

/*
    SDL - Simple DirectMedia Layer
    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    Sam Lantinga
    slouken@libsdl.org
*/

/*
	STFA control structure

	Patrice Mandin
*/

#ifndef _SDL_mintaudio_stfa_h
#define _SDL_mintaudio_stfa_h

/*--- Defines ---*/

#define C_STFA	0x53544641L	/* Sound treiber für atari (seb/The removers) */

#define STFA_PLAY_ENABLE	(1<<0)
#define STFA_PLAY_DISABLE	(0<<0)
#define STFA_PLAY_REPEAT	(1<<1)
#define STFA_PLAY_SINGLE	(0<<1)

#define STFA_FORMAT_SIGNED		(1<<15)
#define STFA_FORMAT_UNSIGNED	(0<<15)
#define STFA_FORMAT_STEREO		(1<<14)
#define STFA_FORMAT_MONO		(0<<14)
#define STFA_FORMAT_16BIT		(1<<13)
#define STFA_FORMAT_8BIT		(0<<13)
#define STFA_FORMAT_LITENDIAN	(1<<9)
#define STFA_FORMAT_BIGENDIAN	(0<<9)
#define STFA_FORMAT_FREQ_MASK	0x0f
enum {
	STFA_FORMAT_F4995=0,
	STFA_FORMAT_F6269,
	STFA_FORMAT_F7493,
	STFA_FORMAT_F8192,

	STFA_FORMAT_F9830,
	STFA_FORMAT_F10971,
	STFA_FORMAT_F12538,
	STFA_FORMAT_F14985,

	STFA_FORMAT_F16384,
	STFA_FORMAT_F19819,
	STFA_FORMAT_F21943,
	STFA_FORMAT_F24576,

	STFA_FORMAT_F30720,
	STFA_FORMAT_F32336,
	STFA_FORMAT_F43885,
	STFA_FORMAT_F49152
};

/*--- Types ---*/

typedef struct {
	unsigned short sound_enable;
	unsigned short sound_control;
	unsigned short sound_output;
	unsigned long sound_start;
	unsigned long sound_current;
	unsigned long sound_end;
	unsigned short version;
	void *old_vbl;
	void *old_timera;
	unsigned long old_mfp_status;
	void *new_vbl;
	void *drivers_list;
	void *play_stop;
	unsigned short frequency;
	void *set_frequency;
	
	unsigned short frequency_threshold;
	unsigned short *custom_freq_table;
	unsigned short stfa_on_off;
	void *new_drivers_list;
	unsigned long old_bit_2_of_cookie_snd;
	void (*stfa_it)(void);
} cookie_stfa_t __attribute__((packed));

#endif /* _SDL_mintaudio_stfa_h */