On 9/26/07, Juergen Reuter <[EMAIL PROTECTED]> wrote: > On Tue, 25 Sep 2007, Han-Wen Nienhuys wrote: > > > 2007/9/25, Rune Zedeler <[EMAIL PROTECTED]>: > >>>> + int octave_; > >>>> + int notename_; > >>>> + Rational alteration_; > >>> > >>> Why don't you use a Pitch object for this combination? You would get > >>> Scale* for free. > >> > >> Primarily because the two values octave_ and has_octave_ are very > >> closely related. > >> They really /should/ be joined to an int option - if such a thing did > >> exist in c++. > > > > you might want to look into making octave optional for pitch; I'm not > > sure if it is worth the trouble, but it would make key signatures more > > logical to specify. > > > > Otherwise, you could use an int* > > > > > > I am just curious: Why not introducing a new class "Octaveless_pitch" > or "Octave_Pitch" (i.e. pitch within an octave) that contains all of > "Pitch" except for the octaves, and then making "Pitch" a subclass of > "Octaveless_pitch" that just adds the octaves to its superclass?
[The (American) academic terms for these are "pitch-class" for the octaveless notenames and "pitch" for actual pitches specified in a certain octave. Robert Morris's "Composition with Pitch-classes" [1987; Yale] is a nice example. So here, Pitch_class would be the superclass from which Pitch would inherit.] -- Trevor Bača [EMAIL PROTECTED]
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel