1
0
basics/clap/source/basics.cpp
2025-07-06 12:53:41 +01:00

108 lines
2.6 KiB
C++

#ifndef LOG_EXPR
# include <iostream>
# define LOG_EXPR(expr) std::cout << #expr " = " << (expr) << std::endl;
#endif
#include "signalsmith-basics/analyser.h"
#include "signalsmith-basics/chorus.h"
#include "signalsmith-basics/crunch.h"
#include "signalsmith-basics/freq-shifter.h"
#include "signalsmith-basics/limiter.h"
#include "signalsmith-basics/reverb.h"
#include "../../stfx/clap/stfx-clap.h"
static stfx::clap::Plugins plugins;
bool clap_init(const char *path) {
plugins.add<signalsmith::basics::AnalyserSTFX>({
.clap_version = CLAP_VERSION,
.id = "uk.co.signalsmith.basics.analyser",
.name = "[Basics] Analyser",
.vendor = "Signalsmith Audio",
.url = "",
.manual_url = "",
.support_url = "",
.version = "1.0.0"
}, {
CLAP_PLUGIN_FEATURE_ANALYZER,
});
plugins.add<signalsmith::basics::ChorusSTFX>({
.clap_version = CLAP_VERSION,
.id = "uk.co.signalsmith.basics.chorus",
.name = "[Basics] Chorus",
.vendor = "Signalsmith Audio",
.url = "",
.manual_url = "",
.support_url = "",
.version = "1.0.0"
}, {
CLAP_PLUGIN_FEATURE_AUDIO_EFFECT,
CLAP_PLUGIN_FEATURE_CHORUS,
});
plugins.add<signalsmith::basics::CrunchSTFX>({
.clap_version = CLAP_VERSION,
.id = "uk.co.signalsmith.basics.crunch",
.name = "[Basics] Crunch",
.vendor = "Signalsmith Audio",
.url = "",
.manual_url = "",
.support_url = "",
.version = "1.0.0"
}, {
CLAP_PLUGIN_FEATURE_AUDIO_EFFECT,
CLAP_PLUGIN_FEATURE_DISTORTION,
});
plugins.add<signalsmith::basics::FreqShifterSTFX>({
.clap_version = CLAP_VERSION,
.id = "uk.co.signalsmith.basics.freq-shifter",
.name = "[Basics] Frequency Shifter",
.vendor = "Signalsmith Audio",
.url = "",
.manual_url = "",
.support_url = "",
.version = "1.0.0"
}, {
CLAP_PLUGIN_FEATURE_AUDIO_EFFECT,
CLAP_PLUGIN_FEATURE_FREQUENCY_SHIFTER,
});
plugins.add<signalsmith::basics::LimiterSTFX>({
.clap_version = CLAP_VERSION,
.id = "uk.co.signalsmith.basics.limiter",
.name = "[Basics] Limiter",
.vendor = "Signalsmith Audio",
.url = "",
.manual_url = "",
.support_url = "",
.version = "1.0.0"
}, {
CLAP_PLUGIN_FEATURE_AUDIO_EFFECT,
CLAP_PLUGIN_FEATURE_LIMITER,
});
plugins.add<signalsmith::basics::ReverbSTFX>({
.clap_version = CLAP_VERSION,
.id = "uk.co.signalsmith.basics.reverb",
.name = "[Basics] Reverb",
.vendor = "Signalsmith Audio",
.url = "",
.manual_url = "",
.support_url = "",
.version = "1.0.0"
}, {
CLAP_PLUGIN_FEATURE_AUDIO_EFFECT,
CLAP_PLUGIN_FEATURE_REVERB,
});
return plugins.clap_init(path);
}
void clap_deinit() {
plugins.clap_deinit();
}
const void * clap_get_factory(const char *id) {
return plugins.clap_get_factory(id);
}