Merge pull request #116 from paulfd/clang-tidy-0.3.1
Update clang-tidy with VST and filters additions
This commit is contained in:
commit
450f62ca90
5 changed files with 43 additions and 12 deletions
|
|
@ -14,8 +14,10 @@ jobs:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- clang-tidy
|
- clang-tidy
|
||||||
|
- wget
|
||||||
|
- unzip
|
||||||
- libsndfile-dev
|
- libsndfile-dev
|
||||||
install: skip
|
install: .travis/download_vst_sdk.sh
|
||||||
script: scripts/run_clang_tidy.sh
|
script: scripts/run_clang_tidy.sh
|
||||||
|
|
||||||
- name: "Linux amd64 tests"
|
- name: "Linux amd64 tests"
|
||||||
|
|
|
||||||
11
.travis/download_vst_sdk.sh
Executable file
11
.travis/download_vst_sdk.sh
Executable 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"
|
||||||
|
|
@ -19,6 +19,14 @@ clang-tidy \
|
||||||
src/sfizz/SIMDSSE.cpp \
|
src/sfizz/SIMDSSE.cpp \
|
||||||
src/sfizz/Synth.cpp \
|
src/sfizz/Synth.cpp \
|
||||||
src/sfizz/Voice.cpp \
|
src/sfizz/Voice.cpp \
|
||||||
|
src/sfizz/effects/Eq.cpp \
|
||||||
|
src/sfizz/effects/Filter.cpp \
|
||||||
src/sfizz/effects/Lofi.cpp \
|
src/sfizz/effects/Lofi.cpp \
|
||||||
src/sfizz/effects/Nothing.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
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ tresult PLUGIN_API SfizzVstControllerNoUi::getParamStringByValue(Vst::ParamID ta
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case kPidOversampling:
|
case kPidOversampling:
|
||||||
{
|
{
|
||||||
int factorLog2 = kParamOversamplingRange.denormalize(valueNormalized);
|
auto factorLog2 = static_cast<int>(kParamOversamplingRange.denormalize(valueNormalized));
|
||||||
Steinberg::String buf;
|
Steinberg::String buf;
|
||||||
buf.printf("%dX", 1 << factorLog2);
|
buf.printf("%dX", 1 << factorLog2);
|
||||||
buf.copyTo(string);
|
buf.copyTo(string);
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,13 @@
|
||||||
#include "pluginterfaces/vst/ivstparameterchanges.h"
|
#include "pluginterfaces/vst/ivstparameterchanges.h"
|
||||||
#include <cstring>
|
#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()
|
SfizzVstProcessor::SfizzVstProcessor()
|
||||||
: _fifoToWorker(1024)
|
: _fifoToWorker(1024)
|
||||||
|
|
@ -22,7 +28,11 @@ SfizzVstProcessor::SfizzVstProcessor()
|
||||||
|
|
||||||
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)
|
tresult PLUGIN_API SfizzVstProcessor::initialize(FUnknown* context)
|
||||||
|
|
@ -186,7 +196,7 @@ void SfizzVstProcessor::processParameterChanges(Vst::IParameterChanges& pc)
|
||||||
break;
|
break;
|
||||||
msg->setMessageID("SetNumVoices");
|
msg->setMessageID("SetNumVoices");
|
||||||
Vst::IAttributeList* attr = msg->getAttributes();
|
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)) {
|
if (!_fifoToWorker.push(msg)) {
|
||||||
msg->release();
|
msg->release();
|
||||||
break;
|
break;
|
||||||
|
|
@ -201,7 +211,7 @@ void SfizzVstProcessor::processParameterChanges(Vst::IParameterChanges& pc)
|
||||||
break;
|
break;
|
||||||
msg->setMessageID("SetOversampling");
|
msg->setMessageID("SetOversampling");
|
||||||
Vst::IAttributeList* attr = msg->getAttributes();
|
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)) {
|
if (!_fifoToWorker.push(msg)) {
|
||||||
msg->release();
|
msg->release();
|
||||||
break;
|
break;
|
||||||
|
|
@ -216,7 +226,7 @@ void SfizzVstProcessor::processParameterChanges(Vst::IParameterChanges& pc)
|
||||||
break;
|
break;
|
||||||
msg->setMessageID("SetPreloadSize");
|
msg->setMessageID("SetPreloadSize");
|
||||||
Vst::IAttributeList* attr = msg->getAttributes();
|
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)) {
|
if (!_fifoToWorker.push(msg)) {
|
||||||
msg->release();
|
msg->release();
|
||||||
break;
|
break;
|
||||||
|
|
@ -246,10 +256,10 @@ void SfizzVstProcessor::processControllerChanges(Vst::IParameterChanges& pc)
|
||||||
switch (id) {
|
switch (id) {
|
||||||
default:
|
default:
|
||||||
if (id >= kPidMidiCC0 && id <= kPidMidiCCLast) {
|
if (id >= kPidMidiCC0 && id <= kPidMidiCCLast) {
|
||||||
int ccNumber = id - kPidMidiCC0;
|
auto ccNumber = static_cast<int>(id - kPidMidiCC0);
|
||||||
for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) {
|
for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) {
|
||||||
if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue)
|
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;
|
break;
|
||||||
|
|
@ -257,14 +267,14 @@ void SfizzVstProcessor::processControllerChanges(Vst::IParameterChanges& pc)
|
||||||
case kPidMidiAftertouch:
|
case kPidMidiAftertouch:
|
||||||
for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) {
|
for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) {
|
||||||
if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue)
|
if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue)
|
||||||
synth.aftertouch(sampleOffset, (int)(0.5 + value * 127.0));
|
synth.aftertouch(sampleOffset, fastRound(value * 127.0));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kPidMidiPitchBend:
|
case kPidMidiPitchBend:
|
||||||
for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) {
|
for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) {
|
||||||
if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue)
|
if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue)
|
||||||
synth.pitchWheel(sampleOffset, (int)(0.5 + value * 16383) - 8192);
|
synth.pitchWheel(sampleOffset, fastRound(value * 16383) - 8192);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue