wxSound(const wxString& fileName, bool isResource = false)
: m_cocoaNSSound(NULL)
{ Create(fileName, isResource); }
- wxSound(int size, const wxByte* data)
+ wxSound(size_t size, const void* data)
: m_cocoaNSSound(NULL)
{ LoadWAV(data,size,true); }
wxSound(const wxSound& sound); // why not?
{ return m_cocoaNSSound; }
protected:
bool DoPlay(unsigned flags) const;
- bool LoadWAV(const wxUint8 *data, size_t length, bool copyData);
+ bool LoadWAV(const void* data, size_t length, bool copyData);
private:
WX_NSSound m_cocoaNSSound;
static const wxObjcAutoRefFromAlloc<struct objc_object *> sm_cocoaDelegate;
public:
wxSound();
wxSound(const wxString& fileName, bool isResource = false);
- wxSound(int size, const wxByte* data);
+ wxSound(size_t size, const void* data);
virtual ~wxSound();
// Create from resource or file
bool Create(const wxString& fileName, bool isResource = false);
// Create from data
- bool Create(int size, const wxByte* data);
+ bool Create(size_t size, const void* data);
bool IsOk() const { return m_data != NULL; }
public:
wxSound();
wxSound(const wxString& fileName, bool isResource = FALSE);
- wxSound(int size, const wxByte* data);
+ wxSound(size_t size, const void* data);
virtual ~wxSound();
public:
// Create from resource or file
bool Create(const wxString& fileName, bool isResource = FALSE);
// Create from data
- bool Create(int size, const wxByte* data);
+ bool Create(size_t size, const void* data);
bool IsOk() const { return (m_waveData ? TRUE : FALSE); };
public:
wxSound();
wxSound(const wxString& fileName, bool isResource = false);
- wxSound(int size, const wxByte* data);
+ wxSound(size_t size, const void* data);
virtual ~wxSound();
// Create from resource or file
bool Create(const wxString& fileName, bool isResource = false);
// Create from data
- bool Create(int size, const wxByte* data);
+ bool Create(size_t size, const void* data);
bool IsOk() const { return m_data != NULL; }
public:
wxSound();
wxSound(const wxString& fileName, bool isResource = false);
- wxSound(int size, const wxByte* data);
+ wxSound(size_t size, const void* data);
virtual ~wxSound();
public:
// Create from resource or file
bool Create(const wxString& fileName, bool isResource = false);
// Create from data
- bool Create(int size, const wxByte* data);
+ bool Create(size_t size, const void* data);
bool IsOk() const { return (m_waveData ? true : false); };
public:
wxSound();
wxSound(const wxString& fileName, bool isResource = false);
- wxSound(int size, const wxByte* data);
+ wxSound(size_t size, const void* data);
virtual ~wxSound();
// Create from resource or file
bool Create(const wxString& fileName, bool isResource = false);
// Create from data
- bool Create(int size, const wxByte* data);
+ bool Create(size_t size, const void* data);
bool IsOk() const { return m_data != NULL; }
static void EnsureBackend();
void Free();
- bool LoadWAV(const wxUint8 *data, size_t length, bool copyData);
+ bool LoadWAV(const void* data, size_t length, bool copyData);
static wxSoundBackend *ms_backend;
#if wxUSE_LIBSDL && wxUSE_PLUGINS
*/
wxSound(const wxString& fileName, bool isResource = false);
+ /**
+ Constructs a wave object from in-memory data.
+
+ @param size
+ Size of the buffer pointer to by @a data.
+ @param data
+ The buffer containing the sound data in WAV format.
+ */
+ wxSound(size_t size, const void* data);
+
/**
Destroys the wxSound object.
*/
{
public:
// we copy the data
- wxSoundDataMemory(int size, const wxByte *buf);
+ wxSoundDataMemory(size_t size, const void* buf);
void *GetPtr() const { return m_waveDataPtr; }
// wxSoundData-derived classes
// ----------------------------------------------------------------------------
-wxSoundDataMemory::wxSoundDataMemory(int size, const wxByte *buf)
+wxSoundDataMemory::wxSoundDataMemory(size_t size, const void* buf)
: m_waveData(size),
m_waveDataPtr(m_waveData)
{
Create(filename, isResource);
}
-wxSound::wxSound(int size, const wxByte *data)
+wxSound::wxSound(size_t size, const void* data)
{
Init();
Create(size, data);
return CheckCreatedOk();
}
-bool wxSound::Create(int size, const wxByte* data)
+bool wxSound::Create(size_t size, const void* data)
{
Free();
Create(sFileName, isResource);
}
-wxSound::wxSound(int size, const wxByte* data)
+wxSound::wxSound(size_t size, const void* data)
: m_waveData(NULL), m_waveLength(0), m_isResource(FALSE)
{
Create(size, data);
}
}
-bool wxSound::Create(int size, const wxByte* data)
+bool wxSound::Create(size_t size, const void* data)
{
Free();
m_isResource = FALSE;
if (!m_waveData)
return FALSE;
- for (int i=0; i<size; i++) m_waveData[i] = data[i];
+ memcpy(m_waveData, data, size);
return TRUE;
}
{
public:
wxOSXQuickTimeSoundData(const wxString& fileName);
- wxOSXQuickTimeSoundData(int size, const wxByte* data);
+ wxOSXQuickTimeSoundData(size_t size, const void* data);
~wxOSXQuickTimeSoundData();
virtual bool Play(unsigned flags);
m_sndname = fileName;
}
-wxOSXQuickTimeSoundData::wxOSXQuickTimeSoundData(int size, const wxByte* data) :
+wxOSXQuickTimeSoundData::wxOSXQuickTimeSoundData(size_t size, const void* data) :
m_movie(NULL)
{
m_soundHandle = NewHandleClear((Size)size);
MoviesTask(m_movie, MOVIE_DELAY); //Give QT time to play movie
}
-bool wxSound::Create(int size, const wxByte* data)
+bool wxSound::Create(size_t size, const void* data)
{
m_data = new wxOSXQuickTimeSoundData(size,data);
return true;
return true;
}
-bool wxSound::Create(int WXUNUSED(size), const wxByte* WXUNUSED(data))
+bool wxSound::Create(size_t WXUNUSED(size), const void* WXUNUSED(data))
{
wxFAIL_MSG( "not implemented" );
Create(sFileName, isResource);
}
-wxSound::wxSound(int size, const wxByte* data)
+wxSound::wxSound(size_t size, const void* data)
{
Init();
Create( size, data );
{
}
-wxSound::wxSound(int size, const wxByte* data)
+wxSound::wxSound(size_t size, const void* data)
: m_waveData(NULL), m_waveLength(0), m_isResource(false)
{
}
return false;
}
-bool wxSound::Create(int size, const wxByte* data)
+bool wxSound::Create(size_t size, const void* data)
{
return false;
}
Create(sFileName, isResource);
}
-wxSound::wxSound(int size, const wxByte* data) : m_data(NULL)
+wxSound::wxSound(size_t size, const void* data) : m_data(NULL)
{
Create(size, data);
}
return true;
}
-bool wxSound::Create(int size, const wxByte* data)
+bool wxSound::Create(size_t size, const void* data)
{
wxASSERT( data != NULL );
#define WAVE_INDEX 8
#define FMT_INDEX 12
-bool wxSound::LoadWAV(const wxUint8 *data, size_t length, bool copyData)
+bool wxSound::LoadWAV(const void* data_, size_t length, bool copyData)
{
// the simplest wave file header consists of 44 bytes:
//
if ( length < 44 )
return false;
+ const wxUint8* data = static_cast<const wxUint8*>(data_);
+
WAVEFORMAT waveformat;
memcpy(&waveformat, &data[FMT_INDEX + 4], sizeof(WAVEFORMAT));
waveformat.uiSize = wxUINT32_SWAP_ON_BE(waveformat.uiSize);