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

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