Mojca Miklavec <mojca.miklavec.li...@gmail.com> writes: > On 9 July 2016 at 13:25, David Kastrup wrote: >> Mojca Miklavec writes: >> >>> I'm relatively new to lilypond (and new to diatonic accordion). >> >> Slovenia is a nice area to be in for diatonic accordion, though. >> >>> I would eventually like to add more automation to write scores for >>> accordion, but I need to start somewhere where I can at least get the >>> desired output. >> >> The automation currently available for diatonic accordion sucks (not >> even sucks and blows). > > :) > >> There is a quasi-ancient example in the manual at >> <URL:http://lilypond.org/doc/v2.18/Documentation/snippets/templates#templates-score-for-diatonic-accordion>. > > Thank you. This is a super complex example that I'm unable to > interpret (I would have no idea how to play it before studying it for > a while), but it might become clearer what I want to achieve with the > attachment. I hope that the attached PNG will be OK now. (I never put > images inline and initially wanted to provide an URL to some scores, > but the image on the URL might disappear and the notes for beginners > suggested to add an image next to the minimal example.)
Ok, the example is in a manner of "Griffschrift" which means that notes between lines are in first row, notes on the lines are in second row, notes with an x accidental before them are in third or fourth row when written between/on lines respectively. The middle line corresponds to the "Gleichton" in second row. The pull/draw convention seems similar to your notation. >> If you are willing to invest some time (and prod the list for help >> for individual problems: there are a lot of very helpful people and >> capable around here) I am pretty sure that LilyPond can get a lot >> better for diatonics than it is now. > > I also have an impression that there are as many different writing > notations as there are teachers :) :) :) Yes. > But the example in attachment is a good compromise that allows piano > players as well as either type of accordion player (those who prefer > reading the usual score and those who prefer just counting buttons) to > follow and I see it used here pretty often. Since it isn't actually a Griffschrift but rather a normal score plus additional information, it should actually be easier to target than most other diatonic accordion notations. >> but there is quite a lot of potential for good return on moderate >> investment of time. > > I hope so :) > >> As an initial keyword to look for: you'll want to go with a ChordNames >> context or Lyrics for aligned material I think. > > OK, ChordNames might work. > > It won't allow for the super intuitive writing because then durations > have to be specified twice. It would be more sensible to combine the > "Chord" with the "pitch", but the Chords might be a good start. Ok. It is correct that right now the \lyricsto mechanism is only available for Lyrics. It does not make much sense to combine it with straightforward music since it basically just controls when notation elements appear on the page but not what it looks like. So when you'd use this mechanism with normal music, the notes would be arranged in the correct visual distance but would look like before the rearrangement. However, it is true that ChordNames and NoteNames contexts (and a few other less likely candidates) could reasonably make use of the same mechanism. A quick check turns out
\version "2.19.44" \layout { \context { \NoteNames \alias "Lyrics" } } << \new Voice = "melody" \fixed c' { c4. g,8 c b,16 c cis d dis e f4. e8 d } \new NoteNames \lyricsto "melody" { \notemode { c g c b s cis s dis s f s d } } >>
so there are manners of cheating even the current code base into doing synchronization work for non-lyrics. > I'm still a bit confused though about how Chords work. Welcome to the club. The basic operation of LilyPond is "iterating" music expressions within some "context". "iteration" means converting the elements of the music expression into "stream events" which are sent to all contexts in a context hierarchy in the order and under control of music timing. Every context has a number of "engravers" listening for specific events and reacting by creating graphical objects, "grobs", which in turn can be listened for by engravers, given a graphical appearance ("stencil") that is positioned on the page in relation to other objects. So a ChordNames context has a specific engraver that listens to note events, collects all events at one point of time, figures out an appropriate chord name for the collection of notes, creates a ChordName grob that is placed in the proper place in the line of chords. This mechanism for pulling pitches and making graphics for them can be changed into something specific for your task. However, we need additional information because the assignment of buttons to notes is not unique and also depends on push/pull. So the question is how to get the information there. > Yes, I will need signs for directions (push/pull) etc., but the > following snippet could be a better minimal starting point for me: > > http://lilypond.org/doc/v2.18/Documentation/snippets/templates#templates-single-staff-template-with-notes-lyrics-chords-and-frets > > But the example requires specifying real chords. How could I write > B3 (with finger 1) > without any real meaning or something like > 1.B3 > instead of "C"? Or a "stacked" example > 3.B5 > 2.B4 > in place of another chord? Well, one can cheat by writing any old chord and then override the text, like \tweak text "D2" c1 but writing code that does that would only make sense once one has determined that chords are the best vehicle for faking this kind of functionality on. >> Nice to see you here! > > Yes, we miss you a lot too at the Polish bonfires :) I have to make my visits at one time again. It's just not a trivial expense for me... -- David Kastrup
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user