mirror of
https://github.com/kanjitalk755/macemu.git
synced 2024-11-18 18:05:21 +00:00
audio_defs.h compatible with OS X
This commit is contained in:
parent
0e7a8fb638
commit
9f6a9d6487
136
BasiliskII/src/MacOSX/audio_defs_macosx.h
Normal file
136
BasiliskII/src/MacOSX/audio_defs_macosx.h
Normal file
@ -0,0 +1,136 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* audio_defs_macosx.h - Work around clashes with the enums in <CarbonCore/OSUtils.h>
|
||||
* Based on:
|
||||
*
|
||||
* audio_defs.h - Definitions for MacOS audio components
|
||||
*
|
||||
* Basilisk II (C) 1997-2002 Christian Bauer
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef AUDIO_DEFS_H
|
||||
#define AUDIO_DEFS_H
|
||||
|
||||
#include "macos_util_macosx.h"
|
||||
|
||||
|
||||
// Sound component dispatch selector codes
|
||||
enum {
|
||||
kSoundComponentInitOutputDeviceSelect = 1,
|
||||
kSoundComponentSetSourceSelect = 2,
|
||||
kSoundComponentGetSourceSelect = 3,
|
||||
kSoundComponentGetSourceDataSelect = 4,
|
||||
kSoundComponentSetOutputSelect = 5,
|
||||
kDelegatedSoundComponentSelectors = 0x0100,
|
||||
kSoundComponentAddSourceSelect = kDelegatedSoundComponentSelectors + 1,
|
||||
kSoundComponentRemoveSourceSelect = kDelegatedSoundComponentSelectors + 2,
|
||||
kSoundComponentGetInfoSelect = kDelegatedSoundComponentSelectors + 3,
|
||||
kSoundComponentSetInfoSelect = kDelegatedSoundComponentSelectors + 4,
|
||||
kSoundComponentStartSourceSelect = kDelegatedSoundComponentSelectors + 5,
|
||||
kSoundComponentStopSourceSelect = kDelegatedSoundComponentSelectors + 6,
|
||||
kSoundComponentPauseSourceSelect = kDelegatedSoundComponentSelectors + 7,
|
||||
kSoundComponentPlaySourceBufferSelect = kDelegatedSoundComponentSelectors + 8
|
||||
};
|
||||
|
||||
// Sound information selectors
|
||||
const uint32 siNumberChannels = FOURCC('c','h','a','n'); // current number of channels
|
||||
const uint32 siChannelAvailable = FOURCC('c','h','a','v'); // number of channels available
|
||||
const uint32 siSampleRate = FOURCC('s','r','a','t'); // current sample rate
|
||||
const uint32 siSampleRateAvailable = FOURCC('s','r','a','v'); // sample rates available
|
||||
const uint32 siSampleSize = FOURCC('s','s','i','z'); // current sample size
|
||||
const uint32 siSampleSizeAvailable = FOURCC('s','s','a','v'); // sample sizes available
|
||||
const uint32 siHardwareMute = FOURCC('h','m','u','t'); // mute state of all hardware
|
||||
const uint32 siHardwareVolume = FOURCC('h','v','o','l'); // volume level of all hardware
|
||||
const uint32 siHardwareVolumeSteps = FOURCC('h','s','t','p'); // number of volume steps for hardware
|
||||
const uint32 siHardwareBusy = FOURCC('h','w','b','s'); // sound hardware is in use
|
||||
const uint32 siHeadphoneMute = FOURCC('p','m','u','t'); // mute state of headphone
|
||||
const uint32 siHeadphoneVolume = FOURCC('p','v','o','l'); // volume level of headphone
|
||||
const uint32 siHeadphoneVolumeSteps = FOURCC('h','d','s','t'); // number of volume steps for headphone
|
||||
const uint32 siSpeakerMute = FOURCC('s','m','u','t'); // mute state of all built-in speakers
|
||||
const uint32 siSpeakerVolume = FOURCC('s','v','o','l'); // volume level of built-in speaker
|
||||
const uint32 siDeviceName = FOURCC('n','a','m','e');
|
||||
const uint32 siDeviceIcon = FOURCC('i','c','o','n');
|
||||
const uint32 siHardwareFormat = FOURCC('h','w','f','m');
|
||||
|
||||
enum { // ComponentResource struct
|
||||
componentType = 0,
|
||||
componentSubType = 4,
|
||||
componentManufacturer = 8,
|
||||
componentFlags = 12,
|
||||
componentFlagsMask = 16,
|
||||
componentResType = 20,
|
||||
componentResID = 24,
|
||||
componentNameType = 26,
|
||||
componentNameID = 30,
|
||||
componentInfoType = 32,
|
||||
componentInfoID = 36,
|
||||
componentIconType = 38,
|
||||
componentIconID = 42,
|
||||
componentVersion = 44,
|
||||
componentRegisterFlags = 48,
|
||||
componentIconFamily = 52,
|
||||
componentPFCount = 54,
|
||||
componentPFFlags = 58,
|
||||
componentPFResType = 62,
|
||||
componentPFResID = 66,
|
||||
componentPFPlatform = 68
|
||||
};
|
||||
|
||||
// Component feature flags
|
||||
enum {
|
||||
k8BitRawIn = (1 << 0),
|
||||
k8BitTwosIn = (1 << 1),
|
||||
k16BitIn = (1 << 2),
|
||||
kStereoIn = (1 << 3),
|
||||
k8BitRawOut = (1 << 8),
|
||||
k8BitTwosOut = (1 << 9),
|
||||
k16BitOut = (1 << 10),
|
||||
kStereoOut = (1 << 11),
|
||||
kReverse = (1L << 16),
|
||||
kRateConvert = (1L << 17),
|
||||
kCreateSoundSource = (1L << 18),
|
||||
kHighQuality = (1L << 22),
|
||||
kNonRealTime = (1L << 23),
|
||||
// cmpWantsRegisterMessage = (1L << 31)
|
||||
};
|
||||
|
||||
enum { // ComponentParameters struct
|
||||
cp_flags = 0, // call modifiers: sync/async, deferred, immed, etc
|
||||
cp_paramSize = 1, // size in bytes of actual parameters passed to this call
|
||||
cp_what = 2, // routine selector, negative for Component management calls
|
||||
cp_params = 4 // actual parameters for the indicated routine
|
||||
};
|
||||
|
||||
enum { // SoundComponentData struct
|
||||
scd_flags = 0,
|
||||
scd_format = 4,
|
||||
scd_numChannels = 8,
|
||||
scd_sampleSize = 10,
|
||||
scd_sampleRate = 12,
|
||||
scd_sampleCount = 16,
|
||||
scd_buffer = 20,
|
||||
scd_reserved = 24,
|
||||
SIZEOF_scd = 28
|
||||
};
|
||||
|
||||
enum { // SoundInfoList struct
|
||||
sil_count = 0,
|
||||
sil_infoHandle = 2
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user