On Tuesday 01 July 2003 7:08 pm, Phil Taylor wrote: > Sorry, I don't understand what you're trying to say here. > Are you suggesting that a standard can be developed > without giving any consideration to what it's going to > be used for?
Essentially yes. That's what W3C try to do with their web standards; they are trying to create data description systems that are totally device and usage independant, so that well written pages can be used in a device independent manner (speech readers and so forth are just the beginning). I think the point is that ABC can be put to more uses than standards writers can think of, and if the standards writers are just active software developers, then a truly flexible and multi-purpose standard may not be attained. WItness how HTML almost lost its semantic purpose in the face of the extension wars between Netscape and Explorer, because the people who were approving the standards at Netscape and Microsoft weren't interested in any of that; they just wanted to win a features war. Which leads me nicely onto my thoughts on the subject... It seems to me that their are several different competing uses for ABC as it stands. There are the simple folk tune-swapping uses, where people even jot down ABC on scraps of paper (anyone else seen this practice, incidentally?); there are folk like Guido, who are trying to develop ABC into something that can take on Lilypond. Us pipers could reel off (no pun intended) a dozen ideas that would make ABC easier for us, the early music people have their enhancements, and the microtonalists have been shoving their foot in the door as well. >From beginnings as a symbolic representation for diatonic music, ABC is becoming a tool for many diverse kinds of musician. When you try and incorporate all these enhancements and not break backwards compatability, you end up creating a Frankenstein's monster (those who saw my attempt at typesetting piobaireachd will be nodding their heads here). What I think is needed is a core language, (perhaps; this is an example only!) essentially ABC+ as implemented by abcm2ps. On top of that, build some kind of scripting and pre-processing system with vast power. Then take over the world. Buahahaha. Here's a sort of psuedoexample, in a kind of CSS(ish) notation, for the microtonal stuff that was discussed earlier: "!#\n" { // Insert !#nn where nn is 1-6 for a range of pitch bend symbols switch n case n=1 { draw { //draw routine } sound { post_associate; //associate symbol with note after it pitch_bend(10 cents) } case n=2 { blah blah. OK, perhaps a switch isn't the best way to do this, but never mind } } This isn't too far away from what some of us do with abcm2ps, adding lots of PostScript to create whatever it is our twisted needs demand. The difference is this is designed to be extensible and comprehensible by different software. The idea is that MagicABCPlayer doesn't pay any attention to the drawing instructions, and abcm2ps couldn't care less about what the pitch bend for the !#3 symbol is. There could be a standard library of routines for different users; I'm thinking: #include<bagpipe> and then instead of the standard ABC notation, we have a slightly simplified notation for pipers, where we use nine unique letters, and have capitals represent gracenotes: a2 GDGEa>b HCDcEa where we use H, I for high G and high A. There could be a #include<bagpipe_BMW> for refugees from that hideous pipe-music typesetting software. It would be *really* cool to have an #include<binneas> mode (three line staff in multiple colours) There might be an #include<microtones>. #include<bowings>, for fiddlers. #include<guitar_tab> would let music renderers like abcm2ps draw tab directly. Got any ideas of your own? This is thinking out loud sort of stuff, but I would suggest it offers a powerful way forward. Some questions: What is the purpose of ABC? If the standard is too broad or too narrow, either ignoring V:,w:, or breaking existing implementations badly, then it is hardly any standard at all, as authors in HTML 3.2 might recall. Is it a description language, simply designed to describe monophonic melody lines, or maybe polyphony, if we push it? Or is it a typesetting language, needing powerful customisation facilities? Should we give up and say; this is silly. You microtonalists should go and develop your own system, our's wasn't designed for the likes of you? It's an option, though not one I think we need take too seriously. If ABC is to be a serious attempt and contender at a come-all-ye, I think it needs some kind of ability to build powerfully beyond: X:0 T:A Traditional Reel agfa f2 ec | dcBd A2 Ac... I know the quickfire response to this is "Well then, get writing!" I'm no coder (Dilbert fans can call me the ideas rat), nor do I have a clear idea of exactly how what I'm driving at should work, though the above is a starting point. There are better minds than mine on this list, and they can probably see better ways of doing something like this. Hoo boy, that's a lot of waffle. I'll sign off there. Cheers, Calum To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html