Re: removing unwanted accidentals
On Thursday 14 April 2005 21.31, Stephen wrote: > Given all the options for automatic accidentals: voice, modern, > modern-voice, piano, no-reset, forget, and default, one of them must answer > every situation if you take the time to learn them. I find it confusing > when there are multiple ways to do the same thing. I'd look carefully at > the current options before I wrote a new option. > > In the example, '\set Score.currentBarNumber = #1' creates the problem. I > don't see why the numbering is reset there other than to remove the number > from that bar because it collides with the mark "D". There must be another > way to suppress the bar number at that bar. It also changes the numbering of all subsequent bars. I don't know the author's intent in this case (I didn't write that snippet), but I guess it could be something like an attaca movement. > However, I fixed it by setting the accidental style to 'forget'. See? there > is already a way to do it. There are situations where this doesn't work. E.g., in { \key d\major fis f } I can see no way to avoid displaying the natural. (this example I gave is not realistic, but the below example suggests that it may happen that you want to tweak accidentals in unexpected ways, e.g. due to other bugs) Erik > - Original Message - > From: "Erik Sandberg" <[EMAIL PROTECTED]> > To: > Sent: Monday, April 11, 2005 3:53 PM > Subject: removing unwanted accidentals > > > Hi, > > > > There seems to be a need for a way to notate that a single note should > > _not_ > > have an accidental displayed, something like a 'force-no-accidental' > > property. > > > > I think there was a discussion about this over a year ago, without a > > conclusion. Now there have been 2 or 3 (implicit) requests for it in a > > short > > time, and IMHO it's a reasonable feature. > > > > Also it looks pretty trivial to implement; may I give it a try? > > > > Erik > > > > On Sunday 10 April 2005 14.32, Karl Hammar wrote: > >> How do I remove the unwanted explicit flats in the next to last > >> measure in: > >> > >> \version "2.4.2" > >> > >> \relative c'' { > >> \override Score.BarNumber #'break-visibility = #end-of-line-invisible > >> \mark #03 > >> \clef treble > >> \key c \minor > >> a2 b | > >> d1 | > >> \mark #04 > >> \set Score.currentBarNumber = #1 > >> d2 es8. as,16 bes8 c | > >> % ^ ^ unwanted explicit flats here > >> d1 > >> } > >> > >> Regards > >> /Karl > >> > >> > >> > >> > >> ___ > >> lilypond-user mailing list > >> lilypond-user@gnu.org > >> http://lists.gnu.org/mailman/listinfo/lilypond-user > > > > ___ > > lilypond-devel mailing list > > lilypond-devel@gnu.org > > http://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: removing unwanted accidentals
Given all the options for automatic accidentals: voice, modern, modern-voice, piano, no-reset, forget, and default, one of them must answer every situation if you take the time to learn them. I find it confusing when there are multiple ways to do the same thing. I'd look carefully at the current options before I wrote a new option. In the example, '\set Score.currentBarNumber = #1' creates the problem. I don't see why the numbering is reset there other than to remove the number from that bar because it collides with the mark "D". There must be another way to suppress the bar number at that bar. However, I fixed it by setting the accidental style to 'forget'. See? there is already a way to do it. Stephen - Original Message - From: "Erik Sandberg" <[EMAIL PROTECTED]> To: Sent: Monday, April 11, 2005 3:53 PM Subject: removing unwanted accidentals Hi, There seems to be a need for a way to notate that a single note should _not_ have an accidental displayed, something like a 'force-no-accidental' property. I think there was a discussion about this over a year ago, without a conclusion. Now there have been 2 or 3 (implicit) requests for it in a short time, and IMHO it's a reasonable feature. Also it looks pretty trivial to implement; may I give it a try? Erik On Sunday 10 April 2005 14.32, Karl Hammar wrote: How do I remove the unwanted explicit flats in the next to last measure in: \version "2.4.2" \relative c'' { \override Score.BarNumber #'break-visibility = #end-of-line-invisible \mark #03 \clef treble \key c \minor a2 b | d1 | \mark #04 \set Score.currentBarNumber = #1 d2 es8. as,16 bes8 c | % ^ ^ unwanted explicit flats here d1 } Regards /Karl ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel <>\version "2.4.2" \paper { indent = 0\mm } \relative c'' { #(set-accidental-style 'forget) \override Score.BarNumber #'break-visibility = #end-of-line-invisible \mark #03 \clef treble \key c \minor a2 b | d1 | \mark #04 \set Score.currentBarNumber = #1 d2 es8. as,16 bes8 c | % ^ ^ unwanted explicit flats here d1 } ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Span_dynamic_performer
Again, I think some of the bugs would be solved by setting the first note in the span to the previous dynamic level or barring that to a default dynamic level and conceptually considering the dynamic change to fall between the notes rather than on the notes. Perhaps extending the last dynamic change past the last note in the tuple. Sort of offsetting the dynamic changes by a half of a note. Stephen ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Span_dynamic_performer
I am not a lilypond hacker (just an user, bug admin and hacker wannabe). However, I could suggest you to start with a grep Span_dynamic_performer ly/* scm/* lily/*> span-dynamic-performer.cc is the file I want to look at. the structure Audio_dynamic_tuple threw me off. I confused that with a regular tuple. I think if really means just the group of notes within the span. Stephen - Original Message - From: "Erik Sandberg" <[EMAIL PROTECTED]> To: "Stephen" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]>; Sent: Sunday, April 10, 2005 3:19 AM Subject: Re: Span_dynamic_performer On Sunday 10 April 2005 05.18, Stephen wrote: It has been my experience that visually it looks better to connect absolute dynamics with a hairpin or to say it the other way around, to connect the hairpin to an absolute dynamic. I am not trying to be difficult. If what you say is true, what the hairpin engraver has been written to perform optimally the hairpin performer has a bug in. Yes, it is certainly a bug. midi-cresc-silence.ly in the bug repository. Usually a hairpin dynamic is placed between one or two absolute dynamics so that the performer of the music knows to gradually shift from one dynamic to the other. Usually in printed music the dynamics and hairpins are lined up with each other vertically in this case. I learned that an easy way to make a hairpin line up with an absolute dynamic is attach the start or end of the hairpin to the same note as the dynamic. So if this messes up the midi, it is very unfortunate, 'cause it is more important to makr it look good. There is one possible workaround: Create 2 scores, one for paper output and one for midi output. In the midi score, add an extra s64\mf before the beginning of each voice. (it's dirty but works) I am not angry, it just takes a lot of words to make clear what I mean. Often the purpose of a hairpin is to modulate the volume between two given dynamics. Clearly the problem is that the hairpin modulates the volume from its start to its endpoint, but really, it should never modulate at its endpoints anyway. When a performer sees a hairpin, he knows to bring it from the dynamic he is already playing at the start of the hairpin to another absolute dynamic at the end of the hairpin. So the modulation should never include, say, the first note of a hairpin. If there are only two notes, it should only change the dynamic of the second note. If the hairpin is attached to only one note, it should only change the dynamics of the notes following the hairpin. Etc. Again, I am curious to know which file this code is in in the sources. I am not a lilypond hacker (just an user, bug admin and hacker wannabe). However, I could suggest you to start with a grep Span_dynamic_performer ly/* scm/* lily/* Erik ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Span_dynamic_performer
Note also that these bugs have low priority among developers, since there are plans to rewrite the midi system from scratch.> My comments can be taken two ways, as suggestions for a rewrite of span-dynamic-performer.cc or as a wish-list for the new implementation. If I where to contribute to the new implementation, I would need to start by analysing the drawbacks of the current implementation of midi in Lilypond. When it comes to things like this, I fail to see the distinction. We learn from each other, hopefully. One thing I want to do in midi is to say: \remove Voice.Span_dynamic_performer \consists PianoStaff.Span_dynamic_performer to controll the scope of the dynamic changes, whether they only affect the voice, the staff, the piano part, of the entire score. I don't know if that is possible yet. Stephen - Original Message - From: "Erik Sandberg" <[EMAIL PROTECTED]> To: "Stephen" <[EMAIL PROTECTED]> Cc: "Mats Bengtsson" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>; Sent: Monday, April 11, 2005 3:43 AM Subject: Re: Span_dynamic_performer On Sunday 10 April 2005 15.50, Stephen wrote: Mats, the output went silent with this: \tupletUp \time 4/4 \tempo 4=50 \partial 4 g,8.\mf\< g,16 | c2.\fermata g,8. c16 | e2.\fermata g,8 c | e4 g,8 c e4 g,8 c | e2.\fermata c8. e16 | g2\ff\> e4 c | g,2.\f g,8. g,16 | c2.-\markup { \italic \bold "morendo" } \fermata \bar "|." Note the 'g,8.\mf\<' beginning. An absolute dynamic did preceed the hairpin, but on the same note. "On the same note" means "at the same time" in lilypond; it is not significant in which order you write the commands. Due to a bug, the absolute dynamic must happen _strictly_ before the hairpin, i.e. not at the same time. Note also that these bugs have low priority among developers, since there are plans to rewrite the midi system from scratch. If you want to write a workaround, I think span-dynamic-performer.cc might be a good file to hack (no guarantees though). Erik ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond book issues version 2.5.19
> > It `normalizes' the `@' character, so it no longer is of type > > `letter'. I also wonder why it's here. Additionally, it should > > be > > > > [EMAIL PROTECTED] > > > > to make TeX stop parsing after the `2'. > > > > Isn't his what \makeatother is for? This isn't defined for plain TeX. > In any case, it looks like it should _not_ be here, after all > someone might "@" in \preLilyPondExample and then get surprised at > the result! I disagree. `@' should *always* be of category `other' for the user. If she wants to change that she should explicitly change the catcode. This is standard LaTeX practice. > I should have thought if that since my wife is Chinese! I still > think that being able to put a macro between the systems would be > useful. Since LilyPond completely takes care of formatting pages, this isn't really useful. Think of LilyPond returning an `image' of a piece of music which is accidentally in TeX format. If you want something between the systems, make LilyPond do that. Otherwise use two or more LilyPond snippets. Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Implementation documentation
I have somewhat rashly volunteered to be Implementation documenter. Han-Wen informs me that various abortive starts have already been made on this. So if you have any material that would be useful, please e-mail it to me. thanks /Bernard ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: textspanner arrowed line
On Thu, 2005-04-14 at 12:09 -0300, Jonatan Liljedahl wrote: > First of all, if you want this reply to the mailinglist instead of > personally, then why did you mail me personally in the first place? (not I apologise. I just switched email clients (from emacs+VM to Evolution), and I am still coping with the different controls. Hopefully, this goes to the mailing list as I originally intended > > On Wed, 2005-04-13 at 18:17 -0300, Jonatan Liljedahl wrote: > > > I'm trying to make an arrowed line textspanner, I'm almost there... > > > The problem is that the arrow is attached to the whole spanner > > > including the text. I wish to attach it only to the line, which > > > means that it is the Line_spanner::print function I should hook. But > > > how do I do that? How do I get to the TextSpanners line print > > > function? > > > > you can't. You have to modify the C++ code, or rewrite the C++ in > > Scheme. Look in line-spanner.cc to see how it works. > > So there's no way in scheme to "decompose" the textspanner grob/stencil > into the separate stencils for > 1. left edge text, 2. the line, 3. right edge text? Correct. -- Han-Wen Nienhuys - [EMAIL PROTECTED] LilyPond Software Design - http://www.lilypond-design.com ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond book issues version 2.5.19
> > First what is the code: [EMAIL PROTECTED] for? > > It `normalizes' the `@' character, so it no longer is of type > `letter'. I also wonder why it's here. Additionally, it should be > > [EMAIL PROTECTED] > > to make TeX stop parsing after the `2'. > Isn't his what \makeatother is for? In any case, it looks like it should _not_ be here, after all someone might "@" in \preLilyPondExample and then get surprised at the result! > > Second what is the point of putting the \preLilyPondExample and > > \postLilyPondExample macros where they are? If I want macros in > > _these_ places I can put them in the original latex file! > > The idea is that you need sometimes need special environments to make > the lyrics work correctly. For example, you have to enter a CJK > environment for Chinese. \preLilyPondExample and \postLilyPondExample > should be global hooks (this is, setting them up just once for all > lilypond snippets), not local ones. I should have thought if that since my wife is Chinese! I still think that being able to put a macro between the systems would be useful. Bernard ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel