ardour
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes | List of all members
Evoral::Beats Class Reference

#include <Beats.hpp>

Public Member Functions

 Beats ()
 
 Beats (double time)
 
Beatsoperator= (const Beats &other)
 
Beats round_up_to_beat () const
 
Beats round_down_to_beat () const
 
Beats snap_to (const Evoral::Beats &snap) const
 
bool operator== (const Beats &b) const
 
bool operator== (double t) const
 
bool operator== (int beats) const
 
bool operator!= (const Beats &b) const
 
bool operator< (const Beats &b) const
 
bool operator<= (const Beats &b) const
 
bool operator> (const Beats &b) const
 
bool operator>= (const Beats &b) const
 
bool operator< (double b) const
 
bool operator<= (double b) const
 
bool operator> (double b) const
 
bool operator>= (double b) const
 
Beats operator+ (const Beats &b) const
 
Beats operator- (const Beats &b) const
 
Beats operator+ (double d) const
 
Beats operator- (double d) const
 
Beats operator- () const
 
template<typename Number >
Beats operator* (Number factor) const
 
Beatsoperator+= (const Beats &b)
 
Beatsoperator-= (const Beats &b)
 
double to_double () const
 
uint64_t to_ticks () const
 
uint64_t to_ticks (uint32_t ppqn) const
 
uint32_t get_beats () const
 
uint32_t get_ticks () const
 
bool operator! () const
 

Static Public Member Functions

static Beats beats (int32_t beats)
 
static Beats ticks (uint32_t ticks)
 
static Beats ticks_at_rate (uint64_t ticks, uint32_t ppqn)
 
static Beats min ()
 
static Beats max ()
 
static Beats tick ()
 

Static Public Attributes

static LIBEVORAL_API const double PPQN = 1920.0
 

Private Attributes

double _time
 

Detailed Description

Musical time in beats.

Definition at line 34 of file Beats.hpp.

Constructor & Destructor Documentation

Evoral::Beats::Beats ( )
inline

Definition at line 38 of file Beats.hpp.

Evoral::Beats::Beats ( double  time)
inlineexplicit

Create from a real number of beats.

Definition at line 41 of file Beats.hpp.

Member Function Documentation

static Beats Evoral::Beats::beats ( int32_t  beats)
inlinestatic

Create from an integer number of beats.

Definition at line 44 of file Beats.hpp.

uint32_t Evoral::Beats::get_beats ( ) const
inline

Definition at line 189 of file Beats.hpp.

uint32_t Evoral::Beats::get_ticks ( ) const
inline

Definition at line 190 of file Beats.hpp.

static Beats Evoral::Beats::max ( )
inlinestatic

Definition at line 195 of file Beats.hpp.

static Beats Evoral::Beats::min ( )
inlinestatic

Definition at line 194 of file Beats.hpp.

bool Evoral::Beats::operator! ( ) const
inline

Definition at line 192 of file Beats.hpp.

bool Evoral::Beats::operator!= ( const Beats b) const
inline

Definition at line 94 of file Beats.hpp.

template<typename Number >
Beats Evoral::Beats::operator* ( Number  factor) const
inline

Definition at line 171 of file Beats.hpp.

Beats Evoral::Beats::operator+ ( const Beats b) const
inline

Definition at line 150 of file Beats.hpp.

Beats Evoral::Beats::operator+ ( double  d) const
inline

Definition at line 158 of file Beats.hpp.

Beats& Evoral::Beats::operator+= ( const Beats b)
inline

Definition at line 175 of file Beats.hpp.

Beats Evoral::Beats::operator- ( const Beats b) const
inline

Definition at line 154 of file Beats.hpp.

Beats Evoral::Beats::operator- ( double  d) const
inline

Definition at line 162 of file Beats.hpp.

Beats Evoral::Beats::operator- ( ) const
inline

Definition at line 166 of file Beats.hpp.

Beats& Evoral::Beats::operator-= ( const Beats b)
inline

Definition at line 180 of file Beats.hpp.

bool Evoral::Beats::operator< ( const Beats b) const
inline

Definition at line 98 of file Beats.hpp.

bool Evoral::Beats::operator< ( double  b) const
inline

Definition at line 124 of file Beats.hpp.

bool Evoral::Beats::operator<= ( const Beats b) const
inline

Definition at line 107 of file Beats.hpp.

bool Evoral::Beats::operator<= ( double  b) const
inline

Definition at line 133 of file Beats.hpp.

Beats& Evoral::Beats::operator= ( const Beats other)
inline

Definition at line 62 of file Beats.hpp.

bool Evoral::Beats::operator== ( const Beats b) const
inline

Definition at line 79 of file Beats.hpp.

bool Evoral::Beats::operator== ( double  t) const
inline

Definition at line 84 of file Beats.hpp.

bool Evoral::Beats::operator== ( int  beats) const
inline

Definition at line 89 of file Beats.hpp.

bool Evoral::Beats::operator> ( const Beats b) const
inline

Definition at line 111 of file Beats.hpp.

bool Evoral::Beats::operator> ( double  b) const
inline

Definition at line 137 of file Beats.hpp.

bool Evoral::Beats::operator>= ( const Beats b) const
inline

Definition at line 120 of file Beats.hpp.

bool Evoral::Beats::operator>= ( double  b) const
inline

Definition at line 146 of file Beats.hpp.

Beats Evoral::Beats::round_down_to_beat ( ) const
inline

Definition at line 71 of file Beats.hpp.

Beats Evoral::Beats::round_up_to_beat ( ) const
inline

Definition at line 67 of file Beats.hpp.

Beats Evoral::Beats::snap_to ( const Evoral::Beats snap) const
inline

Definition at line 75 of file Beats.hpp.

static Beats Evoral::Beats::tick ( )
inlinestatic

Definition at line 196 of file Beats.hpp.

static Beats Evoral::Beats::ticks ( uint32_t  ticks)
inlinestatic

Create from ticks at the standard PPQN.

Definition at line 49 of file Beats.hpp.

static Beats Evoral::Beats::ticks_at_rate ( uint64_t  ticks,
uint32_t  ppqn 
)
inlinestatic

Create from ticks at a given rate.

Note this can also be used to create from frames by setting ppqn to the number of samples per beat.

Definition at line 58 of file Beats.hpp.

double Evoral::Beats::to_double ( ) const
inline

Definition at line 185 of file Beats.hpp.

uint64_t Evoral::Beats::to_ticks ( ) const
inline

Definition at line 186 of file Beats.hpp.

uint64_t Evoral::Beats::to_ticks ( uint32_t  ppqn) const
inline

Definition at line 187 of file Beats.hpp.

Member Data Documentation

double Evoral::Beats::_time
private

Definition at line 199 of file Beats.hpp.

const double Evoral::Beats::PPQN = 1920.0
static

Definition at line 36 of file Beats.hpp.


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