source file of the GNU LilyPond music typesetter
- (c) 1998--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "lily-proto.hh"
#include "input.hh"
+#include "lily-guile.hh" // we need SCM
/** A "tonal" pitch. This is a pitch as it figures in diatonal western
music (12 semitones in an octave), as opposed to a frequence in Hz
*/
struct Musical_pitch : public Input
{
- Musical_pitch (int notename=0, int accidental=0, int octave=0, bool cautionary=false);
+ Musical_pitch (int notename=0, int accidental=0, int octave=0);
+
+ /// construct from '(octave name acc)
+ Musical_pitch (SCM);
/// 0 is c, 6 is b
int notename_i_;
+
/// 0 natural, 1 sharp, etc
int accidental_i_;
+
/// 0 is central c
int octave_i_;
- /// Used for cautionary accidentals
- bool cautionary_b_;
Musical_pitch to_relative_octave (Musical_pitch);
void transpose (Musical_pitch);
void down_to (int);
String str () const;
void print () const;
+ SCM to_scm () const;
};
#include "compare.hh"