Ardour  9.7-336-gb784ad01ee
ARDOUR::MusicalKey Class Reference

#include <scale.h>

Inheritance diagram for ARDOUR::MusicalKey:
[legend]

Public Member Functions

 MusicalKey (float root, MusicalMode const &)
 
 MusicalKey (float root, std::string const &)
 
 MusicalKey (XMLNode const &)
 
 MusicalKey (MusicalKey const &other)
 
std::string name () const
 
std::string mode_name () const
 
float root () const
 
float nth (unsigned int n) const
 
bool in_key (int midi_note) const
 
int closest_midi_note (int midi_note) const
 
int lower_midi_note (int midi_note) const
 
int higher_midi_note (int midi_note) const
 
int conform_midi_note (int midi_note, ARDOUR::KeyEnforcementPolicy) const
 
XMLNodeget_state () const
 
int set_state (XMLNode const &)
 
- Public Member Functions inherited from ARDOUR::MusicalMode
 MusicalMode (TuningSystem, std::string const &name, MusicalModeType type, std::vector< float > const &elements)
 
 MusicalMode (MusicalMode const &other)
 
 MusicalMode (std::string const &name)
 
 MusicalMode (std::ifstream &file)
 
 MusicalMode (XMLNode const &)
 
virtual ~MusicalMode ()
 
MusicalModeoperator= (MusicalMode const &other)
 
TuningSystem tuning () const
 
MusicalModeType type () const
 
int size () const
 
std::vector< float > const & elements () const
 
int ring_id () const
 
std::vector< int > as_midi (int scale_root) const
 
void set_name (std::string const &str)
 
XMLNodeget_state () const
 
int set_state (XMLNode const &)
 

Private Attributes

float _root
 
std::vector< int > _midi_notes
 

Additional Inherited Members

- Public Types inherited from ARDOUR::MusicalMode
enum  Name {
  IonianMajor , AeolianMinor , Dorian , HarmonicMinor ,
  MelodicMinorAscending , MelodicMinorDescending , Phrygian , Lydian ,
  Mixolydian , Locrian , PentatonicMajor , PentatonicMinor ,
  Chromatic , BluesScale , NeapolitanMinor , NeapolitanMajor ,
  Oriental , DoubleHarmonic , Enigmatic , Hirajoshi ,
  HungarianMinor , HungarianMajor , Kumoi , Iwato ,
  Hindu , Spanish8Tone , Pelog , HungarianGypsy ,
  Overtone , LeadingWholeTone , Arabian , Balinese ,
  Gypsy , Mohammedan , Javanese , Persian ,
  Algerian
}
 
- Static Public Member Functions inherited from ARDOUR::MusicalMode
static void register_scale (TuningSystem, std::string const &, MusicalModeType, std::vector< float > const &)
 
static void register_scales (TuningSystem, std::vector< std::string > const &, MusicalModeType, std::vector< float > const &)
 
- Public Attributes inherited from ARDOUR::MusicalMode
PBD::Signal< void()> NameChanged
 
PBD::Signal< void()> Changed
 
- Static Public Attributes inherited from ARDOUR::MusicalMode
static std::multimap< TuningSystem, MusicalModemodes_by_tuning
 
static std::map< std::string, MusicalModemodes_by_name
 
static std::map< int, MusicalModemodes_by_id
 
static std::map< TuningSystem, int > tone_equivalent_ratio
 
static std::map< TuningSystem, int > tones_per_equivalent
 
static char const * xml_node_name
 
- Protected Member Functions inherited from ARDOUR::MusicalMode
std::vector< int > absolute_pitch_as_midi (int root) const
 
std::vector< int > pitch_class_as_midi (int root) const
 
std::vector< int > wholetone_steps_as_midi (int root) const
 
std::vector< int > ratio_steps_as_midi (int root) const
 
std::vector< int > ratio_from_root_as_midi (int root) const
 
std::vector< int > midi_note_as_midi (int root) const
 
- Static Protected Member Functions inherited from ARDOUR::MusicalMode
static void init ()
 
- Protected Attributes inherited from ARDOUR::MusicalMode
TuningSystem _tuning
 
int _ring_id
 
std::string _name
 
MusicalModeType _type
 
std::vector< float > _elements
 

Detailed Description

Definition at line 140 of file ardour/ardour/scale.h.

Constructor & Destructor Documentation

◆ MusicalKey() [1/4]

ARDOUR::MusicalKey::MusicalKey ( float  root,
MusicalMode const &   
)

◆ MusicalKey() [2/4]

ARDOUR::MusicalKey::MusicalKey ( float  root,
std::string const &   
)

◆ MusicalKey() [3/4]

ARDOUR::MusicalKey::MusicalKey ( XMLNode const &  )

◆ MusicalKey() [4/4]

ARDOUR::MusicalKey::MusicalKey ( MusicalKey const &  other)

Member Function Documentation

◆ closest_midi_note()

int ARDOUR::MusicalKey::closest_midi_note ( int  midi_note) const

◆ conform_midi_note()

int ARDOUR::MusicalKey::conform_midi_note ( int  midi_note,
ARDOUR::KeyEnforcementPolicy   
) const

◆ get_state()

XMLNode& ARDOUR::MusicalKey::get_state ( ) const

◆ higher_midi_note()

int ARDOUR::MusicalKey::higher_midi_note ( int  midi_note) const

◆ in_key()

bool ARDOUR::MusicalKey::in_key ( int  midi_note) const

◆ lower_midi_note()

int ARDOUR::MusicalKey::lower_midi_note ( int  midi_note) const

◆ mode_name()

std::string ARDOUR::MusicalKey::mode_name ( ) const

◆ name()

std::string ARDOUR::MusicalKey::name ( ) const
virtual

Reimplemented from ARDOUR::MusicalMode.

◆ nth()

float ARDOUR::MusicalKey::nth ( unsigned int  n) const

◆ root()

float ARDOUR::MusicalKey::root ( ) const
inline

Definition at line 150 of file ardour/ardour/scale.h.

◆ set_state()

int ARDOUR::MusicalKey::set_state ( XMLNode const &  )

Member Data Documentation

◆ _midi_notes

std::vector<int> ARDOUR::MusicalKey::_midi_notes
mutableprivate

Definition at line 163 of file ardour/ardour/scale.h.

◆ _root

float ARDOUR::MusicalKey::_root
private

Definition at line 162 of file ardour/ardour/scale.h.


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