cgnieder / leadsheets

A LaTeX package for creating leadsheets and songbooks
56 stars 11 forks source link

Remember chords only for verse-type #5

Closed JosuaHaug closed 9 years ago

JosuaHaug commented 9 years ago

I often use the "remember-chords"-function. Sometimes my song also has multiple choruses which have different chords. I'd wish to use the remember-function only for a chosen verse-environment. Currently I either leave out the remember function or I create a new environment for my alternate chorus

A solution like this would be nice-to-have:

\begin{song}[remember-chords=verse]{}

\begin{verse}
^{F}My first Verse
\end{verse}

\begin{chorus}[numbered=true]
^{C}My Chorus
\end{chorus}

\begin{verse}
^My second Verse
\end{verse}

\begin{chorus}[numbered=true]
^{G}My alternate Chorus
\end{chorus}

\end{song}
cgnieder commented 9 years ago

I came upon the same problem, too, in my own leadsheets. Mayself, I currently define a new verse type which is basically a clone from the one it differs from. However, I find that an unsatisfactory solution. I think a possible solution would be, to add classes to verses.

\begin{verse}
^{F}My first Verse
\end{verse}

would be the same as

\begin{verse}[class=standard]
^{F}My first Verse
\end{verse}

whereas

\begin{verse}[class=other]
^{F}My first Verse
\end{verse}

would act like a new verse type with respect to the remember-chords but otherwise be the same and where other would be a custom choice. What do you think?

JosuaHaug commented 9 years ago

Indeed a very powerful solution which would solve this problem. What I could also imagine would be something like chord-sequences which you can freely store and apply at certain parts.

\remember{myseq}{^{A}^{B}^{C}}

\begin{verse}
\replay{myseq}^My ^first ^Verse
\end{verse}

But maybe this is tooo powerful (nevertheless there would be no compatibility to older versions)

cgnieder commented 9 years ago

this is implemented in changeset 8f9c07d.

JosuaHaug commented 9 years ago

Thank you!