paulrosen / abcjs

javascript for rendering abc music notation
Other
1.93k stars 284 forks source link

Best support for Bagpipe "gracenote" #56

Closed jo-m1b closed 6 years ago

jo-m1b commented 8 years ago

Hello,

First of all, a big thank you to develop abcjs, this is really great !

I have request regarding the "gracenote" :

  1. it is missing the line when the "gracenote" is high above or below the staff.
  2. it would be great if the groups of "gracenote" were displayed diagonally (up or down) when it is necessary (like groups of note in fact).

Actual abcjs gracenote (K:HP) : abcjs gracenote

Best gracenote support : abcjs gracenote

Thank you very much

jo-m1b commented 8 years ago

hi, it's me again, i made a new test. Same notation but with K:G (insted of K:HP or K:Hp) and i got this result :

abcjs gracenote K:G

gregdyke commented 8 years ago

As best I remember (I implemented it?), bagpipe notation is "supposed" to have the horizontal bar lines

— Sent from Mailbox

On Thu, Feb 11, 2016 at 9:37 AM, MrJO notifications@github.com wrote:

hi, it's me again, i made a new test. Same notation but with K:G (insted of K:HP or K:Hp) and i got this result : abcjs gracenote K:G

  • "gracenote" are displayed diagonally (up or down) when it is necessary (so it's cool, i want that for K:HP or K:HP) but now "gracenote" are ties like slurs and this is not cool for bagpipe notation.

- in this test, it still missing the line when the "gracenote" is high above or below the staff.

Reply to this email directly or view it on GitHub: https://github.com/paulrosen/abcjs/issues/56#issuecomment-182765153

jo-m1b commented 8 years ago

Ty for your replie, but it seem not !

You can try this notation here https://abcjs.net/abcjs-editor.html

X:1
T:Lochanside
R:March
Q:80
M:3/4
K:HP
|:{Gdc}d3/2e/2{g}f2{gfg}f1a1|{f}g1e1{gfg}f2{Gdc}d2|a3/2f/2{Gdc}d2{gdG}d3/2e/2|{g}f1{g}A1{gfg}f2{g}e2|!
{g}e3/2d/2{g}c2{GdG}c1a1|{f}g1e1{Gdc}d2{e}A2|{g}e3/2f/2{gf}g2{a}g1B1|{gcd}c1{e}A1{Gdc}d2{gdG}d2:|!
|:{gdG}d3/2f/2{ag}a2{g}a3/2g/2|{a}f3/2g/2{ag}a2{fg}f2|{Gdc}d1{e}A1{GdG}B2{gf}g3/2f/2|{g}e1d1{gfg}f2{g}e2|!
{g}e3/2d/2{g}c2{GdG}c1a1|{f}g1e1{Gdc}d2{e}A2|{g}e3/2f/2{gf}g2{a}g1B1|{gcd}c1{e}A1{Gdc}d2{gdG}d2:|!
|:{gcd}c3/2B/2{g}A2{GAG}A1{d}c1|{g}e1{gf}g1{fg}f2{Gdc}d2|{gcd}c3/2B/2{g}A2{GAG}A1{d}c1|{ag}a3/2g/2{fg}f2{g}e1A1|!
{Gdc}d1f1{ag}a2{fg}f1a1|g/2f/2e/2d/2{gcd}c2{e}B2|{g}e3/2f/2{gf}g2{a}g1B1|{gcd}c1{e}A1{Gdc}d2{gdG}d2:|

maybe you have implemented it in other version ?

best regard

u38cg commented 8 years ago

Whether or not the gracenote beams should be slanted is an issue of typographical style.

Due to technical limitations, and for convenience, much bagpipe music published in recent years has used a flat beams approach. Although it's probably not the most attractive approach in theory, it is better than the worst case and moreover, most people are used to reading music printed this way.

What I think does look ugly is the "default" beaming that most engraving systems would impose, which is quite dramatic - a good is example is the second bar of the first post's example, where the three gracenotes in front of the D are given a strong slope. The two gracenote clusters look OK - though maybe could be a little less, if anything), but to me I would rather have flat beams than that horrible slant.

The Lilypond bagpipe package defaults are quite good, though I'd quibble here and there - examples at http://svenax.net/site/sheetmusic/?type=category&subtype=3%2F4+Marches#music-menu

For what it's worth, abcm2ps allows you to specify beams flat or not using a %%flatbeams psuedocommand. I'd personally be inclined to leave it, but if a slanted option is introduced, I'd suggest putting a maximum on how slopey it can be.

The first issue mentioned is a definite bug in terms of pipe music - the engraver is not producing ledger lines for gracenotes (in normal as well as bagpipe mode). I don't know what is correct in "normal" music, though I have a few examples of fiddle music in front of me that use them.

paulrosen commented 7 years ago

The ledger line problem has been fixed in master and will be in the next release.