\hideNotes in TabStaff (was: Re: Temporary polyphonic passages in TabStaff)
original message- From: Mats Bengtsson mats.bengts...@ee.kth.se To: Oscar van Eijk oscar.van.e...@oveas.com CC: lilypond-user Mailinglist Date: Wed, 27 Jan 2010 01:13:35 +0100 - Oscar van Eijk wrote: Not quite I tested this, and with the sampled I sent in my original mail that worked fined. Problem is, I need this construct in more locations, but it works ok only the first time it occures :-S You have to adjust the s1*2 to keep the TabVoice contexts alive during the full piece (or alternatively update to the latest development version 2.13.x, where this trick is no longer needed). Ahum :blush: I shouldn't have make that mistake :-S Thanks for your support, this issues is fixed now! Another one though; also in the original sample you might have seen I use \hideNotes. Thet doesn't seem to have any affect in the TabStaff. As a workaround I made set the transparent property of TabNoteHead to ##t. Is this a known issue or were my expectations incorrect? Thnx, Oscar -- Oscar van Eijk Oveas Functionality Provider Zwaardenburg 63 -- 3437 RJ Nieuwegein T: +31(0)30 - 889 7812 -- F: +31(0)30 - 889 9117 [http://oveas.com -- a href=mailto:i...@oveas.com;i...@oveas.com - http://oveas.com] ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: \hideNotes in TabStaff (was: Re: Temporary polyphonic passages in TabStaff)
Il giorno Wed, 27 Jan 2010 14:39:40 +0100 Oscar van Eijk oscar.van.e...@oveas.com ha scritto: Another one though; also in the original sample you might have seen I use \hideNotes. Thet doesn't seem to have any affect in the TabStaff. As a workaround I made set the transparent property of TabNoteHead to ##t. Is this a known issue or were my expectations incorrect? If you want to hide notes both in Staff and in TabStaff you can use this command (maybe the name is not so appropriate, choose what you prefer): hideFretNumber = { \once \override TabNoteHead #'transparent = ##t \once \override TabNoteHead #'whiteout = ##f \once \override NoteHead #'transparent = ##t \once \override Stem #'transparent = ##t \once \override NoteHead #'no-ledgers = ##t \once \override Accidental #'transparent = ##t } In the tablature mailing list they are discussing the idea of adding such a command: hideTabNoteHead = { \once \override TabNoteHead #'transparent = ##t \once \override TabNoteHead #'whiteout = ##f } http://n2.nabble.com/Re-tie-bug-in-2-13-10-td4291079.html#a4291079 Marc (or Carl), can you make a summary of what's happening? Thanks, Federico -- http://gnurag.net/blog/ http://fsfe.org/ http://groups.fsf.org/wiki/LibrePlanetItalia ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
Oscar van Eijk schrieb: Hi All, I'm currently engraving a piece for several instruments, one of them an acoustic guitar. I'ld like to be able to print both the full score, and the instruments separately, in which case I wanna print guitar tabs as well. At some locations I add a second voice, as in the snippet I includes with this mail, but that doesn't work for tabs; the new voice is twice interpreted as a normal voice and an extra normal (G clef) staff is added. In the documentation and snippets I found several examples, but they all expect the complete piece to be in more voices, and that's not the case here. Am I missing something? If I remember correctly, this behavior has been corrected somewhere near 2.13.6, so you can either switch to the latest development version, or you have to explicitly instantiating the split voices, see the second example in http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Common-notation-for-percussion#Percussion-staves HTH Marc ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
Il giorno Mon, 25 Jan 2010 21:17:19 +0100 Oscar van Eijk oscar.van.e...@oveas.com ha scritto: At some locations I add a second voice, as in the snippet I includes with this mail, but that doesn't work for tabs; the new voice is twice interpreted as a normal voice and an extra normal (G clef) staff is added. I guess the problem is that you've inserted \new Voice inside a variable. I'm not sure if this is correct.. I think \new commands must be placed in \score blocks. Right? The examples on the website are implicitly in a \score block. Also, I suggest you to use bar checks: there was an error in you input (a half note missing). It's also useful having a line break after each bar and always putting the note value for first note of a bar (even though it's the same value of the last note of the earlier bar).. so it's easier to find errors and read the code. I attach the file. It works, but I have two warnings: warning: maybe input should specify polyphonic voices warning: adding note head to incompatible stem (type = 4) I can't help with that.. I'm used to put each voice in a different variable and then specify them in \score, so I've never come across this problem. Cheers, Federico -- http://gnurag.net/blog/ http://fsfe.org/ http://groups.fsf.org/wiki/LibrePlanetItalia \version 2.12.2 guitar = \relative c' { a,4 a16 e' bes' cis g'( e)~ e4. | { \voiceOne \hideNotes bes'4\( \unHideNotes a8( g) a g \set TabStaff.minimumFret= #2 f e~ | e2 \grace { e16 } e2\turn\) | \set TabStaff.minimumFret = #0 \hideNotes bes'4\( \unHideNotes a8( g) a g \set TabStaff.minimumFret= #2 f e~ | e2 \hideNotes e2 \)\unHideNotes | } %\new Voice { { \voiceTwo a,, f' bes d bes'2\arpeggio a | a2 a | a f' bes d bes'2\arpeggio s | % I've added an 's' here, now bar checks are OK a2 a | } \oneVoice a e' a cis e16 a e' a cis e a e' a cis e a e' a cis e a e' a cis e2.\fermata | } \score { \new StaffGroup \new Staff=Accoustic guitar \set Staff.instrumentName=Accoustic guitar \clef G_8 \guitar \new TabStaff=Accoustic guitartabs \set TabStaff.instrumentName=Guitartabs \set StaffGroup.instrumentName=Accoustic guitar \guitar %{ \new StaffGroup \context Staff=Accoustic guitar \set Staff.instrumentName=Accoustic guitar \clef G_8 \guitar \context TabStaff=Accoustic guitartabs \set TabStaff.instrumentName=Guitartabs \set StaffGroup.instrumentName=Accoustic guitar \guitar %} \layout{} } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
Federico Bruni wrote: I guess the problem is that you've inserted \new Voice inside a variable. I'm not sure if this is correct.. I think \new commands must be placed in \score blocks. Right? Not at all! Read the section on Explicitly Instantiating voices, in the Learning Manual. Also, please remember that using a variable in (say) a \score block is identical to copy/pasting the content of the variable directly into the \score block. /Mats ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
Il giorno Tue, 26 Jan 2010 10:27:58 +0100 Mats Bengtsson mats.bengts...@ee.kth.se ha scritto: Federico Bruni wrote: I guess the problem is that you've inserted \new Voice inside a variable. I'm not sure if this is correct.. I think \new commands must be placed in \score blocks. Right? Not at all! Read the section on Explicitly Instantiating voices, in the Learning Manual. Also, please remember that using a variable in (say) a \score block is identical to copy/pasting the content of the variable directly into the \score block. /Mats Ops, sorry for my disinformation. But, beside that, the thing is: if I use \new Voice in that example, LilyPond thinks it's part of a new Staff. Instead, I want to just create a new voice, which should be then interpreted as belonging to both (Staff)Voice and TabVoice in the StaffGroup of \score block. Is this possible? Here's a minimal example: \version 2.13.11 guitar = \relative c' { % Monophony c4 d e f | %% Temporary polyphony { \voiceOne c4 d e f | } \new Voice { \voiceTwo c,1 | % TODO: this is not printed in TabStaff, just in a new Staff } % Back to monophony \oneVoice c'4 d e f | } \score { \new StaffGroup \new Staff \clef G_8 \guitar \new TabStaff \guitar } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
I think you must either use TabVoice or Voice. You can't include a simple Voice into a TabStaff and vice versa. Oscar van Eijk wrote: Hi All, I'm currently engraving a piece for several instruments, one of them an acoustic guitar. I'ld like to be able to print both the full score, and the instruments separately, in which case I wanna print guitar tabs as well. At some locations I add a second voice, as in the snippet I includes with this mail, but that doesn't work for tabs; the new voice is twice interpreted as a normal voice and an extra normal (G clef) staff is added. In the documentation and snippets I found several examples, but they all expect the complete piece to be in more voices, and that's not the case here. Am I missing something? My code is below. Thanks in advance, Oscar \version 2.12.2 guitar = \relative c' { a,4 a16 e' bes' cis g'( e)~ e4. { \voiceOne \hideNotes bes'4\( \unHideNotes a8( g) a g \set TabStaff.minimumFret = #2 f e~ e2 \grace { e16 } e2\turn\) \set TabStaff.minimumFret = #0 \hideNotes bes'4\( \unHideNotes a8( g) a g \set TabStaff.minimumFret = #2 f e~ e2 \hideNotes e2 \)\unHideNotes } \new Voice { \voiceTwo a,, f' bes d bes'2\arpeggio a a a a f' bes d bes'2\arpeggio a a } \oneVoice a e' a cis e16 a e' a cis e a e' a cis e a e' a cis e a e' a cis e2.\fermata } \score { \new StaffGroup \context Staff=Accoustic guitar \set Staff.instrumentName=Accoustic guitar \clef G_8 \guitar \context TabStaff=Accoustic guitartabs \set TabStaff.instrumentName=Guitartabs \set StaffGroup.instrumentName=Accoustic guitar \guitar \layout{} } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
Il giorno Tue, 26 Jan 2010 12:47:17 +0100 Bertalan Fodor (LilyPondTool) lilypondt...@organum.hu ha scritto: I think you must either use TabVoice or Voice. You can't include a simple Voice into a TabStaff and vice versa. OK. I've found a solution with \keepWithTag and \removeWithTag. See attached file. \version 2.13.11 guitar = \relative c' { % Monophony c4 d e f | %% Temporary polyphony { \voiceOne c4 d e f | } \tag #'temp-voice { \new Voice { \voiceTwo c,1 | } } \tag #'temp-tabvoice { \new TabVoice { \voiceTwo c1 | } } % Back to monophony \oneVoice c'4 d e f | } \score { \new StaffGroup \new Staff { \clef G_8 \keepWithTag #'temp-voice \removeWithTag #'temp-tabvoice \guitar } \new TabStaff { \keepWithTag #'temp-tabvoice \removeWithTag #'temp-voice \guitar } }___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
Quoting Federico Bruni brunol...@gmx.com: But, beside that, the thing is: if I use \new Voice in that example, LilyPond thinks it's part of a new Staff. Instead, I want to just create a new voice, which should be then interpreted as belonging to both (Staff)Voice and TabVoice in the StaffGroup of \score block. Is this possible? The answer has already been given, namely to use the method shown in the second example of http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Common-notation-for-percussion#Percussion-staves The trick is to use the standard {...} \\ {...} construct for polophony. If you use version 2.12 or earlier, you also have to explicitly instantiate two TabVoice contexts (just replace DrumVoice by TabVoice in the example) called 1 and 2 (these names are hard coded and cannot be changed). If you use version 2.13, there's no need to explicitly instantiate these TabVoice contexts, LilyPond will automatically do the right thing when it sees a \\ construct. /Mats Here's a minimal example: \version 2.13.11 guitar = \relative c' { % Monophony c4 d e f | %% Temporary polyphony { \voiceOne c4 d e f | } \new Voice { \voiceTwo c,1 | % TODO: this is not printed in TabStaff, just in a new Staff } % Back to monophony \oneVoice c'4 d e f | } \score { \new StaffGroup \new Staff \clef G_8 \guitar \new TabStaff \guitar } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
(Sorry Mats, just answered directly to you, I still can't get used to the Reply button using the sender's address iso the list :-S Anyway, this is forwarded to the list) -- Oscar van Eijk Oveas Functionality Provider Zwaardenburg 63 -- 3437 RJ Nieuwegein T: +31(0)30 - 889 7812 -- F: +31(0)30 - 889 9117 [http://oveas.com -- a href=mailto:i...@oveas.com;i...@oveas.com - http://oveas.com] ---BeginMessage--- original message- From: Mats Bengtsson mats.bengts...@ee.kth.se To: Federico Bruni CC: lilypond-user@gnu.org Date: Tue, 26 Jan 2010 14:35:05 +0100 - Quoting Federico Bruni : But, beside that, the thing is: if I use \new Voice in that example, LilyPond thinks it's part of a new Staff. Instead, I want to just create a new voice, which should be then interpreted as belonging to both (Staff)Voice and TabVoice in the StaffGroup of \score block. Is this possible? The answer has already been given, namely to use the method shown in the second example of http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Common-not ation-for-percussion#Percussion-staves The trick is to use the standard construct for polophony. If you use version 2.12 or earlier, you also have to explicitly instantiate two TabVoice contexts (just replace DrumVoice by TabVoice in the example) called 1 and 2 (these names are hard coded and cannot be changed). If you use version 2.13, there's no need to explicitly instantiate these TabVoice contexts, LilyPond will automatically do the right thing when it sees a construct. Not quite I tested this, and with the sampled I sent in my original mail that worked fined. Problem is, I need this construct in more locations, but it works ok only the first time it occures :-S -- Oscar van Eijk Oveas Functionality Provider Zwaardenburg 63 -- 3437 RJ Nieuwegein T: +31(0)30 - 889 7812 -- F: +31(0)30 - 889 9117 [http://oveas.com -- a href=mailto:i...@oveas.com;i...@oveas.com - http://oveas.com] ---End Message--- ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
Il giorno Tue, 26 Jan 2010 14:35:05 +0100 Mats Bengtsson mats.bengts...@ee.kth.se ha scritto: The trick is to use the standard {...} \\ {...} construct for polophony. If you use version 2.12 or earlier, you also have to explicitly instantiate two TabVoice contexts (just replace DrumVoice by TabVoice in the example) called 1 and 2 (these names are hard coded and cannot be changed). If you use version 2.13, there's no need to explicitly instantiate these TabVoice contexts, LilyPond will automatically do the right thing when it sees a \\ construct. Oh, you are right, much easier than using \tag. Why complicate when there's no need to? ;-) Thanks for your explanation. Federico -- http://gnurag.net/blog/ http://fsfe.org/ http://groups.fsf.org/wiki/LibrePlanetItalia ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
Oscar van Eijk wrote: The answer has already been given, namely to use the method shown in the second example of http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Common-not ation-for-percussion#Percussion-staves The trick is to use the standard construct for polophony. If you use version 2.12 or earlier, you also have to explicitly instantiate two TabVoice contexts (just replace DrumVoice by TabVoice in the example) called 1 and 2 (these names are hard coded and cannot be changed). If you use version 2.13, there's no need to explicitly instantiate these TabVoice contexts, LilyPond will automatically do the right thing when it sees a construct. Not quite I tested this, and with the sampled I sent in my original mail that worked fined. Problem is, I need this construct in more locations, but it works ok only the first time it occures :-S You have to adjust the s1*2 to keep the TabVoice contexts alive during the full piece (or alternatively update to the latest development version 2.13.x, where this trick is no longer needed). /Mats ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
On 27.01.2010, at 01:13, Mats Bengtsson wrote: You have to adjust the s1*2 to keep the TabVoice contexts alive during the full piece (or alternatively update to the latest development version 2.13.x, where this trick is no longer needed). /Mats Contexts don't die in 2.13?! Wow, that's almost a reason to use it. I may just try and figure out the spacing engine in 2.13. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Temporary polyphonic passages in TabStaff
Quoting James Bailey derhindem...@googlemail.com: Contexts don't die in 2.13?! They still do. What happens in 2.13 is that the \\ construct automatically gives you TabVoices if you are in a TabStaff, DrumVoices if you are in a DrumStaff and so on. /Mats ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Temporary polyphonic passages in TabStaff
Hi All, I'm currently engraving a piece for several instruments, one of them an acoustic guitar. I'ld like to be able to print both the full score, and the instruments separately, in which case I wanna print guitar tabs as well. At some locations I add a second voice, as in the snippet I includes with this mail, but that doesn't work for tabs; the new voice is twice interpreted as a normal voice and an extra normal (G clef) staff is added. In the documentation and snippets I found several examples, but they all expect the complete piece to be in more voices, and that's not the case here. Am I missing something? My code is below. Thanks in advance, Oscar \version 2.12.2 guitar = \relative c' { a,4 a16 e' bes' cis g'( e)~ e4. { \voiceOne \hideNotes bes'4\( \unHideNotes a8( g) a g \set TabStaff.minimumFret = #2 f e~ e2 \grace { e16 } e2\turn\) \set TabStaff.minimumFret = #0 \hideNotes bes'4\( \unHideNotes a8( g) a g \set TabStaff.minimumFret = #2 f e~ e2 \hideNotes e2 \)\unHideNotes } \new Voice { \voiceTwo a,, f' bes d bes'2\arpeggio a a a a f' bes d bes'2 \arpeggio a a } \oneVoice a e' a cis e16 a e' a cis e a e' a cis e a e' a cis e a e' a cis e2.\fermata } \score { \new StaffGroup \context Staff=Accoustic guitar \set Staff.instrumentName=Accoustic guitar \clef G_8 \guitar \context TabStaff=Accoustic guitartabs \set TabStaff.instrumentName=Guitartabs \set StaffGroup.instrumentName=Accoustic guitar \guitar \layout{} } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user