/* * DISTRHO Ildaeil Plugin * Copyright (C) 2021 Filipe Coelho * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 3 of * the License, or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * For a full copy of the GNU General Public License see the LICENSE file. */ #include "DistrhoPlugin.hpp" START_NAMESPACE_DISTRHO // ----------------------------------------------------------------------------------------------------------- class IldaeilPlugin : public Plugin { public: IldaeilPlugin() : Plugin(0, 0, 0) { } ~IldaeilPlugin() override { } protected: /* -------------------------------------------------------------------------------------------------------- * Information */ /** Get the plugin label. A plugin label follows the same rules as Parameter::symbol, with the exception that it can start with numbers. */ const char* getLabel() const override { return "Ildaeil"; } /** Get an extensive comment/description about the plugin. */ const char* getDescription() const override { return "..."; } /** Get the plugin author/maker. */ const char* getMaker() const override { return "DISTRHO"; } /** Get the plugin homepage. */ const char* getHomePage() const override { return "https://github.com/DISTRHO/Ildaeil"; } /** Get the plugin license name (a single line of text). For commercial plugins this should return some short copyright information. */ const char* getLicense() const override { return "ISC"; } /** Get the plugin version, in hexadecimal. */ uint32_t getVersion() const override { return d_version(1, 0, 0); } /** Get the plugin unique Id. This value is used by LADSPA, DSSI and VST plugin formats. */ int64_t getUniqueId() const override { #if DISTRHO_PLUGIN_IS_SYNTH return d_cconst('d', 'I', 'l', 'S'); #elif DISTRHO_PLUGIN_WANT_MIDI_OUTPUT return d_cconst('d', 'I', 'l', 'M'); #else return d_cconst('d', 'I', 'l', 'F'); #endif } /* -------------------------------------------------------------------------------------------------------- * Init */ /* -------------------------------------------------------------------------------------------------------- * Internal data */ /* -------------------------------------------------------------------------------------------------------- * Process */ /** Run/process function for plugins without MIDI input. */ void run(const float** inputs, float** outputs, uint32_t frames) override { // copy inputs over outputs if needed if (outputs[0] != inputs[0]) std::memcpy(outputs[0], inputs[0], sizeof(float)*frames); if (outputs[1] != inputs[1]) std::memcpy(outputs[1], inputs[1], sizeof(float)*frames); } // ------------------------------------------------------------------------------------------------------- private: /** Set our plugin class as non-copyable and add a leak detector just in case. */ DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(IldaeilPlugin) }; /* ------------------------------------------------------------------------------------------------------------ * Plugin entry point, called by DPF to create a new plugin instance. */ Plugin* createPlugin() { return new IldaeilPlugin(); } // ----------------------------------------------------------------------------------------------------------- END_NAMESPACE_DISTRHO