On Thursday, 7 October 1999, Han-Wen Nienhuys writes:

> > I don't understand your objection.
> 
> Your code repeats htis over and over
> 
>   if (chord_type_i == X)
>   {
>     pitch_arr_.push(Musical_pitch(X ))
>     pitch_arr_.push(Musical_pitch(X ))
>     pitch_arr_.push(Musical_pitch(X ))
>   }
> 
> where the only real information is on the X-es.  If you use struct
> initializers, you can use a loop to code the above more efficiently

In addition:  you and others found that there were two or three small
bugs in the present code.  That code used a smart, but apparently
not smart enough, algorithm to *calculate* all possible chords.  You
said that you could 'fix' it.  Instead of fixing it, you're trying
to list all possible chords, even the simple ones, which is a real
stupid approach, imo.  Also, you need a list of modifiers that people
would have to learn.  That's silly too.

In my view: 

  - the -dim entry should be fixed
  - the /Base should be fixed to accept non-chord notes.  it should
    set a Base_request (see Tonic_request)
  - the whole pitch-order mangling and looking for tonic should be
    junked: just look at tonic and base requests.
  - we could do with another chord naming style, besides Banter.

It's just that I don't know much about chords, don't use them, and
don't care for them.  Also, I have not enough doco on the various
american/european naming conventions.

Jan.

-- 
Jan Nieuwenhuizen <[EMAIL PROTECTED]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien/      | http://www.lilypond.org/

Reply via email to