56 |
si.BitDepth = (pSample->GetFrameSize() / pSample->GetChannelCount()) * 8; |
si.BitDepth = (pSample->GetFrameSize() / pSample->GetChannelCount()) * 8; |
57 |
si.TotalFrameCount = pSample->GetTotalFrameCount(); |
si.TotalFrameCount = pSample->GetTotalFrameCount(); |
58 |
|
|
59 |
si.HasLoops = pSample->HasLoops(); |
si.HasLoops = pRegion->HasLoop; |
60 |
si.LoopStart = (si.HasLoops) ? pSample->StartLoop : 0; // TODO: region loop offsets |
si.LoopStart = (si.HasLoops) ? pRegion->LoopStart : 0; |
61 |
si.LoopLength = (si.HasLoops) ? pSample->EndLoop : 0; // TODO: region loop offsets |
si.LoopLength = (si.HasLoops) ? ((pRegion->LoopEnd) - pRegion->LoopStart): 0; |
62 |
si.LoopPlayCount = 0; // TODO: |
si.LoopPlayCount = 0; // TODO: |
63 |
si.Unpitched = pSample->IsUnpitched(); |
si.Unpitched = pSample->IsUnpitched(); |
64 |
|
|
67 |
|
|
68 |
Voice::RegionInfo Voice::GetRegionInfo() { |
Voice::RegionInfo Voice::GetRegionInfo() { |
69 |
RegionInfo ri; |
RegionInfo ri; |
70 |
ri.UnityNote = pSample->OriginalPitch; |
ri.UnityNote = pRegion->GetUnityNote(); |
71 |
ri.FineTune = pRegion->fineTune; |
ri.FineTune = pRegion->fineTune; |
72 |
ri.Pan = pRegion->pan; |
ri.Pan = pRegion->pan; |
73 |
ri.SampleStartOffset = pRegion->startAddrsOffset + pRegion->startAddrsCoarseOffset; |
ri.SampleStartOffset = pRegion->startAddrsOffset + pRegion->startAddrsCoarseOffset; |