//////////////////////////////////////////////////////////// /// Copy constructor //////////////////////////////////////////////////////////// SoundBuffer::SoundBuffer(const SoundBuffer& Copy) : AudioResource(Copy), myBuffer (0), mySamples (Copy.mySamples), myDuration (Copy.myDuration) { // Create the buffer ALCheck(alGenBuffers(1, &myBuffer)); // Update the internal buffer with the new samples Update(Copy.GetChannelsCount(), Copy.GetSampleRate()); }
SoundBuffer::SoundBuffer(const SoundBuffer& copy) : myBuffer (0), mySamples (copy.mySamples), myDuration(copy.myDuration), mySounds () // don't copy the attached sounds { // Create the buffer ALCheck(alGenBuffers(1, &myBuffer)); // Update the internal buffer with the new samples Update(copy.GetChannelsCount(), copy.GetSampleRate()); }
static VALUE SoundBuffer_to_s(VALUE vSelf) { // Get C++ object pointer from vSelf SoundBuffer *pSelf; Data_Get_Struct(vSelf, SoundBuffer, pSelf); char szBuffer[256]; sprintf(szBuffer, "Samples=%d, SampleRate=%d, Channels=%d, Duration=%f", pSelf->GetSamplesCount(), pSelf->GetSampleRate(), pSelf->GetChannelsCount(), pSelf->GetDuration()); return rb_str_new2(szBuffer); }
static VALUE SoundBuffer_get_channels(VALUE vSelf) { // Get C++ object pointer from vSelf SoundBuffer *pSelf; Data_Get_Struct(vSelf, SoundBuffer, pSelf); return INT2FIX(pSelf->GetChannelsCount()); }