- Tempo (double bpm, double type=4.0) // defaulting to quarter note
- : _beats_per_minute (bpm), _note_type(type) {}
-
- /*
- quarter note beats as distinct from a beat derived from meter and pulse.
- */
- double beats_per_minute () const { return _beats_per_minute; }
- void set_beats_per_minute (double bpm) { _beats_per_minute = bpm; }
+ Tempo (double npm, double type=4.0) // defaulting to quarter note
+ : _note_types_per_minute (npm), _note_type (type), _end_note_types_per_minute (npm) {}
+ Tempo (double start_npm, double type, double end_npm)
+ : _note_types_per_minute (start_npm), _note_type (type), _end_note_types_per_minute (end_npm) {}
+
+ double note_types_per_minute () const { return _note_types_per_minute; }
+ double note_types_per_minute (double note_type) const { return (_note_types_per_minute / _note_type) * note_type; }
+ void set_note_types_per_minute (double npm) { _note_types_per_minute = npm; }