Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::Trigger Class Referenceabstract

#include <triggerbox.h>

Inheritance diagram for ARDOUR::Trigger:
[legend]

Classes

struct  UIRequests
 
struct  UIState
 

Public Types

enum  State {
  Stopped , WaitingToStart , Running , WaitingForRetrigger ,
  WaitingToStop , WaitingToSwitch , Stopping
}
 
enum  LaunchStyle {
  OneShot , ReTrigger , Gate , Toggle ,
  Repeat
}
 
enum  StretchMode { Crisp , Mixed , Smooth }
 

Public Member Functions

 Trigger (uint32_t index, TriggerBox &)
 
virtual ~Trigger ()
 
void set_launch_style (LaunchStyle)
 
LaunchStyle launch_style () const
 
void set_follow_action0 (FollowAction const &)
 
FollowAction follow_action0 () const
 
void set_follow_action1 (FollowAction const &)
 
FollowAction follow_action1 () const
 
void set_follow_action_probability (int)
 
int follow_action_probability () const
 
void set_follow_count (uint32_t)
 
uint32_t follow_count () const
 
void set_quantization (Temporal::BBT_Offset const &)
 
Temporal::BBT_Offset quantization () const
 
void set_follow_length (Temporal::BBT_Offset const &)
 
Temporal::BBT_Offset follow_length () const
 
void set_use_follow_length (bool)
 
bool use_follow_length () const
 
void set_legato (bool)
 
bool legato () const
 
void set_velocity_effect (float)
 
float velocity_effect () const
 
void set_stretchable (bool)
 
bool stretchable () const
 
void set_cue_isolated (bool)
 
bool cue_isolated () const
 
void set_allow_patch_changes (bool)
 
bool allow_patch_changes () const
 
void set_gain (gain_t)
 
gain_t gain () const
 
void set_stretch_mode (StretchMode)
 
StretchMode stretch_mode () const
 
void set_color (color_t)
 
color_t color () const
 
void set_name (std::string const &)
 
std::string name () const
 
void bang (float velocity=1.0f)
 
void unbang ()
 
void request_stop ()
 
void stop_quantized ()
 
virtual void tempo_map_changed ()
 
virtual pframes_t run (BufferSet &, samplepos_t start_sample, samplepos_t end_sample, Temporal::Beats const &start, Temporal::Beats const &end, pframes_t nframes, pframes_t offset, double bpm, pframes_t &quantize_offset)=0
 
virtual void set_start (timepos_t const &)=0
 
virtual void set_end (timepos_t const &)=0
 
virtual void set_length (timecnt_t const &)=0
 
virtual void reload (BufferSet &, void *)=0
 
virtual void io_change ()
 
virtual void set_legato_offset (timepos_t const &offset)=0
 
timepos_t current_pos () const
 
double position_as_fraction () const
 
virtual void captured (SlotArmInfo &, BufferSet &)
 
virtual void arm ()
 
virtual void disarm ()
 
bool armed () const
 
Temporal::BBT_Argument compute_start (Temporal::TempoMap::SharedPtr const &, samplepos_t start, samplepos_t end, Temporal::BBT_Offset const &q, samplepos_t &start_samples, bool &will_start)
 
virtual timepos_t compute_end (Temporal::TempoMap::SharedPtr const &, Temporal::BBT_Time const &, samplepos_t, Temporal::Beats &)=0
 
virtual void start_and_roll_to (samplepos_t start, samplepos_t position, uint32_t cnt)=0
 
bool will_not_follow () const
 
bool will_follow () const
 
bool cue_launched () const
 
virtual bool probably_oneshot () const =0
 
virtual timepos_t start_offset () const =0
 
virtual timepos_t current_length () const =0
 
virtual timepos_t natural_length () const =0
 
void process_state_requests (BufferSet &bufs, pframes_t dest_offset)
 
bool active () const
 
State state () const
 
void set_region (std::shared_ptr< Region >, bool use_thread=true)
 
void clear_region ()
 
virtual int set_region_in_worker_thread (std::shared_ptr< Region >)=0
 
virtual int set_region_in_worker_thread_from_capture (std::shared_ptr< Region >)=0
 
std::shared_ptr< Regionthe_region () const
 
virtual bool playable () const =0
 
uint32_t index () const
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
void maybe_compute_next_transition (samplepos_t start_sample, Temporal::Beats const &start, Temporal::Beats const &end, pframes_t &nframes, pframes_t &dest_offset)
 
bool compute_quantized_transition (samplepos_t start_sample, Temporal::Beats const &start, Temporal::Beats const &end, Temporal::BBT_Argument &t_bbt, Temporal::Beats &t_beats, samplepos_t &t_samples, Temporal::TempoMap::SharedPtr const &tmap, Temporal::BBT_Offset const &q)
 
pframes_t compute_next_transition (samplepos_t start_sample, Temporal::Beats const &start, Temporal::Beats const &end, pframes_t nframes, Temporal::BBT_Argument &t_bbt, Temporal::Beats &t_beats, samplepos_t &t_samples, Temporal::TempoMap::SharedPtr const &tmap)
 
template<typename TriggerType >
void start_and_roll_to (samplepos_t start_pos, samplepos_t end_position, TriggerType &trigger, pframes_t(TriggerType::*run_method)(BufferSet &bufs, samplepos_t start_sample, samplepos_t end_sample, Temporal::Beats const &start_beats, Temporal::Beats const &end_beats, pframes_t nframes, pframes_t dest_offset, double bpm, pframes_t &), uint32_t cnt)
 
void set_next_trigger (int n)
 
int next_trigger () const
 
void startup (BufferSet &, pframes_t dest_offset, Temporal::BBT_Offset const &start_quantization=Temporal::BBT_Offset(9, 3, 0))
 
void startup_from_ffwd (BufferSet &, uint32_t loop_cnt)
 
void shutdown_from_fwd ()
 
virtual void shutdown (BufferSet &bufs, pframes_t dest_offset)
 
virtual void jump_start ()
 
virtual void jump_stop (BufferSet &bufs, pframes_t dest_offset)
 
void begin_stop (bool explicit_stop=false)
 
void begin_switch (TriggerPtr)
 
bool explicitly_stopped () const
 
uint32_t loop_count () const
 
void set_ui (void *)
 
void * ui () const
 
TriggerBoxbox () const
 
std::shared_ptr< TriggerBoxboxptr () const
 
double estimated_tempo () const
 
virtual double segment_tempo () const =0
 
virtual void set_segment_tempo (double t)=0
 
virtual Evoral::SMF::UsedChannels used_channels () const
 
virtual void set_used_channels (Evoral::SMF::UsedChannels)
 
virtual void set_patch_change (Evoral::PatchChange< MidiBuffer::TimeType > const &)
 
virtual Evoral::PatchChange< MidiBuffer::TimeType > const patch_change (uint8_t) const
 
virtual void unset_patch_change (uint8_t channel)
 
virtual void unset_all_patch_changes ()
 
virtual bool patch_change_set (uint8_t channel) const
 
virtual void setup_stretcher ()=0
 
Temporal::Meter meter () const
 
void set_velocity_gain (gain_t g)
 
void set_pending (Trigger *)
 
Triggerswap_pending (Trigger *)
 
void update_properties ()
 
virtual SegmentDescriptor get_segment_descriptor () const =0
 
void get_ui_state (UIState &state) const
 
void set_ui_state (UIState &state)
 
virtual void check_edit_swap (timepos_t const &time, bool playing, BufferSet &bufs)
 
void region_property_change (PBD::PropertyChange const &)
 
virtual void bounds_changed (Temporal::timepos_t const &start, Temporal::timepos_t const &end)
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_change (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (PBD::Command *) const
 
virtual void rdiff (std::vector< PBD::Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 

Static Public Member Functions

static void make_property_quarks ()
 
static void request_trigger_delete (Trigger *t)
 

Public Attributes

PBD::Signal< void()> ArmChanged
 
samplepos_t transition_samples
 
Temporal::Beats transition_beats
 
Temporal::BBT_Time _transition_bbt
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal< void(const PropertyChange &)> PropertyChanged
 

Static Public Attributes

static PBD::Signal< void(Trigger const *)> TriggerArmChanged
 
static Trigger *const MagicClearPointerValue
 
static PBD::Signal< void(PBD::PropertyChange, Trigger *)> TriggerPropertyChange
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 

Protected Member Functions

void copy_to_ui_state ()
 
void when_stopped_during_run (BufferSet &bufs, pframes_t dest_offset)
 
void set_region_internal (std::shared_ptr< Region >)
 
virtual void retrigger ()
 
virtual void _startup (BufferSet &, pframes_t dest_offset, Temporal::BBT_Offset const &)
 
bool internal_use_follow_length () const
 
void send_property_change (PBD::PropertyChange pc)
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &) const
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
bool regenerate_xml_or_string_ids () const
 

Protected Attributes

PBD::Property< LaunchStyle_launch_style
 
PBD::Property< FollowAction_follow_action0
 
PBD::Property< FollowAction_follow_action1
 
PBD::Property< int > _follow_action_probability
 
PBD::Property< uint32_t > _follow_count
 
PBD::Property< Temporal::BBT_Offset_quantization
 
PBD::Property< Temporal::BBT_Offset_follow_length
 
PBD::Property< bool > _use_follow_length
 
PBD::Property< bool > _legato
 
PBD::Property< gain_t_gain
 
PBD::Property< float > _velocity_effect
 
PBD::Property< bool > _stretchable
 
PBD::Property< bool > _cue_isolated
 
PBD::Property< bool > _allow_patch_changes
 
PBD::Property< StretchMode_stretch_mode
 
PBD::Property< std::string > _name
 
PBD::Property< color_t_color
 
std::shared_ptr< Region_region
 
samplecnt_t process_index
 
samplepos_t final_processed_sample
 
UIState ui_state
 
TriggerBox_box
 
UIRequests _requests
 
State _state
 
bool _playout
 
std::atomic< int > _bang
 
std::atomic< int > _unbang
 
uint32_t _index
 
int _next_trigger
 
uint32_t _loop_cnt
 
void * _ui
 
bool _explicitly_stopped
 
gain_t _pending_velocity_gain
 
gain_t _velocity_gain
 
bool _cue_launched
 
bool _armed
 
Evoral::SMF::UsedChannels _used_channels
 
Evoral::PatchChange< MidiBuffer::TimeType_patch_change [16]
 
std::vector< int > _channel_map
 
double _estimated_tempo
 
double _segment_tempo
 
double _beatcnt
 
Temporal::Meter _meter
 
samplepos_t expected_end_sample
 
Temporal::BBT_Offset _start_quantization
 
Temporal::BBT_Offset _nxt_quantization
 
std::atomic< Trigger * > _pending
 
std::atomic< unsigned int > last_property_generation
 
PBD::ScopedConnection region_connection
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 

Detailed Description

Definition at line 88 of file triggerbox.h.

Member Enumeration Documentation

◆ LaunchStyle

Enumerator
OneShot 
ReTrigger 
Gate 
Toggle 
Repeat 

Definition at line 129 of file triggerbox.h.

◆ State

Enumerator
Stopped 
WaitingToStart 
Running 
WaitingForRetrigger 
WaitingToStop 
WaitingToSwitch 
Stopping 

Definition at line 90 of file triggerbox.h.

◆ StretchMode

Enumerator
Crisp 
Mixed 
Smooth 

Definition at line 137 of file triggerbox.h.

Constructor & Destructor Documentation

◆ Trigger()

ARDOUR::Trigger::Trigger ( uint32_t  index,
TriggerBox  
)

◆ ~Trigger()

virtual ARDOUR::Trigger::~Trigger ( )
inlinevirtual

Definition at line 144 of file triggerbox.h.

Member Function Documentation

◆ _startup()

virtual void ARDOUR::Trigger::_startup ( BufferSet ,
pframes_t  dest_offset,
Temporal::BBT_Offset const &   
)
protectedvirtual

Reimplemented in ARDOUR::MIDITrigger, and ARDOUR::AudioTrigger.

◆ active()

bool ARDOUR::Trigger::active ( ) const
inline

Definition at line 326 of file triggerbox.h.

◆ allow_patch_changes()

bool ARDOUR::Trigger::allow_patch_changes ( ) const

◆ arm()

virtual void ARDOUR::Trigger::arm ( )
virtual

Reimplemented in ARDOUR::MIDITrigger.

◆ armed()

bool ARDOUR::Trigger::armed ( ) const
inline

Definition at line 302 of file triggerbox.h.

◆ bang()

void ARDOUR::Trigger::bang ( float  velocity = 1.0f)

◆ begin_stop()

void ARDOUR::Trigger::begin_stop ( bool  explicit_stop = false)

◆ begin_switch()

void ARDOUR::Trigger::begin_switch ( TriggerPtr  )

◆ bounds_changed()

virtual void ARDOUR::Trigger::bounds_changed ( Temporal::timepos_t const &  start,
Temporal::timepos_t const &  end 
)
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger.

Definition at line 437 of file triggerbox.h.

◆ box()

TriggerBox& ARDOUR::Trigger::box ( ) const
inline

Definition at line 389 of file triggerbox.h.

◆ boxptr()

std::shared_ptr<TriggerBox> ARDOUR::Trigger::boxptr ( ) const

◆ captured()

virtual void ARDOUR::Trigger::captured ( SlotArmInfo ,
BufferSet  
)
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger, and ARDOUR::AudioTrigger.

Definition at line 299 of file triggerbox.h.

◆ check_edit_swap()

virtual void ARDOUR::Trigger::check_edit_swap ( timepos_t const &  time,
bool  playing,
BufferSet bufs 
)
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger.

Definition at line 432 of file triggerbox.h.

◆ clear_region()

void ARDOUR::Trigger::clear_region ( )

◆ color()

color_t ARDOUR::Trigger::color ( ) const

◆ compute_end()

virtual timepos_t ARDOUR::Trigger::compute_end ( Temporal::TempoMap::SharedPtr const &  ,
Temporal::BBT_Time const &  ,
samplepos_t  ,
Temporal::Beats  
)
pure virtual

◆ compute_next_transition()

pframes_t ARDOUR::Trigger::compute_next_transition ( samplepos_t  start_sample,
Temporal::Beats const &  start,
Temporal::Beats const &  end,
pframes_t  nframes,
Temporal::BBT_Argument t_bbt,
Temporal::Beats t_beats,
samplepos_t t_samples,
Temporal::TempoMap::SharedPtr const &  tmap 
)

◆ compute_quantized_transition()

bool ARDOUR::Trigger::compute_quantized_transition ( samplepos_t  start_sample,
Temporal::Beats const &  start,
Temporal::Beats const &  end,
Temporal::BBT_Argument t_bbt,
Temporal::Beats t_beats,
samplepos_t t_samples,
Temporal::TempoMap::SharedPtr const &  tmap,
Temporal::BBT_Offset const &  q 
)

◆ compute_start()

Temporal::BBT_Argument ARDOUR::Trigger::compute_start ( Temporal::TempoMap::SharedPtr const &  ,
samplepos_t  start,
samplepos_t  end,
Temporal::BBT_Offset const &  q,
samplepos_t start_samples,
bool &  will_start 
)

◆ copy_to_ui_state()

void ARDOUR::Trigger::copy_to_ui_state ( )
protected

◆ cue_isolated()

bool ARDOUR::Trigger::cue_isolated ( ) const

◆ cue_launched()

bool ARDOUR::Trigger::cue_launched ( ) const
inline

Definition at line 316 of file triggerbox.h.

◆ current_length()

virtual timepos_t ARDOUR::Trigger::current_length ( ) const
pure virtual

◆ current_pos()

timepos_t ARDOUR::Trigger::current_pos ( ) const

◆ disarm()

virtual void ARDOUR::Trigger::disarm ( )
virtual

Reimplemented in ARDOUR::MIDITrigger.

◆ estimated_tempo()

double ARDOUR::Trigger::estimated_tempo ( ) const
inline

Definition at line 392 of file triggerbox.h.

◆ explicitly_stopped()

bool ARDOUR::Trigger::explicitly_stopped ( ) const
inline

Definition at line 382 of file triggerbox.h.

◆ follow_action0()

FollowAction ARDOUR::Trigger::follow_action0 ( ) const

◆ follow_action1()

FollowAction ARDOUR::Trigger::follow_action1 ( ) const

◆ follow_action_probability()

int ARDOUR::Trigger::follow_action_probability ( ) const

◆ follow_count()

uint32_t ARDOUR::Trigger::follow_count ( ) const

◆ follow_length()

Temporal::BBT_Offset ARDOUR::Trigger::follow_length ( ) const

◆ gain()

gain_t ARDOUR::Trigger::gain ( ) const

◆ get_segment_descriptor()

virtual SegmentDescriptor ARDOUR::Trigger::get_segment_descriptor ( ) const
pure virtual

◆ get_state()

XMLNode& ARDOUR::Trigger::get_state ( ) const
virtual

Implements PBD::Stateful.

Reimplemented in ARDOUR::MIDITrigger, and ARDOUR::AudioTrigger.

◆ get_ui_state()

void ARDOUR::Trigger::get_ui_state ( UIState state) const

◆ index()

uint32_t ARDOUR::Trigger::index ( ) const
inline

Definition at line 336 of file triggerbox.h.

◆ internal_use_follow_length()

bool ARDOUR::Trigger::internal_use_follow_length ( ) const
protected

◆ io_change()

virtual void ARDOUR::Trigger::io_change ( )
inlinevirtual

Reimplemented in ARDOUR::AudioTrigger.

Definition at line 293 of file triggerbox.h.

◆ jump_start()

virtual void ARDOUR::Trigger::jump_start ( )
virtual

Reimplemented in ARDOUR::MIDITrigger, and ARDOUR::AudioTrigger.

◆ jump_stop()

virtual void ARDOUR::Trigger::jump_stop ( BufferSet bufs,
pframes_t  dest_offset 
)
virtual

Reimplemented in ARDOUR::MIDITrigger, and ARDOUR::AudioTrigger.

◆ launch_style()

LaunchStyle ARDOUR::Trigger::launch_style ( ) const

◆ legato()

bool ARDOUR::Trigger::legato ( ) const

◆ loop_count()

uint32_t ARDOUR::Trigger::loop_count ( ) const
inline

Definition at line 384 of file triggerbox.h.

◆ make_property_quarks()

static void ARDOUR::Trigger::make_property_quarks ( )
static

◆ maybe_compute_next_transition()

void ARDOUR::Trigger::maybe_compute_next_transition ( samplepos_t  start_sample,
Temporal::Beats const &  start,
Temporal::Beats const &  end,
pframes_t nframes,
pframes_t dest_offset 
)

◆ meter()

Temporal::Meter ARDOUR::Trigger::meter ( ) const
inline

Definition at line 412 of file triggerbox.h.

◆ name()

std::string ARDOUR::Trigger::name ( ) const

◆ natural_length()

virtual timepos_t ARDOUR::Trigger::natural_length ( ) const
pure virtual

◆ next_trigger()

int ARDOUR::Trigger::next_trigger ( ) const
inline

Definition at line 367 of file triggerbox.h.

◆ patch_change()

virtual Evoral::PatchChange<MidiBuffer::TimeType> const ARDOUR::Trigger::patch_change ( uint8_t  ) const
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger.

Definition at line 405 of file triggerbox.h.

◆ patch_change_set()

virtual bool ARDOUR::Trigger::patch_change_set ( uint8_t  channel) const
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger.

Definition at line 408 of file triggerbox.h.

◆ playable()

virtual bool ARDOUR::Trigger::playable ( ) const
pure virtual

◆ position_as_fraction()

double ARDOUR::Trigger::position_as_fraction ( ) const

◆ probably_oneshot()

virtual bool ARDOUR::Trigger::probably_oneshot ( ) const
pure virtual

◆ process_state_requests()

void ARDOUR::Trigger::process_state_requests ( BufferSet bufs,
pframes_t  dest_offset 
)

◆ quantization()

Temporal::BBT_Offset ARDOUR::Trigger::quantization ( ) const

◆ region_property_change()

void ARDOUR::Trigger::region_property_change ( PBD::PropertyChange const &  )

◆ reload()

virtual void ARDOUR::Trigger::reload ( BufferSet ,
void *   
)
pure virtual

◆ request_stop()

void ARDOUR::Trigger::request_stop ( )

◆ request_trigger_delete()

static void ARDOUR::Trigger::request_trigger_delete ( Trigger t)
static

◆ retrigger()

virtual void ARDOUR::Trigger::retrigger ( )
protectedvirtual

Reimplemented in ARDOUR::MIDITrigger, and ARDOUR::AudioTrigger.

◆ run()

virtual pframes_t ARDOUR::Trigger::run ( BufferSet ,
samplepos_t  start_sample,
samplepos_t  end_sample,
Temporal::Beats const &  start,
Temporal::Beats const &  end,
pframes_t  nframes,
pframes_t  offset,
double  bpm,
pframes_t quantize_offset 
)
pure virtual

◆ segment_tempo()

virtual double ARDOUR::Trigger::segment_tempo ( ) const
pure virtual

◆ send_property_change()

void ARDOUR::Trigger::send_property_change ( PBD::PropertyChange  pc)
protected

◆ set_allow_patch_changes()

void ARDOUR::Trigger::set_allow_patch_changes ( bool  )

◆ set_color()

void ARDOUR::Trigger::set_color ( color_t  )

◆ set_cue_isolated()

void ARDOUR::Trigger::set_cue_isolated ( bool  )

◆ set_end()

virtual void ARDOUR::Trigger::set_end ( timepos_t const &  )
pure virtual

◆ set_follow_action0()

void ARDOUR::Trigger::set_follow_action0 ( FollowAction const &  )

◆ set_follow_action1()

void ARDOUR::Trigger::set_follow_action1 ( FollowAction const &  )

◆ set_follow_action_probability()

void ARDOUR::Trigger::set_follow_action_probability ( int  )

◆ set_follow_count()

void ARDOUR::Trigger::set_follow_count ( uint32_t  )

◆ set_follow_length()

void ARDOUR::Trigger::set_follow_length ( Temporal::BBT_Offset const &  )

◆ set_gain()

void ARDOUR::Trigger::set_gain ( gain_t  )

◆ set_launch_style()

void ARDOUR::Trigger::set_launch_style ( LaunchStyle  )

◆ set_legato()

void ARDOUR::Trigger::set_legato ( bool  )

◆ set_legato_offset()

virtual void ARDOUR::Trigger::set_legato_offset ( timepos_t const &  offset)
pure virtual

◆ set_length()

virtual void ARDOUR::Trigger::set_length ( timecnt_t const &  )
pure virtual

◆ set_name()

void ARDOUR::Trigger::set_name ( std::string const &  )

◆ set_next_trigger()

void ARDOUR::Trigger::set_next_trigger ( int  n)

◆ set_patch_change()

virtual void ARDOUR::Trigger::set_patch_change ( Evoral::PatchChange< MidiBuffer::TimeType > const &  )
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger.

Definition at line 404 of file triggerbox.h.

◆ set_pending()

void ARDOUR::Trigger::set_pending ( Trigger )

◆ set_quantization()

void ARDOUR::Trigger::set_quantization ( Temporal::BBT_Offset const &  )

◆ set_region()

void ARDOUR::Trigger::set_region ( std::shared_ptr< Region ,
bool  use_thread = true 
)

◆ set_region_in_worker_thread()

virtual int ARDOUR::Trigger::set_region_in_worker_thread ( std::shared_ptr< Region )
pure virtual

◆ set_region_in_worker_thread_from_capture()

virtual int ARDOUR::Trigger::set_region_in_worker_thread_from_capture ( std::shared_ptr< Region )
pure virtual

◆ set_region_internal()

void ARDOUR::Trigger::set_region_internal ( std::shared_ptr< Region )
protected

◆ set_segment_tempo()

virtual void ARDOUR::Trigger::set_segment_tempo ( double  t)
pure virtual

◆ set_start()

virtual void ARDOUR::Trigger::set_start ( timepos_t const &  )
pure virtual

◆ set_state()

int ARDOUR::Trigger::set_state ( const XMLNode ,
int  version 
)
virtual

Implements PBD::Stateful.

Reimplemented in ARDOUR::MIDITrigger, and ARDOUR::AudioTrigger.

◆ set_stretch_mode()

void ARDOUR::Trigger::set_stretch_mode ( StretchMode  )

◆ set_stretchable()

void ARDOUR::Trigger::set_stretchable ( bool  )

◆ set_ui()

void ARDOUR::Trigger::set_ui ( void *  )

◆ set_ui_state()

void ARDOUR::Trigger::set_ui_state ( UIState state)

◆ set_use_follow_length()

void ARDOUR::Trigger::set_use_follow_length ( bool  )

◆ set_used_channels()

virtual void ARDOUR::Trigger::set_used_channels ( Evoral::SMF::UsedChannels  )
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger.

Definition at line 401 of file triggerbox.h.

◆ set_velocity_effect()

void ARDOUR::Trigger::set_velocity_effect ( float  )

◆ set_velocity_gain()

void ARDOUR::Trigger::set_velocity_gain ( gain_t  g)
inline

Definition at line 414 of file triggerbox.h.

◆ setup_stretcher()

virtual void ARDOUR::Trigger::setup_stretcher ( )
pure virtual

◆ shutdown()

virtual void ARDOUR::Trigger::shutdown ( BufferSet bufs,
pframes_t  dest_offset 
)
virtual

Reimplemented in ARDOUR::MIDITrigger.

◆ shutdown_from_fwd()

void ARDOUR::Trigger::shutdown_from_fwd ( )

◆ start_and_roll_to() [1/2]

virtual void ARDOUR::Trigger::start_and_roll_to ( samplepos_t  start,
samplepos_t  position,
uint32_t  cnt 
)
pure virtual

◆ start_and_roll_to() [2/2]

template<typename TriggerType >
void ARDOUR::Trigger::start_and_roll_to ( samplepos_t  start_pos,
samplepos_t  end_position,
TriggerType &  trigger,
pframes_t(TriggerType::*)(BufferSet &bufs, samplepos_t start_sample, samplepos_t end_sample, Temporal::Beats const &start_beats, Temporal::Beats const &end_beats, pframes_t nframes, pframes_t dest_offset, double bpm, pframes_t &)  run_method,
uint32_t  cnt 
)

◆ start_offset()

virtual timepos_t ARDOUR::Trigger::start_offset ( ) const
pure virtual

◆ startup()

void ARDOUR::Trigger::startup ( BufferSet ,
pframes_t  dest_offset,
Temporal::BBT_Offset const &  start_quantization = Temporal::BBT_Offset(9, 3, 0) 
)

◆ startup_from_ffwd()

void ARDOUR::Trigger::startup_from_ffwd ( BufferSet ,
uint32_t  loop_cnt 
)

◆ state()

State ARDOUR::Trigger::state ( ) const
inline

Definition at line 327 of file triggerbox.h.

◆ stop_quantized()

void ARDOUR::Trigger::stop_quantized ( )

◆ stretch_mode()

StretchMode ARDOUR::Trigger::stretch_mode ( ) const

◆ stretchable()

bool ARDOUR::Trigger::stretchable ( ) const

◆ swap_pending()

Trigger* ARDOUR::Trigger::swap_pending ( Trigger )

◆ tempo_map_changed()

virtual void ARDOUR::Trigger::tempo_map_changed ( )
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger.

Definition at line 284 of file triggerbox.h.

◆ the_region()

std::shared_ptr<Region> ARDOUR::Trigger::the_region ( ) const
inline

Definition at line 333 of file triggerbox.h.

◆ ui()

void* ARDOUR::Trigger::ui ( ) const
inline

Definition at line 387 of file triggerbox.h.

◆ unbang()

void ARDOUR::Trigger::unbang ( )

◆ unset_all_patch_changes()

virtual void ARDOUR::Trigger::unset_all_patch_changes ( )
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger.

Definition at line 407 of file triggerbox.h.

◆ unset_patch_change()

virtual void ARDOUR::Trigger::unset_patch_change ( uint8_t  channel)
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger.

Definition at line 406 of file triggerbox.h.

◆ update_properties()

void ARDOUR::Trigger::update_properties ( )

◆ use_follow_length()

bool ARDOUR::Trigger::use_follow_length ( ) const

◆ used_channels()

virtual Evoral::SMF::UsedChannels ARDOUR::Trigger::used_channels ( ) const
inlinevirtual

Reimplemented in ARDOUR::MIDITrigger.

Definition at line 400 of file triggerbox.h.

◆ velocity_effect()

float ARDOUR::Trigger::velocity_effect ( ) const

◆ when_stopped_during_run()

void ARDOUR::Trigger::when_stopped_during_run ( BufferSet bufs,
pframes_t  dest_offset 
)
protected

◆ will_follow()

bool ARDOUR::Trigger::will_follow ( ) const
inline

Definition at line 313 of file triggerbox.h.

◆ will_not_follow()

bool ARDOUR::Trigger::will_not_follow ( ) const

Member Data Documentation

◆ _allow_patch_changes

PBD::Property<bool> ARDOUR::Trigger::_allow_patch_changes
protected

Definition at line 164 of file triggerbox.h.

◆ _armed

bool ARDOUR::Trigger::_armed
protected

Definition at line 463 of file triggerbox.h.

◆ _bang

std::atomic<int> ARDOUR::Trigger::_bang
protected

Definition at line 453 of file triggerbox.h.

◆ _beatcnt

double ARDOUR::Trigger::_beatcnt
protected

Definition at line 487 of file triggerbox.h.

◆ _box

TriggerBox& ARDOUR::Trigger::_box
protected

Definition at line 449 of file triggerbox.h.

◆ _channel_map

std::vector<int> ARDOUR::Trigger::_channel_map
protected

Definition at line 468 of file triggerbox.h.

◆ _color

PBD::Property<color_t> ARDOUR::Trigger::_color
protected

Definition at line 170 of file triggerbox.h.

◆ _cue_isolated

PBD::Property<bool> ARDOUR::Trigger::_cue_isolated
protected

Definition at line 163 of file triggerbox.h.

◆ _cue_launched

bool ARDOUR::Trigger::_cue_launched
protected

Definition at line 462 of file triggerbox.h.

◆ _estimated_tempo

double ARDOUR::Trigger::_estimated_tempo
protected

Definition at line 475 of file triggerbox.h.

◆ _explicitly_stopped

bool ARDOUR::Trigger::_explicitly_stopped
protected

Definition at line 459 of file triggerbox.h.

◆ _follow_action0

PBD::Property<FollowAction> ARDOUR::Trigger::_follow_action0
protected

Definition at line 152 of file triggerbox.h.

◆ _follow_action1

PBD::Property<FollowAction> ARDOUR::Trigger::_follow_action1
protected

Definition at line 153 of file triggerbox.h.

◆ _follow_action_probability

PBD::Property<int> ARDOUR::Trigger::_follow_action_probability
protected

Definition at line 154 of file triggerbox.h.

◆ _follow_count

PBD::Property<uint32_t> ARDOUR::Trigger::_follow_count
protected

Definition at line 155 of file triggerbox.h.

◆ _follow_length

PBD::Property<Temporal::BBT_Offset> ARDOUR::Trigger::_follow_length
protected

Definition at line 157 of file triggerbox.h.

◆ _gain

PBD::Property<gain_t> ARDOUR::Trigger::_gain
protected

Definition at line 160 of file triggerbox.h.

◆ _index

uint32_t ARDOUR::Trigger::_index
protected

Definition at line 455 of file triggerbox.h.

◆ _launch_style

PBD::Property<LaunchStyle> ARDOUR::Trigger::_launch_style
protected

Definition at line 151 of file triggerbox.h.

◆ _legato

PBD::Property<bool> ARDOUR::Trigger::_legato
protected

Definition at line 159 of file triggerbox.h.

◆ _loop_cnt

uint32_t ARDOUR::Trigger::_loop_cnt
protected

Definition at line 457 of file triggerbox.h.

◆ _meter

Temporal::Meter ARDOUR::Trigger::_meter
protected

Definition at line 488 of file triggerbox.h.

◆ _name

PBD::Property<std::string> ARDOUR::Trigger::_name
protected

Definition at line 169 of file triggerbox.h.

◆ _next_trigger

int ARDOUR::Trigger::_next_trigger
protected

Definition at line 456 of file triggerbox.h.

◆ _nxt_quantization

Temporal::BBT_Offset ARDOUR::Trigger::_nxt_quantization
protected

Definition at line 492 of file triggerbox.h.

◆ _patch_change

Evoral::PatchChange<MidiBuffer::TimeType> ARDOUR::Trigger::_patch_change[16]
protected

Definition at line 467 of file triggerbox.h.

◆ _pending

std::atomic<Trigger*> ARDOUR::Trigger::_pending
protected

Definition at line 493 of file triggerbox.h.

◆ _pending_velocity_gain

gain_t ARDOUR::Trigger::_pending_velocity_gain
protected

Definition at line 460 of file triggerbox.h.

◆ _playout

bool ARDOUR::Trigger::_playout
protected

Definition at line 452 of file triggerbox.h.

◆ _quantization

PBD::Property<Temporal::BBT_Offset> ARDOUR::Trigger::_quantization
protected

Definition at line 156 of file triggerbox.h.

◆ _region

std::shared_ptr<Region> ARDOUR::Trigger::_region
protected

Definition at line 445 of file triggerbox.h.

◆ _requests

UIRequests ARDOUR::Trigger::_requests
protected

Definition at line 450 of file triggerbox.h.

◆ _segment_tempo

double ARDOUR::Trigger::_segment_tempo
protected

Definition at line 476 of file triggerbox.h.

◆ _start_quantization

Temporal::BBT_Offset ARDOUR::Trigger::_start_quantization
protected

Definition at line 491 of file triggerbox.h.

◆ _state

State ARDOUR::Trigger::_state
protected

Definition at line 451 of file triggerbox.h.

◆ _stretch_mode

PBD::Property<StretchMode> ARDOUR::Trigger::_stretch_mode
protected

Definition at line 165 of file triggerbox.h.

◆ _stretchable

PBD::Property<bool> ARDOUR::Trigger::_stretchable
protected

Definition at line 162 of file triggerbox.h.

◆ _transition_bbt

Temporal::BBT_Time ARDOUR::Trigger::_transition_bbt

Definition at line 344 of file triggerbox.h.

◆ _ui

void* ARDOUR::Trigger::_ui
protected

Definition at line 458 of file triggerbox.h.

◆ _unbang

std::atomic<int> ARDOUR::Trigger::_unbang
protected

Definition at line 454 of file triggerbox.h.

◆ _use_follow_length

PBD::Property<bool> ARDOUR::Trigger::_use_follow_length
protected

Definition at line 158 of file triggerbox.h.

◆ _used_channels

Evoral::SMF::UsedChannels ARDOUR::Trigger::_used_channels
protected

Definition at line 466 of file triggerbox.h.

◆ _velocity_effect

PBD::Property<float> ARDOUR::Trigger::_velocity_effect
protected

Definition at line 161 of file triggerbox.h.

◆ _velocity_gain

gain_t ARDOUR::Trigger::_velocity_gain
protected

Definition at line 461 of file triggerbox.h.

◆ ArmChanged

PBD::Signal<void()> ARDOUR::Trigger::ArmChanged

Definition at line 303 of file triggerbox.h.

◆ expected_end_sample

samplepos_t ARDOUR::Trigger::expected_end_sample
protected

Definition at line 490 of file triggerbox.h.

◆ final_processed_sample

samplepos_t ARDOUR::Trigger::final_processed_sample
protected

Definition at line 447 of file triggerbox.h.

◆ last_property_generation

std::atomic<unsigned int> ARDOUR::Trigger::last_property_generation
protected

Definition at line 494 of file triggerbox.h.

◆ MagicClearPointerValue

Trigger* const ARDOUR::Trigger::MagicClearPointerValue
static

Definition at line 421 of file triggerbox.h.

◆ process_index

samplecnt_t ARDOUR::Trigger::process_index
protected

Definition at line 446 of file triggerbox.h.

◆ region_connection

PBD::ScopedConnection ARDOUR::Trigger::region_connection
protected

Definition at line 495 of file triggerbox.h.

◆ transition_beats

Temporal::Beats ARDOUR::Trigger::transition_beats

Definition at line 343 of file triggerbox.h.

◆ transition_samples

samplepos_t ARDOUR::Trigger::transition_samples

Definition at line 342 of file triggerbox.h.

◆ TriggerArmChanged

PBD::Signal<void(Trigger const *)> ARDOUR::Trigger::TriggerArmChanged
static

Definition at line 304 of file triggerbox.h.

◆ TriggerPropertyChange

PBD::Signal<void(PBD::PropertyChange,Trigger*)> ARDOUR::Trigger::TriggerPropertyChange
static

Definition at line 434 of file triggerbox.h.

◆ ui_state

UIState ARDOUR::Trigger::ui_state
protected

Definition at line 448 of file triggerbox.h.


The documentation for this class was generated from the following file: