mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-06 19:40:10 +02:00
Add noexcept qualifications in src/common
Apparently this can actually make a difference in some cases, and the C++ Core Guideliens recommend doing this on all default constructors, destructors, and all functions that can not throw (and thus also don't allocate).
This commit is contained in:
@@ -217,7 +217,7 @@ class Sockets {
|
||||
*
|
||||
* @note Classes overriding this should call `close()` in their destructor.
|
||||
*/
|
||||
virtual ~Sockets() {
|
||||
virtual ~Sockets() noexcept {
|
||||
try {
|
||||
// NOTE: Because someone has wiped their home directory in the past
|
||||
// by manually modifying the socket base directory argument
|
||||
@@ -239,6 +239,9 @@ class Sockets {
|
||||
// There should not be any filesystem errors since only one side
|
||||
// removes the files, but if we somehow can't delete the file
|
||||
// then we can just silently ignore this
|
||||
} catch (const std::bad_alloc&) {
|
||||
// If we cannot clean up because we're out of memory, then that's
|
||||
// fine
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
#include "vst2.h"
|
||||
|
||||
DefaultDataConverter::~DefaultDataConverter() noexcept {}
|
||||
|
||||
EventPayload DefaultDataConverter::read(const int /*opcode*/,
|
||||
const int /*index*/,
|
||||
const intptr_t /*value*/,
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
*/
|
||||
class DefaultDataConverter {
|
||||
public:
|
||||
virtual ~DefaultDataConverter(){};
|
||||
virtual ~DefaultDataConverter() noexcept;
|
||||
|
||||
/**
|
||||
* Read data from the `data` void pointer into a an `EventPayload` value
|
||||
@@ -315,7 +315,7 @@ class Vst2Sockets : public Sockets {
|
||||
(base_dir / "host_vst_control.sock").string(),
|
||||
listen) {}
|
||||
|
||||
~Vst2Sockets() { close(); }
|
||||
~Vst2Sockets() noexcept override { close(); }
|
||||
|
||||
void connect() override {
|
||||
host_vst_dispatch.connect();
|
||||
|
||||
@@ -326,7 +326,7 @@ class Vst3Sockets : public Sockets {
|
||||
io_context(io_context) {}
|
||||
|
||||
// NOLINTNEXTLINE(clang-analyzer-optin.cplusplus.VirtualCall)
|
||||
~Vst3Sockets() { close(); }
|
||||
~Vst3Sockets() noexcept override { close(); }
|
||||
|
||||
void connect() override {
|
||||
host_vst_control.connect();
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
namespace fs = boost::filesystem;
|
||||
|
||||
Configuration::Configuration() {}
|
||||
Configuration::Configuration() noexcept {}
|
||||
|
||||
Configuration::Configuration(const fs::path& config_path,
|
||||
const fs::path& yabridge_path)
|
||||
@@ -140,7 +140,8 @@ Configuration::Configuration(const fs::path& config_path,
|
||||
}
|
||||
}
|
||||
|
||||
std::chrono::steady_clock::duration Configuration::event_loop_interval() const {
|
||||
std::chrono::steady_clock::duration Configuration::event_loop_interval()
|
||||
const noexcept {
|
||||
return std::chrono::duration_cast<std::chrono::steady_clock::duration>(
|
||||
std::chrono::milliseconds(1000) / frame_rate.value_or(60.0));
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ class Configuration {
|
||||
/**
|
||||
* Create an empty configuration object with default settings.
|
||||
*/
|
||||
Configuration();
|
||||
Configuration() noexcept;
|
||||
|
||||
/**
|
||||
* Load the configuration for an instance of yabridge from a configuration
|
||||
@@ -180,7 +180,7 @@ class Configuration {
|
||||
* The delay in milliseconds between calls to the event loop and to
|
||||
* `effEditIdle` for VST2 plugins. This is based on `frame_rate`.
|
||||
*/
|
||||
std::chrono::steady_clock::duration event_loop_interval() const;
|
||||
std::chrono::steady_clock::duration event_loop_interval() const noexcept;
|
||||
|
||||
template <typename S>
|
||||
void serialize(S& s) {
|
||||
|
||||
@@ -525,7 +525,8 @@ void Vst2Logger::log_event_response(
|
||||
}
|
||||
}
|
||||
|
||||
bool Vst2Logger::should_filter_event(bool is_dispatch, int opcode) const {
|
||||
bool Vst2Logger::should_filter_event(bool is_dispatch,
|
||||
int opcode) const noexcept {
|
||||
if (logger.verbosity >= Logger::Verbosity::all_events) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -87,5 +87,5 @@ class Vst2Logger {
|
||||
* Determine whether an event should be filtered based on the current
|
||||
* verbosity level.
|
||||
*/
|
||||
bool should_filter_event(bool is_dispatch, int opcode) const;
|
||||
bool should_filter_event(bool is_dispatch, int opcode) const noexcept;
|
||||
};
|
||||
|
||||
@@ -52,7 +52,7 @@ LibArchitecture find_dll_architecture(const fs::path& plugin_path) {
|
||||
throw std::runtime_error(error_msg.str());
|
||||
}
|
||||
|
||||
PluginType plugin_type_from_string(const std::string& plugin_type) {
|
||||
PluginType plugin_type_from_string(const std::string& plugin_type) noexcept {
|
||||
if (plugin_type == "VST2") {
|
||||
return PluginType::vst2;
|
||||
} else if (plugin_type == "VST3") {
|
||||
|
||||
@@ -60,5 +60,5 @@ void serialize(S& s, PluginType& plugin_type) {
|
||||
*/
|
||||
LibArchitecture find_dll_architecture(const boost::filesystem::path&);
|
||||
|
||||
PluginType plugin_type_from_string(const std::string& plugin_type);
|
||||
PluginType plugin_type_from_string(const std::string& plugin_type) noexcept;
|
||||
std::string plugin_type_to_string(const PluginType& plugin_type);
|
||||
|
||||
@@ -113,12 +113,12 @@ class MessageReference {
|
||||
* `0x1337420` so it's at least obvious where it's coming from if we get a
|
||||
* segfault caused by a read to that address.
|
||||
*/
|
||||
MessageReference() : object(reinterpret_cast<T*>(0x1337420)) {}
|
||||
MessageReference() noexcept : object(reinterpret_cast<T*>(0x1337420)) {}
|
||||
|
||||
/**
|
||||
* Store a reference in this object.
|
||||
*/
|
||||
MessageReference(T& object) : object(&object) {}
|
||||
MessageReference(T& object) noexcept : object(&object) {}
|
||||
|
||||
using Response = typename T::Response;
|
||||
|
||||
|
||||
@@ -16,6 +16,26 @@
|
||||
|
||||
#include "vst2.h"
|
||||
|
||||
AEffect& update_aeffect(AEffect& plugin,
|
||||
const AEffect& updated_plugin) noexcept {
|
||||
plugin.magic = updated_plugin.magic;
|
||||
plugin.numPrograms = updated_plugin.numPrograms;
|
||||
plugin.numParams = updated_plugin.numParams;
|
||||
plugin.numInputs = updated_plugin.numInputs;
|
||||
plugin.numOutputs = updated_plugin.numOutputs;
|
||||
plugin.flags = updated_plugin.flags;
|
||||
plugin.initialDelay = updated_plugin.initialDelay;
|
||||
plugin.empty3a = updated_plugin.empty3a;
|
||||
plugin.empty3b = updated_plugin.empty3b;
|
||||
plugin.unkown_float = updated_plugin.unkown_float;
|
||||
plugin.uniqueID = updated_plugin.uniqueID;
|
||||
plugin.version = updated_plugin.version;
|
||||
|
||||
return plugin;
|
||||
}
|
||||
|
||||
DynamicVstEvents::DynamicVstEvents() noexcept {}
|
||||
|
||||
DynamicVstEvents::DynamicVstEvents(const VstEvents& c_events)
|
||||
: events(c_events.numEvents) {
|
||||
// Copy from the C-style array into a vector for serialization
|
||||
@@ -52,6 +72,8 @@ VstEvents& DynamicVstEvents::as_c_events() {
|
||||
return *vst_events;
|
||||
}
|
||||
|
||||
DynamicSpeakerArrangement::DynamicSpeakerArrangement() noexcept {}
|
||||
|
||||
DynamicSpeakerArrangement::DynamicSpeakerArrangement(
|
||||
const VstSpeakerArrangement& speaker_arrangement)
|
||||
: flags(speaker_arrangement.flags),
|
||||
@@ -90,20 +112,3 @@ std::vector<uint8_t>& DynamicSpeakerArrangement::as_raw_data() {
|
||||
|
||||
return speaker_arrangement_buffer;
|
||||
}
|
||||
|
||||
AEffect& update_aeffect(AEffect& plugin, const AEffect& updated_plugin) {
|
||||
plugin.magic = updated_plugin.magic;
|
||||
plugin.numPrograms = updated_plugin.numPrograms;
|
||||
plugin.numParams = updated_plugin.numParams;
|
||||
plugin.numInputs = updated_plugin.numInputs;
|
||||
plugin.numOutputs = updated_plugin.numOutputs;
|
||||
plugin.flags = updated_plugin.flags;
|
||||
plugin.initialDelay = updated_plugin.initialDelay;
|
||||
plugin.empty3a = updated_plugin.empty3a;
|
||||
plugin.empty3b = updated_plugin.empty3b;
|
||||
plugin.unkown_float = updated_plugin.unkown_float;
|
||||
plugin.uniqueID = updated_plugin.uniqueID;
|
||||
plugin.version = updated_plugin.version;
|
||||
|
||||
return plugin;
|
||||
}
|
||||
|
||||
@@ -65,7 +65,8 @@ constexpr size_t binary_buffer_size = 50 << 20;
|
||||
* untouched. This should be updating the same values as the serialization
|
||||
* function right below this.
|
||||
*/
|
||||
AEffect& update_aeffect(AEffect& plugin, const AEffect& updated_plugin);
|
||||
AEffect& update_aeffect(AEffect& plugin,
|
||||
const AEffect& updated_plugin) noexcept;
|
||||
|
||||
/**
|
||||
* The serialization function for `AEffect` structs. This will s serialize all
|
||||
@@ -164,7 +165,7 @@ struct ChunkData {
|
||||
*/
|
||||
class alignas(16) DynamicVstEvents {
|
||||
public:
|
||||
DynamicVstEvents(){};
|
||||
DynamicVstEvents() noexcept;
|
||||
|
||||
explicit DynamicVstEvents(const VstEvents& c_events);
|
||||
|
||||
@@ -216,7 +217,7 @@ class alignas(16) DynamicVstEvents {
|
||||
*/
|
||||
class alignas(16) DynamicSpeakerArrangement {
|
||||
public:
|
||||
DynamicSpeakerArrangement(){};
|
||||
DynamicSpeakerArrangement() noexcept;
|
||||
|
||||
explicit DynamicSpeakerArrangement(
|
||||
const VstSpeakerArrangement& speaker_arrangement);
|
||||
|
||||
@@ -278,7 +278,8 @@ void serialize(S& s, CallbackRequest& payload) {
|
||||
* variant.
|
||||
*/
|
||||
template <typename... Ts>
|
||||
std::variant<Ts...>& get_request_variant(std::variant<Ts...>& request) {
|
||||
std::variant<Ts...>& get_request_variant(
|
||||
std::variant<Ts...>& request) noexcept {
|
||||
return request;
|
||||
}
|
||||
|
||||
@@ -290,6 +291,6 @@ std::variant<Ts...>& get_request_variant(std::variant<Ts...>& request) {
|
||||
* @overload
|
||||
*/
|
||||
inline AudioProcessorRequest::Payload& get_request_variant(
|
||||
AudioProcessorRequest& request) {
|
||||
AudioProcessorRequest& request) noexcept {
|
||||
return request.payload;
|
||||
}
|
||||
|
||||
@@ -76,9 +76,9 @@ const static char* stream_meta_data_string_keys[] = {
|
||||
Steinberg::Vst::PresetAttributes::kName,
|
||||
Steinberg::Vst::PresetAttributes::kFileName};
|
||||
|
||||
YaAttributeList::YaAttributeList(){FUNKNOWN_CTOR}
|
||||
YaAttributeList::YaAttributeList() noexcept {FUNKNOWN_CTOR}
|
||||
|
||||
YaAttributeList::~YaAttributeList() {
|
||||
YaAttributeList::~YaAttributeList() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -36,9 +36,9 @@ class YaAttributeList : public Steinberg::Vst::IAttributeList {
|
||||
* Default constructor with an empty attributeList. The plugin can use this
|
||||
* to write a attributeList.
|
||||
*/
|
||||
YaAttributeList();
|
||||
YaAttributeList() noexcept;
|
||||
|
||||
~YaAttributeList();
|
||||
~YaAttributeList() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ std::u16string tchar_pointer_to_u16string(const Steinberg::Vst::TChar* string,
|
||||
}
|
||||
|
||||
const Steinberg::Vst::TChar* u16string_to_tchar_pointer(
|
||||
const std::u16string& string) {
|
||||
const std::u16string& string) noexcept {
|
||||
#ifdef __WINE__
|
||||
static_assert(sizeof(Steinberg::Vst::TChar) == sizeof(char16_t));
|
||||
return reinterpret_cast<const Steinberg::Vst::TChar*>(string.c_str());
|
||||
@@ -66,10 +66,11 @@ const Steinberg::Vst::TChar* u16string_to_tchar_pointer(
|
||||
#endif
|
||||
}
|
||||
|
||||
WineUID::WineUID() {}
|
||||
WineUID::WineUID(const Steinberg::TUID& tuid) : uid(std::to_array(tuid)) {}
|
||||
WineUID::WineUID() noexcept {}
|
||||
WineUID::WineUID(const Steinberg::TUID& tuid) noexcept
|
||||
: uid(std::to_array(tuid)) {}
|
||||
|
||||
ArrayUID WineUID::get_native_uid() const {
|
||||
ArrayUID WineUID::get_native_uid() const noexcept {
|
||||
// We need to shuffle the first 8 bytes around to convert between the
|
||||
// COM-compatible and non COM-compatible formats described by the
|
||||
// `INLINE_UID` macro. See that macro as a reference for the transformations
|
||||
@@ -89,10 +90,11 @@ ArrayUID WineUID::get_native_uid() const {
|
||||
return converted_uid;
|
||||
}
|
||||
|
||||
NativeUID::NativeUID() {}
|
||||
NativeUID::NativeUID(const Steinberg::TUID& tuid) : uid(std::to_array(tuid)) {}
|
||||
NativeUID::NativeUID() noexcept {}
|
||||
NativeUID::NativeUID(const Steinberg::TUID& tuid) noexcept
|
||||
: uid(std::to_array(tuid)) {}
|
||||
|
||||
ArrayUID NativeUID::get_wine_uid() const {
|
||||
ArrayUID NativeUID::get_wine_uid() const noexcept {
|
||||
// This transformation is actually the same as the one in
|
||||
// `WineUID::get_native_uid()`, but we'll spell it out here in full for
|
||||
// understandability's sake.
|
||||
@@ -111,12 +113,13 @@ ArrayUID NativeUID::get_wine_uid() const {
|
||||
return converted_uid;
|
||||
}
|
||||
|
||||
UniversalTResult::UniversalTResult() : universal_result(Value::kResultFalse) {}
|
||||
UniversalTResult::UniversalTResult() noexcept
|
||||
: universal_result(Value::kResultFalse) {}
|
||||
|
||||
UniversalTResult::UniversalTResult(tresult native_result)
|
||||
UniversalTResult::UniversalTResult(tresult native_result) noexcept
|
||||
: universal_result(to_universal_result(native_result)) {}
|
||||
|
||||
UniversalTResult::operator tresult() const {
|
||||
UniversalTResult::operator tresult() const noexcept {
|
||||
static_assert(Steinberg::kResultOk == Steinberg::kResultTrue);
|
||||
switch (universal_result) {
|
||||
case Value::kNoInterface:
|
||||
@@ -184,7 +187,7 @@ std::string UniversalTResult::string() const {
|
||||
}
|
||||
|
||||
UniversalTResult::Value UniversalTResult::to_universal_result(
|
||||
tresult native_result) {
|
||||
tresult native_result) noexcept {
|
||||
static_assert(Steinberg::kResultOk == Steinberg::kResultTrue);
|
||||
switch (native_result) {
|
||||
case Steinberg::kNoInterface:
|
||||
|
||||
@@ -67,7 +67,7 @@ std::u16string tchar_pointer_to_u16string(const Steinberg::Vst::TChar* string,
|
||||
* Convert an `std::u16string` back to a null terminated `TChar*` string.
|
||||
*/
|
||||
const Steinberg::Vst::TChar* u16string_to_tchar_pointer(
|
||||
const std::u16string& string);
|
||||
const std::u16string& string) noexcept;
|
||||
|
||||
/**
|
||||
* Empty struct for when we have send a response to some operation without any
|
||||
@@ -100,10 +100,10 @@ using ArrayUID = std::array<
|
||||
*/
|
||||
class WineUID {
|
||||
public:
|
||||
WineUID();
|
||||
WineUID(const Steinberg::TUID& tuid);
|
||||
WineUID() noexcept;
|
||||
WineUID(const Steinberg::TUID& tuid) noexcept;
|
||||
|
||||
ArrayUID get_native_uid() const;
|
||||
ArrayUID get_native_uid() const noexcept;
|
||||
|
||||
template <typename S>
|
||||
void serialize(S& s) {
|
||||
@@ -129,18 +129,18 @@ class WineUID {
|
||||
*/
|
||||
class NativeUID {
|
||||
public:
|
||||
NativeUID();
|
||||
NativeUID(const Steinberg::TUID& tuid);
|
||||
NativeUID() noexcept;
|
||||
NativeUID(const Steinberg::TUID& tuid) noexcept;
|
||||
|
||||
/**
|
||||
* Convert to the garbled byte order used in the Wine plugin host.
|
||||
*/
|
||||
ArrayUID get_wine_uid() const;
|
||||
ArrayUID get_wine_uid() const noexcept;
|
||||
|
||||
/**
|
||||
* Get a reference to the proper native UID.
|
||||
*/
|
||||
inline const ArrayUID& native_uid() const { return uid; };
|
||||
inline const ArrayUID& native_uid() const noexcept { return uid; };
|
||||
|
||||
template <typename S>
|
||||
void serialize(S& s) {
|
||||
@@ -159,10 +159,10 @@ class NativeUID {
|
||||
template <typename T>
|
||||
class PrimitiveWrapper {
|
||||
public:
|
||||
PrimitiveWrapper() {}
|
||||
PrimitiveWrapper(T value) : value(value) {}
|
||||
PrimitiveWrapper() noexcept {}
|
||||
PrimitiveWrapper(T value) noexcept : value(value) {}
|
||||
|
||||
operator T() const { return value; }
|
||||
operator T() const noexcept { return value; }
|
||||
|
||||
template <typename S>
|
||||
void serialize(S& s) {
|
||||
@@ -185,17 +185,17 @@ class UniversalTResult {
|
||||
* The default constructor will initialize the value to `kResutlFalse` and
|
||||
* should only ever be used by bitsery in the serialization process.
|
||||
*/
|
||||
UniversalTResult();
|
||||
UniversalTResult() noexcept;
|
||||
|
||||
/**
|
||||
* Convert a native tresult into a univeral one.
|
||||
*/
|
||||
UniversalTResult(tresult native_result);
|
||||
UniversalTResult(tresult native_result) noexcept;
|
||||
|
||||
/**
|
||||
* Get the native equivalent for the wrapped `tresult` value.
|
||||
*/
|
||||
operator tresult() const;
|
||||
operator tresult() const noexcept;
|
||||
|
||||
/**
|
||||
* Get the original name for the result, e.g. `kResultOk`.
|
||||
@@ -225,7 +225,7 @@ class UniversalTResult {
|
||||
kOutOfMemory
|
||||
};
|
||||
|
||||
static Value to_universal_result(tresult native_result);
|
||||
static Value to_universal_result(tresult native_result) noexcept;
|
||||
|
||||
Value universal_result;
|
||||
};
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <cassert>
|
||||
#include <stdexcept>
|
||||
|
||||
YaBStream::YaBStream(){FUNKNOWN_CTOR}
|
||||
YaBStream::YaBStream() noexcept {FUNKNOWN_CTOR}
|
||||
|
||||
YaBStream::YaBStream(Steinberg::IBStream* stream) {
|
||||
FUNKNOWN_CTOR
|
||||
@@ -80,7 +80,7 @@ YaBStream::YaBStream(Steinberg::IBStream* stream) {
|
||||
}
|
||||
}
|
||||
|
||||
YaBStream::~YaBStream() {
|
||||
YaBStream::~YaBStream() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ tresult YaBStream::write_back(Steinberg::IBStream* stream) const {
|
||||
return Steinberg::kResultOk;
|
||||
}
|
||||
|
||||
size_t YaBStream::size() const {
|
||||
size_t YaBStream::size() const noexcept {
|
||||
return buffer.size();
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ class YaBStream : public Steinberg::IBStream,
|
||||
* other constructor will check whether the `IBstream*` provided by the host
|
||||
* supports stream attributes and configures the object accordingly.
|
||||
*/
|
||||
YaBStream();
|
||||
YaBStream() noexcept;
|
||||
|
||||
/**
|
||||
* Read an existing stream.
|
||||
@@ -53,7 +53,7 @@ class YaBStream : public Steinberg::IBStream,
|
||||
*/
|
||||
YaBStream(Steinberg::IBStream* stream);
|
||||
|
||||
virtual ~YaBStream();
|
||||
virtual ~YaBStream() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
@@ -66,7 +66,7 @@ class YaBStream : public Steinberg::IBStream,
|
||||
/**
|
||||
* Return the buffer's, used in the logging messages.
|
||||
*/
|
||||
size_t size() const;
|
||||
size_t size() const noexcept;
|
||||
|
||||
// From `IBstream`
|
||||
tresult PLUGIN_API read(void* buffer,
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
#include "component-handler-proxy.h"
|
||||
|
||||
Vst3ComponentHandlerProxy::ConstructArgs::ConstructArgs() {}
|
||||
Vst3ComponentHandlerProxy::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
Vst3ComponentHandlerProxy::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object,
|
||||
size_t owner_instance_id)
|
||||
size_t owner_instance_id) noexcept
|
||||
: owner_instance_id(owner_instance_id),
|
||||
component_handler_args(object),
|
||||
component_handler_2_args(object),
|
||||
@@ -30,7 +30,8 @@ Vst3ComponentHandlerProxy::ConstructArgs::ConstructArgs(
|
||||
unit_handler_args(object),
|
||||
unit_handler_2_args(object) {}
|
||||
|
||||
Vst3ComponentHandlerProxy::Vst3ComponentHandlerProxy(const ConstructArgs&& args)
|
||||
Vst3ComponentHandlerProxy::Vst3ComponentHandlerProxy(
|
||||
const ConstructArgs&& args) noexcept
|
||||
: YaComponentHandler(std::move(args.component_handler_args)),
|
||||
YaComponentHandler2(std::move(args.component_handler_2_args)),
|
||||
YaComponentHandler3(std::move(args.component_handler_3_args)),
|
||||
@@ -41,7 +42,7 @@ Vst3ComponentHandlerProxy::Vst3ComponentHandlerProxy(const ConstructArgs&& args)
|
||||
YaUnitHandler2(std::move(args.unit_handler_2_args)),
|
||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||
|
||||
Vst3ComponentHandlerProxy::~Vst3ComponentHandlerProxy() {
|
||||
Vst3ComponentHandlerProxy::~Vst3ComponentHandlerProxy() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -49,14 +49,14 @@ class Vst3ComponentHandlerProxy : public YaComponentHandler,
|
||||
* `Vst3ComponentHandlerProxyImpl`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Read from an existing object. We will try to mimic this object, so
|
||||
* we'll support any interfaces this object also supports.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<FUnknown> object,
|
||||
size_t owner_instance_id);
|
||||
size_t owner_instance_id) noexcept;
|
||||
|
||||
/**
|
||||
* The unique instance identifier of the proxy object instance this
|
||||
@@ -98,7 +98,7 @@ class Vst3ComponentHandlerProxy : public YaComponentHandler,
|
||||
* that of the objects they are passed to. If those objects get dropped,
|
||||
* then the host contexts should also be dropped.
|
||||
*/
|
||||
Vst3ComponentHandlerProxy(const ConstructArgs&& args);
|
||||
Vst3ComponentHandlerProxy(const ConstructArgs&& args) noexcept;
|
||||
|
||||
/**
|
||||
* The lifetime of this object should be bound to the object we created it
|
||||
@@ -106,14 +106,14 @@ class Vst3ComponentHandlerProxy : public YaComponentHandler,
|
||||
* dropped a corresponding `Vst3ComponentHandlerProxyImpl` should also be
|
||||
* dropped.
|
||||
*/
|
||||
virtual ~Vst3ComponentHandlerProxy();
|
||||
virtual ~Vst3ComponentHandlerProxy() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
/**
|
||||
* Get the instance ID of the owner of this object.
|
||||
*/
|
||||
inline size_t owner_instance_id() const {
|
||||
inline size_t owner_instance_id() const noexcept {
|
||||
return arguments.owner_instance_id;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "component-handler-2.h"
|
||||
|
||||
YaComponentHandler2::ConstructArgs::ConstructArgs() {}
|
||||
YaComponentHandler2::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaComponentHandler2::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IComponentHandler2>(object)) {}
|
||||
|
||||
YaComponentHandler2::YaComponentHandler2(const ConstructArgs&& args)
|
||||
YaComponentHandler2::YaComponentHandler2(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -34,13 +34,13 @@ class YaComponentHandler2 : public Steinberg::Vst::IComponentHandler2 {
|
||||
* These are the arguments for creating a `YaComponentHandler2`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IComponentHandler2` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -57,9 +57,9 @@ class YaComponentHandler2 : public Steinberg::Vst::IComponentHandler2 {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaComponentHandler2(const ConstructArgs&& args);
|
||||
YaComponentHandler2(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to `IComponentHandler2::setDirty(state)`
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "component-handler-3.h"
|
||||
|
||||
YaComponentHandler3::ConstructArgs::ConstructArgs() {}
|
||||
YaComponentHandler3::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaComponentHandler3::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IComponentHandler3>(object)) {}
|
||||
|
||||
YaComponentHandler3::YaComponentHandler3(const ConstructArgs&& args)
|
||||
YaComponentHandler3::YaComponentHandler3(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -36,13 +36,13 @@ class YaComponentHandler3 : public Steinberg::Vst::IComponentHandler3 {
|
||||
* These are the arguments for creating a `YaComponentHandler3`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IComponentHandler3` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -59,9 +59,9 @@ class YaComponentHandler3 : public Steinberg::Vst::IComponentHandler3 {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaComponentHandler3(const ConstructArgs&& args);
|
||||
YaComponentHandler3(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* The arguments needed to create a proxy object for the context menu
|
||||
|
||||
+3
-3
@@ -16,13 +16,13 @@
|
||||
|
||||
#include "component-handler-bus-activation.h"
|
||||
|
||||
YaComponentHandlerBusActivation::ConstructArgs::ConstructArgs() {}
|
||||
YaComponentHandlerBusActivation::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaComponentHandlerBusActivation::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<
|
||||
Steinberg::Vst::IComponentHandlerBusActivation>(object)) {}
|
||||
|
||||
YaComponentHandlerBusActivation::YaComponentHandlerBusActivation(
|
||||
const ConstructArgs&& args)
|
||||
const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -37,13 +37,13 @@ class YaComponentHandlerBusActivation
|
||||
* These are the arguments for creating a `YaComponentHandlerBusActivation`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IComponentHandlerBusActivation` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -60,9 +60,9 @@ class YaComponentHandlerBusActivation
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaComponentHandlerBusActivation(const ConstructArgs&& args);
|
||||
YaComponentHandlerBusActivation(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "component-handler.h"
|
||||
|
||||
YaComponentHandler::ConstructArgs::ConstructArgs() {}
|
||||
YaComponentHandler::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaComponentHandler::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IComponentHandler>(object)) {}
|
||||
|
||||
YaComponentHandler::YaComponentHandler(const ConstructArgs&& args)
|
||||
YaComponentHandler::YaComponentHandler(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -34,13 +34,13 @@ class YaComponentHandler : public Steinberg::Vst::IComponentHandler {
|
||||
* These are the arguments for creating a `YaComponentHandler`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IComponentHandler` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -57,9 +57,9 @@ class YaComponentHandler : public Steinberg::Vst::IComponentHandler {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaComponentHandler(const ConstructArgs&& args);
|
||||
YaComponentHandler(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to `IComponentHandler::beginEdit(id)` to
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
#include "progress.h"
|
||||
|
||||
YaProgress::ConstructArgs::ConstructArgs() {}
|
||||
YaProgress::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaProgress::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::Vst::IProgress>(object)) {}
|
||||
|
||||
YaProgress::YaProgress(const ConstructArgs&& args)
|
||||
YaProgress::YaProgress(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -35,13 +35,13 @@ class YaProgress : public Steinberg::Vst::IProgress {
|
||||
* These are the arguments for creating a `YaProgress`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements `IProgress`
|
||||
* and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -58,9 +58,9 @@ class YaProgress : public Steinberg::Vst::IProgress {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaProgress(const ConstructArgs&& args);
|
||||
YaProgress(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* The response code and returned ID for a call to `IProgress::start(type,
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "unit-handler-2.h"
|
||||
|
||||
YaUnitHandler2::ConstructArgs::ConstructArgs() {}
|
||||
YaUnitHandler2::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaUnitHandler2::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::Vst::IUnitHandler2>(object)) {
|
||||
}
|
||||
|
||||
YaUnitHandler2::YaUnitHandler2(const ConstructArgs&& args)
|
||||
YaUnitHandler2::YaUnitHandler2(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -34,13 +34,13 @@ class YaUnitHandler2 : public Steinberg::Vst::IUnitHandler2 {
|
||||
* These are the arguments for creating a `YaUnitHandler2`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements `IUnitHandler2`
|
||||
* and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -57,9 +57,9 @@ class YaUnitHandler2 : public Steinberg::Vst::IUnitHandler2 {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaUnitHandler2(const ConstructArgs&& args);
|
||||
YaUnitHandler2(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
#include "unit-handler.h"
|
||||
|
||||
YaUnitHandler::ConstructArgs::ConstructArgs() {}
|
||||
YaUnitHandler::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaUnitHandler::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::Vst::IUnitHandler>(object)) {}
|
||||
|
||||
YaUnitHandler::YaUnitHandler(const ConstructArgs&& args)
|
||||
YaUnitHandler::YaUnitHandler(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -34,13 +34,13 @@ class YaUnitHandler : public Steinberg::Vst::IUnitHandler {
|
||||
* These are the arguments for creating a `YaUnitHandler`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements `IUnitHandler`
|
||||
* and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -57,9 +57,9 @@ class YaUnitHandler : public Steinberg::Vst::IUnitHandler {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaUnitHandler(const ConstructArgs&& args);
|
||||
YaUnitHandler(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,11 +16,12 @@
|
||||
|
||||
#include "connection-point-proxy.h"
|
||||
|
||||
Vst3ConnectionPointProxy::Vst3ConnectionPointProxy(const ConstructArgs&& args)
|
||||
Vst3ConnectionPointProxy::Vst3ConnectionPointProxy(
|
||||
const ConstructArgs&& args) noexcept
|
||||
: YaConnectionPoint(std::move(args.connection_point_args)),
|
||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||
|
||||
Vst3ConnectionPointProxy::~Vst3ConnectionPointProxy() {
|
||||
Vst3ConnectionPointProxy::~Vst3ConnectionPointProxy() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -50,20 +50,20 @@ class Vst3ConnectionPointProxy : public YaConnectionPoint {
|
||||
* @note This object will be created as part of handling
|
||||
* `IConnectionPoint::connect()` if the connection is indirect.
|
||||
*/
|
||||
Vst3ConnectionPointProxy(const ConstructArgs&& args);
|
||||
Vst3ConnectionPointProxy(const ConstructArgs&& args) noexcept;
|
||||
|
||||
/**
|
||||
* This object will be destroyed again during
|
||||
* `IConnectionPoint::disconnect()`.
|
||||
*/
|
||||
virtual ~Vst3ConnectionPointProxy();
|
||||
virtual ~Vst3ConnectionPointProxy() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
/**
|
||||
* Get the instance ID of the owner of this object.
|
||||
*/
|
||||
inline size_t owner_instance_id() const {
|
||||
inline size_t owner_instance_id() const noexcept {
|
||||
return arguments.owner_instance_id;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,21 +16,21 @@
|
||||
|
||||
#include "context-menu-proxy.h"
|
||||
|
||||
Vst3ContextMenuProxy::ConstructArgs::ConstructArgs() {}
|
||||
Vst3ContextMenuProxy::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
Vst3ContextMenuProxy::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object,
|
||||
size_t owner_instance_id,
|
||||
size_t context_menu_id)
|
||||
size_t context_menu_id) noexcept
|
||||
: owner_instance_id(owner_instance_id),
|
||||
context_menu_id(context_menu_id),
|
||||
context_menu_args(object) {}
|
||||
|
||||
Vst3ContextMenuProxy::Vst3ContextMenuProxy(const ConstructArgs&& args)
|
||||
Vst3ContextMenuProxy::Vst3ContextMenuProxy(const ConstructArgs&& args) noexcept
|
||||
: YaContextMenu(std::move(args.context_menu_args)),
|
||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||
|
||||
Vst3ContextMenuProxy::~Vst3ContextMenuProxy() {
|
||||
Vst3ContextMenuProxy::~Vst3ContextMenuProxy() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ class Vst3ContextMenuProxy : public YaContextMenu {
|
||||
* These are the arguments for constructing a `Vst3ContextMenuProxyImpl`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Read from an existing object. We will try to mimic this object, so
|
||||
@@ -49,7 +49,7 @@ class Vst3ContextMenuProxy : public YaContextMenu {
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<FUnknown> object,
|
||||
size_t owner_instance_id,
|
||||
size_t context_menu_id);
|
||||
size_t context_menu_id) noexcept;
|
||||
|
||||
/**
|
||||
* The unique instance identifier of the proxy object instance this
|
||||
@@ -90,7 +90,7 @@ class Vst3ContextMenuProxy : public YaContextMenu {
|
||||
* struct. We need to use raw pointers or references here so we can refer
|
||||
* to the object without interfering with the reference count.
|
||||
*/
|
||||
Vst3ContextMenuProxy(const ConstructArgs&& args);
|
||||
Vst3ContextMenuProxy(const ConstructArgs&& args) noexcept;
|
||||
|
||||
/**
|
||||
* Message to request the plugin to drop the the `IContextMenu*` returned by
|
||||
@@ -115,21 +115,23 @@ class Vst3ContextMenuProxy : public YaContextMenu {
|
||||
* the pointer to the actual `IContextMenu*` returend by the host during
|
||||
* `IComponentHandler3::createContextMenu`.
|
||||
*/
|
||||
virtual ~Vst3ContextMenuProxy() = 0;
|
||||
virtual ~Vst3ContextMenuProxy() noexcept = 0;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
/**
|
||||
* Get the instance ID of the owner of this object.
|
||||
*/
|
||||
inline size_t owner_instance_id() const {
|
||||
inline size_t owner_instance_id() const noexcept {
|
||||
return arguments.owner_instance_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the unique ID for this context menu.
|
||||
*/
|
||||
inline size_t context_menu_id() const { return arguments.context_menu_id; }
|
||||
inline size_t context_menu_id() const noexcept {
|
||||
return arguments.context_menu_id;
|
||||
}
|
||||
|
||||
private:
|
||||
ConstructArgs arguments;
|
||||
|
||||
@@ -16,20 +16,20 @@
|
||||
|
||||
#include "context-menu-target.h"
|
||||
|
||||
YaContextMenuTarget::ConstructArgs::ConstructArgs() {}
|
||||
YaContextMenuTarget::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaContextMenuTarget::ConstructArgs::ConstructArgs(
|
||||
native_size_t owner_instance_id,
|
||||
native_size_t context_menu_id,
|
||||
int32 tag)
|
||||
int32 tag) noexcept
|
||||
: owner_instance_id(owner_instance_id),
|
||||
context_menu_id(context_menu_id),
|
||||
tag(tag) {}
|
||||
|
||||
YaContextMenuTarget::YaContextMenuTarget(const ConstructArgs&& args)
|
||||
YaContextMenuTarget::YaContextMenuTarget(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||
|
||||
YaContextMenuTarget::~YaContextMenuTarget() {
|
||||
YaContextMenuTarget::~YaContextMenuTarget() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ class YaContextMenuTarget : public Steinberg::Vst::IContextMenuTarget {
|
||||
* `YaContextMenuTargetImpl`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Read from an existing object. We will try to mimic this object, so
|
||||
@@ -51,7 +51,7 @@ class YaContextMenuTarget : public Steinberg::Vst::IContextMenuTarget {
|
||||
*/
|
||||
ConstructArgs(native_size_t owner_instance_id,
|
||||
native_size_t context_menu_id,
|
||||
int32 tag);
|
||||
int32 tag) noexcept;
|
||||
|
||||
native_size_t owner_instance_id;
|
||||
native_size_t context_menu_id;
|
||||
@@ -69,16 +69,16 @@ class YaContextMenuTarget : public Steinberg::Vst::IContextMenuTarget {
|
||||
* Create context menu target that when called, calls the corresponding
|
||||
* context menu target provided by the object.
|
||||
*/
|
||||
YaContextMenuTarget(const ConstructArgs&& args);
|
||||
YaContextMenuTarget(const ConstructArgs&& args) noexcept;
|
||||
|
||||
~YaContextMenuTarget();
|
||||
~YaContextMenuTarget() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
/**
|
||||
* Get the instance ID of the owner of this object.
|
||||
*/
|
||||
inline size_t owner_instance_id() const {
|
||||
inline size_t owner_instance_id() const noexcept {
|
||||
return arguments.owner_instance_id;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
#include "context-menu.h"
|
||||
|
||||
YaContextMenu::ConstructArgs::ConstructArgs() {}
|
||||
YaContextMenu::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaContextMenu::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::Vst::IContextMenu>(object)) {}
|
||||
|
||||
YaContextMenu::YaContextMenu(const ConstructArgs&& args)
|
||||
YaContextMenu::YaContextMenu(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -36,13 +36,13 @@ class YaContextMenu : public Steinberg::Vst::IContextMenu {
|
||||
* These are the arguments for creating a `YaContextMenu`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements `IContextMenu`
|
||||
* and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -59,9 +59,9 @@ class YaContextMenu : public Steinberg::Vst::IContextMenu {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaContextMenu(const ConstructArgs&& args);
|
||||
YaContextMenu(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to `IContextMenu::getItemCount()` to the
|
||||
|
||||
@@ -18,26 +18,27 @@
|
||||
|
||||
#include "src/common/utils.h"
|
||||
|
||||
YaDataEvent::YaDataEvent() {}
|
||||
YaDataEvent::YaDataEvent() noexcept {}
|
||||
|
||||
YaDataEvent::YaDataEvent(const Steinberg::Vst::DataEvent& event)
|
||||
YaDataEvent::YaDataEvent(const Steinberg::Vst::DataEvent& event) noexcept
|
||||
: type(event.type), buffer(event.bytes, event.bytes + event.size) {}
|
||||
|
||||
Steinberg::Vst::DataEvent YaDataEvent::get() const {
|
||||
Steinberg::Vst::DataEvent YaDataEvent::get() const noexcept {
|
||||
return Steinberg::Vst::DataEvent{.size = static_cast<uint32>(buffer.size()),
|
||||
.type = type,
|
||||
.bytes = buffer.data()};
|
||||
}
|
||||
|
||||
YaNoteExpressionTextEvent::YaNoteExpressionTextEvent() {}
|
||||
YaNoteExpressionTextEvent::YaNoteExpressionTextEvent() noexcept {}
|
||||
|
||||
YaNoteExpressionTextEvent::YaNoteExpressionTextEvent(
|
||||
const Steinberg::Vst::NoteExpressionTextEvent& event)
|
||||
const Steinberg::Vst::NoteExpressionTextEvent& event) noexcept
|
||||
: type_id(event.typeId),
|
||||
note_id(event.noteId),
|
||||
text(tchar_pointer_to_u16string(event.text, event.textLen)) {}
|
||||
|
||||
Steinberg::Vst::NoteExpressionTextEvent YaNoteExpressionTextEvent::get() const {
|
||||
Steinberg::Vst::NoteExpressionTextEvent YaNoteExpressionTextEvent::get()
|
||||
const noexcept {
|
||||
return Steinberg::Vst::NoteExpressionTextEvent{
|
||||
.typeId = type_id,
|
||||
.noteId = note_id,
|
||||
@@ -45,15 +46,15 @@ Steinberg::Vst::NoteExpressionTextEvent YaNoteExpressionTextEvent::get() const {
|
||||
.text = u16string_to_tchar_pointer(text)};
|
||||
}
|
||||
|
||||
YaChordEvent::YaChordEvent() {}
|
||||
YaChordEvent::YaChordEvent() noexcept {}
|
||||
|
||||
YaChordEvent::YaChordEvent(const Steinberg::Vst::ChordEvent& event)
|
||||
YaChordEvent::YaChordEvent(const Steinberg::Vst::ChordEvent& event) noexcept
|
||||
: root(event.root),
|
||||
bass_note(event.bassNote),
|
||||
mask(event.mask),
|
||||
text(tchar_pointer_to_u16string(event.text, event.textLen)) {}
|
||||
|
||||
Steinberg::Vst::ChordEvent YaChordEvent::get() const {
|
||||
Steinberg::Vst::ChordEvent YaChordEvent::get() const noexcept {
|
||||
return Steinberg::Vst::ChordEvent{
|
||||
.root = root,
|
||||
.bassNote = bass_note,
|
||||
@@ -62,14 +63,14 @@ Steinberg::Vst::ChordEvent YaChordEvent::get() const {
|
||||
.text = u16string_to_tchar_pointer(text)};
|
||||
}
|
||||
|
||||
YaScaleEvent::YaScaleEvent() {}
|
||||
YaScaleEvent::YaScaleEvent() noexcept {}
|
||||
|
||||
YaScaleEvent::YaScaleEvent(const Steinberg::Vst::ScaleEvent& event)
|
||||
YaScaleEvent::YaScaleEvent(const Steinberg::Vst::ScaleEvent& event) noexcept
|
||||
: root(event.root),
|
||||
mask(event.mask),
|
||||
text(tchar_pointer_to_u16string(event.text, event.textLen)) {}
|
||||
|
||||
Steinberg::Vst::ScaleEvent YaScaleEvent::get() const {
|
||||
Steinberg::Vst::ScaleEvent YaScaleEvent::get() const noexcept {
|
||||
return Steinberg::Vst::ScaleEvent{
|
||||
.root = root,
|
||||
.mask = mask,
|
||||
@@ -77,9 +78,9 @@ Steinberg::Vst::ScaleEvent YaScaleEvent::get() const {
|
||||
.text = u16string_to_tchar_pointer(text)};
|
||||
}
|
||||
|
||||
YaEvent::YaEvent() {}
|
||||
YaEvent::YaEvent() noexcept {}
|
||||
|
||||
YaEvent::YaEvent(const Steinberg::Vst::Event& event)
|
||||
YaEvent::YaEvent(const Steinberg::Vst::Event& event) noexcept
|
||||
: bus_index(event.busIndex),
|
||||
sample_offset(event.sampleOffset),
|
||||
ppq_position(event.ppqPosition),
|
||||
@@ -121,7 +122,7 @@ YaEvent::YaEvent(const Steinberg::Vst::Event& event)
|
||||
}
|
||||
}
|
||||
|
||||
Steinberg::Vst::Event YaEvent::get() const {
|
||||
Steinberg::Vst::Event YaEvent::get() const noexcept {
|
||||
// We of course can't fully initialize a field with an untagged union
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
|
||||
@@ -174,11 +175,11 @@ Steinberg::Vst::Event YaEvent::get() const {
|
||||
return event;
|
||||
}
|
||||
|
||||
YaEventList::YaEventList() {
|
||||
YaEventList::YaEventList() noexcept {
|
||||
FUNKNOWN_CTOR
|
||||
}
|
||||
|
||||
void YaEventList::clear() {
|
||||
void YaEventList::clear() noexcept {
|
||||
events.clear();
|
||||
}
|
||||
|
||||
@@ -195,9 +196,9 @@ void YaEventList::repopulate(Steinberg::Vst::IEventList& event_list) {
|
||||
}
|
||||
}
|
||||
|
||||
YaEventList::~YaEventList(){FUNKNOWN_DTOR}
|
||||
YaEventList::~YaEventList() noexcept {FUNKNOWN_DTOR}
|
||||
|
||||
size_t YaEventList::num_events() const {
|
||||
size_t YaEventList::num_events() const noexcept {
|
||||
return events.size();
|
||||
}
|
||||
|
||||
|
||||
@@ -29,12 +29,12 @@
|
||||
* contains a heap array.
|
||||
*/
|
||||
struct YaDataEvent {
|
||||
YaDataEvent();
|
||||
YaDataEvent() noexcept;
|
||||
|
||||
/**
|
||||
* Copy data from an existing `DataEvent`.
|
||||
*/
|
||||
YaDataEvent(const Steinberg::Vst::DataEvent& event);
|
||||
YaDataEvent(const Steinberg::Vst::DataEvent& event) noexcept;
|
||||
|
||||
/**
|
||||
* Reconstruct a `DataEvent` from this object.
|
||||
@@ -42,7 +42,7 @@ struct YaDataEvent {
|
||||
* @note This object may contain pointers to data stored in this object, and
|
||||
* must thus not outlive it.
|
||||
*/
|
||||
Steinberg::Vst::DataEvent get() const;
|
||||
Steinberg::Vst::DataEvent get() const noexcept;
|
||||
|
||||
uint32 type;
|
||||
std::vector<uint8> buffer;
|
||||
@@ -59,13 +59,13 @@ struct YaDataEvent {
|
||||
* this event contains a heap array.
|
||||
*/
|
||||
struct YaNoteExpressionTextEvent {
|
||||
YaNoteExpressionTextEvent();
|
||||
YaNoteExpressionTextEvent() noexcept;
|
||||
|
||||
/**
|
||||
* Copy data from an existing `NoteExpressionTextEvent`.
|
||||
*/
|
||||
YaNoteExpressionTextEvent(
|
||||
const Steinberg::Vst::NoteExpressionTextEvent& event);
|
||||
const Steinberg::Vst::NoteExpressionTextEvent& event) noexcept;
|
||||
|
||||
/**
|
||||
* Reconstruct a `NoteExpressionTextEvent` from this object.
|
||||
@@ -73,7 +73,7 @@ struct YaNoteExpressionTextEvent {
|
||||
* @note This object may contain pointers to data stored in this object, and
|
||||
* must thus not outlive it.
|
||||
*/
|
||||
Steinberg::Vst::NoteExpressionTextEvent get() const;
|
||||
Steinberg::Vst::NoteExpressionTextEvent get() const noexcept;
|
||||
|
||||
Steinberg::Vst::NoteExpressionTypeID type_id;
|
||||
int32 note_id;
|
||||
@@ -93,12 +93,12 @@ struct YaNoteExpressionTextEvent {
|
||||
* contains a heap array.
|
||||
*/
|
||||
struct YaChordEvent {
|
||||
YaChordEvent();
|
||||
YaChordEvent() noexcept;
|
||||
|
||||
/**
|
||||
* Copy data from an existing `ChordEvent`.
|
||||
*/
|
||||
YaChordEvent(const Steinberg::Vst::ChordEvent& event);
|
||||
YaChordEvent(const Steinberg::Vst::ChordEvent& event) noexcept;
|
||||
|
||||
/**
|
||||
* Reconstruct a `ChordEvent` from this object.
|
||||
@@ -106,7 +106,7 @@ struct YaChordEvent {
|
||||
* @note This object may contain pointers to data stored in this object, and
|
||||
* must thus not outlive it.
|
||||
*/
|
||||
Steinberg::Vst::ChordEvent get() const;
|
||||
Steinberg::Vst::ChordEvent get() const noexcept;
|
||||
|
||||
int16 root;
|
||||
int16 bass_note;
|
||||
@@ -128,12 +128,12 @@ struct YaChordEvent {
|
||||
* contains a heap array.
|
||||
*/
|
||||
struct YaScaleEvent {
|
||||
YaScaleEvent();
|
||||
YaScaleEvent() noexcept;
|
||||
|
||||
/**
|
||||
* Copy data from an existing `ScaleEvent`.
|
||||
*/
|
||||
YaScaleEvent(const Steinberg::Vst::ScaleEvent& event);
|
||||
YaScaleEvent(const Steinberg::Vst::ScaleEvent& event) noexcept;
|
||||
|
||||
/**
|
||||
* Reconstruct a `ScaleEvent` from this object.
|
||||
@@ -141,7 +141,7 @@ struct YaScaleEvent {
|
||||
* @note This object may contain pointers to data stored in this object, and
|
||||
* must thus not outlive it.
|
||||
*/
|
||||
Steinberg::Vst::ScaleEvent get() const;
|
||||
Steinberg::Vst::ScaleEvent get() const noexcept;
|
||||
|
||||
int16 root;
|
||||
int16 mask;
|
||||
@@ -161,12 +161,12 @@ struct YaScaleEvent {
|
||||
* include heap pointers.
|
||||
*/
|
||||
struct YaEvent {
|
||||
YaEvent();
|
||||
YaEvent() noexcept;
|
||||
|
||||
/**
|
||||
* Copy data from an `Event`.
|
||||
*/
|
||||
YaEvent(const Steinberg::Vst::Event& event);
|
||||
YaEvent(const Steinberg::Vst::Event& event) noexcept;
|
||||
|
||||
/**
|
||||
* Reconstruct an `Event` from this object.
|
||||
@@ -174,7 +174,7 @@ struct YaEvent {
|
||||
* @note This object may contain pointers to data stored in this object, and
|
||||
* must thus not outlive it.
|
||||
*/
|
||||
Steinberg::Vst::Event get() const;
|
||||
Steinberg::Vst::Event get() const noexcept;
|
||||
|
||||
// These fields directly reflect those from `Event`
|
||||
int32 bus_index;
|
||||
@@ -217,28 +217,28 @@ class YaEventList : public Steinberg::Vst::IEventList {
|
||||
* existing object with new events every processing cycle to avoid
|
||||
* reallocating a new object every time.
|
||||
*/
|
||||
YaEventList();
|
||||
YaEventList() noexcept;
|
||||
|
||||
/**
|
||||
* Remove all events. Used when a null pointer gets passed to the input
|
||||
* events field, and so the plugin can output its own events if the host
|
||||
* supports this.
|
||||
*/
|
||||
void clear();
|
||||
void clear() noexcept;
|
||||
|
||||
/**
|
||||
* Read data from an `IEventList` object into this existing object.
|
||||
*/
|
||||
void repopulate(Steinberg::Vst::IEventList& event_list);
|
||||
|
||||
~YaEventList();
|
||||
~YaEventList() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
/**
|
||||
* Return the number of events we store. Used in debug logs.
|
||||
*/
|
||||
size_t num_events() const;
|
||||
size_t num_events() const noexcept;
|
||||
|
||||
/**
|
||||
* Write these events an output events queue on the `ProcessData` object
|
||||
|
||||
@@ -16,21 +16,21 @@
|
||||
|
||||
#include "host-context-proxy.h"
|
||||
|
||||
Vst3HostContextProxy::ConstructArgs::ConstructArgs() {}
|
||||
Vst3HostContextProxy::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
Vst3HostContextProxy::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object,
|
||||
std::optional<size_t> owner_instance_id)
|
||||
std::optional<size_t> owner_instance_id) noexcept
|
||||
: owner_instance_id(owner_instance_id),
|
||||
host_application_args(object),
|
||||
plug_interface_support_args(object) {}
|
||||
|
||||
Vst3HostContextProxy::Vst3HostContextProxy(const ConstructArgs&& args)
|
||||
Vst3HostContextProxy::Vst3HostContextProxy(const ConstructArgs&& args) noexcept
|
||||
: YaHostApplication(std::move(args.host_application_args)),
|
||||
YaPlugInterfaceSupport(std::move(args.plug_interface_support_args)),
|
||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||
|
||||
Vst3HostContextProxy::~Vst3HostContextProxy() {
|
||||
Vst3HostContextProxy::~Vst3HostContextProxy() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -41,14 +41,14 @@ class Vst3HostContextProxy : public YaHostApplication,
|
||||
* `Vst3HostContextProxyImpl`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Read from an existing object. We will try to mimic this object, so
|
||||
* we'll support any interfaces this object also supports.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<FUnknown> object,
|
||||
std::optional<size_t> owner_instance_id);
|
||||
std::optional<size_t> owner_instance_id) noexcept;
|
||||
|
||||
/**
|
||||
* The unique instance identifier of the proxy object instance this host
|
||||
@@ -81,7 +81,7 @@ class Vst3HostContextProxy : public YaHostApplication,
|
||||
* objects they are passed to. If those objects get dropped, then the host
|
||||
* contexts should also be dropped.
|
||||
*/
|
||||
Vst3HostContextProxy(const ConstructArgs&& args);
|
||||
Vst3HostContextProxy(const ConstructArgs&& args) noexcept;
|
||||
|
||||
/**
|
||||
* The lifetime of this object should be bound to the object we created it
|
||||
@@ -89,7 +89,7 @@ class Vst3HostContextProxy : public YaHostApplication,
|
||||
* dropped a corresponding `Vst3HostContextProxyImpl` should also be
|
||||
* dropped.
|
||||
*/
|
||||
virtual ~Vst3HostContextProxy();
|
||||
virtual ~Vst3HostContextProxy() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
@@ -97,7 +97,7 @@ class Vst3HostContextProxy : public YaHostApplication,
|
||||
* Get the instance ID of the owner of this object, if this is not the
|
||||
* global host context passed to the module's plugin factory.
|
||||
*/
|
||||
inline std::optional<size_t> owner_instance_id() const {
|
||||
inline std::optional<size_t> owner_instance_id() const noexcept {
|
||||
return arguments.owner_instance_id;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "host-application.h"
|
||||
|
||||
YaHostApplication::ConstructArgs::ConstructArgs() {}
|
||||
YaHostApplication::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaHostApplication::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IHostApplication>(object)) {}
|
||||
|
||||
YaHostApplication::YaHostApplication(const ConstructArgs&& args)
|
||||
YaHostApplication::YaHostApplication(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -38,13 +38,13 @@ class YaHostApplication : public Steinberg::Vst::IHostApplication {
|
||||
* These are the arguments for creating a `YaHostApplication`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IHostApplication` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -61,9 +61,9 @@ class YaHostApplication : public Steinberg::Vst::IHostApplication {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaHostApplication(const ConstructArgs&& args);
|
||||
YaHostApplication(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* The response code and resulting value for a call to
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "plug-interface-support.h"
|
||||
|
||||
YaPlugInterfaceSupport::ConstructArgs::ConstructArgs() {}
|
||||
YaPlugInterfaceSupport::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaPlugInterfaceSupport::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::Vst::IPlugInterfaceSupport>(
|
||||
object)) {}
|
||||
|
||||
YaPlugInterfaceSupport::YaPlugInterfaceSupport(const ConstructArgs&& args)
|
||||
YaPlugInterfaceSupport::YaPlugInterfaceSupport(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -35,13 +35,13 @@ class YaPlugInterfaceSupport : public Steinberg::Vst::IPlugInterfaceSupport {
|
||||
* These are the arguments for creating a `YaPlugInterfaceSupport`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IPlugInterfaceSupport` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -58,9 +58,9 @@ class YaPlugInterfaceSupport : public Steinberg::Vst::IPlugInterfaceSupport {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaPlugInterfaceSupport(const ConstructArgs&& args);
|
||||
YaPlugInterfaceSupport(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
#include "message.h"
|
||||
|
||||
YaMessagePtr::YaMessagePtr(){FUNKNOWN_CTOR}
|
||||
YaMessagePtr::YaMessagePtr() noexcept {FUNKNOWN_CTOR}
|
||||
|
||||
YaMessagePtr::YaMessagePtr(IMessage& message)
|
||||
: message_id(message.getMessageID()
|
||||
@@ -25,7 +25,7 @@ YaMessagePtr::YaMessagePtr(IMessage& message)
|
||||
original_message_ptr(static_cast<native_size_t>(
|
||||
reinterpret_cast<size_t>(&message))){FUNKNOWN_CTOR}
|
||||
|
||||
YaMessagePtr::~YaMessagePtr() {
|
||||
YaMessagePtr::~YaMessagePtr() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ IMPLEMENT_FUNKNOWN_METHODS(YaMessagePtr,
|
||||
Steinberg::Vst::IMessage::iid)
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
Steinberg::Vst::IMessage* YaMessagePtr::get_original() const {
|
||||
Steinberg::Vst::IMessage* YaMessagePtr::get_original() const noexcept {
|
||||
// See the docstrings on `YaMessage` and `YaMessagePtr`
|
||||
return reinterpret_cast<IMessage*>(
|
||||
static_cast<size_t>(original_message_ptr));
|
||||
@@ -62,9 +62,9 @@ Steinberg::Vst::IAttributeList* PLUGIN_API YaMessagePtr::getAttributes() {
|
||||
return &attribute_list;
|
||||
}
|
||||
|
||||
YaMessage::YaMessage(){FUNKNOWN_CTOR}
|
||||
YaMessage::YaMessage() noexcept {FUNKNOWN_CTOR}
|
||||
|
||||
YaMessage::~YaMessage() {
|
||||
YaMessage::~YaMessage() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
*/
|
||||
class YaMessagePtr : public Steinberg::Vst::IMessage {
|
||||
public:
|
||||
YaMessagePtr();
|
||||
YaMessagePtr() noexcept;
|
||||
|
||||
/**
|
||||
* Create a proxy for this message. We'll store the message's ID for logging
|
||||
@@ -54,7 +54,7 @@ class YaMessagePtr : public Steinberg::Vst::IMessage {
|
||||
*/
|
||||
explicit YaMessagePtr(IMessage& message);
|
||||
|
||||
~YaMessagePtr();
|
||||
~YaMessagePtr() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
@@ -63,7 +63,7 @@ class YaMessagePtr : public Steinberg::Vst::IMessage {
|
||||
* constructor. This should be used on the Wine plugin host side when
|
||||
* handling `IConnectionPoint::notify`.
|
||||
*/
|
||||
Steinberg::Vst::IMessage* get_original() const;
|
||||
Steinberg::Vst::IMessage* get_original() const noexcept;
|
||||
|
||||
virtual Steinberg::FIDString PLUGIN_API getMessageID() override;
|
||||
virtual void PLUGIN_API
|
||||
@@ -122,9 +122,9 @@ class YaMessage : public Steinberg::Vst::IMessage {
|
||||
* Default constructor with an empty message. The plugin can use this to
|
||||
* write a message.
|
||||
*/
|
||||
YaMessage();
|
||||
YaMessage() noexcept;
|
||||
|
||||
~YaMessage();
|
||||
~YaMessage() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
|
||||
@@ -16,12 +16,14 @@
|
||||
|
||||
#include "param-value-queue.h"
|
||||
|
||||
YaParamValueQueue::YaParamValueQueue() {
|
||||
FUNKNOWN_CTOR
|
||||
YaParamValueQueue::YaParamValueQueue() noexcept {FUNKNOWN_CTOR}
|
||||
|
||||
YaParamValueQueue::~YaParamValueQueue() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
void YaParamValueQueue::clear_for_parameter(
|
||||
Steinberg::Vst::ParamID parameter_id) {
|
||||
Steinberg::Vst::ParamID parameter_id) noexcept {
|
||||
this->parameter_id = parameter_id;
|
||||
queue.clear();
|
||||
}
|
||||
@@ -39,10 +41,6 @@ void YaParamValueQueue::repopulate(
|
||||
}
|
||||
}
|
||||
|
||||
YaParamValueQueue::~YaParamValueQueue() {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
|
||||
IMPLEMENT_FUNKNOWN_METHODS(YaParamValueQueue,
|
||||
|
||||
@@ -36,20 +36,20 @@ class YaParamValueQueue : public Steinberg::Vst::IParamValueQueue {
|
||||
* existing object with new data every processing cycle to avoid
|
||||
* reallocating a new object every time.
|
||||
*/
|
||||
YaParamValueQueue();
|
||||
YaParamValueQueue() noexcept;
|
||||
|
||||
/**
|
||||
* Clear this queue in place so that it can be used to write parameter data
|
||||
* to. Used in `YaParameterChanges::addParameterData`.
|
||||
*/
|
||||
void clear_for_parameter(Steinberg::Vst::ParamID parameter_id);
|
||||
void clear_for_parameter(Steinberg::Vst::ParamID parameter_id) noexcept;
|
||||
|
||||
/**
|
||||
* Read data from an `IParamValueQueue` object into this existing object.
|
||||
*/
|
||||
void repopulate(Steinberg::Vst::IParamValueQueue& original_queue);
|
||||
|
||||
~YaParamValueQueue();
|
||||
~YaParamValueQueue() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
|
||||
@@ -16,11 +16,13 @@
|
||||
|
||||
#include "parameter-changes.h"
|
||||
|
||||
YaParameterChanges::YaParameterChanges() {
|
||||
FUNKNOWN_CTOR
|
||||
YaParameterChanges::YaParameterChanges() noexcept {FUNKNOWN_CTOR}
|
||||
|
||||
YaParameterChanges::~YaParameterChanges() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
void YaParameterChanges::clear() {
|
||||
void YaParameterChanges::clear() noexcept {
|
||||
queues.clear();
|
||||
}
|
||||
|
||||
@@ -33,10 +35,6 @@ void YaParameterChanges::repopulate(
|
||||
}
|
||||
}
|
||||
|
||||
YaParameterChanges::~YaParameterChanges() {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
|
||||
IMPLEMENT_FUNKNOWN_METHODS(YaParameterChanges,
|
||||
|
||||
@@ -35,22 +35,22 @@ class YaParameterChanges : public Steinberg::Vst::IParameterChanges {
|
||||
* existing object with new data every processing cycle to avoid
|
||||
* reallocating a new object every time.
|
||||
*/
|
||||
YaParameterChanges();
|
||||
YaParameterChanges() noexcept;
|
||||
|
||||
~YaParameterChanges() noexcept;
|
||||
|
||||
/**
|
||||
* Remove all parameter changes. Used when a null pointer gets passed to the
|
||||
* input parameters field, and so the plugin can output its own parameter
|
||||
* changes.
|
||||
*/
|
||||
void clear();
|
||||
void clear() noexcept;
|
||||
|
||||
/**
|
||||
* Read data from an `IParameterChanges` object into this existing object.
|
||||
*/
|
||||
void repopulate(Steinberg::Vst::IParameterChanges& original_queues);
|
||||
|
||||
~YaParameterChanges();
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
#include <cassert>
|
||||
|
||||
YaPhysicalUIMapList::YaPhysicalUIMapList() {}
|
||||
YaPhysicalUIMapList::YaPhysicalUIMapList() noexcept {}
|
||||
|
||||
YaPhysicalUIMapList::YaPhysicalUIMapList(
|
||||
const Steinberg::Vst::PhysicalUIMapList& list)
|
||||
const Steinberg::Vst::PhysicalUIMapList& list) noexcept
|
||||
: maps(list.map, list.map + list.count) {}
|
||||
|
||||
Steinberg::Vst::PhysicalUIMapList YaPhysicalUIMapList::get() {
|
||||
Steinberg::Vst::PhysicalUIMapList YaPhysicalUIMapList::get() noexcept {
|
||||
return Steinberg::Vst::PhysicalUIMapList{
|
||||
.count = static_cast<Steinberg::uint32>(maps.size()),
|
||||
.map = maps.data()};
|
||||
|
||||
@@ -29,12 +29,12 @@
|
||||
*/
|
||||
class YaPhysicalUIMapList {
|
||||
public:
|
||||
YaPhysicalUIMapList();
|
||||
YaPhysicalUIMapList() noexcept;
|
||||
|
||||
/**
|
||||
* Copy the data from a `PhysicalUIMapList` so it can be serialized.
|
||||
*/
|
||||
YaPhysicalUIMapList(const Steinberg::Vst::PhysicalUIMapList& list);
|
||||
YaPhysicalUIMapList(const Steinberg::Vst::PhysicalUIMapList& list) noexcept;
|
||||
|
||||
/**
|
||||
* Reconstruct the original `PhysicalUIMapList` object passed to the
|
||||
@@ -43,7 +43,7 @@ class YaPhysicalUIMapList {
|
||||
* plugin host side. The returned object is valid as long as this object is
|
||||
* alive.
|
||||
*/
|
||||
Steinberg::Vst::PhysicalUIMapList get();
|
||||
Steinberg::Vst::PhysicalUIMapList get() noexcept;
|
||||
|
||||
/**
|
||||
* Write the `noteExpressionTypeID` values stored in `maps` back to the
|
||||
|
||||
@@ -16,18 +16,18 @@
|
||||
|
||||
#include "plug-frame-proxy.h"
|
||||
|
||||
Vst3PlugFrameProxy::ConstructArgs::ConstructArgs() {}
|
||||
Vst3PlugFrameProxy::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
Vst3PlugFrameProxy::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object,
|
||||
size_t owner_instance_id)
|
||||
size_t owner_instance_id) noexcept
|
||||
: owner_instance_id(owner_instance_id), plug_frame_args(object) {}
|
||||
|
||||
Vst3PlugFrameProxy::Vst3PlugFrameProxy(const ConstructArgs&& args)
|
||||
Vst3PlugFrameProxy::Vst3PlugFrameProxy(const ConstructArgs&& args) noexcept
|
||||
: YaPlugFrame(std::move(args.plug_frame_args)),
|
||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||
|
||||
Vst3PlugFrameProxy::~Vst3PlugFrameProxy() {
|
||||
Vst3PlugFrameProxy::~Vst3PlugFrameProxy() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -36,14 +36,14 @@ class Vst3PlugFrameProxy : public YaPlugFrame {
|
||||
* `Vst3PlugFrameProxyImpl`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Read from an existing object. We will try to mimic this object, so
|
||||
* we'll support any interfaces this object also supports.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<FUnknown> object,
|
||||
size_t owner_instance_id);
|
||||
size_t owner_instance_id) noexcept;
|
||||
|
||||
/**
|
||||
* The unique instance identifier of the proxy object instance this
|
||||
@@ -71,7 +71,7 @@ class Vst3PlugFrameProxy : public YaPlugFrame {
|
||||
* lifetime is bound to that of the objects they are passed to. If the
|
||||
* plug view instance gets dropped, this proxy should also be dropped.
|
||||
*/
|
||||
Vst3PlugFrameProxy(const ConstructArgs&& args);
|
||||
Vst3PlugFrameProxy(const ConstructArgs&& args) noexcept;
|
||||
|
||||
/**
|
||||
* The lifetime of this object should be bound to the object we created it
|
||||
@@ -79,14 +79,14 @@ class Vst3PlugFrameProxy : public YaPlugFrame {
|
||||
* `n` gets dropped, the corresponding `Vst3PlugFrameProxy` should also be
|
||||
* dropped.
|
||||
*/
|
||||
virtual ~Vst3PlugFrameProxy();
|
||||
virtual ~Vst3PlugFrameProxy() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
/**
|
||||
* Get the instance ID of the owner of this object.
|
||||
*/
|
||||
inline size_t owner_instance_id() const {
|
||||
inline size_t owner_instance_id() const noexcept {
|
||||
return arguments.owner_instance_id;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
#include "plug-frame.h"
|
||||
|
||||
YaPlugFrame::ConstructArgs::ConstructArgs() {}
|
||||
YaPlugFrame::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaPlugFrame::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::IPlugFrame>(object)) {}
|
||||
|
||||
YaPlugFrame::YaPlugFrame(const ConstructArgs&& args)
|
||||
YaPlugFrame::YaPlugFrame(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -34,13 +34,13 @@ class YaPlugFrame : public Steinberg::IPlugFrame {
|
||||
* These are the arguments for creating a `YaPlugFrame`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements `IPlugFrame` and
|
||||
* read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -57,9 +57,9 @@ class YaPlugFrame : public Steinberg::IPlugFrame {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaPlugFrame(const ConstructArgs&& args);
|
||||
YaPlugFrame(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to `IPlugFrame::resizeView(<plug_view>,
|
||||
|
||||
@@ -16,24 +16,24 @@
|
||||
|
||||
#include "plug-view-proxy.h"
|
||||
|
||||
Vst3PlugViewProxy::ConstructArgs::ConstructArgs() {}
|
||||
Vst3PlugViewProxy::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
Vst3PlugViewProxy::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object,
|
||||
size_t owner_instance_id)
|
||||
size_t owner_instance_id) noexcept
|
||||
: owner_instance_id(owner_instance_id),
|
||||
plug_view_args(object),
|
||||
parameter_finder_args(object),
|
||||
plug_view_content_scale_support_args(object) {}
|
||||
|
||||
Vst3PlugViewProxy::Vst3PlugViewProxy(const ConstructArgs&& args)
|
||||
Vst3PlugViewProxy::Vst3PlugViewProxy(const ConstructArgs&& args) noexcept
|
||||
: YaPlugView(std::move(args.plug_view_args)),
|
||||
YaParameterFinder(std::move(args.parameter_finder_args)),
|
||||
YaPlugViewContentScaleSupport(
|
||||
std::move(args.plug_view_content_scale_support_args)),
|
||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||
|
||||
Vst3PlugViewProxy::~Vst3PlugViewProxy() {
|
||||
Vst3PlugViewProxy::~Vst3PlugViewProxy() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -40,14 +40,14 @@ class Vst3PlugViewProxy : public YaPlugView,
|
||||
* `Vst3PlugViewProxyImpl`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Read from an existing object. We will try to mimic this object, so
|
||||
* we'll support any interfaces this object also supports.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<FUnknown> object,
|
||||
size_t owner_instance_id);
|
||||
size_t owner_instance_id) noexcept;
|
||||
|
||||
/**
|
||||
* The unique instance identifier of the proxy object that returned this
|
||||
@@ -80,7 +80,7 @@ class Vst3PlugViewProxy : public YaPlugView,
|
||||
* message. The destructor should still send a message to drop the
|
||||
* original smart pointer.
|
||||
*/
|
||||
Vst3PlugViewProxy(const ConstructArgs&& args);
|
||||
Vst3PlugViewProxy(const ConstructArgs&& args) noexcept;
|
||||
|
||||
/**
|
||||
* Message to request the Wine plugin host to destroy the `IPlugView*`
|
||||
@@ -102,14 +102,14 @@ class Vst3PlugViewProxy : public YaPlugView,
|
||||
* @remark The plugin side implementation should send a control message to
|
||||
* clean up the instance on the Wine side in its destructor.
|
||||
*/
|
||||
virtual ~Vst3PlugViewProxy() = 0;
|
||||
virtual ~Vst3PlugViewProxy() noexcept = 0;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
/**
|
||||
* Get the instance ID of the owner of this object.
|
||||
*/
|
||||
inline size_t owner_instance_id() const {
|
||||
inline size_t owner_instance_id() const noexcept {
|
||||
return arguments.owner_instance_id;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "parameter-finder.h"
|
||||
|
||||
YaParameterFinder::ConstructArgs::ConstructArgs() {}
|
||||
YaParameterFinder::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaParameterFinder::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IParameterFinder>(object)) {}
|
||||
|
||||
YaParameterFinder::YaParameterFinder(const ConstructArgs&& args)
|
||||
YaParameterFinder::YaParameterFinder(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -34,13 +34,13 @@ class YaParameterFinder : public Steinberg::Vst::IParameterFinder {
|
||||
* These are the arguments for creating a `YaParameterFinder`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IParameterFinder` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -57,9 +57,9 @@ class YaParameterFinder : public Steinberg::Vst::IParameterFinder {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaParameterFinder(const ConstructArgs&& args);
|
||||
YaParameterFinder(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* The response code and editor size returned by a call to
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
#include "plug-view-content-scale-support.h"
|
||||
|
||||
YaPlugViewContentScaleSupport::ConstructArgs::ConstructArgs() {}
|
||||
YaPlugViewContentScaleSupport::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaPlugViewContentScaleSupport::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::IPlugViewContentScaleSupport>(
|
||||
object)) {}
|
||||
|
||||
YaPlugViewContentScaleSupport::YaPlugViewContentScaleSupport(
|
||||
const ConstructArgs&& args)
|
||||
const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -35,13 +35,13 @@ class YaPlugViewContentScaleSupport
|
||||
* These are the arguments for creating a `YaPlugViewContentScaleSupport`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IPlugViewContentScaleSupport` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -58,9 +58,9 @@ class YaPlugViewContentScaleSupport
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaPlugViewContentScaleSupport(const ConstructArgs&& args);
|
||||
YaPlugViewContentScaleSupport(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
#include "plug-view.h"
|
||||
|
||||
YaPlugView::ConstructArgs::ConstructArgs() {}
|
||||
YaPlugView::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaPlugView::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::IPlugView>(object)) {}
|
||||
|
||||
YaPlugView::YaPlugView(const ConstructArgs&& args)
|
||||
YaPlugView::YaPlugView(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -36,13 +36,13 @@ class YaPlugView : public Steinberg::IPlugView {
|
||||
* These are the arguments for creating a `YaPlugView`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements `IPlugView` and
|
||||
* read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -59,9 +59,9 @@ class YaPlugView : public Steinberg::IPlugView {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaPlugView(const ConstructArgs&& args);
|
||||
YaPlugView(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,18 +16,19 @@
|
||||
|
||||
#include "plugin-factory-proxy.h"
|
||||
|
||||
Vst3PluginFactoryProxy::ConstructArgs::ConstructArgs() {}
|
||||
Vst3PluginFactoryProxy::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
Vst3PluginFactoryProxy::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: plugin_factory_args(object) {}
|
||||
|
||||
Vst3PluginFactoryProxy::Vst3PluginFactoryProxy(const ConstructArgs&& args)
|
||||
Vst3PluginFactoryProxy::Vst3PluginFactoryProxy(
|
||||
const ConstructArgs&& args) noexcept
|
||||
: YaPluginFactory3(std::move(args.plugin_factory_args)),
|
||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||
|
||||
// clang-format just doesn't understand these macros, I guess
|
||||
Vst3PluginFactoryProxy::~Vst3PluginFactoryProxy() {
|
||||
Vst3PluginFactoryProxy::~Vst3PluginFactoryProxy() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -36,13 +36,13 @@ class Vst3PluginFactoryProxy : public YaPluginFactory3 {
|
||||
* These are the arguments for constructing a `Vst3PluginFactoryProxyImpl`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Read from an existing object. We will try to mimic this object, so
|
||||
* we'll support any interfaces this object also supports.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<FUnknown> object) noexcept;
|
||||
|
||||
YaPluginFactory3::ConstructArgs plugin_factory_args;
|
||||
|
||||
@@ -68,14 +68,14 @@ class Vst3PluginFactoryProxy : public YaPluginFactory3 {
|
||||
* factory. The is done once during startup and the plugin factory gets
|
||||
* reused for the lifetime of the module.
|
||||
*/
|
||||
Vst3PluginFactoryProxy(const ConstructArgs&& args);
|
||||
Vst3PluginFactoryProxy(const ConstructArgs&& args) noexcept;
|
||||
|
||||
/**
|
||||
* We do not need special handling here since the Window VST3 plugin's
|
||||
* plugin factory will also be destroyed when we terminate the Wine plugin
|
||||
* host or unload the plugin there.
|
||||
*/
|
||||
virtual ~Vst3PluginFactoryProxy();
|
||||
virtual ~Vst3PluginFactoryProxy() noexcept;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
#include <public.sdk/source/vst/utility/stringconvert.h>
|
||||
|
||||
YaPluginFactory3::ConstructArgs::ConstructArgs() {}
|
||||
YaPluginFactory3::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaPluginFactory3::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) {
|
||||
@@ -99,7 +99,7 @@ YaPluginFactory3::ConstructArgs::ConstructArgs(
|
||||
}
|
||||
}
|
||||
|
||||
YaPluginFactory3::YaPluginFactory3(const ConstructArgs&& args)
|
||||
YaPluginFactory3::YaPluginFactory3(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
tresult PLUGIN_API
|
||||
|
||||
@@ -38,7 +38,7 @@ class YaPluginFactory3 : public Steinberg::IPluginFactory3 {
|
||||
* query them.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
@@ -122,17 +122,17 @@ class YaPluginFactory3 : public Steinberg::IPluginFactory3 {
|
||||
* Instantiate this instance with arguments read from the Windows VST3
|
||||
* plugin's plugin factory.
|
||||
*/
|
||||
YaPluginFactory3(const ConstructArgs&& args);
|
||||
YaPluginFactory3(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supports_plugin_factory() const {
|
||||
inline bool supports_plugin_factory() const noexcept {
|
||||
return arguments.supports_plugin_factory;
|
||||
}
|
||||
|
||||
inline bool supports_plugin_factory_2() const {
|
||||
inline bool supports_plugin_factory_2() const noexcept {
|
||||
return arguments.supports_plugin_factory_2;
|
||||
}
|
||||
|
||||
inline bool supports_plugin_factory_3() const {
|
||||
inline bool supports_plugin_factory_3() const noexcept {
|
||||
return arguments.supports_plugin_factory_3;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
#include "plugin-proxy.h"
|
||||
|
||||
Vst3PluginProxy::ConstructArgs::ConstructArgs() {}
|
||||
Vst3PluginProxy::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
Vst3PluginProxy::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object,
|
||||
size_t instance_id)
|
||||
size_t instance_id) noexcept
|
||||
: instance_id(instance_id),
|
||||
audio_presentation_latency_args(object),
|
||||
audio_processor_args(object),
|
||||
@@ -44,7 +44,7 @@ Vst3PluginProxy::ConstructArgs::ConstructArgs(
|
||||
unit_info_args(object),
|
||||
xml_representation_controller_args(object) {}
|
||||
|
||||
Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
|
||||
Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args) noexcept
|
||||
: YaAudioPresentationLatency(
|
||||
std::move(args.audio_presentation_latency_args)),
|
||||
YaAudioProcessor(std::move(args.audio_processor_args)),
|
||||
@@ -75,7 +75,7 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
|
||||
std::move(args.xml_representation_controller_args)),
|
||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||
|
||||
Vst3PluginProxy::~Vst3PluginProxy() {
|
||||
Vst3PluginProxy::~Vst3PluginProxy() noexcept {
|
||||
FUNKNOWN_DTOR
|
||||
}
|
||||
|
||||
|
||||
@@ -95,13 +95,13 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
||||
* These are the arguments for constructing a `Vst3PluginProxyImpl`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Read from an existing object. We will try to mimic this object, so
|
||||
* we'll support any interfaces this object also supports.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<FUnknown> object, size_t instance_id);
|
||||
ConstructArgs(Steinberg::IPtr<FUnknown> object, size_t instance_id) noexcept;
|
||||
|
||||
/**
|
||||
* The unique identifier for this specific object instance.
|
||||
@@ -198,7 +198,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
||||
* Instantiate this object instance with arguments read from another
|
||||
* interface implementation.
|
||||
*/
|
||||
Vst3PluginProxy(const ConstructArgs&& args);
|
||||
Vst3PluginProxy(const ConstructArgs&& args) noexcept;
|
||||
|
||||
/**
|
||||
* Message to request the Wine plugin host to destroy this object instance
|
||||
@@ -221,7 +221,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
||||
* @remark The plugin side implementation should send a control message to
|
||||
* clean up the instance on the Wine side in its destructor.
|
||||
*/
|
||||
virtual ~Vst3PluginProxy() = 0;
|
||||
virtual ~Vst3PluginProxy() noexcept = 0;
|
||||
|
||||
DECLARE_FUNKNOWN_METHODS
|
||||
|
||||
@@ -229,7 +229,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
||||
* Get this object's instance ID. Used in `IConnectionPoint` to identify and
|
||||
* connect specific objects.
|
||||
*/
|
||||
inline size_t instance_id() const { return arguments.instance_id; }
|
||||
inline size_t instance_id() const noexcept { return arguments.instance_id; }
|
||||
|
||||
// We'll define messages for functions that have identical definitions in
|
||||
// multiple interfaces below. When the Wine plugin host process handles
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
#include "audio-presentation-latency.h"
|
||||
|
||||
YaAudioPresentationLatency::ConstructArgs::ConstructArgs() {}
|
||||
YaAudioPresentationLatency::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaAudioPresentationLatency::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IAudioPresentationLatency>(
|
||||
object)) {}
|
||||
|
||||
YaAudioPresentationLatency::YaAudioPresentationLatency(
|
||||
const ConstructArgs&& args)
|
||||
const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -35,13 +35,13 @@ class YaAudioPresentationLatency
|
||||
* These are the arguments for creating a `YaAudioPresentationLatency`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IAudioPresentationLatency` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -58,9 +58,9 @@ class YaAudioPresentationLatency
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaAudioPresentationLatency(const ConstructArgs&& args);
|
||||
YaAudioPresentationLatency(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "audio-processor.h"
|
||||
|
||||
YaAudioProcessor::ConstructArgs::ConstructArgs() {}
|
||||
YaAudioProcessor::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaAudioProcessor::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IAudioProcessor>(object)) {}
|
||||
|
||||
YaAudioProcessor::YaAudioProcessor(const ConstructArgs&& args)
|
||||
YaAudioProcessor::YaAudioProcessor(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -36,13 +36,13 @@ class YaAudioProcessor : public Steinberg::Vst::IAudioProcessor {
|
||||
* These are the arguments for creating a `YaAudioProcessor`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements `IAudioProcessor`
|
||||
* and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -59,9 +59,9 @@ class YaAudioProcessor : public Steinberg::Vst::IAudioProcessor {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaAudioProcessor(const ConstructArgs&& args);
|
||||
YaAudioProcessor(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "automation-state.h"
|
||||
|
||||
YaAutomationState::ConstructArgs::ConstructArgs() {}
|
||||
YaAutomationState::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaAutomationState::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IAutomationState>(object)) {}
|
||||
|
||||
YaAutomationState::YaAutomationState(const ConstructArgs&& args)
|
||||
YaAutomationState::YaAutomationState(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -37,13 +37,13 @@ class YaAutomationState : public Steinberg::Vst::IAutomationState {
|
||||
* These are the arguments for creating a `YaAutomationState`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IAutomationState` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -60,9 +60,9 @@ class YaAutomationState : public Steinberg::Vst::IAutomationState {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaAutomationState(const ConstructArgs&& args);
|
||||
YaAutomationState(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
#include "component.h"
|
||||
|
||||
YaComponent::ConstructArgs::ConstructArgs() {}
|
||||
YaComponent::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaComponent::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::Vst::IComponent>(object)) {}
|
||||
|
||||
YaComponent::YaComponent(const ConstructArgs&& args)
|
||||
YaComponent::YaComponent(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -37,13 +37,13 @@ class YaComponent : public Steinberg::Vst::IComponent {
|
||||
* These are the arguments for creating a `YaComponent`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements `IComponent` and
|
||||
* read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -60,9 +60,9 @@ class YaComponent : public Steinberg::Vst::IComponent {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaComponent(const ConstructArgs&& args);
|
||||
YaComponent(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* The response code and returned CID for a call to
|
||||
|
||||
@@ -16,21 +16,21 @@
|
||||
|
||||
#include "connection-point.h"
|
||||
|
||||
YaConnectionPoint::ConstructArgs::ConstructArgs() {}
|
||||
YaConnectionPoint::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaConnectionPoint::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IConnectionPoint>(object)) {}
|
||||
|
||||
YaConnectionPoint::Vst3ConnectionPointProxyConstructArgs::
|
||||
Vst3ConnectionPointProxyConstructArgs() {}
|
||||
Vst3ConnectionPointProxyConstructArgs() noexcept {}
|
||||
|
||||
YaConnectionPoint::Vst3ConnectionPointProxyConstructArgs::
|
||||
Vst3ConnectionPointProxyConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object,
|
||||
size_t owner_instance_id)
|
||||
size_t owner_instance_id) noexcept
|
||||
: owner_instance_id(owner_instance_id), connection_point_args(object) {}
|
||||
|
||||
YaConnectionPoint::YaConnectionPoint(const ConstructArgs&& args)
|
||||
YaConnectionPoint::YaConnectionPoint(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -42,13 +42,13 @@ class YaConnectionPoint : public Steinberg::Vst::IConnectionPoint {
|
||||
* These are the arguments for creating a `YaConnectionPoint`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IConnectionPoint` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -69,7 +69,7 @@ class YaConnectionPoint : public Steinberg::Vst::IConnectionPoint {
|
||||
* It's defined here to work around circular includes.
|
||||
*/
|
||||
struct Vst3ConnectionPointProxyConstructArgs {
|
||||
Vst3ConnectionPointProxyConstructArgs();
|
||||
Vst3ConnectionPointProxyConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Read from an existing object. We will try to mimic this object, so
|
||||
@@ -80,7 +80,7 @@ class YaConnectionPoint : public Steinberg::Vst::IConnectionPoint {
|
||||
* here.
|
||||
*/
|
||||
Vst3ConnectionPointProxyConstructArgs(Steinberg::IPtr<FUnknown> object,
|
||||
size_t owner_instance_id);
|
||||
size_t owner_instance_id) noexcept;
|
||||
|
||||
/**
|
||||
* The unique instance identifier of the proxy object instance this
|
||||
@@ -104,9 +104,9 @@ class YaConnectionPoint : public Steinberg::Vst::IConnectionPoint {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaConnectionPoint(const ConstructArgs&& args);
|
||||
YaConnectionPoint(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to `IConnectionPoint::connect(other)` to
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "edit-controller-2.h"
|
||||
|
||||
YaEditController2::ConstructArgs::ConstructArgs() {}
|
||||
YaEditController2::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaEditController2::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController2>(object)) {}
|
||||
|
||||
YaEditController2::YaEditController2(const ConstructArgs&& args)
|
||||
YaEditController2::YaEditController2(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -34,13 +34,13 @@ class YaEditController2 : public Steinberg::Vst::IEditController2 {
|
||||
* These are the arguments for creating a `YaEditController2`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IEditController2` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -57,9 +57,9 @@ class YaEditController2 : public Steinberg::Vst::IEditController2 {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaEditController2(const ConstructArgs&& args);
|
||||
YaEditController2(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to `IEditController2::setKnobMode(mode)`
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
#include "edit-controller-host-editing.h"
|
||||
|
||||
YaEditControllerHostEditing::ConstructArgs::ConstructArgs() {}
|
||||
YaEditControllerHostEditing::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaEditControllerHostEditing::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IEditControllerHostEditing>(
|
||||
object)) {}
|
||||
|
||||
YaEditControllerHostEditing::YaEditControllerHostEditing(
|
||||
const ConstructArgs&& args)
|
||||
const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -35,13 +35,13 @@ class YaEditControllerHostEditing
|
||||
* These are the arguments for creating a `YaEditControllerHostEditing`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IEditControllerHostEditing` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -58,9 +58,9 @@ class YaEditControllerHostEditing
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaEditControllerHostEditing(const ConstructArgs&& args);
|
||||
YaEditControllerHostEditing(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "edit-controller.h"
|
||||
|
||||
YaEditController::ConstructArgs::ConstructArgs() {}
|
||||
YaEditController::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaEditController::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController>(object)) {}
|
||||
|
||||
YaEditController::YaEditController(const ConstructArgs&& args)
|
||||
YaEditController::YaEditController(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -38,13 +38,13 @@ class YaEditController : public Steinberg::Vst::IEditController {
|
||||
* These are the arguments for creating a `YaEditController`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IEditController` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -61,9 +61,9 @@ class YaEditController : public Steinberg::Vst::IEditController {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaEditController(const ConstructArgs&& args);
|
||||
YaEditController(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
#include "info-listener.h"
|
||||
|
||||
YaInfoListener::ConstructArgs::ConstructArgs() {}
|
||||
YaInfoListener::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaInfoListener::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::ChannelContext::IInfoListener>(
|
||||
object)) {}
|
||||
|
||||
YaInfoListener::YaInfoListener(const ConstructArgs&& args)
|
||||
YaInfoListener::YaInfoListener(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -35,13 +35,13 @@ class YaInfoListener : public Steinberg::Vst::ChannelContext::IInfoListener {
|
||||
* These are the arguments for creating a `YaInfoListener`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements `IInfoListener`
|
||||
* and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -58,9 +58,9 @@ class YaInfoListener : public Steinberg::Vst::ChannelContext::IInfoListener {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaInfoListener(const ConstructArgs&& args);
|
||||
YaInfoListener(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
#include "keyswitch-controller.h"
|
||||
|
||||
YaKeyswitchController::ConstructArgs::ConstructArgs() {}
|
||||
YaKeyswitchController::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaKeyswitchController::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::Vst::IKeyswitchController>(
|
||||
object)) {}
|
||||
|
||||
YaKeyswitchController::YaKeyswitchController(const ConstructArgs&& args)
|
||||
YaKeyswitchController::YaKeyswitchController(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -34,13 +34,13 @@ class YaKeyswitchController : public Steinberg::Vst::IKeyswitchController {
|
||||
* These are the arguments for creating a `YaKeyswitchController`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements
|
||||
* `IKeyswitchController` and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -57,9 +57,9 @@ class YaKeyswitchController : public Steinberg::Vst::IKeyswitchController {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaKeyswitchController(const ConstructArgs&& args);
|
||||
YaKeyswitchController(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
#include "midi-learn.h"
|
||||
|
||||
YaMidiLearn::ConstructArgs::ConstructArgs() {}
|
||||
YaMidiLearn::ConstructArgs::ConstructArgs() noexcept {}
|
||||
|
||||
YaMidiLearn::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object)
|
||||
Steinberg::IPtr<Steinberg::FUnknown> object) noexcept
|
||||
: supported(Steinberg::FUnknownPtr<Steinberg::Vst::IMidiLearn>(object)) {}
|
||||
|
||||
YaMidiLearn::YaMidiLearn(const ConstructArgs&& args)
|
||||
YaMidiLearn::YaMidiLearn(const ConstructArgs&& args) noexcept
|
||||
: arguments(std::move(args)) {}
|
||||
|
||||
@@ -34,13 +34,13 @@ class YaMidiLearn : public Steinberg::Vst::IMidiLearn {
|
||||
* These are the arguments for creating a `YaMidiLearn`.
|
||||
*/
|
||||
struct ConstructArgs {
|
||||
ConstructArgs();
|
||||
ConstructArgs() noexcept;
|
||||
|
||||
/**
|
||||
* Check whether an existing implementation implements `IMidiLearn`
|
||||
* and read arguments from it.
|
||||
*/
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object);
|
||||
ConstructArgs(Steinberg::IPtr<Steinberg::FUnknown> object) noexcept;
|
||||
|
||||
/**
|
||||
* Whether the object supported this interface.
|
||||
@@ -57,9 +57,9 @@ class YaMidiLearn : public Steinberg::Vst::IMidiLearn {
|
||||
* Instantiate this instance with arguments read from another interface
|
||||
* implementation.
|
||||
*/
|
||||
YaMidiLearn(const ConstructArgs&& args);
|
||||
YaMidiLearn(const ConstructArgs&& args) noexcept;
|
||||
|
||||
inline bool supported() const { return arguments.supported; }
|
||||
inline bool supported() const noexcept { return arguments.supported; }
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user