Refactor CSNDFile -> CSNDFileWrapper

This seems more consistent
master
Piotr Dziwinski 2015-07-16 21:45:22 +02:00
parent 8ca77f27a1
commit 6dcf4dffa6
6 changed files with 25 additions and 22 deletions

View File

@ -94,7 +94,7 @@ set(BASE_SOURCES
common/resources/outputstreambuffer.cpp
common/resources/resourcemanager.cpp
common/resources/sdl_file_wrapper.cpp
common/resources/sndfile.cpp
common/resources/sndfile_wrapper.cpp
common/restext.cpp
common/stringutils.cpp
graphics/core/color.cpp

View File

@ -112,9 +112,9 @@ std::unique_ptr<CSDLFileWrapper> CResourceManager::GetSDLFileHandler(const std::
return std::unique_ptr<CSDLFileWrapper>(new CSDLFileWrapper(CleanPath(filename)));
}
std::unique_ptr<CSNDFile> CResourceManager::GetSNDFileHandler(const std::string &filename)
std::unique_ptr<CSNDFileWrapper> CResourceManager::GetSNDFileHandler(const std::string &filename)
{
return std::unique_ptr<CSNDFile>(new CSNDFile(CleanPath(filename)));
return std::unique_ptr<CSNDFileWrapper>(new CSNDFileWrapper(CleanPath(filename)));
}

View File

@ -19,7 +19,7 @@
#pragma once
#include "common/resources/sndfile.h"
#include "common/resources/sndfile_wrapper.h"
#include "common/resources/sdl_file_wrapper.h"
#include <memory>
@ -41,7 +41,7 @@ public:
static std::string GetSaveLocation();
static std::unique_ptr<CSDLFileWrapper> GetSDLFileHandler(const std::string &filename);
static std::unique_ptr<CSNDFile> GetSNDFileHandler(const std::string &filename);
static std::unique_ptr<CSNDFileWrapper> GetSNDFileHandler(const std::string &filename);
//! Check if file exists
static bool Exists(const std::string &filename);

View File

@ -17,12 +17,12 @@
* along with this program. If not, see http://gnu.org/licenses
*/
#include "common/resources/sndfile.h"
#include "common/resources/sndfile_wrapper.h"
#include <cstring>
CSNDFile::CSNDFile(const std::string& filename)
CSNDFileWrapper::CSNDFileWrapper(const std::string& filename)
: m_file_info{}
, m_snd_file{nullptr}
, m_file{nullptr}
@ -52,7 +52,7 @@ CSNDFile::CSNDFile(const std::string& filename)
}
CSNDFile::~CSNDFile()
CSNDFileWrapper::~CSNDFileWrapper()
{
if (m_file)
{
@ -65,43 +65,43 @@ CSNDFile::~CSNDFile()
}
bool CSNDFile::IsOpen()
bool CSNDFileWrapper::IsOpen()
{
return m_file && m_snd_file;
}
SF_INFO &CSNDFile::GetFileInfo()
SF_INFO &CSNDFileWrapper::GetFileInfo()
{
return m_file_info;
}
std::string& CSNDFile::GetLastError()
std::string& CSNDFileWrapper::GetLastError()
{
return m_last_error;
}
sf_count_t CSNDFile::Read(short int *ptr, sf_count_t items)
sf_count_t CSNDFileWrapper::Read(short int *ptr, sf_count_t items)
{
return sf_read_short(m_snd_file, ptr, items);
}
sf_count_t CSNDFile::SNDLength(void *data)
sf_count_t CSNDFileWrapper::SNDLength(void *data)
{
return PHYSFS_fileLength(static_cast<PHYSFS_File *>(data));
}
sf_count_t CSNDFile::SNDRead(void *ptr, sf_count_t count, void *data)
sf_count_t CSNDFileWrapper::SNDRead(void *ptr, sf_count_t count, void *data)
{
return PHYSFS_read(static_cast<PHYSFS_File *>(data), ptr, 1, count);
}
sf_count_t CSNDFile::SNDSeek(sf_count_t offset, int whence, void *data)
sf_count_t CSNDFileWrapper::SNDSeek(sf_count_t offset, int whence, void *data)
{
PHYSFS_File *file = static_cast<PHYSFS_File *>(data);
switch(whence)
@ -121,13 +121,13 @@ sf_count_t CSNDFile::SNDSeek(sf_count_t offset, int whence, void *data)
}
sf_count_t CSNDFile::SNDTell(void *data)
sf_count_t CSNDFileWrapper::SNDTell(void *data)
{
return PHYSFS_tell(static_cast<PHYSFS_File *>(data));
}
sf_count_t CSNDFile::SNDWrite(const void *ptr, sf_count_t count, void *data)
sf_count_t CSNDFileWrapper::SNDWrite(const void *ptr, sf_count_t count, void *data)
{
return PHYSFS_write(static_cast<PHYSFS_File *>(data), ptr, 1, count);
}

View File

@ -20,15 +20,19 @@
#pragma once
#include <string>
#include <physfs.h>
#include <sndfile.h>
class CSNDFile
class CSNDFileWrapper
{
public:
CSNDFile(const std::string &filename);
virtual ~CSNDFile();
CSNDFileWrapper(const std::string &filename);
virtual ~CSNDFileWrapper();
CSNDFileWrapper(const CSNDFileWrapper&) = delete;
CSNDFileWrapper& operator=(const CSNDFileWrapper&) = delete;
SF_INFO &GetFileInfo();
bool IsOpen();

View File

@ -23,7 +23,6 @@
#include "sound/oalsound/check.h"
#include "common/resources/resourcemanager.h"
#include "common/resources/sndfile.h"
#include <memory>
@ -52,7 +51,7 @@ bool Buffer::LoadFromFile(std::string filename, SoundType sound)
m_sound = sound;
GetLogger()->Debug("Loading audio file: %s\n", filename.c_str());
std::unique_ptr<CSNDFile> file = CResourceManager::GetSNDFileHandler(filename);
auto file = CResourceManager::GetSNDFileHandler(filename);
GetLogger()->Trace(" channels %d\n", file->GetFileInfo().channels);
GetLogger()->Trace(" format %d\n", file->GetFileInfo().format);