ssb22 / jianpu-ly

Jianpu in Lilypond
http://ssb22.user.srcf.net/mwrhome/jianpu-ly.html
Apache License 2.0
70 stars 18 forks source link

Switching the Slur and Beam position #12

Closed alvin-nt closed 2 years ago

alvin-nt commented 3 years ago

Is it possible to modify the script (maybe the output file), so that the position of the slurs and beams are swapped?

ssb22 commented 3 years ago

Yes this is possible, but I'm not sure the result would still count as jianpu. Try changing the part that says

\override Stem #'direction = #DOWN

into

\override Stem #'direction = #UP
\override Stem #'transparent = ##t
\override Stem #'length-fraction = #0.4

but you'll then need to change all the instances of stemLeftBeamCount and stemRightBeamCount to make sure the first note in each beam group has a "left" beam (to hang over the notehead) and the last note does not have a "right" beam, rather than the other way around. This probably means rewriting the leftBeams logic. The new left beam count is easy: it's simply the current value of the right beam count. But the new right beam count will need to be set differently, which could take some experimentation and it will probably be necessary to go back and change its value after we've read in the next note, so we're looking at a potentially significant code change. Why exactly do we need this "upside-down" version, does somebody find it easier to read than standard jianpu?

alvin-nt commented 2 years ago

the 'jianpu's (we call it not angka, literally translated as numeric notes) being used at my congregation apparently uses this feature (slurs at the bottom, beams at the top). In addition, it also uses a different notation for sharps and flats (a sharp is denoted as forward slash on the number, while a flat is denoted as a backward slash on the number). being able to generate something that follows such convention would be a nice feature.

For the bars and slurs, I managed to make something decent by editing the following lines

\override Stem #'direction = #UP
\override Stem #'X-offset = #0.2
\override Stem #'Y-offset = #1
\override Stem #'length-fraction = #0

and I need to add these to each start of the beams to make the beams look right.

\once \override Tie #'staff-position = #0
alvin-nt commented 2 years ago

PS: I agree that the format is not technically a jianpu, but just a variant of numbered musical notation. I just found that your script really helps with generating a look-alike 😅

ssb22 commented 2 years ago

Thanks for telling me it's called "not angka". Searching Google for this finds many examples from Indonesia. I think we may be able to add a not-angka mode to the script, although it may take a while to get everything to look right....