本文整理汇总了C++中TTAudioSignalPtr::getVectorCopy方法的典型用法代码示例。如果您正苦于以下问题:C++ TTAudioSignalPtr::getVectorCopy方法的具体用法?C++ TTAudioSignalPtr::getVectorCopy怎么用?C++ TTAudioSignalPtr::getVectorCopy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TTAudioSignalPtr
的用法示例。
在下文中一共展示了TTAudioSignalPtr::getVectorCopy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: test
//.........这里部分代码省略.........
// obj11->mKernel->setAttributeValue(TT("name"), TT("gain"));
// obj11->mKernel->setAttributeValue(TT("style"), TT("decibels"));
// obj11->mKernel->setAttributeValue(TT("default"), -6.000000);
// obj11->mKernel->setAttributeValue(TT("value"), 0.000000);
// obj11->mKernel->setAttributeValue(TT("rangeBottom"), -96.000000);
// obj9->connect(obj11);
obj1->connectAudio(obj9, 0, 1);
obj0->connectAudio(obj1, 0, 0);
// SET UP SOME AUDIO AND PULL ON THE GRAPH
// obj4 is the source
// obj0 is the sink
TTSampleValue chan1input[64] = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
TTSampleValue chan2input[64] = {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2};
TTSampleValue chan1output[64];
TTSampleValue chan2output[64];
mInitData.vectorSize = 64;
TTTestLog("Processing First Pull");
TTAudioGraphGeneratorPtr(obj4->getUnitGenerator())->mBuffer->setVector64Copy(0, 64, chan1input);
TTAudioGraphGeneratorPtr(obj4->getUnitGenerator())->mBuffer->setVector64Copy(1, 64, chan2input);
obj0->lockProcessing();
obj0->preprocess(mInitData);
obj0->process(output, 0);
obj0->unlockProcessing();
output->getVectorCopy(0, 64, chan1output);
output->getVectorCopy(1, 64, chan2output);
// CHECK THE RESULTS
for (int i=0; i<64; i++) {
TTBoolean result = TTTestFloatEquivalence(chan1output[i], chan1input[i] * 0.25);
badSampleCount += !result;
if (!result)
TTTestLog("CHAN1 BAD SAMPLE @ i=%i ( value=%.10f expected=%.10f )", i, chan1output[i], chan1input[i] * 0.25);
result = TTTestFloatEquivalence(chan2output[i], chan2input[i] * 0.25);
badSampleCount += !result;
if (!result)
TTTestLog("CHAN2 BAD SAMPLE @ i=%i ( value=%.10f expected=%.10f )", i, chan2output[i], chan2input[i] * 0.25);
}
TTTestAssertion("Produces correct results for first pull",
badSampleCount == 0,
testAssertionCount,
errorCount);
if (badSampleCount)
TTTestLog("badSampleCount is %i", badSampleCount);
TTTestLog("Processing Second Pull");
TTAudioGraphGeneratorPtr(obj4->getUnitGenerator())->mBuffer->setVector64Copy(0, 64, chan1input);
TTAudioGraphGeneratorPtr(obj4->getUnitGenerator())->mBuffer->setVector64Copy(1, 64, chan2input);
obj0->lockProcessing();