Anklang-0.3.0.dev956+gd75ac925 anklang-0.3.0.dev956+gd75ac925
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
plugin.hh
Go to the documentation of this file.
1 // This Source Code Form is licensed MPL-2.0: http://mozilla.org/MPL/2.0
2#pragma once
3
4#include <ase/trkn-utils.hh>
5#include <ase/device.hh>
6
7namespace Ase {
8
10class PluginImpl : public DeviceImpl, public virtual Plugin {
14 friend class TrackImpl;
15 friend class PluginStateListener;
16protected:
18 std::string plugin_type_;
19 virtual ~PluginImpl ();
20 String fallback_name () const override;
21public:
22 explicit PluginImpl (tracktion::Plugin &plugin);
23 String name () const override;
24 DeviceInfo device_info () override;
25 String plugin_type () const override;
26 bool is_enabled () const override;
27 void set_enabled (bool enabled) override;
28 bool is_frozen () const override;
29 void set_frozen (bool frozen) override;
30 void remove_self () override;
31 tracktion::Plugin* plugin () const noexcept { return plugin_.get(); }
32 static PluginImplP from_trkn (tracktion::Plugin&);
33};
34
35} // Ase
36
Ase::Plugin implementation wrapping tracktion::Plugin.
Definition plugin.hh:10
tracktion::Plugin * plugin() const noexcept
Access underlying tracktion::Plugin (for internal use).
Definition plugin.hh:31
bool is_frozen() const override
Check if plugin is frozen.
Definition plugin.cc:107
String plugin_type() const override
Plugin type identifier.
Definition plugin.cc:86
void remove_self() override
Remove self from parent container.
Definition plugin.cc:134
bool is_enabled() const override
Check if plugin is enabled.
Definition plugin.cc:92
void set_frozen(bool frozen) override
Freeze or unfreeze the plugin.
Definition plugin.cc:115
void set_enabled(bool enabled) override
Enable or disable the plugin.
Definition plugin.cc:100
DeviceInfo device_info() override
Describe this Device type.
Definition plugin.cc:122
Plugin wrapper for tracktion_engine plugins on tracks.
Definition api.hh:217
Mimick tracktion::engine::SafeSelectable<> for tracktion::Selectable descendants.
Definition trkn-utils.hh:27
Ase::Track implementation.
Definition track.hh:10
#define ASE_DEFINE_MAKE_SHARED(CLASS)
Define a member function static shared_ptr<CLASS> make_shared(ctorargs...);.
Definition cxxaux.hh:274
The Anklang C++ API namespace.
Definition api.hh:8
Info for device types.
Definition api.hh:200