Initial release

This commit is contained in:
civ
2026-08-16 18:24:52 +07:00
commit 876886a39a
13244 changed files with 2353959 additions and 0 deletions
@@ -0,0 +1,91 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/busactivation.cpp
// Created by : Steinberg, 04/2005
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#include "public.sdk/source/vst/testsuite/bus/busactivation.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
// BusActivationTest
//------------------------------------------------------------------------
BusActivationTest::BusActivationTest (ITestPlugProvider* plugProvider) : TestBase (plugProvider)
{
}
//------------------------------------------------------------------------
bool PLUGIN_API BusActivationTest::run (ITestResult* testResult)
{
if (!testResult || !vstPlug)
return false;
printTestHeader (testResult);
int32 numTotalBusses = 0;
int32 numFailedActivations = 0;
for (MediaType type = kAudio; type < kNumMediaTypes; type++)
{
int32 numInputs = vstPlug->getBusCount (type, kInput);
int32 numOutputs = vstPlug->getBusCount (type, kOutput);
numTotalBusses += (numInputs + numOutputs);
for (int32 i = 0; i < numInputs + numOutputs; ++i)
{
BusDirection busDirection = i < numInputs ? kInput : kOutput;
int32 busIndex = busDirection == kInput ? i : i - numInputs;
BusInfo busInfo = {};
if (vstPlug->getBusInfo (type, busDirection, busIndex, busInfo) != kResultTrue)
{
addErrorMessage (testResult, STR ("IComponent::getBusInfo (..) failed."));
return false;
}
addMessage (testResult, printf (" Bus Activation: %s %s Bus (%d) (%s)",
busDirection == kInput ? "Input" : "Output",
type == kAudio ? "Audio" : "Event", busIndex,
busInfo.busType == kMain ? "kMain" : "kAux"));
if ((busInfo.flags & BusInfo::kDefaultActive) == false)
{
if (vstPlug->activateBus (type, busDirection, busIndex, true) != kResultOk)
numFailedActivations++;
if (vstPlug->activateBus (type, busDirection, busIndex, false) != kResultOk)
numFailedActivations++;
}
else if ((busInfo.flags & BusInfo::kDefaultActive) == true)
{
if (vstPlug->activateBus (type, busDirection, busIndex, false) != kResultOk)
numFailedActivations++;
if (vstPlug->activateBus (type, busDirection, busIndex, true) != kResultOk)
numFailedActivations++;
}
}
}
if (numFailedActivations > 0)
addErrorMessage (testResult, STR ("Bus activation failed."));
return (numFailedActivations == 0);
}
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,42 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/busactivation.h
// Created by : Steinberg, 04/2005
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#pragma once
#include "public.sdk/source/vst/testsuite/testbase.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
/** Test Bus Activation.
* \ingroup TestClass
*/
class BusActivationTest : public TestBase
{
public:
BusActivationTest (ITestPlugProvider* plugProvider);
bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE;
DECLARE_VSTTEST ("Bus Activation")
};
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,100 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/busconsistency.cpp
// Created by : Steinberg, 04/2005
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#include "public.sdk/source/vst/testsuite/bus/busconsistency.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
// BusConsistencyTest
//------------------------------------------------------------------------
BusConsistencyTest::BusConsistencyTest (ITestPlugProvider* plugProvider) : TestBase (plugProvider)
{
}
//------------------------------------------------------------------------
bool PLUGIN_API BusConsistencyTest::run (ITestResult* testResult)
{
if (!testResult || !vstPlug)
return false;
printTestHeader (testResult);
bool failed = false;
int32 numFalseDescQueries = 0;
for (MediaType mediaType = kAudio; mediaType < kNumMediaTypes; mediaType++)
{
for (BusDirection dir = kInput; dir <= kOutput; dir++)
{
int32 numBusses = vstPlug->getBusCount (mediaType, dir);
if (numBusses > 0)
{
auto* busArray = new BusInfo[numBusses];
if (busArray)
{
// get all bus descriptions and save them in an array
int32 busIndex;
for (busIndex = 0; busIndex < numBusses; busIndex++)
{
memset (&busArray[busIndex], 0, sizeof (BusInfo));
vstPlug->getBusInfo (mediaType, dir, busIndex, busArray[busIndex]);
}
// test by getting descriptions randomly and comparing with saved ones
int32 randIndex = 0;
BusInfo info = {};
for (busIndex = 0;
busIndex <= numBusses * TestDefaults::instance ().numIterations;
busIndex++)
{
randIndex = rand () % (numBusses);
memset (&info, 0, sizeof (BusInfo));
/*tresult result =*/vstPlug->getBusInfo (mediaType, dir, randIndex, info);
if (memcmp ((void*)&busArray[randIndex], (void*)&info, sizeof (BusInfo)) !=
TestDefaults::instance ().buffersAreEqual)
{
failed |= true;
numFalseDescQueries++;
}
}
delete[] busArray;
}
}
}
}
if (numFalseDescQueries > 0)
{
addErrorMessage (
testResult,
printf (
"The component returned %i inconsistent buses! (getBusInfo () returns sometime different info for the same bus!",
numFalseDescQueries));
}
return failed == false;
}
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,42 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/busconsistency.h
// Created by : Steinberg, 04/2005
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#pragma once
#include "public.sdk/source/vst/testsuite/testbase.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
/** Test Bus Consistency.
* \ingroup TestClass
*/
class BusConsistencyTest : public TestBase
{
public:
BusConsistencyTest (ITestPlugProvider* plugProvider);
bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE;
DECLARE_VSTTEST ("Bus Consistency")
};
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,83 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/businvalidindex.cpp
// Created by : Steinberg, 04/2005
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#include "public.sdk/source/vst/testsuite/bus/businvalidindex.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
// BusInvalidIndexTest
//------------------------------------------------------------------------
BusInvalidIndexTest::BusInvalidIndexTest (ITestPlugProvider* plugProvider) : TestBase (plugProvider)
{
}
//------------------------------------------------------------------------
bool PLUGIN_API BusInvalidIndexTest::run (ITestResult* testResult)
{
if (!testResult || !vstPlug)
return false;
printTestHeader (testResult);
bool failed = false;
int32 numInvalidDesc = 0;
for (MediaType mediaType = kAudio; mediaType < kNumMediaTypes; mediaType++)
{
int32 numBusses =
vstPlug->getBusCount (mediaType, kInput) + vstPlug->getBusCount (mediaType, kOutput);
for (BusDirection dir = kInput; dir <= kOutput; dir++)
{
BusInfo descBefore = {};
BusInfo descAfter = {};
int32 randIndex = 0;
// todo: rand with negative numbers
for (int32 i = 0; i <= numBusses * TestDefaults::instance ().numIterations; ++i)
{
randIndex = rand ();
if (0 > randIndex || randIndex > numBusses)
{
/*tresult result =*/vstPlug->getBusInfo (mediaType, dir, randIndex, descAfter);
if (memcmp ((void*)&descBefore, (void*)&descAfter, sizeof (BusInfo)) != 0)
{
failed |= true;
numInvalidDesc++;
}
}
}
}
}
if (numInvalidDesc > 0)
{
addErrorMessage (testResult,
printf ("The component returned %i buses queried with an invalid index!",
numInvalidDesc));
}
return failed == false;
}
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,42 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/businvalidindex.h
// Created by : Steinberg, 04/2005
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#pragma once
#include "public.sdk/source/vst/testsuite/testbase.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
/** Test Bus Invalid Index.
* \ingroup TestClass
*/
class BusInvalidIndexTest : public TestBase
{
public:
BusInvalidIndexTest (ITestPlugProvider* plugProvider);
bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE;
DECLARE_VSTTEST ("Bus Invalid Index")
};
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,86 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/checkaudiobusarrangement.cpp
// Created by : Steinberg, 04/2005
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#include "public.sdk/source/vst/testsuite/bus/checkaudiobusarrangement.h"
#include "pluginterfaces/base/funknownimpl.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
// CheckAudioBusArrangementTest
//------------------------------------------------------------------------
CheckAudioBusArrangementTest::CheckAudioBusArrangementTest (ITestPlugProvider* plugProvider)
: TestBase (plugProvider)
{
}
//------------------------------------------------------------------------
bool CheckAudioBusArrangementTest::run (ITestResult* testResult)
{
if (!testResult || !vstPlug)
return false;
printTestHeader (testResult);
int32 numInputs = vstPlug->getBusCount (kAudio, kInput);
int32 numOutputs = vstPlug->getBusCount (kAudio, kOutput);
int32 arrangementMismatchs = 0;
if (auto audioEffect = U::cast<IAudioProcessor> (vstPlug))
{
for (int32 i = 0; i < numInputs + numOutputs; ++i)
{
BusDirection dir = i < numInputs ? kInput : kOutput;
int32 busIndex = dir == kInput ? i : i - numInputs;
addMessage (testResult, printf (" Check %s Audio Bus Arrangement (%d)",
dir == kInput ? "Input" : "Output", busIndex));
BusInfo busInfo = {};
if (vstPlug->getBusInfo (kAudio, dir, busIndex, busInfo) == kResultTrue)
{
SpeakerArrangement arrangement;
if (audioEffect->getBusArrangement (dir, busIndex, arrangement) == kResultTrue)
{
if (busInfo.channelCount != SpeakerArr::getChannelCount (arrangement))
{
arrangementMismatchs++;
addErrorMessage (testResult, STR ("channelCount is inconsistent!"));
}
}
else
{
addErrorMessage (testResult,
STR ("IAudioProcessor::getBusArrangement (..) failed!"));
return false;
}
}
else
{
addErrorMessage (testResult, STR ("IComponent::getBusInfo (..) failed!"));
return false;
}
}
}
return (arrangementMismatchs == 0);
}
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,42 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/checkaudiobusarrangement.h
// Created by : Steinberg, 04/2005
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#pragma once
#include "public.sdk/source/vst/testsuite/testbase.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
/** Test Check Audio Bus Arrangement.
* \ingroup TestClass
*/
class CheckAudioBusArrangementTest : public TestBase
{
public:
CheckAudioBusArrangementTest (ITestPlugProvider* plugProvider);
bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE;
DECLARE_VSTTEST ("Check Audio Bus Arrangement")
};
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,89 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/scanbusses.cpp
// Created by : Steinberg, 04/2005
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#include "public.sdk/source/vst/testsuite/bus/scanbusses.h"
#include "public.sdk/source/vst/utility/stringconvert.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
// ScanBussesTest
//------------------------------------------------------------------------
ScanBussesTest::ScanBussesTest (ITestPlugProvider* plugProvider) : TestBase (plugProvider)
{
}
//------------------------------------------------------------------------
bool PLUGIN_API ScanBussesTest::run (ITestResult* testResult)
{
if (!testResult || !vstPlug)
return false;
printTestHeader (testResult);
int32 numBusses = 0;
for (MediaType mediaType = kAudio; mediaType < kNumMediaTypes; mediaType++)
{
int32 numInputs = vstPlug->getBusCount (mediaType, kInput);
int32 numOutputs = vstPlug->getBusCount (mediaType, kOutput);
numBusses += (numInputs + numOutputs);
if ((mediaType == (kNumMediaTypes - 1)) && (numBusses == 0))
{
addErrorMessage (testResult, STR ("This component does not export any buses!!!"));
return false;
}
addMessage (testResult,
printf ("=> %s Buses: [%d In(s) => %d Out(s)]",
mediaType == kAudio ? "Audio" : "Event", numInputs, numOutputs));
for (int32 i = 0; i < numInputs + numOutputs; ++i)
{
BusDirection busDirection = i < numInputs ? kInput : kOutput;
int32 busIndex = busDirection == kInput ? i : i - numInputs;
BusInfo busInfo = {};
if (vstPlug->getBusInfo (mediaType, busDirection, busIndex, busInfo) == kResultTrue)
{
auto busName = StringConvert::convert (busInfo.name);
if (busName.empty ())
{
addErrorMessage (testResult, printf ("Bus %d has no name!!!", busIndex));
return false;
}
addMessage (
testResult,
printf (" %s[%d]: \"%s\" (%s-%s) ", busDirection == kInput ? "In " : "Out",
busIndex, busName.data (), busInfo.busType == kMain ? "Main" : "Aux",
busInfo.kDefaultActive ? "Default Active" : "Default Inactive"));
}
else
return false;
}
}
return true;
}
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,43 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/scanbusses.h
// Created by : Steinberg, 04/2005
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#pragma once
#include "public.sdk/source/vst/testsuite/testbase.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
/** Test Scan Buses.
* \ingroup TestClass
*/
class ScanBussesTest : public TestBase
{
public:
ScanBussesTest (ITestPlugProvider* plugProvider);
DECLARE_VSTTEST ("Scan Buses")
bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE;
//------------------------------------------------------------------------
};
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,139 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/sidechainarrangement.cpp
// Created by : Steinberg, 11/2019
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#include "public.sdk/source/vst/testsuite/bus/sidechainarrangement.h"
#include "pluginterfaces/base/funknownimpl.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
// SideChainArrangementTest
//------------------------------------------------------------------------
SideChainArrangementTest::SideChainArrangementTest (ITestPlugProvider* plugProvider)
: TestBase (plugProvider)
{
}
//------------------------------------------------------------------------
bool PLUGIN_API SideChainArrangementTest::run (ITestResult* testResult)
{
if (!testResult || !vstPlug)
return false;
printTestHeader (testResult);
bool failed = false;
auto audioEffect = U::cast<IAudioProcessor> (vstPlug);
if (!audioEffect)
return failed;
// get the side chain arrangements
// set Main/first Input and output to Mono
// get the current arrangement and compare
// check if Audio sideChain is supported
bool hasInputSideChain = false;
int32 numInBusses = vstPlug->getBusCount (kAudio, kInput);
if (numInBusses < 2)
return true;
for (int32 busIndex = 0; busIndex < numInBusses; busIndex++)
{
BusInfo info;
if (vstPlug->getBusInfo (kAudio, kInput, busIndex, info) != kResultTrue)
{
addErrorMessage (testResult, STR ("IComponent::getBusInfo (..) failed."));
continue;
}
if (info.busType == kAux)
hasInputSideChain = true;
}
if (!hasInputSideChain)
return true;
auto* inputArrArray = new SpeakerArrangement[numInBusses];
for (int32 busIndex = 0; busIndex < numInBusses; busIndex++)
{
if (audioEffect->getBusArrangement (kInput, busIndex, inputArrArray[busIndex]) !=
kResultTrue)
{
addErrorMessage (testResult, STR ("IComponent::getBusArrangement (..) failed."));
}
}
int32 numOutBusses = vstPlug->getBusCount (kAudio, kOutput);
SpeakerArrangement* outputArrArray = nullptr;
if (numOutBusses > 0)
{
outputArrArray = new SpeakerArrangement[numOutBusses];
for (int32 busIndex = 0; busIndex < numOutBusses; busIndex++)
{
if (audioEffect->getBusArrangement (kOutput, busIndex, outputArrArray[busIndex]) !=
kResultTrue)
{
addErrorMessage (testResult, STR ("IComponent::getBusArrangement (..) failed."));
}
}
outputArrArray[0] = kSpeakerM;
}
inputArrArray[0] = kSpeakerM;
if (audioEffect->setBusArrangements (inputArrArray, numInBusses, outputArrArray,
numOutBusses) == kResultTrue)
{
for (int32 busIndex = 0; busIndex < numInBusses; busIndex++)
{
SpeakerArrangement tmp;
if (audioEffect->getBusArrangement (kInput, busIndex, tmp) == kResultTrue)
{
if (tmp != inputArrArray[busIndex])
{
addErrorMessage (
testResult,
printf (
"Input %d: setBusArrangements was returning kResultTrue but getBusArrangement returns different arrangement!",
busIndex));
failed = true;
}
}
}
for (int32 busIndex = 0; busIndex < numOutBusses; busIndex++)
{
SpeakerArrangement tmp;
if (audioEffect->getBusArrangement (kOutput, busIndex, tmp) != kResultTrue)
{
if (tmp != outputArrArray[busIndex])
{
addErrorMessage (
testResult,
printf (
"Output %d: setBusArrangements was returning kResultTrue but getBusArrangement returns different arrangement!",
busIndex));
failed = true;
}
}
}
}
return failed == false;
}
//------------------------------------------------------------------------
} // Vst
} // Steinberg
@@ -0,0 +1,42 @@
//-----------------------------------------------------------------------------
// Flags : clang-format SMTGSequencer
// Project : VST SDK
//
// Category : Validator
// Filename : public.sdk/source/vst/testsuite/bus/sidechainarrangement.h
// Created by : Steinberg, 11/2020
// Description : VST Test Suite
//
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
#pragma once
#include "public.sdk/source/vst/testsuite/testbase.h"
//------------------------------------------------------------------------
namespace Steinberg {
namespace Vst {
//------------------------------------------------------------------------
/** Test SideChain Arrangement.
* \ingroup TestClass
*/
class SideChainArrangementTest : public TestBase
{
public:
SideChainArrangementTest (ITestPlugProvider* plugProvider);
bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE;
DECLARE_VSTTEST ("SideChain Arrangement")
};
//------------------------------------------------------------------------
} // Vst
} // Steinberg