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

Reply via email to