Ardour  9.0-pre0-582-g084a23a80d
Temporal::Tempo Class Reference

#include <tempo.h>

Inheritance diagram for Temporal::Tempo:
[legend]

Public Types

enum  Type { Ramped , Constant }
 

Public Member Functions

 Tempo (XMLNode const &)
 
virtual ~Tempo ()
 
 Tempo (double npm, int8_t note_type)
 
 Tempo (double npm, double enpm, int8_t note_type)
 
double note_types_per_minute () const
 
double end_note_types_per_minute () const
 
double quarter_notes_per_minute () const
 
double samples_per_note_type (int sr) const
 
double samples_per_quarter_note (int sr) const
 
void set_note_types_per_minute (double npm)
 
int note_type () const
 
superclock_t superclocks_per_note_type () const
 
superclock_t superclocks_per_note_type (int note_type) const
 
superclock_t superclocks_per_quarter_note () const
 
superclock_t end_superclocks_per_note_type () const
 
superclock_t end_superclocks_per_note_type (int note_type) const
 
superclock_t end_superclocks_per_quarter_note () const
 
bool locked_to_meter () const
 
void set_locked_to_meter (bool yn)
 
bool continuing () const
 
void set_continuing (bool yn)
 
Type type () const
 
bool ramped () const
 
XMLNodeget_state () const
 
int set_state (XMLNode const &, int version)
 
bool operator== (Tempo const &other) const
 
bool operator!= (Tempo const &other) const
 

Static Public Attributes

static std::string xml_node_name
 

Protected Member Functions

void set_end_npm (double)
 

Static Protected Member Functions

static superclock_t double_npm_to_scpn (double npm)
 

Protected Attributes

double _npm
 
double _enpm
 
superclock_t _superclocks_per_note_type
 
superclock_t _end_superclocks_per_note_type
 
int8_t _note_type
 
bool _locked_to_meter
 
bool _continuing
 

Friends

class TempoMap
 

Detailed Description

Tempo, the speed at which musical time progresses (BPM).

Definition at line 162 of file temporal/temporal/tempo.h.

Member Enumeration Documentation

◆ Type

Enumerator
Ramped 
Constant 

Definition at line 164 of file temporal/temporal/tempo.h.

Constructor & Destructor Documentation

◆ Tempo() [1/3]

Temporal::Tempo::Tempo ( XMLNode const &  )

◆ ~Tempo()

virtual Temporal::Tempo::~Tempo ( )
inlinevirtual

Definition at line 172 of file temporal/temporal/tempo.h.

◆ Tempo() [2/3]

Temporal::Tempo::Tempo ( double  npm,
int8_t  note_type 
)
inline
Parameters
npmNote Types per minute
note_typeNote Type (default ‘4’: quarter note)

Definition at line 178 of file temporal/temporal/tempo.h.

◆ Tempo() [3/3]

Temporal::Tempo::Tempo ( double  npm,
double  enpm,
int8_t  note_type 
)
inline

Definition at line 188 of file temporal/temporal/tempo.h.

Member Function Documentation

◆ continuing()

bool Temporal::Tempo::continuing ( ) const
inline

Definition at line 233 of file temporal/temporal/tempo.h.

◆ double_npm_to_scpn()

static superclock_t Temporal::Tempo::double_npm_to_scpn ( double  npm)
inlinestaticprotected

Definition at line 269 of file temporal/temporal/tempo.h.

◆ end_note_types_per_minute()

double Temporal::Tempo::end_note_types_per_minute ( ) const
inline

Definition at line 202 of file temporal/temporal/tempo.h.

◆ end_superclocks_per_note_type() [1/2]

superclock_t Temporal::Tempo::end_superclocks_per_note_type ( ) const
inline

Definition at line 220 of file temporal/temporal/tempo.h.

◆ end_superclocks_per_note_type() [2/2]

superclock_t Temporal::Tempo::end_superclocks_per_note_type ( int  note_type) const
inline

Definition at line 223 of file temporal/temporal/tempo.h.

◆ end_superclocks_per_quarter_note()

superclock_t Temporal::Tempo::end_superclocks_per_quarter_note ( ) const
inline

Definition at line 226 of file temporal/temporal/tempo.h.

◆ get_state()

XMLNode& Temporal::Tempo::get_state ( ) const

◆ locked_to_meter()

bool Temporal::Tempo::locked_to_meter ( ) const
inline

Definition at line 230 of file temporal/temporal/tempo.h.

◆ note_type()

int Temporal::Tempo::note_type ( ) const
inline

Definition at line 209 of file temporal/temporal/tempo.h.

◆ note_types_per_minute()

double Temporal::Tempo::note_types_per_minute ( ) const
inline

Definition at line 201 of file temporal/temporal/tempo.h.

◆ operator!=()

bool Temporal::Tempo::operator!= ( Tempo const &  other) const
inline

Definition at line 250 of file temporal/temporal/tempo.h.

◆ operator==()

bool Temporal::Tempo::operator== ( Tempo const &  other) const
inline

Definition at line 242 of file temporal/temporal/tempo.h.

◆ quarter_notes_per_minute()

double Temporal::Tempo::quarter_notes_per_minute ( ) const
inline

Definition at line 203 of file temporal/temporal/tempo.h.

◆ ramped()

bool Temporal::Tempo::ramped ( ) const
inline

Definition at line 237 of file temporal/temporal/tempo.h.

◆ samples_per_note_type()

double Temporal::Tempo::samples_per_note_type ( int  sr) const
inline

Definition at line 204 of file temporal/temporal/tempo.h.

◆ samples_per_quarter_note()

double Temporal::Tempo::samples_per_quarter_note ( int  sr) const
inline

Definition at line 205 of file temporal/temporal/tempo.h.

◆ set_continuing()

void Temporal::Tempo::set_continuing ( bool  yn)

◆ set_end_npm()

void Temporal::Tempo::set_end_npm ( double  )
protected

◆ set_locked_to_meter()

void Temporal::Tempo::set_locked_to_meter ( bool  yn)
inline

Definition at line 231 of file temporal/temporal/tempo.h.

◆ set_note_types_per_minute()

void Temporal::Tempo::set_note_types_per_minute ( double  npm)

◆ set_state()

int Temporal::Tempo::set_state ( XMLNode const &  ,
int  version 
)

◆ superclocks_per_note_type() [1/2]

superclock_t Temporal::Tempo::superclocks_per_note_type ( ) const
inline

Definition at line 211 of file temporal/temporal/tempo.h.

◆ superclocks_per_note_type() [2/2]

superclock_t Temporal::Tempo::superclocks_per_note_type ( int  note_type) const
inline

Definition at line 214 of file temporal/temporal/tempo.h.

◆ superclocks_per_quarter_note()

superclock_t Temporal::Tempo::superclocks_per_quarter_note ( ) const
inline

Definition at line 217 of file temporal/temporal/tempo.h.

◆ type()

Type Temporal::Tempo::type ( ) const
inline

Definition at line 236 of file temporal/temporal/tempo.h.

Friends And Related Function Documentation

◆ TempoMap

friend class TempoMap
friend

Definition at line 272 of file temporal/temporal/tempo.h.

Member Data Documentation

◆ _continuing

bool Temporal::Tempo::_continuing
protected

Definition at line 265 of file temporal/temporal/tempo.h.

◆ _end_superclocks_per_note_type

superclock_t Temporal::Tempo::_end_superclocks_per_note_type
protected

Definition at line 262 of file temporal/temporal/tempo.h.

◆ _enpm

double Temporal::Tempo::_enpm
protected

Definition at line 260 of file temporal/temporal/tempo.h.

◆ _locked_to_meter

bool Temporal::Tempo::_locked_to_meter
protected

Definition at line 264 of file temporal/temporal/tempo.h.

◆ _note_type

int8_t Temporal::Tempo::_note_type
protected

Definition at line 263 of file temporal/temporal/tempo.h.

◆ _npm

double Temporal::Tempo::_npm
protected

Definition at line 259 of file temporal/temporal/tempo.h.

◆ _superclocks_per_note_type

superclock_t Temporal::Tempo::_superclocks_per_note_type
protected

Definition at line 261 of file temporal/temporal/tempo.h.

◆ xml_node_name

std::string Temporal::Tempo::xml_node_name
static

Definition at line 169 of file temporal/temporal/tempo.h.


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