Re: odd configure error
On Wed, Mar 25, 2009 at 07:08:40PM +0100, James E. Bailey wrote: > > GIT from git.sv.gnu.org > git clone git://git.sv.gnu.org/lilypond.git This does not set up easy pulling or pushing in the future, and generally assumes that people know how to use git. It also downloads all branches, which in most cases is not necessary. > To get the main source code and documentation, > mkdir lilypond; cd lilypond > git init-db > git remote add -f -t master -m master origin > git://git.sv.gnu.org/lilypond.git/ > git checkout -b master origin/master After approximately four hours of discussion between git experts and non-experts, we decided that this is the best sequence of commands for most contributors. Just copy and paste them. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Tied accidentals in chords still taking up space (was: Issue 415 in lilypond: Hidden accidental of tied note still takes space)
Joe Neeman wrote: > [explanation of spacing code...] > One solution might be the following, which involves modifying only > accidental-placement: make 2 copies of every accidental, one for the > start-of-a-line case and one for the middle-of-a-line case (so the > start-of-a-line accidentals would be, in the terminology of > Accidental_placement::split_accidentals, the break_reminder accidentals > and the real_accidentals while the middle-of-a-line accidentals would > have copies of only the real_accidentals). Run the accidental layout > algorithm (currently in Accidental_placement::calc_positioning_done, but > you'll want to move it to a different function and make > calc_positioning_done call it twice) twice, once for each set of > accidentals. Then modify Accidental_placement::get_relevant_accidentals > to return one of the sets of accidentals. I've looked into this approach, and have a few questions: I tried cloning the accidentals in Accidental_placement::add_accidental, but that led to a segfault later on while trying to calculate the X-extent of the cloned accidental, since its layout_ was null. From what I can tell, this is because the cloned grob was never announced. Perhaps I should modify accidental-engraver as well, and have it create two copies there, passing them both to Accidental_placement::add_accidental? Which copy of the accidental should be put into the accidental-grob property of the note head? Thanks, -Chris ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Tied accidentals in chords still taking up space (was: Issue 415 in lilypond: Hidden accidental of tied note still takes space)
On Thu, 2009-03-26 at 10:26 -0400, Chris Snyder wrote: > Joe Neeman wrote: > > [explanation of spacing code...] > > > One solution might be the following, which involves modifying only > > accidental-placement: make 2 copies of every accidental, one for the > > start-of-a-line case and one for the middle-of-a-line case (so the > > start-of-a-line accidentals would be, in the terminology of > > Accidental_placement::split_accidentals, the break_reminder accidentals > > and the real_accidentals while the middle-of-a-line accidentals would > > have copies of only the real_accidentals). Run the accidental layout > > algorithm (currently in Accidental_placement::calc_positioning_done, but > > you'll want to move it to a different function and make > > calc_positioning_done call it twice) twice, once for each set of > > accidentals. Then modify Accidental_placement::get_relevant_accidentals > > to return one of the sets of accidentals. > > I've looked into this approach, and have a few questions: > > I tried cloning the accidentals in Accidental_placement::add_accidental, > but that led to a segfault later on while trying to calculate the > X-extent of the cloned accidental, since its layout_ was null. From what > I can tell, this is because the cloned grob was never announced. Perhaps > I should modify accidental-engraver as well, and have it create two > copies there, passing them both to Accidental_placement::add_accidental? It's not necessary to announce every grob (for example, of the three copies of every breakable grob, only the middle-of-line copy gets announced). The code for creating these non-announced grobs is in Item::copy_breakable_items. In particular, you need the get_root_system(original_grob)->typeset_grob(cloned_grob) line to give your clone a layout_. > Which copy of the accidental should be put into the accidental-grob > property of the note head? This is a bit tricky. To do this properly, you might need to add a Note_head::get_accidental function that has the logic for finding the right accidental (you could create a new property, "break-reminder-accidental-grob", for the new copy). Then you'd need to change every place that does get_object("accidental-grob") to use the new function; there aren't very many such places. It should be safe to just pick one copy if you want to put this off until later. HTH, Joe ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: odd configure error
On Thu, Mar 26, 2009 at 6:06 AM, Graham Percival wrote: > On Wed, Mar 25, 2009 at 07:08:40PM +0100, James E. Bailey wrote: >> >> GIT from git.sv.gnu.org >> git clone git://git.sv.gnu.org/lilypond.git > > This does not set up easy pulling or pushing in the future, and > generally assumes that people know how to use git. It also > downloads all branches, which in most cases is not necessary. It depends on what branches people work with. If they only work on the master branch, then the `git clone' method is a lot easier, IMO. The `git clone' method *does* set up easy pulling and pushing, but only for the master branch (I think). The confusion comes in when trying to juggle multiple remote branches on multiple local branches. This is when knowledge of git is necessary, because there are different ways of doing things. For example, this is the method I would recommend to fetch the LilyPond repo and make a patch for the documentation: git clone git://git.sv.gnu.org/lilypond.git cd lilypond git checkout -b mybranch ...make changes... git commit -a git format-patch master Let's say remote master has changed in the meantime, and you want to create a new patch rebased on current master: cd lilypond git checkout master git pull git checkout mybranch git rebase master git format-patch master If you want to create a new patch, just do this: cd lilypond git checkout master git pull git checkout mybranch ...make changes... git commit -a git rebase master git format-patch master If you have push access, just add a couple more steps: cd lilypond git checkout master git pull git checkout mybranch ...make changes... git commit -a git rebase master git checkout master git merge mybranch git push git+ssh://git.sv.gnu.org/srv/git/lilypond.git *** Ideally, users would know what all of these commands mean, but as you say, if we put these sequences in the Contributer's Guide, then they can simply copy and paste. These command sequences generally work, unless there are rebase conflicts, which requires another two paragraphs itself to explain. They also eliminate the extra `merge' commits you see occasionally. -Patrick ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Patches for the web site
Hello, The first patch fixes a newly added link on the download page, and the second adds LilyPond 2.13 to the list on the documentation page. Thanks, Patrick >From c7f3bec4129e4cc132dd6a534028d94c10b2a68e Mon Sep 17 00:00:00 2001 From: Patrick McCarty Date: Thu, 26 Mar 2009 14:44:55 -0700 Subject: [PATCH 1/2] Fix link to help page Signed-off-by: Patrick McCarty --- site/install/install-2.12.ihtml |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/site/install/install-2.12.ihtml b/site/install/install-2.12.ihtml index a8f1502..fe095d3 100644 --- a/site/install/install-2.12.ihtml +++ b/site/install/install-2.12.ihtml @@ -267,7 +267,7 @@ _("A text-based program, not graphical. For more information, see %s.", - "http://lilypond.gnu.org/web/help/";, + "http://lilypond.org/web/help/";, "the LilyPond help page") -- 1.6.2.1 >From 99886dc50cf36e9b8e0be088a0600410e63f2902 Mon Sep 17 00:00:00 2001 From: Patrick McCarty Date: Thu, 26 Mar 2009 14:51:16 -0700 Subject: [PATCH 2/2] Add 2.13 to documentation page Signed-off-by: Patrick McCarty --- site/documentation.html |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/site/documentation.html b/site/documentation.html index f6234b3..19765f5 100644 --- a/site/documentation.html +++ b/site/documentation.html @@ -19,6 +19,13 @@ Documentation for + +LilyPond 2.13 + +(latest development) + + +Documentation for LilyPond 2.10 -- 1.6.2.1 ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Debugging/showing internal stuff?
Nicolas Sceaux free.fr> writes: > you can try that: > > -foo.ly- > #(module-define! (resolve-module '(guile-user)) 'lilypond-module > (current-module)) > #(top-repl) > > > guile> (set-current-module lilypond-module) > # > guile> parser > #) > > > guile> (display-scheme-music #{ a' #}) > (make-music >'SequentialMusic >'elements >(list (make-music >'EventChord >'elements >(list (make-music >'NoteEvent >'duration >(ly:make-duration 2 0 1 1) >'pitch >(ly:make-pitch 0 5 0)) > When I tried this, I ended up with the display above, followed by: #:1:30>) (elements #:1:33>) (elements #) (pitch . #) (origin . #:1:33>)) ((display-methods #) (name . NoteEvent) (types general-music event note-event rhythmic-event melodic-event)) > ))((display-methods # # #) (name . EventChord) (iterator-ctor . #) (length-callback . #) (to-relative-callback . #) (types general-music event-chord simultaneous-music)) > ))((display-methods #) (name . SequentialMusic) (length-callback . #) (start-callback . #) (elements-callback . #) (iterator-ctor . #) (types general-music sequential-music)) > Any idea why I'm getting this? Thanks, Carl ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel