33 class PluginBase final :
public clap::helpers::Plugin<clap::helpers::MisbehaviourHandler::Ignore, clap::helpers::CheckingLevel::Maximal> {
42 bool activate(
double sampleRate, std::uint32_t minFrameCount, std::uint32_t maxFrameCount)
noexcept override;
43 clap_process_status process(
const clap_process* processContext)
noexcept override;
44 void paramsFlush(
const clap_input_events* in,
const clap_output_events* out)
noexcept override;
45 void handleGuiEvents(
const clap_output_events_t* outputQueue)
noexcept;
46 void handleEvent(
const clap_event_header_t* event)
noexcept;
48 [[nodiscard]]
bool implementsParams() const noexcept override;
49 [[nodiscard]]
bool isValidParamId(clap_id paramId) const noexcept override;
50 [[nodiscard]] std::uint32_t paramsCount() const noexcept override;
51 [[nodiscard]]
bool paramsInfo(std::uint32_t paramIndex, clap_param_info* info) const noexcept override;
52 [[nodiscard]]
bool paramsValue(clap_id
id,
double* value) noexcept override;
54 [[nodiscard]]
bool implementsAudioPorts() const noexcept override;
55 [[nodiscard]] std::uint32_t audioPortsCount(
bool isInput) const noexcept override;
56 [[nodiscard]]
bool audioPortsInfo(std::uint32_t index,
bool isInput, clap_audio_port_info* info) const noexcept override;
57 [[nodiscard]]
bool implementsNotePorts() const noexcept override;
58 [[nodiscard]] std::uint32_t notePortsCount(
bool isInput) const noexcept override;
59 [[nodiscard]]
bool notePortsInfo(std::uint32_t index,
bool isInput, clap_note_port_info* info) const noexcept override;
61 [[nodiscard]]
bool implementsState() const noexcept override;
62 [[nodiscard]]
bool stateSave(const clap_ostream* stream) noexcept override;
63 [[nodiscard]]
bool stateLoad(const clap_istream* stream) noexcept override;
65 [[nodiscard]]
bool implementsGui() const noexcept override;
66 [[nodiscard]]
bool guiIsApiSupported(const
char* api,
bool isFloating) noexcept override;
67 [[nodiscard]]
bool guiCreate(const
char* api,
bool isFloating) noexcept override;
68 [[nodiscard]]
bool guiShow() noexcept override;
69 [[nodiscard]]
bool guiHide() noexcept override;
70 void guiDestroy() noexcept override;
71 [[nodiscard]]
bool guiSetParent(const clap_window* window) noexcept override;
72 [[nodiscard]]
bool guiSetScale(
double scale) noexcept override;
73 [[nodiscard]]
bool guiCanResize() const noexcept override;
74 [[nodiscard]]
bool guiAdjustSize(std::uint32_t* width, std::uint32_t* height) noexcept override;
75 [[nodiscard]]
bool guiSetSize(std::uint32_t width, std::uint32_t height) noexcept override;
76 [[nodiscard]]
bool guiGetSize(std::uint32_t* width, std::uint32_t* height) noexcept override;
80 std::unique_ptr<core::IPluginEntry> m_pluginEntry{
nullptr };
81 std::unique_ptr<core::ISharedState> m_state{
nullptr };
82 std::unique_ptr<core::IEngine> m_engine{
nullptr };
83 std::unique_ptr<core::IEditor> m_editor{
nullptr };