Hi Karl,
> My guess this is mainly for new lilypond users and users mostly
> used to Microsofts and/or Apples operating systems environment.
Correct.
More specifically (as I alluded to in our off-list conversation), there are two
large groups of potential converts:
1. Composers who currently use one of the industry-standard apps (Finale,
Sibelius, Dorico) but want more [control, extensibility, features, etc.] and
have seen some Lilypond demos/output.
2. Students who want to learn an engraving app for the first time.
As you suggest, they are all computer-savvy, but 99% will have only used
Windows or macOS (not Linux or other), and rarely if ever use any app that
doesn’t have a GUI. Text entry of note-code will already be a “hurdle” for
them; text entry for everything else (making and tweaking and styling the
output, etc.) is an additional hurdle I’m hoping to help them avoid.
> Is this only for vocal music or should non-vocal instrument also
> be included ?
All music should eventually be included. It would be fabulous to be able to say
\makeScore #’stringquartet #’(vlnI, vlnII, vla, vc)
and have a beautiful string quartet score pop out the other end.
> Somehow they have to be able to edit lilypond files and run
> lilypond, I cannot help with that.
Frescobaldi is fine as an app — that’s “GUI” enough for most of the people I’m
thinking of. Given MIDI input and point-and-click navigation between score and
code, building the note-code variables is pretty good. It’s the final score
collation and formatting that this framework would “black box” for them.
> song.ly:
> \version "2.25.1"
> \header {
> title = ""
> composer = ""
> poet = ""
> arranger = ""
> }
Yes, this would be necessary.
> \paper {
> #(set-paper-size "a4")
> %#(set-paper-size "letter")
> }
> #(set-global-staff-size 16)
To my mind, this should all be set in the stylesheet file.
> chdSong = \chordmode {
> % edit below to change chords
> c1 c1 c1
> }
> musSong = {
> % edit below to change the melody
> \key c \major
> \time 4/4
> c'1 |
> c'1 |
> c'1 |
> }
> lyrSong = \lyricmode {
> % edit below to change the lyrics
> song lyr -- ics
> }
Yes.
> \include "lead_sheet_layout.ily"
Yes.
> lead_sheet_layout.ily:
> \version "2.25.1"
>
> \score {
> <<
> \new ChordNames \chdSong
> \new Staff \musSong
> \new Lyrics \lyrSong
>>>
> }
>
> And the user edits the song.ly file and run lilypond to check the
> result. In this case the user should not change the layout.ily file.
Yes, ultimately that’s the simplest v1 of what I’m talking about. :)
But I don’t want users to be forced into predetermined variable names (e.g.,
chdSong); they should be able to name variables whatever they want, and the
framework should handle it transparently. That’s why I suggested a [pseudocode]
UI like
\leadSheet #’(myMelody, myWords, myChords)
Thanks for your input so far!
I’ll work on mocking up an MWE this weekend so we can poke at something
concrete.
Best,
Kieren.
__________________________________________________
My work day may look different than your work day. Please do not feel obligated
to read or respond to this email outside of your normal working hours.