Fix some of the clang-tidy lints

This commit is contained in:
Robbert van der Helm
2021-04-14 16:09:46 +02:00
parent 8942727661
commit 4937010557
13 changed files with 40 additions and 24 deletions
+1
View File
@@ -304,6 +304,7 @@ class Vst3Sockets : public Sockets {
listen), listen),
io_context(io_context) {} io_context(io_context) {}
// NOLINTNEXTLINE(clang-analyzer-optin.cplusplus.VirtualCall)
~Vst3Sockets() { close(); } ~Vst3Sockets() { close(); }
void connect() override { void connect() override {
+5 -3
View File
@@ -36,14 +36,16 @@ VstEvents& DynamicVstEvents::as_c_events() {
// number of events minus one pointers. // number of events minus one pointers.
static_assert(std::extent_v<decltype(VstEvents::events)> == 1); static_assert(std::extent_v<decltype(VstEvents::events)> == 1);
const size_t buffer_size = const size_t buffer_size =
sizeof(VstEvents) + ((events.size() - 1) * sizeof(VstEvent*)); sizeof(VstEvents) +
((events.size() - 1) *
sizeof(VstEvent*)); // NOLINT(bugprone-sizeof-expression)
vst_events_buffer.resize(buffer_size); vst_events_buffer.resize(buffer_size);
// Now we can populate the VLA with pointers to the objects in the `events` // Now we can populate the VLA with pointers to the objects in the `events`
// vector // vector
VstEvents* vst_events = VstEvents* vst_events =
reinterpret_cast<VstEvents*>(vst_events_buffer.data()); reinterpret_cast<VstEvents*>(vst_events_buffer.data());
vst_events->numEvents = events.size(); vst_events->numEvents = static_cast<int>(events.size());
std::transform(events.begin(), events.end(), vst_events->events, std::transform(events.begin(), events.end(), vst_events->events,
[](VstEvent& event) -> VstEvent* { return &event; }); [](VstEvent& event) -> VstEvent* { return &event; });
@@ -76,7 +78,7 @@ VstSpeakerArrangement& DynamicSpeakerArrangement::as_c_speaker_arrangement() {
reinterpret_cast<VstSpeakerArrangement*>( reinterpret_cast<VstSpeakerArrangement*>(
speaker_arrangement_buffer.data()); speaker_arrangement_buffer.data());
speaker_arrangement->flags = flags; speaker_arrangement->flags = flags;
speaker_arrangement->num_speakers = speakers.size(); speaker_arrangement->num_speakers = static_cast<int>(speakers.size());
std::copy(speakers.begin(), speakers.end(), speaker_arrangement->speakers); std::copy(speakers.begin(), speakers.end(), speaker_arrangement->speakers);
return *speaker_arrangement; return *speaker_arrangement;
+9 -7
View File
@@ -40,7 +40,8 @@ YaBStream::YaBStream(Steinberg::IBStream* stream) {
int32 num_bytes_read = 0; int32 num_bytes_read = 0;
buffer.resize(size); buffer.resize(size);
stream->seek(0, Steinberg::IBStream::IStreamSeekMode::kIBSeekSet); stream->seek(0, Steinberg::IBStream::IStreamSeekMode::kIBSeekSet);
stream->read(buffer.data(), size, &num_bytes_read); stream->read(buffer.data(), static_cast<int32>(size),
&num_bytes_read);
assert(num_bytes_read == 0 || num_bytes_read == size); assert(num_bytes_read == 0 || num_bytes_read == size);
} }
} }
@@ -103,7 +104,8 @@ tresult YaBStream::write_back(Steinberg::IBStream* stream) const {
// A `stream->seek(0, kIBSeekSet)` breaks restoring states in Bitwig. Not // A `stream->seek(0, kIBSeekSet)` breaks restoring states in Bitwig. Not
// sure if Bitwig is prepending a header or if this is expected behaviour. // sure if Bitwig is prepending a header or if this is expected behaviour.
int32 num_bytes_written = 0; int32 num_bytes_written = 0;
if (stream->write(const_cast<uint8_t*>(buffer.data()), buffer.size(), if (stream->write(const_cast<uint8_t*>(buffer.data()),
static_cast<int32>(buffer.size()),
&num_bytes_written) == Steinberg::kResultOk) { &num_bytes_written) == Steinberg::kResultOk) {
// Some implementations will return `kResultFalse` when writing 0 bytes // Some implementations will return `kResultFalse` when writing 0 bytes
assert(num_bytes_written == 0 || assert(num_bytes_written == 0 ||
@@ -145,7 +147,7 @@ tresult PLUGIN_API YaBStream::read(void* buffer,
seek_position += bytes_to_read; seek_position += bytes_to_read;
if (numBytesRead) { if (numBytesRead) {
*numBytesRead = bytes_to_read; *numBytesRead = static_cast<int32>(bytes_to_read);
} }
return Steinberg::kResultOk; return Steinberg::kResultOk;
@@ -163,7 +165,7 @@ tresult PLUGIN_API YaBStream::write(void* buffer,
} }
std::copy_n(reinterpret_cast<uint8_t*>(buffer), numBytes, std::copy_n(reinterpret_cast<uint8_t*>(buffer), numBytes,
this->buffer.begin() + seek_position); this->buffer.begin() + static_cast<int>(seek_position));
seek_position += numBytes; seek_position += numBytes;
if (numBytesWritten) { if (numBytesWritten) {
@@ -190,7 +192,7 @@ tresult PLUGIN_API YaBStream::seek(int64 pos, int32 mode, int64* result) {
} }
if (result) { if (result) {
*result = seek_position; *result = static_cast<int64>(seek_position);
} }
return Steinberg::kResultOk; return Steinberg::kResultOk;
@@ -198,7 +200,7 @@ tresult PLUGIN_API YaBStream::seek(int64 pos, int32 mode, int64* result) {
tresult PLUGIN_API YaBStream::tell(int64* pos) { tresult PLUGIN_API YaBStream::tell(int64* pos) {
if (pos) { if (pos) {
*pos = seek_position; *pos = static_cast<int64>(seek_position);
return Steinberg::kResultOk; return Steinberg::kResultOk;
} else { } else {
return Steinberg::kInvalidArgument; return Steinberg::kInvalidArgument;
@@ -206,7 +208,7 @@ tresult PLUGIN_API YaBStream::tell(int64* pos) {
} }
tresult PLUGIN_API YaBStream::getStreamSize(int64& size) { tresult PLUGIN_API YaBStream::getStreamSize(int64& size) {
size = seek_position; size = static_cast<int64>(seek_position);
return Steinberg::kResultOk; return Steinberg::kResultOk;
} }
+5 -3
View File
@@ -215,7 +215,7 @@ IMPLEMENT_FUNKNOWN_METHODS(YaEventList,
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
int32 PLUGIN_API YaEventList::getEventCount() { int32 PLUGIN_API YaEventList::getEventCount() {
return events.size(); return static_cast<int32>(events.size());
} }
tresult PLUGIN_API YaEventList::getEvent(int32 index, tresult PLUGIN_API YaEventList::getEvent(int32 index,
@@ -231,8 +231,10 @@ tresult PLUGIN_API YaEventList::getEvent(int32 index,
if (index >= static_cast<int32>(num_already_reconstructed_events)) { if (index >= static_cast<int32>(num_already_reconstructed_events)) {
reconstructed_events.resize(events.size()); reconstructed_events.resize(events.size());
std::transform( std::transform(
events.begin() + num_already_reconstructed_events, events.end(), events.begin() + static_cast<int>(num_already_reconstructed_events),
reconstructed_events.begin() + num_already_reconstructed_events, events.end(),
reconstructed_events.begin() +
static_cast<int>(num_already_reconstructed_events),
[](const YaEvent& event) { return event.get(); }); [](const YaEvent& event) { return event.get(); });
} }
@@ -62,7 +62,7 @@ Steinberg::Vst::ParamID PLUGIN_API YaParamValueQueue::getParameterId() {
} }
int32 PLUGIN_API YaParamValueQueue::getPointCount() { int32 PLUGIN_API YaParamValueQueue::getPointCount() {
return queue.size(); return static_cast<int32>(queue.size());
} }
tresult PLUGIN_API tresult PLUGIN_API
@@ -81,7 +81,7 @@ YaParamValueQueue::getPoint(int32 index,
tresult PLUGIN_API YaParamValueQueue::addPoint(int32 sampleOffset, tresult PLUGIN_API YaParamValueQueue::addPoint(int32 sampleOffset,
Steinberg::Vst::ParamValue value, Steinberg::Vst::ParamValue value,
int32& index /*out*/) { int32& index /*out*/) {
index = queue.size(); index = static_cast<int32>(queue.size());
queue.push_back({sampleOffset, value}); queue.push_back({sampleOffset, value});
return Steinberg::kResultOk; return Steinberg::kResultOk;
@@ -59,7 +59,7 @@ void YaParameterChanges::write_back_outputs(
} }
int32 PLUGIN_API YaParameterChanges::getParameterCount() { int32 PLUGIN_API YaParameterChanges::getParameterCount() {
return queues.size(); return static_cast<int32>(queues.size());
} }
Steinberg::Vst::IParamValueQueue* PLUGIN_API Steinberg::Vst::IParamValueQueue* PLUGIN_API
@@ -74,7 +74,7 @@ YaParameterChanges::getParameterData(int32 index) {
Steinberg::Vst::IParamValueQueue* PLUGIN_API Steinberg::Vst::IParamValueQueue* PLUGIN_API
YaParameterChanges::addParameterData(const Steinberg::Vst::ParamID& id, YaParameterChanges::addParameterData(const Steinberg::Vst::ParamID& id,
int32& index /*out*/) { int32& index /*out*/) {
index = queues.size(); index = static_cast<int32>(queues.size());
queues.push_back(YaParamValueQueue(id)); queues.push_back(YaParamValueQueue(id));
return &queues[index]; return &queues[index];
@@ -72,7 +72,8 @@ Steinberg::Vst::AudioBusBuffers YaAudioBusBuffers::get() {
buffer_pointers.push_back(buffer.data()); buffer_pointers.push_back(buffer.data());
} }
reconstructed_buffers.numChannels = buffers.size(); reconstructed_buffers.numChannels =
static_cast<int32>(buffers.size());
reconstructed_buffers.channelBuffers64 = reconstructed_buffers.channelBuffers64 =
reinterpret_cast<double**>(buffer_pointers.data()); reinterpret_cast<double**>(buffer_pointers.data());
}, },
@@ -82,7 +83,8 @@ Steinberg::Vst::AudioBusBuffers YaAudioBusBuffers::get() {
buffer_pointers.push_back(buffer.data()); buffer_pointers.push_back(buffer.data());
} }
reconstructed_buffers.numChannels = buffers.size(); reconstructed_buffers.numChannels =
static_cast<int32>(buffers.size());
reconstructed_buffers.channelBuffers32 = reconstructed_buffers.channelBuffers32 =
reinterpret_cast<float**>(buffer_pointers.data()); reinterpret_cast<float**>(buffer_pointers.data());
}, },
@@ -194,8 +196,9 @@ Steinberg::Vst::ProcessData& YaProcessData::get() {
reconstructed_process_data.processMode = process_mode; reconstructed_process_data.processMode = process_mode;
reconstructed_process_data.symbolicSampleSize = symbolic_sample_size; reconstructed_process_data.symbolicSampleSize = symbolic_sample_size;
reconstructed_process_data.numSamples = num_samples; reconstructed_process_data.numSamples = num_samples;
reconstructed_process_data.numInputs = inputs.size(); reconstructed_process_data.numInputs = static_cast<int32>(inputs.size());
reconstructed_process_data.numOutputs = outputs_num_channels.size(); reconstructed_process_data.numOutputs =
static_cast<int32>(outputs_num_channels.size());
reconstructed_process_data.inputs = inputs_audio_bus_buffers.data(); reconstructed_process_data.inputs = inputs_audio_bus_buffers.data();
reconstructed_process_data.outputs = outputs_audio_bus_buffers.data(); reconstructed_process_data.outputs = outputs_audio_bus_buffers.data();
@@ -48,7 +48,7 @@ size_t Vst3PluginProxyImpl::register_context_menu(
std::lock_guard lock(context_menus_mutex); std::lock_guard lock(context_menus_mutex);
const size_t context_menu_id = current_context_menu_id.fetch_add(1); const size_t context_menu_id = current_context_menu_id.fetch_add(1);
context_menus.emplace(context_menu_id, std::move(menu)); context_menus.emplace(context_menu_id, menu);
return context_menu_id; return context_menu_id;
} }
+1 -1
View File
@@ -144,7 +144,7 @@ Vst3PluginBridge::Vst3PluginBridge()
const size_t context_menu_id = const size_t context_menu_id =
plugin_proxies.at(request.owner_instance_id) plugin_proxies.at(request.owner_instance_id)
.get() .get()
.register_context_menu(std::move(context_menu)); .register_context_menu(context_menu);
return YaComponentHandler3::CreateContextMenuResponse{ return YaComponentHandler3::CreateContextMenuResponse{
.context_menu_args = .context_menu_args =
+1
View File
@@ -163,6 +163,7 @@ fs::path find_plugin_library(const fs::path& this_plugin_path,
// _actual_ (with yabridgectl `x86_64-win` should only contain a // _actual_ (with yabridgectl `x86_64-win` should only contain a
// 64-bit plugin and `x86-win` should only contain a 32-bit plugin, // 64-bit plugin and `x86-win` should only contain a 32-bit plugin,
// but you never know!) // but you never know!)
// NOLINTNEXTLINE(bugprone-branch-clone)
if (prefer_32bit_vst3 && fs::exists(candidate_path_32bit)) { if (prefer_32bit_vst3 && fs::exists(candidate_path_32bit)) {
return fs::canonical(candidate_path_32bit); return fs::canonical(candidate_path_32bit);
} else if (fs::exists(candidate_path_64bit)) { } else if (fs::exists(candidate_path_64bit)) {
+1
View File
@@ -24,6 +24,7 @@
// as close to the vanilla SDK as possible. // as close to the vanilla SDK as possible.
#define InitModule init_module #define InitModule init_module
#define DeinitModule deinit_module #define DeinitModule deinit_module
// NOLINTNEXTLINE(bugprone-suspicious-include)
#include <public.sdk/source/main/linuxmain.cpp> #include <public.sdk/source/main/linuxmain.cpp>
// Because VST3 plugins consist of completely independent components that have // Because VST3 plugins consist of completely independent components that have
+4 -1
View File
@@ -100,8 +100,11 @@ Vst2Bridge::Vst2Bridge(MainContext& main_context,
// `get_bridge_instance` trick as in `plugin/bridges/vst2.cpp`, but since // `get_bridge_instance` trick as in `plugin/bridges/vst2.cpp`, but since
// the plugin will probably call the host callback while it's initializing // the plugin will probably call the host callback while it's initializing
// we sadly have to use a global here. // we sadly have to use a global here.
// Note that this reinterpret cast is not needed at all since the function
// pointer types are exactly the same, but clangd will complain otherwise
current_bridge_instance = this; current_bridge_instance = this;
plugin = vst_entry_point(host_callback_proxy); plugin = vst_entry_point(
reinterpret_cast<audioMasterCallback>(host_callback_proxy));
if (!plugin) { if (!plugin) {
throw std::runtime_error("VST plugin at '" + plugin_dll_path + throw std::runtime_error("VST plugin at '" + plugin_dll_path +
"' failed to initialize."); "' failed to initialize.");
+1
View File
@@ -33,6 +33,7 @@
// //
// https://bugs.winehq.org/show_bug.cgi?id=50670 // https://bugs.winehq.org/show_bug.cgi?id=50670
#define __IFileOperation_INTERFACE_DEFINED__ #define __IFileOperation_INTERFACE_DEFINED__
// NOLINTNEXTLINE(bugprone-suspicious-include)
#include <public.sdk/source/vst/hosting/module_win32.cpp> #include <public.sdk/source/vst/hosting/module_win32.cpp>
/** /**