| 336 | } |
| 337 | |
| 338 | void Sample::LoadState(FileStreamIn& in) |
| 339 | { |
| 340 | int rev; |
| 341 | in >> rev; |
| 342 | |
| 343 | in >> mNumSamples; |
| 344 | if (mNumSamples > 0) |
| 345 | { |
| 346 | int readLength; |
| 347 | mData.Load(in, readLength, ChannelBuffer::LoadMode::kSetBufferSize); |
| 348 | assert(readLength == mNumSamples); |
| 349 | /*for (int ch=0; ch<mData.NumActiveChannels(); ++ch) |
| 350 | { |
| 351 | float* channelBuffer = mData.GetChannel(ch); |
| 352 | for (int i=0; i<mData.BufferSize(); ++i) |
| 353 | { |
| 354 | assert(channelBuffer[i] >= -1 && channelBuffer[i] <= 1); |
| 355 | } |
| 356 | }*/ |
| 357 | } |
| 358 | in >> mNumBars; |
| 359 | in >> mLooping; |
| 360 | in >> mRate; |
| 361 | if (rev == 0) |
| 362 | { |
| 363 | in >> mSampleRateRatio; |
| 364 | mOriginalSampleRate = gSampleRate * mSampleRateRatio; |
| 365 | } |
| 366 | else |
| 367 | { |
| 368 | in >> mOriginalSampleRate; |
| 369 | mSampleRateRatio = float(mOriginalSampleRate) / gSampleRate; |
| 370 | } |
| 371 | in >> mStopPoint; |
| 372 | in >> mName; |
| 373 | in >> mReadPath; |
| 374 | } |