Merge pull request #116 from paulfd/clang-tidy-0.3.1

Update clang-tidy with VST and filters additions
This commit is contained in:
Paul Ferrand 2020-03-14 14:30:26 +01:00 committed by GitHub
commit 450f62ca90
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 43 additions and 12 deletions

View file

@ -14,8 +14,10 @@ jobs:
apt:
packages:
- clang-tidy
- wget
- unzip
- libsndfile-dev
install: skip
install: .travis/download_vst_sdk.sh
script: scripts/run_clang_tidy.sh
- name: "Linux amd64 tests"

11
.travis/download_vst_sdk.sh Executable file
View file

@ -0,0 +1,11 @@
#!/bin/bash
set -ex
vst_download_prefix="vst/download"
vst_sdk_archive="vst-sdk_3.6.14_build-24_2019-11-29.zip"
mkdir -p ${vst_download_prefix}
if ! [[ -f "${vst_download_prefix}/${vst_sdk_archive}" ]]; then
wget -P ${vst_download_prefix} "https://download.steinberg.net/sdk_downloads/${vst_sdk_archive}"
fi
mkdir -p vst/external
unzip -ouq "${vst_download_prefix}/${vst_sdk_archive}" -d "vst/external"

View file

@ -19,6 +19,14 @@ clang-tidy \
src/sfizz/SIMDSSE.cpp \
src/sfizz/Synth.cpp \
src/sfizz/Voice.cpp \
src/sfizz/effects/Eq.cpp \
src/sfizz/effects/Filter.cpp \
src/sfizz/effects/Lofi.cpp \
src/sfizz/effects/Nothing.cpp \
-- -Iexternal/abseil-cpp -Isrc/external -Isrc/external/pugixml/src -Isrc/sfizz -Isrc
vst/SfizzVstController.cpp \
vst/SfizzVstProcessor.cpp \
vst/SfizzVstEditor.cpp \
vst/SfizzVstState.cpp \
-- -Iexternal/abseil-cpp -Isrc/external -Isrc/external/pugixml/src \
-Isrc/sfizz -Isrc \
-Ivst -Ivst/external/VST_SDK/VST3_SDK -Ivst/external/VST_SDK/VST3_SDK/vstgui4 -DNDEBUG

View file

@ -84,7 +84,7 @@ tresult PLUGIN_API SfizzVstControllerNoUi::getParamStringByValue(Vst::ParamID ta
switch (tag) {
case kPidOversampling:
{
int factorLog2 = kParamOversamplingRange.denormalize(valueNormalized);
auto factorLog2 = static_cast<int>(kParamOversamplingRange.denormalize(valueNormalized));
Steinberg::String buf;
buf.printf("%dX", 1 << factorLog2);
buf.copyTo(string);

View file

@ -12,7 +12,13 @@
#include "pluginterfaces/vst/ivstparameterchanges.h"
#include <cstring>
#pragma message("TODO: send tempo")
#pragma message("TODO: send tempo") // NOLINT
template<class T>
constexpr int fastRound(T x)
{
return static_cast<int>(x + T{ 0.5 }); // NOLINT
}
SfizzVstProcessor::SfizzVstProcessor()
: _fifoToWorker(1024)
@ -22,7 +28,11 @@ SfizzVstProcessor::SfizzVstProcessor()
SfizzVstProcessor::~SfizzVstProcessor()
{
setActive(false); // to be sure
try {
stopBackgroundWork();
} catch (const std::exception& e) {
fprintf(stderr, "Caught exception: %s\n", e.what());
}
}
tresult PLUGIN_API SfizzVstProcessor::initialize(FUnknown* context)
@ -186,7 +196,7 @@ void SfizzVstProcessor::processParameterChanges(Vst::IParameterChanges& pc)
break;
msg->setMessageID("SetNumVoices");
Vst::IAttributeList* attr = msg->getAttributes();
attr->setInt("NumVoices", kParamNumVoicesRange.denormalize(value));
attr->setInt("NumVoices", static_cast<Steinberg::int64>(kParamNumVoicesRange.denormalize(value)));
if (!_fifoToWorker.push(msg)) {
msg->release();
break;
@ -201,7 +211,7 @@ void SfizzVstProcessor::processParameterChanges(Vst::IParameterChanges& pc)
break;
msg->setMessageID("SetOversampling");
Vst::IAttributeList* attr = msg->getAttributes();
attr->setInt("Oversampling", kParamOversamplingRange.denormalize(value));
attr->setInt("Oversampling", static_cast<Steinberg::int64>(kParamOversamplingRange.denormalize(value)));
if (!_fifoToWorker.push(msg)) {
msg->release();
break;
@ -216,7 +226,7 @@ void SfizzVstProcessor::processParameterChanges(Vst::IParameterChanges& pc)
break;
msg->setMessageID("SetPreloadSize");
Vst::IAttributeList* attr = msg->getAttributes();
attr->setInt("PreloadSize", kParamPreloadSizeRange.denormalize(value));
attr->setInt("PreloadSize", static_cast<Steinberg::int64>(kParamPreloadSizeRange.denormalize(value)));
if (!_fifoToWorker.push(msg)) {
msg->release();
break;
@ -246,10 +256,10 @@ void SfizzVstProcessor::processControllerChanges(Vst::IParameterChanges& pc)
switch (id) {
default:
if (id >= kPidMidiCC0 && id <= kPidMidiCCLast) {
int ccNumber = id - kPidMidiCC0;
auto ccNumber = static_cast<int>(id - kPidMidiCC0);
for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) {
if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue)
synth.cc(sampleOffset, ccNumber, (int)(0.5 + value * 127.0));
synth.cc(sampleOffset, ccNumber, fastRound(value * 127.0));
}
}
break;
@ -257,14 +267,14 @@ void SfizzVstProcessor::processControllerChanges(Vst::IParameterChanges& pc)
case kPidMidiAftertouch:
for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) {
if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue)
synth.aftertouch(sampleOffset, (int)(0.5 + value * 127.0));
synth.aftertouch(sampleOffset, fastRound(value * 127.0));
}
break;
case kPidMidiPitchBend:
for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) {
if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue)
synth.pitchWheel(sampleOffset, (int)(0.5 + value * 16383) - 8192);
synth.pitchWheel(sampleOffset, fastRound(value * 16383) - 8192);
}
break;
}