1 #ifndef _ardour_transport_fsm_h_
2 #define _ardour_transport_fsm_h_
7 #include <boost/intrusive/list.hpp>
17 #include "ardour/debug.h"
46 struct Event :
public boost::intrusive::list_base_hook<> {
104 void*
operator new (size_t);
105 void operator delete (
void *ptr,
size_t );
LocateTransportDisposition
Temporal::samplepos_t samplepos_t
LocateTransportDisposition ltd
Event(EventType t, samplepos_t pos, LocateTransportDisposition l, bool lp, bool f4c)
Event(EventType t, bool ab, bool cl)
double transport_speed() const
void transition(ButlerState)
bool process_event(Event &, bool was_deferred, bool &deferred)
ButlerState _butler_state
bool should_not_roll_after_locate() const
void interrupt_locate(Event const &) const
void start_locate_after_declick()
void start_declick_for_locate(Event const &)
void start_locate_while_stopped(Event const &) const
int compute_transport_speed() const
void set_default_speed(double spd) const
double default_speed() const
void schedule_butler_for_transport_work() const
bool should_roll_after_locate() const
EventList deferred_events
void roll_after_locate() const
bool compute_should_roll(LocateTransportDisposition) const
boost::intrusive::list< Event > EventList
void set_roll_after(bool) const
DirectionState _direction_state
bool waiting_for_butler() const
void transition(DirectionState)
double most_recently_requested_speed
std::optional< bool > current_roll_after_locate_status
void stop_playback(Event const &)
void locate_for_loop(Event const &)
bool will_roll_forwards() const
void bad_transition(Event const &)
std::string current_state() const
bool set_speed(Event const &)
MotionState _motion_state
TransportFSM(TransportAPI &tapi)
void transition(MotionState)
int _reverse_after_declick
bool declicking_for_locate() const
bool declick_in_progress() const