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

Some files were not shown because too many files have changed in this diff Show More