Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::StepSequence Class Reference

#include <step_sequencer.h>

Inheritance diagram for ARDOUR::StepSequence:
[legend]

Public Types

enum  Direction { forwards = 0 , backwards = 1 , end_to_end = 2 , rd_random = 3 }
 

Public Member Functions

 StepSequence (StepSequencer &myseq, size_t index, size_t nsteps, Temporal::Beats const &step_size, Temporal::Beats const &bar_size, int notenum)
 
 ~StepSequence ()
 
size_t index () const
 
size_t nsteps () const
 
Stepstep (size_t n) const
 
void startup (Temporal::Beats const &start, Temporal::Beats const &offset)
 
int root () const
 
void set_root (int n)
 
int channel () const
 
void set_channel (int)
 
Temporal::Beats wrap (Temporal::Beats const &) const
 
MusicalMode mode () const
 
void set_mode (MusicalMode m)
 
void shift_left (size_t n=1)
 
void shift_right (size_t n=1)
 
void reset ()
 
void reschedule (Temporal::Beats const &, Temporal::Beats const &)
 
void schedule (Temporal::Beats const &)
 
bool run (MidiBuffer &buf, bool running, samplepos_t, samplepos_t, MidiNoteTracker &)
 
StepSequencersequencer () const
 
XMLNodeget_state () const
 
int set_state (XMLNode const &, int)
 
void dump (MusicTimeEvents &, Temporal::Beats const &) const
 
- 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
 

Private Types

typedef std::vector< Step * > Steps
 

Private Attributes

StepSequencer_sequencer
 
int _index
 
Glib::Threads::Mutex _step_lock
 
Steps _steps
 
int _channel
 
int _root
 
MusicalMode _mode
 

Additional Inherited Members

- Public Attributes inherited from PBD::Stateful
PBD::Signal< void(const PropertyChange &)> PropertyChanged
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 
- 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 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 169 of file step_sequencer.h.

Member Typedef Documentation

◆ Steps

typedef std::vector<Step*> ARDOUR::StepSequence::Steps
private

Definition at line 220 of file step_sequencer.h.

Member Enumeration Documentation

◆ Direction

Enumerator
forwards 
backwards 
end_to_end 
rd_random 

Definition at line 172 of file step_sequencer.h.

Constructor & Destructor Documentation

◆ StepSequence()

ARDOUR::StepSequence::StepSequence ( StepSequencer myseq,
size_t  index,
size_t  nsteps,
Temporal::Beats const &  step_size,
Temporal::Beats const &  bar_size,
int  notenum 
)

◆ ~StepSequence()

ARDOUR::StepSequence::~StepSequence ( )

Member Function Documentation

◆ channel()

int ARDOUR::StepSequence::channel ( ) const
inline

Definition at line 192 of file step_sequencer.h.

◆ dump()

void ARDOUR::StepSequence::dump ( MusicTimeEvents ,
Temporal::Beats const &   
) const

◆ get_state()

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

Implements PBD::Stateful.

◆ index()

size_t ARDOUR::StepSequence::index ( ) const
inline

Definition at line 182 of file step_sequencer.h.

◆ mode()

MusicalMode ARDOUR::StepSequence::mode ( ) const
inline

Definition at line 197 of file step_sequencer.h.

◆ nsteps()

size_t ARDOUR::StepSequence::nsteps ( ) const
inline

Definition at line 183 of file step_sequencer.h.

◆ reschedule()

void ARDOUR::StepSequence::reschedule ( Temporal::Beats const &  ,
Temporal::Beats const &   
)

◆ reset()

void ARDOUR::StepSequence::reset ( )

◆ root()

int ARDOUR::StepSequence::root ( ) const
inline

Definition at line 189 of file step_sequencer.h.

◆ run()

bool ARDOUR::StepSequence::run ( MidiBuffer buf,
bool  running,
samplepos_t  ,
samplepos_t  ,
MidiNoteTracker  
)

◆ schedule()

void ARDOUR::StepSequence::schedule ( Temporal::Beats const &  )

◆ sequencer()

StepSequencer& ARDOUR::StepSequence::sequencer ( ) const
inline

Definition at line 209 of file step_sequencer.h.

◆ set_channel()

void ARDOUR::StepSequence::set_channel ( int  )

◆ set_mode()

void ARDOUR::StepSequence::set_mode ( MusicalMode  m)

◆ set_root()

void ARDOUR::StepSequence::set_root ( int  n)

◆ set_state()

int ARDOUR::StepSequence::set_state ( XMLNode const &  ,
int   
)
virtual

Implements PBD::Stateful.

◆ shift_left()

void ARDOUR::StepSequence::shift_left ( size_t  n = 1)

◆ shift_right()

void ARDOUR::StepSequence::shift_right ( size_t  n = 1)

◆ startup()

void ARDOUR::StepSequence::startup ( Temporal::Beats const &  start,
Temporal::Beats const &  offset 
)

◆ step()

Step& ARDOUR::StepSequence::step ( size_t  n) const

◆ wrap()

Temporal::Beats ARDOUR::StepSequence::wrap ( Temporal::Beats const &  ) const

Member Data Documentation

◆ _channel

int ARDOUR::StepSequence::_channel
private

Definition at line 223 of file step_sequencer.h.

◆ _index

int ARDOUR::StepSequence::_index
private

Definition at line 218 of file step_sequencer.h.

◆ _mode

MusicalMode ARDOUR::StepSequence::_mode
private

Definition at line 225 of file step_sequencer.h.

◆ _root

int ARDOUR::StepSequence::_root
private

Definition at line 224 of file step_sequencer.h.

◆ _sequencer

StepSequencer& ARDOUR::StepSequence::_sequencer
private

Definition at line 217 of file step_sequencer.h.

◆ _step_lock

Glib::Threads::Mutex ARDOUR::StepSequence::_step_lock
mutableprivate

Definition at line 219 of file step_sequencer.h.

◆ _steps

Steps ARDOUR::StepSequence::_steps
private

Definition at line 222 of file step_sequencer.h.


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