On Monday 16 Jun 2003 12:28 pm, Joerg Anders wrote:
In other projects the MIDI related way of thinking
dominates.
The score editor is regarded as an appendix.
Assuming you're referring at least partly to Rosegarden here, then
it's not true to describe the score editor as an appendix. It was
designed in from the start and was the first editing mode we
implemented. As I had previously worked on Rosegarden-2.1 (whose
score editor is much more like NoteEdit: it only does score, and
knows nothing about MIDI) the exciting thing for me with Rosegarden-4
was to set out to do a score editor that was powerful enough to be
genuinely useful for score, without compromising the sequencing
capabilities of the application at all. Of course that's an ongoing
challenge and I won't claim that we've succeeded yet, but I think
it's an interesting and worthwhile goal.
The internal
data structures must represent the score and the midi data
must be derived from these data. Why: The mapping from
score to midi is unique mapping.
Nonsense! A performance (in MIDI or anything else) contains any
amount of information not representable in score, just as the score
can contain any amount of information not representable in MIDI.
There is no unique mapping in either direction.
The fact is that any program that aims to be a score editor and a
performance or composition tool at the same time, rather than
concentrating on one particular area, is going to have to work harder
and make compromises. Rosegarden is a sequencer and compositional
tool, and so (as we agree) will inevitably find some things harder to
implement in notation than NoteEdit, which is primarily a score
editor and so is not particularly useful as a sequencer.
(Rosegarden's internal data structures actually represent neither the
MIDI nor the score exactly, although producing MIDI from them is
certainly easier than producing score.)
And another aspect: From the very beginning it was
quite
clear to me: The main problem is grouping: The are
vertical groups (chords) and horizontal groups
(beams, slurs, ties, tuplets). Every note can be a member of
any of these groups, even simultaniously.
Yes, of course. And basing an internal representation directly on
that will lead to difficulties in performance or MIDI editing -- but
I'm not about to claim that that makes it "wrong" to do so, or a
"basic error". The two programs are simply different.
Chris