Anklang-0.3.0.dev797+g4e3241f3 anklang-0.3.0.dev797+g4e3241f3
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
device.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#ifndef __ASE_DEVICE_HH__
3#define __ASE_DEVICE_HH__
4
5#include <ase/gadget.hh>
6
7namespace Ase {
8
9class DeviceImpl : public GadgetImpl, public virtual Device {
10 bool activated_ = false;
11protected:
12 explicit DeviceImpl () {} // abstract base
13 void _set_parent (GadgetImpl *parent) override;
14 virtual DeviceS list_devices () { return {}; }
15public:
16 void _activate () override;
17 void _deactivate () override;
18 DeviceS get_devices () const override { return const_cast<DeviceImpl&> (*this).list_devices(); }
19 void set_devices (const DeviceS &newdevices) override { emit_notify ("devices"); }
20 bool is_active () override { return activated_; }
21 bool gui_supported () override { return false; }
22 bool gui_visible () override { return false; }
23 void gui_toggle () override {}
24 void _disconnect_remove () override;
25 static DeviceInfo extract_info (const String &aseid);
26};
27
28} // Ase
29
30#endif // __ASE_DEVICE_HH__
bool gui_visible() override
Is GUI currently visible.
Definition device.hh:22
void set_devices(const DeviceS &newdevices) override
Set the list of devices.
Definition device.hh:19
DeviceS get_devices() const override
List devices in order of processing, notified via "devs".
Definition device.hh:18
bool gui_supported() override
Has GUI display facilities.
Definition device.hh:21
bool is_active() override
Check whether this is the active synthesis engine project.
Definition device.hh:20
void _disconnect_remove() override
Disconnect the device and remove all object references.
Definition device.cc:43
void _deactivate() override
Stop processing the corresponding AudioProcessor.
Definition device.cc:27
void _activate() override
Add AudioProcessor to the Engine and start processing.
Definition device.cc:20
void _set_parent(GadgetImpl *parent) override
Assign parent container.
Definition device.cc:13
void gui_toggle() override
Toggle GUI display.
Definition device.hh:23
Interface to access Device instances.
Definition api.hh:210
void emit_notify(const String &detail) override
Emit notify:detail, multiple notifications maybe coalesced if a CoalesceNotifies instance exists.
Definition object.cc:164
Base type for classes that have a Property.
Definition gadget.hh:12
The Anklang C++ API namespace.
Definition api.hh:9
Info for device types.
Definition api.hh:199