mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-07 17:29:36 +00:00
1
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
#ifndef __SYSTEMSOUND__
|
||||
#define __SYSTEMSOUND__
|
||||
|
||||
#ifndef __MACTYPES__
|
||||
#include <MacTypes.h>
|
||||
#endif
|
||||
|
||||
#ifndef __FILES__
|
||||
#include <Files.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#if PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if PRAGMA_IMPORT
|
||||
#pragma import on
|
||||
#endif
|
||||
|
||||
/* ================================================================================ */
|
||||
/* Errors */
|
||||
/* ================================================================================ */
|
||||
enum {
|
||||
kSystemSoundNoError = 0,
|
||||
kSystemSoundUnspecifiedError = -1500
|
||||
};
|
||||
|
||||
/* ================================================================================ */
|
||||
/* Types */
|
||||
/* ================================================================================ */
|
||||
typedef UInt32 SystemSoundActionID;
|
||||
/* ================================================================================ */
|
||||
/* Public APIs */
|
||||
/* ================================================================================ */
|
||||
/*
|
||||
* AlertSoundPlay()
|
||||
*
|
||||
* Summary:
|
||||
* Play an Alert Sound
|
||||
*
|
||||
* Discussion:
|
||||
* Play the user's current alert sound, interrupting any previously
|
||||
* playing alert sound.
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available in CarbonLib 1.x
|
||||
* Mac OS X: in version 10.2 and later
|
||||
*/
|
||||
EXTERN_API_C( void )
|
||||
AlertSoundPlay(void);
|
||||
|
||||
|
||||
/*
|
||||
* SystemSoundPlay()
|
||||
*
|
||||
* Summary:
|
||||
* Play a System Sound
|
||||
*
|
||||
* Discussion:
|
||||
* Immediately play the sound designated by actionID. Use for one
|
||||
* time actions that do not require a duration or modification
|
||||
* during playback. Sustain loops in the sound will be ignored.
|
||||
*
|
||||
* Parameters:
|
||||
*
|
||||
* inAction:
|
||||
* A SystemSoundActionID indicating the desired System Sound to be
|
||||
* played.
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available in CarbonLib 1.x
|
||||
* Mac OS X: in version 10.2 and later
|
||||
*/
|
||||
EXTERN_API_C( void )
|
||||
SystemSoundPlay(SystemSoundActionID inAction);
|
||||
|
||||
|
||||
/*
|
||||
* SystemSoundGetActionID()
|
||||
*
|
||||
* Summary:
|
||||
* Create a 'custom' System Sound by providing an audio file.
|
||||
*
|
||||
* Discussion:
|
||||
* If the user wants to add a sound that can be played via
|
||||
* SystemSoundPlay(), an FSRef for an audio file can be passed and a
|
||||
* SystemSoundActionID, which can be passed to SystemSoundPlay(),
|
||||
* will be returned .
|
||||
*
|
||||
* Parameters:
|
||||
*
|
||||
* userFile:
|
||||
* An const FSRef * for the audio file to be used as a System
|
||||
* Sound. Any audio file supported by the AudioFile APIs in the
|
||||
* AudioToolbox framework may be used.
|
||||
*
|
||||
* outAction:
|
||||
* If successful, a SystemSoundActionID will be returned, which in
|
||||
* turn can be passed to SystemSoundPlay().
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available in CarbonLib 1.x
|
||||
* Mac OS X: in version 10.2 and later
|
||||
*/
|
||||
EXTERN_API_C( OSStatus )
|
||||
SystemSoundGetActionID(
|
||||
const FSRef * userFile,
|
||||
SystemSoundActionID * outAction);
|
||||
|
||||
|
||||
/*
|
||||
* SystemSoundRemoveActionID()
|
||||
*
|
||||
* Summary:
|
||||
* Remove a 'custom' System Sound.
|
||||
*
|
||||
* Discussion:
|
||||
* If the user no longer needs to use the custom system sound that
|
||||
* was created via SystemSoundGetActionID, this function should be
|
||||
* called so the SystemSoundServer can release resources that are no
|
||||
* longer needed.
|
||||
*
|
||||
* Parameters:
|
||||
*
|
||||
* inAction:
|
||||
* A SystemSoundActionID indicating the desired System Sound to be
|
||||
* removed.
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available in CarbonLib 1.x
|
||||
* Mac OS X: in version 10.2 and later
|
||||
*/
|
||||
EXTERN_API_C( OSStatus )
|
||||
SystemSoundRemoveActionID(SystemSoundActionID inAction);
|
||||
|
||||
|
||||
|
||||
#ifdef PRAGMA_IMPORT_OFF
|
||||
#pragma import off
|
||||
#elif PRAGMA_IMPORT
|
||||
#pragma import reset
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __SYSTEMSOUND__ */
|
||||
|
||||
Reference in New Issue
Block a user