80 lines
3.2 KiB
C++
80 lines
3.2 KiB
C++
//------------------------------------------------------------------------
|
|
// Project : VST SDK
|
|
//
|
|
// Category : Interfaces
|
|
// Filename : pluginterfaces/vst/ivstremapparamid.h
|
|
// Created by : Steinberg, 02/2024
|
|
// Description : VST Edit Controller Interfaces
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
// 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 "pluginterfaces/base/funknown.h"
|
|
#include "pluginterfaces/vst/vsttypes.h"
|
|
|
|
//------------------------------------------------------------------------
|
|
#include "pluginterfaces/base/falignpush.h"
|
|
//------------------------------------------------------------------------
|
|
|
|
//------------------------------------------------------------------------
|
|
namespace Steinberg {
|
|
namespace Vst {
|
|
|
|
//------------------------------------------------------------------------
|
|
/** Extended IEditController interface for a component.
|
|
\ingroup vstIPlug vst3711
|
|
- [plug imp]
|
|
- [extends IEditController]
|
|
- [released: 3.7.11]
|
|
- [optional]
|
|
|
|
When replacing one plug-in with another, the host can ask the new plug-in for remapping paramIDs to
|
|
new ones.
|
|
|
|
\n
|
|
\see Moduleinfo
|
|
\see \ref IPluginCompatibility
|
|
\see IEditController
|
|
*/
|
|
class IRemapParamID : public FUnknown
|
|
{
|
|
public:
|
|
//------------------------------------------------------------------------
|
|
/** Retrieve the appropriate paramID for a specific plug-in UID and paramID (or index for VST 2
|
|
* plug-ins).
|
|
* The retrieved paramID should match the one it replaces, maintaining the same
|
|
* behavior during automation playback. Called in UI-Thread context.
|
|
*
|
|
* @param[in] pluginToReplaceUID - TUID of plug-in (processor) that will be replaced
|
|
* @param[in] oldParamID - paramID (or index for VST 2 plug-ins) to be replaced
|
|
* @param[out] newParamID - contains the associated paramID to be used
|
|
*
|
|
* @return kResultTrue if a compatible parameter is available (newParamID has the appropriate
|
|
* value, it could be the same than oldParamID), or kResultFalse if no compatible parameter is
|
|
* available (newParamID is undefined).
|
|
*
|
|
* \note [UI-thread & Initialized] */
|
|
virtual tresult PLUGIN_API getCompatibleParamID (const TUID pluginToReplaceUID /*in*/,
|
|
ParamID oldParamID /*in*/,
|
|
ParamID& newParamID /*out*/) = 0;
|
|
//------------------------------------------------------------------------
|
|
static const FUID iid;
|
|
};
|
|
|
|
DECLARE_CLASS_IID (IRemapParamID, 0x2B88021E, 0x6286B646, 0xB49DF76A, 0x5663061C)
|
|
|
|
//------------------------------------------------------------------------
|
|
} // namespace Vst
|
|
} // namespace Steinberg
|
|
|
|
//------------------------------------------------------------------------
|
|
#include "pluginterfaces/base/falignpop.h"
|
|
//------------------------------------------------------------------------
|