ABC is not the best answer for every application, but it is way ahead of everything else for some purposes and more-than-good-enough for a whole lot of others. (Despite the nuisance of maintaining fluency with multiple tools, I really need to get around to learning Lillypond and brushing up on Finale for the tasks that ABC is less well suited to. And maybe see about getting something good for doing stuff in MIDI that's a royal pain to write in standard notation at all. But I can do an awful lot in ABC.) I like being able to type music reasonably quickly instead of mousing it in, and edit it with 'vi'; and I really do think it's the most reasonable format to try to embed in web pages -- I'm aware of MusicXML but it doesn't look very human-webpage-maintainer friendly. My handwritten scores are pretty good when I use a fountain pen, much less so if I use ball-point or pencil. (And a fountain pen is quicker for some reason.) But then editing ain't so easy ...
Since this is intended as a bass guitar solo, it makes sense to publish it in the bass guitar idiom, but I'll generate an alternate version that's more accessible to musicians other than bassists. (Hmm. It's probably time to write a Makefile that produces the various versions of the score all at once when I edit the source.)
The ABC tools I've used*, except for the ones for PalmOS, have been pretty good about handling layout details like the ones you mentioned, with only occasional overrides. There's actually a stylesheet spec attached to the ABC language spec, for tweaking fonts, sizes, spacing, etc., so if the plug-in code is adapted from one of the standalone programs that uses that and does a good job with layout by default, letting the user specify "use author stylesheet"/"use my stylesheet", like Opera already does with HTML, ought to be feasible but something only a few users will need to touch. But I was just thinking about controls such as
transpose
show/hide lyrics
show/hide guitar chords
force a particular clef
select voices to show/hide
zoom in/out
honour author's line breaks/put as many measures on a line as will fit in this browser window
And maybe "change tempo" if the plug-in also produces its own MIDI, and "format for printing rather than on-screen display". I guess the two questions are, which of those are easy/hard to implement, and which of those would be too convenient in a browser view to want to leave out and which are things the user should really just save the music to a local file and run standalone engraving tools for?
Then again, my wish-list notwithstanding, a plug in that has no more controls than scroll bars and a zoom button wouldn't be an unreasonable approach -- it'd still let us move the rendering task from the server to the client. (There are already web sites where you can paste ABC into a form and get back JPG and MIDI, but it's done server-side with CGI (invoking the same command-line programs I use, I think).)
*I've lost track of all the ABC tools I've tried, but the ones I currently use are abcm2ps, abc2midi, abcpp, PalmABC, ABassC, and ABCviewer (the last three being Palm apps).
(no subject)
Since this is intended as a bass guitar solo, it makes sense to publish it in the bass guitar idiom, but I'll generate an alternate version that's more accessible to musicians other than bassists. (Hmm. It's probably time to write a Makefile that produces the various versions of the score all at once when I edit the source.)
The ABC tools I've used*, except for the ones for PalmOS, have been pretty good about handling layout details like the ones you mentioned, with only occasional overrides. There's actually a stylesheet spec attached to the ABC language spec, for tweaking fonts, sizes, spacing, etc., so if the plug-in code is adapted from one of the standalone programs that uses that and does a good job with layout by default, letting the user specify "use author stylesheet"/"use my stylesheet", like Opera already does with HTML, ought to be feasible but something only a few users will need to touch. But I was just thinking about controls such as
- transpose
- show/hide lyrics
- show/hide guitar chords
- force a particular clef
- select voices to show/hide
- zoom in/out
- honour author's line breaks/put as many measures on a line as will fit in this browser window
And maybe "change tempo" if the plug-in also produces its own MIDI, and "format for printing rather than on-screen display". I guess the two questions are, which of those are easy/hard to implement, and which of those would be too convenient in a browser view to want to leave out and which are things the user should really just save the music to a local file and run standalone engraving tools for?Then again, my wish-list notwithstanding, a plug in that has no more controls than scroll bars and a zoom button wouldn't be an unreasonable approach -- it'd still let us move the rendering task from the server to the client. (There are already web sites where you can paste ABC into a form and get back JPG and MIDI, but it's done server-side with CGI (invoking the same command-line programs I use, I think).)
*I've lost track of all the ABC tools I've tried, but the ones I currently use are abcm2ps, abc2midi, abcpp, PalmABC, ABassC, and ABCviewer (the last three being Palm apps).