diff --git a/stepmania/src/RageSoundReader_SDL_Sound.cpp b/stepmania/src/RageSoundReader_SDL_Sound.cpp deleted file mode 100644 index f02df4f1b2..0000000000 --- a/stepmania/src/RageSoundReader_SDL_Sound.cpp +++ /dev/null @@ -1,181 +0,0 @@ -#include "global.h" - -/* - * Known problems: - * I hear a click in one speaker at the beginning of some MP3s. This is probably - * something wrong with my SDL_sound MAD wrapper ... - */ - -#ifdef _XBOX -// #ifdef DEBUG -// #pragma comment(lib, "SDL_sound-1.0.0/lib/xbox_sdl_sound_static_d.lib") -// #else - #pragma comment(lib, "SDL_sound-1.0.0/lib/xbox_sdl_sound_static.lib") -// #endif -#else - #ifdef DEBUG - #pragma comment(lib, "SDL_sound-1.0.0/lib/sdl_sound_static_d.lib") - #else - #pragma comment(lib, "SDL_sound-1.0.0/lib/sdl_sound_static.lib") - #endif - #pragma comment(lib, "SDL_sound-1.0.0/lib/ogg_static.lib") - #pragma comment(lib, "SDL_sound-1.0.0/lib/vorbis_static.lib") - #pragma comment(lib, "SDL_sound-1.0.0/lib/vorbisfile_static.lib") -#endif - - -#include "RageSoundReader_SDL_Sound.h" - -const int channels = 2; - -/* The amount of data to read from SDL_sound at once. */ -const int read_block_size = 1024; - -bool SoundReader_SDL_Sound::Open(CString filename_) -{ - filename=filename_; - static bool initialized = false; - if(!initialized) - { - if(!Sound_Init()) - RageException::Throw( "RageSoundManager::RageSoundManager: error initializing sound loader: %s", Sound_GetError()); - initialized = true; - } - - inbuf = NULL; - avail = 0; - - Sound_AudioInfo sound_desired; - sound_desired.channels = channels; - sound_desired.format = AUDIO_S16SYS; - sound_desired.rate = 0; - - Sample = Sound_NewSampleFromFile(filename.c_str(), - &sound_desired, read_block_size); - if(Sample) - return true; - - SetError(Sound_GetError()); - return false; -} - -int SoundReader_SDL_Sound::GetLength() const -{ - int len = Sound_Length(Sample); - if(len == -1 && Sample->flags & SOUND_SAMPLEFLAG_EAGAIN) { - /* This indicates the length check will take a little while; call - * it again to confirm. */ - len = Sound_Length(Sample); - } - - if(len < 0) - { - SetError(Sound_GetError()); - return -1; - } - - return len; -} - -int SoundReader_SDL_Sound::GetLength_Fast() const -{ - int ret = Sound_Length(Sample); - - Sound_Rewind(Sample); - return ret; -} - -int SoundReader_SDL_Sound::SetPosition(int ms, bool accurate) -{ - avail = 0; - - if(ms == 0) - { - Sound_Rewind(Sample); - return 0; - } - - int ret; - if(accurate) - ret = Sound_AccurateSeek(Sample, ms); - else - ret = Sound_FastSeek(Sample, ms); - - if(Sample->flags & SOUND_SAMPLEFLAG_ERROR) - { - SetError(Sound_GetError()); - return -1; - } - - /* If the seek function returned false but didn't set error, it's a - * recoverable error. We probably seeked past end of file. */ - if(!ret) - { - /* Past EOF. Rewind. */ - Sound_Rewind(Sample); - return 0; - } - - - return ms; -} - -int SoundReader_SDL_Sound::Read(char *buf, unsigned len) -{ - int bytes_read = 0; - while(len) - { - if(!avail) - { - /* Don't read at all if we've already hit EOF (it'll whine). */ - if(Sample->flags & SOUND_SAMPLEFLAG_EOF) - return bytes_read; /* EOF */ - - int cnt = Sound_Decode(Sample); - - if(Sample->flags & SOUND_SAMPLEFLAG_ERROR) - { - SetError(Sound_GetError()); - return -1; - } - - avail = cnt; - inbuf = (const char *) Sample->buffer; - } - - unsigned size = min(avail, len); - memcpy(buf, inbuf, size); - buf += size; - len -= size; - inbuf += size; - avail -= size; - bytes_read += size; - } - - return bytes_read; -} - -int SoundReader_SDL_Sound::GetSampleRate() const -{ - ASSERT(Sample); - return Sample->actual.rate; -} - -SoundReader_SDL_Sound::~SoundReader_SDL_Sound() -{ - Sound_FreeSample(Sample); -} - -SoundReader *SoundReader_SDL_Sound::Copy() const -{ - SoundReader_SDL_Sound *ret = new SoundReader_SDL_Sound; - ret->Open(filename); - return ret; -} - -/* ------------------------------------------------------------------------------ - Copyright (c) 2002-2003 by the person(s) listed below. All rights reserved. - Glenn Maynard ------------------------------------------------------------------------------ -*/ diff --git a/stepmania/src/RageSoundReader_SDL_Sound.h b/stepmania/src/RageSoundReader_SDL_Sound.h deleted file mode 100644 index 9ed5ae9fc0..0000000000 --- a/stepmania/src/RageSoundReader_SDL_Sound.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef RAGE_SOUND_READER_SDL_SOUND -#define RAGE_SOUND_READER_SDL_SOUND - -#include "RageSoundReader_FileReader.h" -#include "SDL_sound-1.0.0/SDL_sound.h" - -class SoundReader_SDL_Sound: public SoundReader_FileReader { - Sound_Sample *Sample; - const char *inbuf; - unsigned avail; - int SetPosition(int ms, bool accurate); - CString filename; - -public: - bool Open(CString filename); - int GetLength() const; - int GetLength_Fast() const; - int SetPosition_Accurate(int ms) { return SetPosition(ms, true); } - int SetPosition_Fast(int ms) { return SetPosition(ms, false); } - int Read(char *buf, unsigned len); - int GetSampleRate() const; - ~SoundReader_SDL_Sound(); - SoundReader *Copy() const; -}; - -#endif -/* - * Copyright (c) 2002-2003 by the person(s) listed below. All rights reserved. - * Glenn Maynard - */