Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
Sources/SoundClass.cp
/* |
File: SoundClass.cp |
Contains: TSound is a simple object that plays sounds |
TSound.cp contains the TSound member functions. |
Written by: Kent Sandvik |
Copyright: Copyright © 1992-1999 by Apple Computer, Inc., All Rights Reserved. |
You may incorporate this Apple sample source code into your program(s) without |
restriction. This Apple sample source code has been provided "AS IS" and the |
responsibility for its operation is yours. You are not permitted to redistribute |
this Apple sample source code as "Apple sample source code" after having made |
changes. If you're going to re-distribute the source, we require that you make |
it clear in the source that the code was descended from Apple sample source |
code, but that you've made changes. |
Change History (most recent first): |
8/18/1999 Karl Groethe Updated for Metrowerks Codewarror Pro 2.1 |
*/ |
#ifndef _SOUND_ |
#include "SoundClass.h" |
#endif |
// CONSTRUCTORS AND DESTRUCTORS |
#pragma segment Sound |
TSound::TSound(char* name) |
// Construct the TSound class using the string name for the sound resource. |
{ |
strcpy(fSound, name); |
c2p(fSound); // convert it to a Pascal string |
fSoundHandle = ::GetNamedResource(kSoundType, (ConstStr255Param)fSound);// get the resource |
ASSERT(fSoundHandle != NULL, "\pDidn't find the Sound Resource"); |
if (fSoundHandle != NULL) |
::DetachResource(fSoundHandle); // detach it so we could have multiple copies in memory |
} |
TSound::TSound(short resID) |
// Construct the TSound class using a resource ID. |
{ |
fSoundID = resID; |
fSoundHandle = ::GetResource(kSoundType, fSoundID); |
ASSERT(fSoundHandle != NULL, "\pDidn't find the Sound Resource"); |
if (fSoundHandle != NULL) |
::DetachResource(fSoundHandle); // detach it so we could have multiple copies in memory |
} |
#pragma segment Sound |
TSound::~TSound() |
// Destruct the sound handle. |
{ |
if (fSoundHandle != NULL) // we have a valid snd handle |
{ |
::DisposeHandle(fSoundHandle); |
} |
} |
// MAIN INTERFACE |
#pragma segment Sound |
void TSound::Play() |
// Play the selected sound. |
{ |
if (fSoundHandle != NULL) // we have a valid snd handle |
{ |
fError = ::SndPlay(NULL, (SndListHandle)fSoundHandle, false);// play synchronously |
VASSERT(fError == noErr, ("Problems with SndPlay = %d\n", fError)); |
} |
} |
// _________________________________________________________________________________________________________ // |
/* Change History (most recent last): |
No Init. Date Comment |
1 khs 12/21/92 New file |
2 khs 1/14/93 Cleanup |
*/ |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14