home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 26
/
CD_ASCQ_26_1295.iso
/
vrac
/
mfcwave.zip
/
WAVE.CXX
< prev
next >
Wrap
C/C++ Source or Header
|
1995-07-21
|
2KB
|
95 lines
/////////////////////////////////////////////////////////////////////////////
//
// $Id: wave.cxx 1.1 1995/07/21 20:10:06 neuer Exp $
//
//
// Implementation of the CWave class.
//
//
// $Revision: 1.1 $
// $Date: 1995/07/21 20:10:06 $
// $Author: neuer $
//
// $Log: wave.cxx $
// Revision 1.1 1995/07/21 20:10:06 neuer
// Initial revision
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "wave.hxx"
static const char BASED_CODE RCSID[] = "$Id: wave.cxx 1.1 1995/07/21 20:10:06 neuer Exp $";
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
IMPLEMENT_DYNAMIC( CWave, CObject );
BOOL CWave::LoadWave( LPCSTR lpszWave )
{
if( IsLoaded() )
DiscardWave();
if( lpszWave != NULL )
m_Name = _fstrcpy( (LPSTR)new char [strlen(lpszWave)+1], lpszWave );
return IsLoaded();
} // LoadWave()
BOOL CWave::LoadWave( UINT nWave )
{
HRSRC hResInfo;
HINSTANCE hInstance;
if( IsLoaded() )
DiscardWave();
if( (hResInfo = FindResource( hInstance = AfxGetResourceHandle(),
MAKEINTRESOURCE( nWave ),
(LPCSTR)"WAVE" )) != NULL )
{
m_Name = (LPSTR)( ((m_Resource = LoadResource( hInstance, hResInfo )) != NULL ) ?
(LPSTR)LockResource( m_Resource ) : NULL );
m_Flags = SND_MEMORY;
} //if
else
InitWave();
return IsLoaded();
} // LoadWave()
void CWave::DiscardWave()
{
if( IsExternal() )
delete m_Name;
else if( (m_Name != NULL) && (m_Resource != NULL) )
{
UnlockResource( m_Resource );
FreeResource( m_Resource );
} //if
InitWave();
} // DiscardWave()
#ifdef _DEBUG
void CWave::AssertValid() const
{
CObject::AssertValid();
ASSERT( IsLoaded() );
} // AssertValid()
void CWave::Dump( CDumpContext &dc ) const
{
CObject::Dump( dc );
dc << "Wave is " << (char *)(IsLoaded()?"":"not ") << "loaded from "
<< (char *)(IsResident()?"program resources":"external wave file")
<< ".\n";
} // Dump()
#endif
/////////////////////////////////////////////////////////////////////////////