31
Audio / Buffers not deleted
« on: September 05, 2008, 04:58:28 pm »Quote
Which version of SFML are you using ?
Revision 858 (latest).
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Which version of SFML are you using ?
#include <SFML/Audio.hpp>
class SoundBuffer
{
public:
SoundBuffer()
{
}
virtual ~SoundBuffer()
{
}
bool Init(const std::string& Filename)
{
bool Success = Buffer.LoadFromFile(Filename);
Sound.SetBuffer(Buffer);
return Success;
}
sf::Sound Sound;
private:
sf::SoundBuffer Buffer;
};
int main()
{
SoundBuffer Buffer;
if (!Buffer.Init("test.wav"))
{
return EXIT_FAILURE;
}
Buffer.Sound.Play();
while (Buffer.Sound.GetStatus() == sf::Sound::Playing)
{
sf::Sleep(0.1f);
}
sf::Sleep(1.f);
return EXIT_SUCCESS;
}
#include <SFML/Audio.hpp>
class SoundBuffer
{
public:
SoundBuffer()
{
Buffer = new sf::SoundBuffer;
Sound = new sf::Sound;
}
virtual ~SoundBuffer()
{
delete Sound;
delete Buffer;
}
bool Init(const std::string& Filename)
{
bool Success = Buffer->LoadFromFile(Filename);
Sound->SetBuffer(*Buffer);
return Success;
}
sf::Sound* Sound;
private:
sf::SoundBuffer* Buffer;
};
int main()
{
SoundBuffer Buffer;
if (!Buffer.Init("test.wav"))
{
return EXIT_FAILURE;
}
Buffer.Sound->Play();
while (Buffer.Sound->GetStatus() == sf::Sound::Playing)
{
sf::Sleep(0.1f);
}
sf::Sleep(1.f);
return 0;
}
AL lib: alBuffer.c:1097: exit() 1 Buffer(s) NOT deleted
class SoundBuffer
{
public:
SoundBuffer()
{
std::cerr << "sound created" << std::endl;
}
virtual ~SoundBuffer()
{
std::cerr << "sound destroyed" << std::endl;
}
bool Init(File& Data)
{
bool Success = Buffer.LoadFromMemory(Data.GetContent(), Data.Size());
Sound.SetBuffer(Buffer);
return Success;
}
sf::Sound Sound;
private:
sf::SoundBuffer Buffer;
};
for (int i = 0; i < 5; i++)
{
Money[i].SetImage(money[i]);
Money[(i + 5)].SetImage(money[i]);
Money[(i + 10)].SetImage(money[i]);
Money[(i + 15)].SetImage(money[i]);
Money[(i + 20)].SetImage(money[i]);
Money[(i + 25)].SetImage(money[i]);
};