> Well, considering you really need to parse most fields *anyway* in order
for
> the parser to have a context for parsing the actual tune data (for
example,
> if Key is currently G, then the "F" note I just read is actually an
F#...),
> I'm not sure it makes much sense to leave that decision up to the calling
> program.  You're going to have the parsed data in a structure *somewhere*
> for the parser itself to access -- may as well pass back that structure as
> part of the overall output, and save the calling application extra work.

That's a good point, and that brings up something that I was wondering
about. Do you think that the parser should figure out the correct pitch or
leave that to the app? I think that is what you are suggesting, and it would
be my preference, too.

In other words, I'm envisoning that the "pitch" field will be an integer
that is the that should be sounded. If we have:

K:C
F
K:G
F

Then the parser would store different notes, an F-natural in the first case
and an F-sharp in the second. That, of course, requires the parser to
understand the "K:" field, which could be complicated.

However, as you point out, somebody has to understand it anyway, so there
needs to be a requirement that the K: field be understandable, so any
extensions should be well formed and ignorable.

Some other fields, like rhythm, might not be as critical, but if you do it
one way for K:, you might as well do it the same way for the other fields.

Paul Rosen
--- Life is a musical, every once in a while
      the plot stops and you start singing and dancing ---
http://home.earthlink.net/~catharsis.music/
http://home.earthlink.net/~theplums/


To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html

Reply via email to