summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/SystemSound.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/quicktime_win32/SystemSound.h')
-rw-r--r--common/quicktime_win32/SystemSound.h160
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__ */
+