10float trkn_volume_db (
const tracktion::VolumeAndPanPlugin &plugin);
11void trkn_volume_db (tracktion::VolumeAndPanPlugin &plugin,
float db);
12float trkn_slider_pos (
const tracktion::VolumeAndPanPlugin &plugin);
13void trkn_slider_pos (tracktion::VolumeAndPanPlugin &plugin,
float pos);
14float trkn_pan (
const tracktion::VolumeAndPanPlugin &plugin);
15void trkn_pan (tracktion::VolumeAndPanPlugin &plugin,
float pan);
16void trkn_restore_parameter_values (tracktion::Edit &edit);
20 union {
void *
const align_;
char mem_[
sizeof (
void*)]; };
21 void set (tracktion::Selectable*)
noexcept;
24 tracktion::Selectable* get ()
const noexcept;
29 SelectableBaseref& operator= (tracktion::Selectable *obj) { set (obj);
return *
this; }
34template<
typename SelectableType>
41 SelectableType* get ()
const noexcept {
return dynamic_cast<SelectableType*
> (base_.get()); }
42 SelectableType* operator-> ()
const noexcept {
return get(); }
45 bool operator== (SelectableType *obj)
const noexcept {
return base_.get() == obj; }
46 bool operator!= (SelectableType *obj)
const noexcept {
return base_.get() != obj; }
47 bool operator== (
std::nullptr_t)
const noexcept {
return base_.get() ==
nullptr; }
48 bool operator!= (
std::nullptr_t)
const noexcept {
return base_.get() !=
nullptr; }
49 bool operator== (
const SelectableWeakref &ref)
const noexcept {
return base_.get() == ref.base_.get(); }
50 bool operator!= (
const SelectableWeakref &ref)
const noexcept {
return base_.get() != ref.base_.get(); }
60template<
typename AseType>
inline AseType*
66template<
typename AseType>
inline AseType*
69 return selectable ? find_ase_obj<AseType> (*selectable) :
nullptr;
Wrapper for juce::WeakReference<tracktion::Selectable>
Mimick tracktion::engine::SafeSelectable<> for tracktion::Selectable descendants.
The Anklang C++ API namespace.
void register_ase_obj(VirtualBase *ase_impl, tracktion::Selectable &selectable)
Helper: register AseImpl with a tracktion Selectable via ase_obj_.
AseType * find_ase_obj(tracktion::Selectable &selectable)
Helper: lookup AseType from tracktion Selectable via ase_obj_.
VirtualBase * find_ase_obj_virtual_base(tracktion::Selectable *selectable)
Helper: lookup Ase::VirtualBase from tracktion Selectable via ase_obj_.
void unregister_ase_obj(VirtualBase *ase_impl, tracktion::Selectable *selectable)
Helper: unregister AseImpl from a tracktion Selectable (selectable may be nullptr)
Common base type to allow casting between polymorphic classes.