mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
Add noexcept qualifications in src/common
Apparently this can actually make a difference in some cases, and the C++ Core Guideliens recommend doing this on all default constructors, destructors, and all functions that can not throw (and thus also don't allocate).
This commit is contained in:
@@ -217,7 +217,7 @@ class Sockets {
|
|||||||
*
|
*
|
||||||
* @note Classes overriding this should call `close()` in their destructor.
|
* @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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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*/,
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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") {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
+3
-3
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
Reference in New Issue
Block a user