29 |
namespace LinuxSampler { namespace gig { |
namespace LinuxSampler { namespace gig { |
30 |
Engine::Format Engine::GetEngineFormat() { return GIG; } |
Engine::Format Engine::GetEngineFormat() { return GIG; } |
31 |
|
|
32 |
LinuxSampler::InstrumentScriptVM* Engine::CreateInstrumentScriptVM() { |
void Engine::CreateInstrumentScriptVM() { |
33 |
return new InstrumentScriptVM; // gig format specific extended script runner |
dmsg(2,("gig::Engine created Giga format scriptvm\n")); |
34 |
|
if (pScriptVM) return; |
35 |
|
pScriptVM = new InstrumentScriptVM; // gig format specific extended script runner |
36 |
} |
} |
37 |
|
|
38 |
/** |
/** |
225 |
case ::gig::dimension_random: |
case ::gig::dimension_random: |
226 |
DimValues[i] = uint(Random() * pRegion->pDimensionDefinitions[i].zones); |
DimValues[i] = uint(Random() * pRegion->pDimensionDefinitions[i].zones); |
227 |
break; |
break; |
228 |
|
case ::gig::dimension_smartmidi: |
229 |
|
DimValues[i] = 0; |
230 |
|
break; |
231 |
case ::gig::dimension_modwheel: |
case ::gig::dimension_modwheel: |
232 |
DimValues[i] = pChannel->ControllerTable[1]; |
DimValues[i] = pChannel->ControllerTable[1]; |
233 |
break; |
break; |
315 |
if (!itNoteOnEvent->Format.Gig.DimMask) { // normal case ... |
if (!itNoteOnEvent->Format.Gig.DimMask) { // normal case ... |
316 |
pDimRgn = pRegion->GetDimensionRegionByValue(DimValues); |
pDimRgn = pRegion->GetDimensionRegionByValue(DimValues); |
317 |
} else { // some dimension zones were overridden (i.e. by instrument script) ... |
} else { // some dimension zones were overridden (i.e. by instrument script) ... |
318 |
|
dmsg(3,("trigger with dim mask=%d val=%d\n", itNoteOnEvent->Format.Gig.DimMask, itNoteOnEvent->Format.Gig.DimBits)); |
319 |
int index = pRegion->GetDimensionRegionIndexByValue(DimValues); |
int index = pRegion->GetDimensionRegionIndexByValue(DimValues); |
320 |
index &= ~itNoteOnEvent->Format.Gig.DimMask; |
index &= ~itNoteOnEvent->Format.Gig.DimMask; |
321 |
index |= itNoteOnEvent->Format.Gig.DimBits & itNoteOnEvent->Format.Gig.DimMask; |
index |= itNoteOnEvent->Format.Gig.DimBits & itNoteOnEvent->Format.Gig.DimMask; |