Hello / a 1st question

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Hello / a 1st question

Vlad Kudelin
Hello dear Lilypond community! 

I am a new user, and a pretty happy one! Just found out about THIS a week ago, and God! I am so grateful to the creators!!! 

I am a guy who knows music and computers, but... hates mouse. In fact I've got Carpal using mouse to enter 100s of notes in some s/w.... But now I am free! can use emacs or whatever! – un–be–live-able!!!
And also (perfectionists will understand the torture I've been through) : Lilypond just makes it natural to put everything under version control! 
un–be–f- live-able!!! 

That said, I hope it's all right to ask questions here, even if one is a total newbee.........
Here it is: 

I need to accomplish a trivial (I think) task: a book with a bunch of scores, in the form 

Title, Composer... 
 Score 
Title, Composer... 
 Score 
...

However it doesn't look like it's easy.
I've spent two days reading the manual and the tutorial and googling.... here is what I've found relevant:

1) \bookpart : this does work, except for a page break that it creates after each score... 
It doesn't work for me (my "book" is a bunch of tiny 1-2 line little songs for kids just starting to study piano);




suggests using \header within \score; 
  • After the music expression in a \score block.

However this either takes the *last* header and makes it global (ex1), 
or doesn't create headers at all (ex2). 

Any help would be greatly appreciated. 


Thank you!







/* ~~ Autumn in New York, ~~ ~~ Christmas in LA, ~~ ~~ April in Paris, ~~ ~~ a Juli v Tule. ~~ */

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user

=?UTF-8?b?ZXgyLnBkZg==?= (34K) Download Attachment
=?UTF-8?b?ZXgxLnBkZg==?= (45K) Download Attachment
=?UTF-8?b?ZXgyLmx5?= (806 bytes) Download Attachment
=?UTF-8?b?ZXgxLmx5?= (834 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Hello / a 1st question

Graham King-3
On Thu, 2017-08-10 at 18:40 +0000, Vlad Kudelin wrote:
Hello dear Lilypond community! 


I am a new user, and a pretty happy one! Just found out about THIS a week ago, and God! I am so grateful to the creators!!! 


I am a guy who knows music and computers, but... hates mouse. In fact I've got Carpal using mouse to enter 100s of notes in some s/w.... But now I am free! can use emacs or whatever! – un–be–live-able!!!
And also (perfectionists will understand the torture I've been through) : Lilypond just makes it natural to put everything under version control! 
un–be–f- live-able!!!

Welcome to the list.  Yes, it's a wonderful piece of software :)


That said, I hope it's all right to ask questions here, even if one is a total newbee.........
Here it is: 


I need to accomplish a trivial (I think) task: a book with a bunch of scores, in the form 


Title, Composer... 
 Score 
Title, Composer... 
 Score 
...


However it doesn't look like it's easy.
I've spent two days reading the manual and the tutorial and googling.... here is what I've found relevant:


1) \bookpart : this does work, except for a page break that it creates after each score... 
It doesn't work for me (my "book" is a bunch of tiny 1-2 line little songs for kids just starting to study piano);


2) The Help page at LilyPond Notation Reference: 3.2.1 Creating titles headers and footers 



LilyPond Notation Reference: 3.2.1 Creating titles headers and footers

LilyPond Notation Reference: 3.2.1 Creating titles headers and footers






suggests using \header within \score; 
  • After the music expression in a \score block.


However this either takes the *last* header and makes it global (ex1), 
or doesn't create headers at all (ex2). 


Any help would be greatly appreciated. 

How about:

\version "2.19.40"

\paper {
  #(set-paper-size "a4")
  print-all-headers = ##t
}

\score {
  \header {
    title = "A score of A's"
    composer = "Albinoni"
  }

  { \repeat unfold 24 a'1 \bar "|." }
}

\markup \vspace #10

\score {
  \header {
    title = "Better with B's"
    composer = "P.D.Q.Bach"
  }

  { \repeat unfold 24 b'1 \bar "|." }
}

\markup \vspace #10

\score {
  \header {
    title = "All at C"
    composer = "Chopin"
  }

  { \repeat unfold 24 c''1 \bar "|." }
}

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Hello / a 1st question

Vlad Kudelin
Thank you so much Graham!!! 

So, am I right that 
print-all-headers = ##t
does the trick? 

In any case, problem's solved, THANKS!


/* ~~ Autumn in New York, ~~ ~~ Christmas in LA, ~~ ~~ April in Paris, ~~ ~~ a Juli v Tule. ~~ */




On Thursday, August 10, 2017, 12:57:21 PM PDT, Graham King <[hidden email]> wrote:


On Thu, 2017-08-10 at 18:40 +0000, Vlad Kudelin wrote:
Hello dear Lilypond community! 


I am a new user, and a pretty happy one! Just found out about THIS a week ago, and God! I am so grateful to the creators!!! 


I am a guy who knows music and computers, but... hates mouse. In fact I've got Carpal using mouse to enter 100s of notes in some s/w.... But now I am free! can use emacs or whatever! – un–be–live-able!!!
And also (perfectionists will understand the torture I've been through) : Lilypond just makes it natural to put everything under version control! 
un–be–f- live-able!!!

Welcome to the list.  Yes, it's a wonderful piece of software :)


That said, I hope it's all right to ask questions here, even if one is a total newbee.........
Here it is: 


I need to accomplish a trivial (I think) task: a book with a bunch of scores, in the form 


Title, Composer... 
 Score 
Title, Composer... 
 Score 
...


However it doesn't look like it's easy.
I've spent two days reading the manual and the tutorial and googling.... here is what I've found relevant:


1) \bookpart : this does work, except for a page break that it creates after each score... 
It doesn't work for me (my "book" is a bunch of tiny 1-2 line little songs for kids just starting to study piano);


2) The Help page at LilyPond Notation Reference: 3.2.1 Creating titles headers and footers 



LilyPond Notation Reference: 3.2.1 Creating titles headers and footers

LilyPond Notation Reference: 3.2.1 Creating titles headers and footers






suggests using \header within \score; 
  • After the music expression in a \score block.


However this either takes the *last* header and makes it global (ex1), 
or doesn't create headers at all (ex2). 


Any help would be greatly appreciated. 

How about:

\version "2.19.40"

\paper {
  #(set-paper-size "a4")
  print-all-headers = ##t
}

\score {
  \header {
    title = "A score of A's"
    composer = "Albinoni"
  }

  { \repeat unfold 24 a'1 \bar "|." }
}

\markup \vspace #10

\score {
  \header {
    title = "Better with B's"
    composer = "P.D.Q.Bach"
  }

  { \repeat unfold 24 b'1 \bar "|." }
}

\markup \vspace #10


\score {
  \header {

    title = "All at C"
    composer = "Chopin"
  }

  { \repeat unfold 24 c''1 \bar "|." }

}
_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Hello / a 1st question

H. S. Teoh
In reply to this post by Vlad Kudelin
On Thu, Aug 10, 2017 at 06:40:10PM +0000, Vlad Kudelin wrote:

>    Hello dear Lilypond community! 
>    I am a new user, and a pretty happy one! Just found out about THIS
>    a week ago, and God! I am so grateful to the creators!!! 
>    I am a guy who knows music and computers, but... hates mouse. In
>    fact I've got Carpal using mouse to enter 100s of notes in some
>    s/w.... But now I am free! can use emacs or whatever! –
>    un–be–live-able!!!
>    And also (perfectionists will understand the torture I've been
>    through) : Lilypond just makes it natural to put everything under
>    version control! 
>    un–be–f- live-able!!! 
[...]

Welcome to Lilypond. :-)

I also hate the mouse, and I compose music with vim and lilypond. Which
means I can work on my music remotely via SSH over a low-bandwidth link.
No need for bandwidth (and memory) hogging VNC's. And yes, version
control.  I use git, which allows me to experiment with different
branches (different ways of scoring a passage) quickly and easily, and
without risk of losing previous versions should I decide to revert.

Not to mention the beautiful scores Lilypond produces.

You're in good company here. ;-)


T

--
Knowledge is that area of ignorance that we arrange and classify. -- Ambrose Bierce

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Git version control (was: Re: Hello / a 1st question)

Graham King-4
On Thu, 2017-08-10 at 13:40 -0700, H. S. Teoh wrote:
On Thu, Aug 10, 2017 at 06:40:10PM +0000, Vlad Kudelin wrote:
>  Lilypond just makes it natural to put everything under
>    version control! 
[...]

[...] I use git, which allows me to experiment with different
branches (different ways of scoring a passage) quickly and easily, and
without risk of losing previous versions should I decide to revert.

So, here's a bonus, to be inserted immediately below the \version line of your score:

\version "2.19.40"

% from snippet 197 (more to see at http://lsr.di.unimi.it/LSR/Search ):
#(define comml    (object->string (command-line)))
#(define loc      (+ (string-rindex comml #\space ) 2))
#(define commllen (- (string-length comml) 2))
#(define filen    (substring comml loc commllen))                   % filename
#(define modt     (stat:mtime (stat filen)))                        % Last modified
#(define modts    (strftime "%d %b %Y %H:%M:%S" (localtime modt)))  % Command line

% gitrev (from http://lilypondblog.org/2014/01/why-use-version-control-for-engraving-scores/#more-2151 )
#(use-modules (ice-9 popen))
#(use-modules (ice-9 rdelim))

% NOTE: This function only reads the first line of the command!
#(define (strsystem_internal cmd)
   (let* ((port (open-input-pipe cmd))
          (str (read-line port)))
     (close-pipe port)
     str))

#(define-markup-command (strsystem layout props cmd) (markup?)
   (interpret-markup layout props
     (strsystem_internal cmd)))

gitrev = \markup { \strsystem "/opt/local/bin/git rev-parse --short HEAD" }

\header {
  tagline = \markup{  \center-column{
        \concat {"Music engraving by Lilypond "
            $(lilypond-version) "-www.lilypond.org"
        }
        \line { "Version control for this edition: gitrev " \gitrev " " \modts }
        }}
}

Now you can tell whether that paper copy is up-to-date.  Of course, you don't want this code cluttering up every lilypond score, so best put it in a separate file and \include it.


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Hello / a 1st question

Michael Rivers
In reply to this post by Vlad Kudelin
I was just about to post that solution (print-all-headers, no book or book part). I also do short children's piano pieces. The solution also works for variations.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Hello / a 1st question

Vlad Kudelin
Thank you Michael!

/* ~~ Autumn in New York, ~~ ~~ Christmas in LA, ~~ ~~ April in Paris, ~~ ~~ a Juli v Tule. ~~ */




On Friday, August 11, 2017, 10:31:11 AM PDT, Michael Rivers <[hidden email]> wrote:


I was just about to post that solution (print-all-headers, no book or book
part). I also do short children's piano pieces. The solution also works for
variations.



--
View this message in context: http://lilypond.1069038.n5.nabble.com/Hello-a-1st-question-tp204966p204990.html
Sent from the User mailing list archive at Nabble.com.


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Git version control

Francisco Vila
In reply to this post by Graham King-4
On 10/08/17 23:11, Graham King wrote:
\header {
  tagline = \markup{  \center-column{
        \concat {"Music engraving by Lilypond "
            $(lilypond-version) "-www.lilypond.org"
        }
        \line { "Version control for this edition: gitrev " \gitrev " " \modts }
        }}
}

Now you can tell whether that paper copy is up-to-date.  Of course, you don't want this code cluttering up every lilypond score, so best put it in a separate file and \include it.


Nice. I have a simpler solution for those who launch a bash script for rendering en masse. The script has this line:

    echo "hash="\"Git version `git log --pretty="%h %s" | head -1`"\"" > gitversion-header.ily

Then the same script calls lilypond on the files to compile as usual.

The lilypond file or your stylesheet \includes the file gitversion-header.ily and prints the version with a \markup{\hash} or similar.

--
Francisco Vila. Badajoz (Spain)
paconet.org , csmbadajoz.com

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Loading...