diff options
Diffstat (limited to 'common/quicktime_win32/SystemSound.h')
| -rw-r--r-- | common/quicktime_win32/SystemSound.h | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/common/quicktime_win32/SystemSound.h b/common/quicktime_win32/SystemSound.h new file mode 100644 index 0000000..309134f --- /dev/null +++ b/common/quicktime_win32/SystemSound.h @@ -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__ */ + |