- From: Jan Rosseel <jan@scora.net>
- Date: Tue, 4 Apr 2017 15:50:27 +0200
- To: "'James Ingram'" <j.ingram@netcologne.de>, "'Glenn Linderman'" <v+smufl@g.nevcal.com>, "'Dennis Bathory-Kitsz'" <bathory@maltedmedia.com>, <public-music-notation-contrib@w3.org>
- Message-ID: <024801d2ad4a$6adc3fd0$4094bf70$@scora.net>
James, You start wrong by imposing pages as the top-level entity. That’s wrong. The main error is that you assume a fixed width, and hardcode that in the exported MNX file. That’s fundamentally wrong for a number of applications. Coming from the tablet side of things, I can assure you that the first thing people do when they grab one of our tablets is to rotate them, and see what happens. Most of them expect the music to automatically reflow to fit the width of the screen. And while screens indeed have a fixed width or height, there are screens that people use that have different width and heights. But there are other reasons that this is wrong. A lot of the “new” viewers allow musicians to create their own “custom” sheet music. Including staffs/systems of other instruments, for example. Defining the cue notes you want to see. Indicating where you (as musician) want the staff break to happen, etc. As a musician, I often want to break free from the engraving decisions made by the publisher/editor/engraver. Hardcoding those in MNX makes that next to impossible. As I always say to publishers that insist we display the music as they engraved it: “Perfect. Let’s use your PDF file for that purpose”. If the layout/graphics needs to be completely fixed (which seems to be your position), then there really is no need for a standard like MNX. As you write, your proposal originates from seeing a score as a “graphical environment”. The core usage of MNX is however to move away from this graphical environment and allowing the end-user devices to make the engraving/annotation/… decisions. Regards, JanR From: James Ingram [mailto:j.ingram@netcologne.de] Sent: zondag 2 april 2017 13:32 To: Glenn Linderman <v+smufl@g.nevcal.com>; Dennis Bathory-Kitsz <bathory@maltedmedia.com>; public-music-notation-contrib@w3.org Subject: Re: Measure-free scores Hi Dennis, Glenn, all, Welcome Dennis! This is getting very interesting! :-) My own version of the container hierarchy was created from first principles, and does exactly as Glenn suggests: It treats barlines simply as notated lines. They are graphical aids to legibility rather than being musically structural. They just chunk areas of the page to make reading easier. For discussion purposes, here's my reasoning: My outermost container is the *page* (an <svg> element in an SVG document). Printable pages have finite width and height. So do computer screens. It is possible to scroll pages on a screen, either horizontally or vertically, but scrolling very wide pages horizontally is strangely disorienting. System breaks are reassuring, and aid to legibility. So my *page* containers always have a width that should fit on a computer screen. The authoring software can decide which screen width the score is written for. (From here on, I'm simplifying a bit, for the sake of getting the principles across.) The next container level down (inside *page*) is the *system*. Systems stack vertically on the page with margins to the left and right. System containers contain *staff* containers and *staffConnector*s. A *staff* has the width of the system. A *staffConnector* is a vertical line between two staff containers. Staff containers stack vertically inside their system, and contain *voice* containers. A *voice* container has the width of its containing staff, and contains a sequence of objects that include *clefs*, *barlines* and *event symbols*. (This arrangement owes a lot to capella's CapXML "noteObject"s. ) My authoring software only draws *barline*s into the first voice in a staff. It might be better to draw barlines a level higher, in the staff container. An advantage of differentiating between barlines and staffConnectors is that they can be styled differently. Stockhausen often wanted to group instrument types differently in this way. For example: In a large score, the staffConnectors between woodwind staves can be the same thickness as the barlines, while the staffConnectors between the woodwinds and the brass can be thinner. XML was invented to be both machine-readable and human-readable. Its a big help, when debugging, to be able to collapse the containers in an XML editor in order to find a particular object. So I think its a good idea to make the XML containers contain everything that belongs graphically inside them. I'd therefore prefer it if <part> elements in MNX §5.1.2 were contained in the <system> element. (If I've understood the example correctly.) Note that my version of the container hierarchy is based strictly on graphical containment. The old problem of moving notes from bar to bar is still there, but it has become a problem of moving notes from system to system. Note also that the temporal definition of a tied symbol goes in the first event symbol. All the rest (tie, tied symbols) is just graphics. All the best, hope that helps, James Am 02.04.2017 um 01:20 schrieb Glenn Linderman: Dennis raises a valid point, though... does a measure have to be a container at all? A measure extends from one bar to the next, but the sequence of notes and bar lines can be thought of as a exactly that, a sequence, rather than a containment concept. As has already been mentioned, sounded notes can escape the containment by being tied across bar lines. Further, shifting things from one measure to the next may be far easier by moving the bar lines in the sequence rather than moving notes from one container to another. So there are some merit to simply allowing bar lines to be notated, rather than thinking of measures as containers (either in the logical or XML sense of containment). On 4/1/2017 12:05 PM, Joe Berkovitz wrote: Hi Dennis, Speaking as a composer, "one big measure" is still some sort of container and therefore incorrect. I have not understood in these discussions and in existing software why the measure must be the basic consideration in encoding information. If we used a <measure> element in this way, it would be just a "container of convenience" to hold a series of events and would not imply a notated measure. We'd want to figure out a way to make sure that this understanding was part of the encoding. I wish I had not used the term, "one big measure": I simply meant, one big container. It may make sense to name the element differently in this case -- that, too, is up for discussion. Truly, there's no claim here that measures are a basic consideration in encoding music. Where measures exist and the composer notated them, though, I think it's reasonable to include them in the encoding as part of what the composer chose to express. Where the composer didn't do so, then the encoding can say that too. With respect to the other generalities that you talked about, I think we're envisioning that MNX will *also* include a culturally neutral encoding approach based entirely on graphics and time, and that this will provide an escape valve for the many notation systems that don't fit the 1600-1900 model. The emphasis you see in the CG's work right now, in no way excludes our taking up a more general approach as our resources and time allow. I don't feel there is a "tendency to create a [traditional Western] system". It's just that there is a large proportion of CG members writing applications that work within this system. Our present priorities merely reflect the makeup of the group. And they are just priorities, not decisions about what notation is or is not. I look forward to having the time to devote to thinking through the more general graphical/temporal approach as well. Best, ...Joe Music proceeds. If a measure-based composition is encoded, then apply the markers that determine these aspects (barlines, time signatures, etc.). Dumping the measure, it seems to me, relieves all the struggles with time signatures (such as 4/3 or 3/7) and, of course, notation systems old and new that don't use measure-like divisions at all. If a time-based system is encoded, then the container, if you need one, can be the second. If an instrument-exchange based system is encoded, the container (again, if you need one) is the exchange division. If the answer is 'none of the above', then the encoding system should be required to respect the music -- first. With no measure container, for example, having a continuous staff that changes as needed (containers, no containers, switch to time-based, directional, all on the fly) also frees the encoded notation from straight, horizontal lines (meaning no trouble encoding Wolff or Stockhausen). I'm not a coder anymore, but I see a tendency to create a system that is driven by Western music 1600-1900. Don't we already have plenty of systems that do that? It seems to me that any new system that depends on that is either mostly redundant or, with respect to the continuing development of music, destined to fail. So can the measure 'container' please be scrapped? Dennis -- https://github.com/notator http://james-ingram-act-two.de
Received on Tuesday, 4 April 2017 13:51:05 UTC