Need the MusicXML test cases (link broken)
Hello, I have some spare time and would like to do some work in testing the MusicXML converter. I tried to download the test cases zip file at the link below (as found on this site) but the link is broken: http://lilypond.org/doc/v2.12/input/regression/musicxml/MusicXML-TestSuite-0.1.zip Can anyone please give me a good link to download the MusicXML test cases as a compressed archive? BTW the above broken link is on this page, if the webmaster wants to fix it: http://lilypond.org/doc/v2.12/input/regression/musicxml/collated-files Thanks Rick -- View this message in context: http://www.nabble.com/Need-the-MusicXML-test-cases-%28link-broken%29-tp22592619p22592619.html Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
OCR to lilypond
I've used just about every notaion program that exists, but I still like to just write out my sheets on staff paper with a pencil prior to entering the data into a formal notaion software like lilypond or whatever. It would be wonderful if I could generate lilypond source code from a hand-written staff initially, then go back and tweak it in code. After all, all the information is there on the page, it just needs to be interpreted. Is anyone aware of any commercial program, dll, or open source projects that are working on music OCR that would have the potential to (one day) be used to generate lilypond source code? Preferably open source. -- View this message in context: http://www.nabble.com/OCR-to-lilypond-tp16678797p16678797.html Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: new LilyPond based project
BopLand.org wrote: This is an announcement about new LilyPond based project. http://bopland.org The BopLand.org project is FREE knowledge database for improvising musician. The database contains hundreds of beautiful melodic patterns played by outstanding jazz musicians like Bill Evans, Clifford Brown, Gerry Mulligan and others. All licks present in the database were carefully transcribed and examined to contain no errors. More about the project: http://bopland.org/about.html For quick start with BopLand.org search engine use the links below: http://bopland.org/find-lick.html?time=4/4changes=|%20Dm7%20|%20G7%20|%20Cmajpage=1licks_per_page=10 http://bopland.org/find-lick.html?time=4/4changes=Ebmpage=1licks_per_page=10 http://bopland.org/find-lick.html?time=4%2F4changes=Dm+Bm7-5+%7C+E7+A7+%7Csearch.x=0search.y=0search=Findpage=1licks_per_page=10 The BopLand.org syntax used for adding new licks slightly differs from LilyPond's one. However all patterns found in the database come along with their source code, moreover notations used at BopLand.org closely match hand-written notaions, so adding new lick won't be a headache. Documentaion is available at http://bopland.org/bopland-format.html To contribute a lick or test the BopLand.org engine check the following link: http://bopland.org/add-lick.html The project is currently in beta version. Any comments, suggestions, and bug reports are highly appreciated at http://bopland.org/feedback.html Sincerely Yours, BopLand.org Team. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user I agree, I was enthused to see your jazz transcriptions but was disappointed. If the web site needs a user manual to use it, then it's doomed. Can you automatically just generate all the links to the content or categorize it some how so people can just browse the site? Maybe just list all the progressions you have on file as clickable links (not key sensitive). Not to be too harsh but the content should be accessible to the average person. :) Also I entered the following 2 identical chord progressions (except in different keys) but got different search results: | Dm7 | G7 | Cmaj | | Em7 | A7 | Dmaj | IOW the search engine should NOT be key sensitive. You have a great domain name and a great idea, though the site needs a useability review. I hope this was constructive as it was meant to be constructive. -- View this message in context: http://www.nabble.com/new-LilyPond-based-project-tp14761297p14793613.html Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to put chords on a score automatically
Mats Bengtsson-4 wrote: Rick Hansen (aka RickH) wrote: Such a program could not make the assumption that the root of the chord is always being sung by the bass or any other voice, or being sung at all. But if the lp syntax allowed marking what note is the current chord root at any point in time, then it could generate possible names for the harmony at that point in time. Otherwise I could see a lot of wrong and weird chord names being generated by an algorithm that is not being told what is the root note. Also the root of the chord may not always appear in the score, its common to remove the root or the 5th as they are more expendable than the 3rd or 7th, because the 3rd and 7th dedermine maj/min or dominant leading tones, often the root is even more expendable than the 5th for deletion. So what this algorithm would really need is an invisible staff that allows you to just name to root notes and duration thereof, this staff is never printed, nor would it participate in midi, etc. it's just there to tell the algorithm what the current root is at that pont in time, then the real notes in the score are used to come up with a suitable chord name. BTW your idea sounds like a very cool idea, as I dont know of any notation program that can also do harmony analysis. It would be a quick way to generate the names, then go back and correct the wrong ones. Nice. LilyPond already does what you describe, see the example in Introducing chord names in the manual. The following example shows how to do the same if you haven't entered the music as chords (i.e. using ...), but have a separate identifier for each voice. \version 2.10.0 one = \relative c''{g a g c} two = \relative c'{e f d e} three = \relative c'{c c b c} \score{ \new ChordNames \one \two \three \new Voice \one \two \three } /Mats ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user The ambiguity still remains, is the first chord in this example Em6 or C? Either could be correct. The second chord is probably Am6 but it could also be F or Dm7 (with the root omitted). On and on, all these are valid names for the notes in your example. IOW an algorithm that is not told the correct root cant make any assumption. In the key of C the third chord in the example would obviously be Bm7b5 (the naturally occuring chord of the leading tone) but it could also be G (the natural chord of the 5th tone). Too many mistakes are possible and in most music half the chords would be wrong, it may work well for nursury rhymes, but not for more complex music. Now if each note can simply be marked as the root then the algorithm could work correctly, when the root is being omitted of course that mark would have to be even more explicit by naming a non-printing note as well. -- View this message in context: http://www.nabble.com/How-to-put-chords-on-a-score-automatically-tf4783962.html#a13738521 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to put chords on a score automatically
Father Gordon Gilbert wrote: Rune - Your example works on its own, and is roughly what I'm looking for, but when I try to incorporate that syntax into my own (2.11.32) score, it doesn't work. I'd like to see the chordnames at the top of the choirstaff so I can check my work. My score is such that I can't really boil it down to a minimum example, but here is the whole thing so you can see what I'm doing. (Keep in mind that it's not finished -- but it does compile at this stage. And having used templates from previous works it's probably got a whole bunch of sloppy code.) Thanks for any help you can give. Fr. Gordon_ \header { filename = AmazingGrace-Sweet-Ads.ly enteredby = Gordon Gilbert composer = Traditional American Melody poet = words: Rev'd John Newton, 1779 arranger = arr. Gordon Gilbert 2007 date= title = Amazing Grace subtitle = Arr. for Barbershop Chorus metre = meter = \metre copyright = Public Domain - Permission granted to perform this arrangement in a not-for-profit setting style = Hymn } \version 2.11.23 \paper{ #(set-paper-size letter) } global= { \time 3/4 \key g \major } tenor = \context Voice = tenor \relative c' { \voiceOne \override NoteHead #'color = #green \override Stem #'color = #green \override Beam #'color = #green { \partial 4 r4 b'2 d8 b d2 dis4 e2 c4 b2 a4 b2 d4 e2 e4 fis2 e4 ^ like d4( ^ me c) b4 b2 d4 d2 b4 c4.( e8 e c) b2 a4 b2 d4 d cis c b4( d) c4 ^ I b2 ^ see r4 b4 c \times 2/3 {d8( c b)} d2 dis4 e( d) c4 b4 c a4 b2 \times 2/3 {d8( c b)} e4( fis) g4 fis4( g) ( e4 d c) b4 d2 \times 2/3 {d4 e8} f2 d4 c2 c4 b2 a4 b4 c d4 d( cis) c b2 c4 b2 r4 b2 ^ \markup \italic {Bluesy} d4 d2 d4 ees2 c4 b2 a4 b2 d4 ees2 ees4 f2 e4 d2 d4 b2 d4 d2 b4 c4.( ees8 ees c) b2 a4 b2 d4 d cis c b2. e2. d e b2 \new Voice = tenorDivisi { \voiceOne \transpose g b' { \override NoteHead #'color = #green \override Stem #'color = #green \override Beam #'color = #green { r4 r b4 b r4 r d'4 d'4 dis' e'2. c'4 b2. r4 r d' e' e'4 fis'4 fis'4 fis' g' a' g' fis' e' d'( e'4 f'2 ~ f'4) f'4 d'2. d'4 g'2. d'4 c'2. c'4 b a b2. d'4 c'( d' e') g' g'2 a'2 gis'1 }} }} } lead = \context Voice = lead \relative c' { \voiceTwo \override NoteHead #'color = #red \override Stem #'color = #red \override Beam #'color = #red { \partial 4 d4 g2 b8( g) b2 a4 g2 e4 d2 d4 g2 b8( g) b2 a4 d2. ~ d2 b4 d4.^ x( b8) d( b) g2 d4 e4.( g8) g( e) d2 d4 g2 b8( g) b2 a4 g2 ( fis4 g2) %verse 2 d4 g2 \times 2/3 {b8( a g)} b2 a4 g2 e4 d2 d4 g2 \times 2/3 {b8( a g)} b2 \times 2/3 {a4( b8)} d2. ~ d2 b4 d2 \times 2/3 {b8( a g)} b2 \times 2/3{b4( a8)} g2 \times 2/3 {e4( d8)} d2 \times 2/3 {d4( e8)} g2 \times 2/3 {b8( a g)} b2 a4 g2. ~ g2 %verse 3 d4 g2 b8( g) b2 a4 g2 e4 d2 d4 g2 b8( g) b2 a8( b) d2. ~ d2 b4 d4.^ x( b8) d( b) g2 d4 e4.( g8) g( e) d2 d4 g2 b8( g) b2 a4 g2. %bridge a ^ \markup \italic {Bridge} b g fis2 %verse 4 \key b \major \transpose g b' { d4 \time 4/4 g2. b8( g) b2. a4 g2. e4 d2. d4 g2. b8( g) b2. a8( b) d'1 ~ d'2. b4 d'2 ~ d'8( b8) d'( b) g2. d4 e2 ~ e8 ( g8) g( e) d2. d4 g2. b8( g) b2. a4 g2 g2 b1 ^ \markup \italic {Tag} a4 ^ \fermata b ^ \fermata c' ^ \fermata r8 ^ \fermata d'8 d'1 d' ^ \fermata } \bar || } } bari = \context Voice = bari \relative c'' { \voiceOne \override NoteHead #'color = #blue \override Stem #'color = #blue \override Beam #'color = #blue { \partial 4 d,4 g2 g4 g2 fis4 g2 a4 g2 a4 b2 b4 cis2 a4 d2 a4 ^ like a2 ^ me g4 g2 g4 d2 g4 c2 a4 g2 a4 b2 g4 fis4. g8 fis4 g4( b) a ^ I g2 ^ see d4 g2 g4 d'2 b4 c2 a4 g2 a4 b2 b4 a2 a4 d2 a4 a2 g4 b2 b4 d2 b4 c2 a4 g2 a4 b2 g4 fis4. e8 fis4 g2. ~ g2 d4 f2 ^ \markup \italic {Bluesy} f4 c'2 b4 bes2 bes4 g2 a4 f'2 f4 g2 g4 d2 a'4 a2 g4 f2 f4 d2 b4 bes2 a4 g2 a4 d2 f,4 fis4. e8 fis4 g2. cis2. g b dis2 \new Voice = bariDivisi { \voiceOne \transpose g b' { \override NoteHead #'color = #blue \override Stem #'color = #blue \override Beam #'color = #blue { r4 r f f r r b b fis bes2. c'4 b?2. r4 r d' d' e' fis'2. e'4 d' }}} } } bass = \context Voice = bass \relative c' { \voiceTwo \override NoteHead #'color = #magenta \override Stem #'color = #magenta \override Beam #'color = #magenta { \partial 4 d4 d2 b4 d2 b4 c2 e4 g2 fis4 e2 e4 a2 cis,4 d2 e4 _ like fis( _ me e) d b2 d4 g,2 d'4 c2 e4 g2 fis4 e2
Re: Roman numeral chord notation in lilypond
Patrick Taylor Ramsey-2 wrote: Hello, all. I'm a bit flummoxed; I've been searching for the last hour and a half for a way to typeset roman numeral chord notation (ii, V65/V, N6) under a staff in lilypond and found nothing, except for a lone message dating from 2003 stating that said notation wasn't yet supported. Is this still the case? And, if so, why? It does seem like there are far more arcane notations which *are* supported... and this one is used by every beginning music theory course in the us (and most likely elsewhere) Just curious. PTR ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user You could enter it as a lyrics staff. The big issue with roman is that when a piece changes key for example what used to be a III chord is really not a III chord anymore, unless you have some way to depict to the reader to increment/decrement the key center by some other roman numeric value. Because the roman numerals are based on current key center. -- View this message in context: http://www.nabble.com/Roman-numeral-chord-notation-in-lilypond-tf4780001.html#a13713469 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond imbedded in text
Kieran Coulter wrote: Hi, I am planning on starting a method book series for lilypond. I am curious what the general format is for mixing various fonts and styles, pictures, and lilypond exercises and pieces to play. I'll have a look at what is in the documentation in the meantime, but I plan to write it very quickly! (it's one of the targets for my thesis work) Kieran Coulter ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Also check out: 10.1.5 Extracting fragments of notation It is possible to quote small fragments of a large score directly from the output. This can be compared to clipping a piece of a paper score with scissors. This is done by definining the measures that need to be cut out separately. For example, including the following definition \layout { clip-regions = #(list (cons (make-rhythmic-location 5 1 2) (make-rhythmic-location 7 3 4))) } will extract a fragment starting halfway the fifth measure, ending in the seventh measure. The meaning of 5 1 2 is: after a 1/2 note in measure 5, and 7 3 4 after 3 quarter notes in measure 7. Chapter 10: Non-musical notation 250 More clip regions can be defined by adding more pairs of rhythmic-locations to the list. In order to use this feature, LilyPond must be invoked with -dclip-systems. The clips are output as EPS files, and are converted to PDF and PNG if these formats are switched on as well. For more information on output formats, see program usage manual, Invoking lilypond. See also Examples: ‘non-notation/clip-systems.ly’ Rick (I sponsored this one) -- View this message in context: http://www.nabble.com/lilypond-imbedded-in-text-tf4526353.html#a12968331 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Fwd: Users' Manual
I would buy the manual in a nice spiral book, perhaps the sales could be used to pay developers. The cost of printing and binding the PDF at my local office store is not cheap, and I'd much rather have the money go to the devs. and to the doc writers. If you guys could work something out and sell it on the lp site profitably. Mark Knoop-4 wrote: Han-Wen Nienhuys wrote: -- Forwarded message -- From: Jonathan Ano [EMAIL PROTECTED] Hi, I recently downloaded GNU Lilypond and I don't understand a thing unless I spend hours reading the manual, which would kill my eyes if I spent hours reading it off of a computer screen. The users' manual for the stable branch version is 451 pages long, and it's extremely inconvenient to print that. I was wondering if you have the manual in a book form that you ship; something like that would be helpful. Perhaps something like this? http://www.cafepress.com/cp/info/sell/products/books -- Mark Knoop ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Fwd%3A-Users%27-Manual-tf4515869.html#a12955422 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Guitar tabs and fret diagram
Helge Kruse wrote: Hello, writing a piece for guitar I include tabs. At some difficult I want additionally write a fret diagram to show, how to set the fingers. Maybe most guitar players think that's overkill, but the player should see as fast as possible how to set the left hand fingers. When I add fret diagrams to the melody. It will be display above the score as well as above the tabs. That is overkill. How can I achieve my goal? Is there a way to filter out the fret diagrams? If I watn to generate a PDF without the, can I define a function or set any variable to suppress them? Best regards, Helge \version 2.11.32 halfnote = {\once \override NoteHead #'duration-log = #1 } melody = \relative c { \key d \major \time 4/4 \halfnote d8 ^\markup \fret-diagram #6-x;5-x;4-o;3-2;2-3;1-2; a' d fis \halfnote a,, ^\markup \fret-diagram #6-o;5-o;4-2;3-2;2-2;1-o; e' a cis | } \score { \context Staff = Guit \clef G_8 \new Voice \melody \context TabStaff = Tab { \override TabStaff.Stem #'transparent = ##t \override TabStaff.Beam #'transparent = ##t \new TabVoice \melody } } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Or you can use the \FretBoards context for your fret diagrams instead of markup, that way they will be transposeable to other keys and you can hide/show the whole context from one control point. -- View this message in context: http://www.nabble.com/Guitar-tabs-and-fret-diagram-tf4408466.html#a12643157 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond Odd Jobs (mostly documentation)
The FretBoards context that I sponsored some time back, still needs to be added to the instrument specific section of the manual. Graham Percival-2 wrote: Are you interested in helping LilyPond? There are many tasks that are available which do not have time to do ourselves. Some of these require a fair amount of technical knowledge, but many of them only require a moderate amount of lilypond skill. Lilypond Odd Jobs - Cameron Horsburgh has agreed to monitor the lilypond-user maillist documentation issues. ONE-SHOT JOBS (estimated time: 30min - 2 hrs each) - create example for automatic accidental examples that demonstrates everything - add avoid-slur settings to everything in scm/script.scm - preprocessor docs - convert-ly bugs and tips - musicxml: current features, limitations - pdf chapter headings (in sidebar) - special markup command examples (note head styles, rotation, etc: complicated stuff to show off some possibilities). Maybe as LSR or input/test/ instead of manual. - add one-line examples to 8.1.6 Overview of text markup commands. See http://lists.gnu.org/archive/html/lilypond-user/2007-01/msg00143.html TECHNICAL ABILITY REQUIRED - integrate LSR: http://lists.gnu.org/archive/html/lilypond-devel/2006-08/msg00146.html (once LSR is done) - clean up input/test/ - copy any useful examples from input/regression into input/test/ GENERAL EDITING / JANITORIAL: - check manual for current correctness (does it make sense, is the info up-to-date, etc) - verify anything in the bugs sections - standardize # signs http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00180.html - avoid future tense http://lists.gnu.org/archive/html/lilypond-devel/2006-01/msg00076.html ADVANCED - So, another thing for the todo list is to do through ly/music-functions-init.ly and add a doc string to every function listed. - ideally, add examples as well; see 12.1.7 Overview of available music functions. See http://lists.gnu.org/archive/html/lilypond-user/2007-01/msg00143.html - Some type of doc. that oulined the lexical construction of Lilypond would be helpful. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Lilypond-Odd-Jobs--%28mostly-documentation%29-tf2941878.html#a12395128 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [fr: barres de notes dans un triolet] The best way to create a songbook?
FWIW, I assemble my song books using ghostscript. I create batch jobs that compile all the songs into separate PDF's, I make table of contents, index, texts, etc. in the word processor of my choice and print those pages to PDF file(s). Certain educational pages I also make in my word processor by importing clips (see -dclip-systems option) into the documents from lilypond compiles of the full scores. Once all the PDF's are made, I run gs to assemble all of them into a book. I know this might not be the standard procedure, but it gives me a lot of flexibility in what tools I can avail myself of in making a book, since any application can print to PDF and gs lets me concatenate pdfs easily. At the end of my batch job a single complete PDF is produced that I can take to the print shop. For a couple of the books I output 2 files, one for the color printer and another for the b/w printer and collate/bind the pages manually. Some some pages I've used Photoshop to incorparate photos of jazz musicians amongst their scores. All with pdf being the common denominator prior to gs concatenating things to a single pdf. tabster wrote: Hi, I´m quite new to lilypond but I´m already fascinated. I want to layout a whole songbook with about 200 songs. Until now I worked with Sibelius and now I´m thinking of typesetting that songbook with lilypond. But there are some things to consider and I hope you can help me a bit: 1) Should I only work with lilypond or better mit LaTeX and lilypond-book (I already work with LaTeX)? There are not many texts to add to the songbook. I want to have a song number next to each song (on the top outer corner of the page). 2) If I do it without LaTeX, only using lilypond: I think it would be a good way to have one file for each song in the songbook. But there are other problems: The identifiers I use for verselyrics or harmonies have to be unique project-wide, don´t they? In that case I could try to do it without identifiers - that wouldn´t be a big problem. At first, these are my question - I think, later there´ll be more ... Thanks tabster ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/The-best-way-to-create-a-songbook--tf3229258.html#a8978805 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [fr: barres de notes dans un triolet] The best way to create a songbook?
Also for page numbering my batch script updates a common page number include file that the next song simply includes. This file contains nothing more than: \firstPageNumber = #42 the variable \firstPageNumber is referenced by the scores, the batch job just updates the #number value for the starting point of the next song compile. Also all songs are based on a common shared template that keeps the overall style strictly enforced. Rick Hansen (aka RickH) wrote: FWIW, I assemble my song books using ghostscript. I create batch jobs that compile all the songs into separate PDF's, I make table of contents, index, texts, etc. in the word processor of my choice and print those pages to PDF file(s). Certain educational pages I also make in my word processor by importing clips (see -dclip-systems option) into the documents from lilypond compiles of the full scores. Once all the PDF's are made, I run gs to assemble all of them into a book. I know this might not be the standard procedure, but it gives me a lot of flexibility in what tools I can avail myself of in making a book, since any application can print to PDF and gs lets me concatenate pdfs easily. At the end of my batch job a single complete PDF is produced that I can take to the print shop. For a couple of the books I output 2 files, one for the color printer and another for the b/w printer and collate/bind the pages manually. Some some pages I've used Photoshop to incorparate photos of jazz musicians amongst their scores. All with pdf being the common denominator prior to gs concatenating things to a single pdf. tabster wrote: Hi, I´m quite new to lilypond but I´m already fascinated. I want to layout a whole songbook with about 200 songs. Until now I worked with Sibelius and now I´m thinking of typesetting that songbook with lilypond. But there are some things to consider and I hope you can help me a bit: 1) Should I only work with lilypond or better mit LaTeX and lilypond-book (I already work with LaTeX)? There are not many texts to add to the songbook. I want to have a song number next to each song (on the top outer corner of the page). 2) If I do it without LaTeX, only using lilypond: I think it would be a good way to have one file for each song in the songbook. But there are other problems: The identifiers I use for verselyrics or harmonies have to be unique project-wide, don´t they? In that case I could try to do it without identifiers - that wouldn´t be a big problem. At first, these are my question - I think, later there´ll be more ... Thanks tabster ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/The-best-way-to-create-a-songbook--tf3229258.html#a8978852 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Rhythmic slashes, are just too [EMAIL PROTECTED] hard to do
Currently entering rhythmic slashes are a pain in the butt and have numerous kludge solutions. For example, if you simply change the noteheads to slash and set the notes to middle-line b the visual result and spacing is perfect. However the day you need to transpose, the slashes are all over the place, and it wreaks havoc with midi. Also using the stencil override kludge produces ugly slashes and the slashes cease to spread themselves out properly like quarter notes or whatever time-wise within the measure (too fat and they collide the bar). Since a rhythmic slash is nothing more than a rest than looks like an unstemmed note with a slash notehead. LP should have a dedicated primitave (context independant) command to produce a rhythmic slash of a certain duration on any staff (just like a note) without having to write a new context or switch to drum mode, etc, or all the various other work-arounds and kludges that have been proposed here. Can something like the following be added easily: { rs4 rs rs rs } To produce rhythmic slashes instead of rests that will space out properly time-wise. And look exactly like middle line (treble clef) b notes that have the notehed overidden to slash and the stem (optionally) hidden? Also producing no midi sound or transpose problems. Sorry for the rant, but I think this needs to be a primitave capability syntax-wise just like entering a rest or note. Rhythmic slashes are heavily used in jazz/pop arrangements instead of percent measure rests used in classical, and to date entering them into lp is a heartach. thanks Rick -- View this message in context: http://www.nabble.com/Rhythmic-slashes%2C-are-just-too--%24-%40-%24--hard-to-do-tf3222382.html#a8949934 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
'gs' is not recognized as a... v2.11.15
Ijust installed 2.11.15 on Windows XP. I get the following right at the point that LP is converting the ps file to pdf. In the end I get a ps file but no pdf. Is there some setup of the system PATH statement that needs to be made so that gs is recognized? The path to the lilypond bin is in my PATH statement. Here is the run log: Executing: C:\Program Files\ConTEXT\ConExec.exe C:\Program Files\LilyPond\usr\bin\lilypond.exe -dclip-systems C:\Rick\ArrangementsCompleted\All Of Me\Music_Guitar1.ly Processing `C:/Rick/ArrangementsCompleted/All Of Me/Music_Guitar1.ly' Parsing... Interpreting music... [8][16][24][25] Preprocessing graphical objects... Calculating line breaks... Drawing systems... Layout output to `Music_Guitar1.ps'... Converting to `Music_Guitar1.pdf'...'gs' is not recognized as an internal or external command, operable program or batch file. `gs -q -dDEVICEWIDTHPOINTS#612.00 -dDEVICEHEIGHTPOINTS#792.00 -dCompatibilityLevel#1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE#pdfwrite -sOutputFile#Music_Guitar1.pdf -c .setpdfwrite -f Music_Guitar1.ps' failed (1) C:/Program Files/LilyPond/usr/bin/../share/lilypond/current/ly/init.ly:37:1: error: GUILE signaled an error for the expression beginning here # (if (or (pair? toplevel-scores) output-empty-score-list) C:/Program Files/LilyPond/usr/bin/../share/lilypond/current/ly/init.ly:37:5: error: syntax error, unexpected '(', expecting '=' #(if (or (pair? toplevel-scores) output-empty-score-list) programming error: Parsed object should be dead: static scm_unused_struct* Prob::mark_smob(scm_unused_struct*) continuing, cross fingers programming error: Parsed object should be dead: static scm_unused_struct* Context_def::mark_smob(scm_unused_struct*) continuing, cross fingers programming error: Parsed object should be dead: static scm_unused_struct* Grob::mark_smob(scm_unused_struct*) continuing, cross fingers error: failed files: C:\\Rick\\ArrangementsCompleted\\All Of Me\\Music_Guitar1.ly Execution finished. -- View this message in context: http://www.nabble.com/%27gs%27-is-not-recognized-as-a...-v2.11.15-tf3164749.html#a8779290 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Isn't gs supposed to have an extention like .exe?
v2.11.15 Looking at the folder C:\Program Files\LilyPond\usr\bin where lilypond is installed, it appears that the executeable called gs does not have a .exe extension. How is the operating system suppoed to know that this is an executeable file (I presume its ghostsscript)? When compilinmg with v2.11.15, at the point where lily is writing the ps to pdf, it complains that gs is not a recognized command. With this message: Converting to `Music_Guitar1.pdf'...'gs' is not recognized as an internal or external command, operable program or batch file. Thanks Rick -- View this message in context: http://www.nabble.com/Isn%27t-gs-supposed-to-have-an-extention-like-.exe--tf3164798.html#a8779442 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: how to remove unwanted clef before line break?
Bodo Maass wrote: Hi, I want a new line to start with a different clef. However, I always get a second copy of the new clef on the old line, just before the line break. I have simplified it to this example: start test.ly \version 2.11.10 { \time 2/4 { \clef treble c' d' e' f' \bar || \break \clef bass c d e f \bar || } } - end test.ly -- This will generate a pdf with two lines. The first line has a treble clef and a few notes.Just before the page break, the first line contains a bass clef at the end. The second line starts with the bass clef, as intended. How can I remove the extra bass clef at the end of the first line? Any help would be appreciated. Thanks, Bodo ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user I have no answer for this but I hope somebody does, as I've seen this when I put whitespace in front of final codas using stopstaff and am forcing a restatement of the clef for the final coda fragment. If the line break falls in the wrong place I get the clef at end of previous line anomoly too. I've got lots of \break work-arounds to get the final codas to always start in mid-system, but on a few pieces the ending coda is longer than one page width, so it needs to break to a full new line at beginning. I hope a fix is found or this can get entered as a bug. -- View this message in context: http://www.nabble.com/how-to-remove-unwanted-clef-before-line-break--tf2956350.html#a8278096 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Open Chord Not Reflected in Chord Symbol
There is a way around it, scan the archive for jazzychord, there are some posts on using a chord names exceptions list, it should be in the manual too. Bryan Murdaugh wrote: If I try to display a chord symbol (in the ChordNames context), using g1:5^3 (which looks like it should work from the manual) the chord name shows up as just a G, rather than a G5 or G(no3) or something to indicate its openness. Is there a way around this? -Bryan ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Open-Chord-Not-Reflected-in-Chord-Symbol-tf2942281.html#a8231888 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: User Experience Engineering
Linda Seltzer wrote: Dear Friends, Having previously worked at ATT Labs, where I was a member of the User Experience Forum, I would like to make a few comments as a relative outsider seeing the Lilypond project for the first time. This is a great endeavor and the software output is beautiful. I would greatly encourage the project to focus on the user interface and the user experience if this is to catch on in a large way. Having to install separate editors (and who knows what bugs that will bring and what other mailing lists one will have to subscribe to...) or get into the system with DOS commands, and to understand what is wrong if the flags are wrong, etc. does not constitute user interface engineering. A smooth user interface employing the standard already-debugged platforms, such as Notepad and Word on Windows, with everything bug free, is more important than more and more detailed features, which can be added later. Every 10 minues spent system administrating and installing things is 10 minutes that real work doesn't get accomplished. User experience engineering is just as important as other areas of software development. Sincerely, Linda Seltzer ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Linda, I use Windows and I stopped using GUI based notation simply because I am, I estimate, about 50 times more productive with lilypond. But this productivity did not come without the pain of learing the language and writing my templates to be re-useable. Also a good text editor that supports lilypond syntax, and separates scheme syntax, is essential for the beginner. I suggest you use the Context editor for windows from here: http://www.context.cx/ And also download the extensive lilypond hilighter I wrote for Context, it has over 500 reserved words hilighted from here: http://forum.context.cx/index.php?topic=1396.0 This is an excellent editor that will launch lilypond adobe and the lilypond manual which will become your best friend, just like the soldiers best friend is his rifle, it's all in the manual, or just ask here. To give you an idea of productivity... I have scored some 200 of my own and others arrangements to date. If I were to do this in GUI I would still be massaging the first 10 scores with my mouse, all piece-meal. With lilypond you can write batch jobs to make global changes adcross all 200 scores very easily. With GUI all your work is one-at-a-time and laborious. Good Luck, (and your choice of computer platform is irrelavant, Windows will work just fine as any). Rick -- View this message in context: http://www.nabble.com/User-Experience-Engineering-tf859298.html#a8198329 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Generating small fragments to be embedded into latex
See chapter 10.1.3 about the function I sponsored using the -dclip-systems command line option. If thats not the right chapter just search the manual for -dclip-systems. You can output snippets to pdf and eps (eps is better quality). I'm outputting musical fragments into word processors and web pages this way. If you reference/link rather than imbed the fragments into your document, then all you have to do is recompile lily to see the latest fragments reflected in the document. Nutsmuggler wrote: Hello folks. I am completing a PhD thesis in LaTeX; I need to embed some fragments of music; actually, at this stage I am using notes to show a prosodic rhythm, and make acomparison with music. Here is a sample, a snapshot from a Word draft: http://www.cnomania.it/garage/joyce-fragment.jpg As you see, I need to put just the notes; I guess this could be done in Lilypond through the use of the Rhythmic staff. Here is what I've done so far: \version 2.8.6 \new RhythmicStaff { \time 12/8 \partial 8 d8 d4 d8 d4 d8 d4 d8 d8 d8 d8 d4 d8 d4 d8 d4 } \addlyrics{ Some TIME She USED to PUT me THROUGH the re SPON se sof the MASS } Still, I have a number of problem. 1) I'd like to generate a 'small' pdf, to be embedded in a text, rather than a regular page 2) I's like to eliminate the 'made with lilypond' text 3) Possibly, I'd like to make the rhythmic staff and the key transparent 4) I'd like to stretch the width of the staff, that is, not as large as the page (some fragments are very short) Can you help with any of these points? Thanks a lot in advance, Davide ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Generating-small-fragments-to-be-embedded-into-latex-tf2922505.html#a8185093 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Problem with pdf.
Use task manager to see if some other process or possible spyware is hogging CPU resources. I have had excellent performance on even my older XP and Win2K machine. The first time you run LP after a fresh install might take a little longer but not that long, as I think it registers the fonts on first run after an install. For this reason you should never force kill the LP process if it's your first compile after an install. Cesar Penagos-2 wrote: It is normal that lilypond takes over 10 min. to produce a pdf output with medium large score (10 pages)? I´m Windows xp user and maybe I have to fix something. Thank you in advance. -- Atentamente; César Penagos Tel:Of:(502)2253-7181, 2253-3826 Home:(502)2474-4972, 2473-2510 [EMAIL PROTECTED] [EMAIL PROTECTED] ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Problem-with-pdf.-tf2927292.html#a8185231 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lyrics, multiple endings, and codas
Ander D wrote: I have a solo voice score. It has two sections. The first section has two verses. The first verse has its own ending and the second verse also has its own ending, which comprises the rest of the song. The second section has a DS al coda. I need help with organizing this arrangement; where do all these pieces go? ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user The area in front of an ending coda should have about an inch of whitespace in front, IOW the staff should begin again with a new clef and key (time sig is optional). There currently is no perfect way to make this happen in LP, but here is a technique I have used to stop the staff and re-start it and get the Coda marks to appear normal: % In my globals.ly file I might have the following variables: \varKey = { \key bf major } \varPadDcDsMark = #10 \varPadTargetCodaMark = #10 \varPadSegnoMark = #10 varMarkSegno = { \once \override Score.RehearsalMark #'padding = \varPadSegnoMark \once \override Score.RehearsalMark #'font-size = #3.0 \mark \markup { \smaller { \musicglyph #scripts.segno } } } varMarkDsAlCoda = { \once \override Score.RehearsalMark #'self-alignment-X = #right \once \override Score.RehearsalMark #'padding = \varPadDcDsMark \once \override Score.RehearsalMark #'font-size = #0.6 \mark \markup { \bold D.S. al Coda } } varMarkEndCodaDS = { \varMarkDsAlCoda \stopStaff \cadenzaOn \skip1 \cadenzaOff \once \set Staff.forceClef = ##t \clef treble \varKey \bar \startStaff \once \override Score.RehearsalMark #'self-alignment-X = #right \once \override Score.RehearsalMark #'padding = \varPadTargetCodaMark \once \override Score.RehearsalMark #'font-size = #3.0 \mark \markup { \musicglyph #scripts.coda \super \smaller { Coda } } } % Then in the piece I use these variables as follows (this should compile in a score using english.ly): Notice the to coda appears at bar 5, the segno appears at the pickup bar, and both the DS al and target coda appears at bars 19 and 20 with the proper whitespace in between, simple. The only caveat is that you must get bar 18 to also include itself on the same system as bar 19 and 20, IOW the whitespace does not work across a system break. So you may need to force a line break to get this to happen depending on paper, fontsize, etc. (Note, whitespace and clef/key restatement in front of target Codas is standard style for the music publishers association MPA.org). Song is As Time Goes By varVoiceMelody = \relative c'' { %0 \partial 8 g'8 | %1 \repeat volta 2 { \varMarkSegno af8. g16 f8. ef16 f4. g8 | %2 bf8. af16 g8. f16 af4. bf8 | %3 ef8. d16 c8. bf16 c2 | %4 r2 r4 d4 | %5 f8. ef16 d8. c16 d4 ef \varMarkCoda | } %6 \alternative { { bf4 bf ef, f | %7 g1~ | %8 g2 r4 r8 g8 | } { %9 bf4 bf ef, f | %10 ef1~ | %11 ef2 r2 \bar || } } %12 ef8. f16 ef8. c'16~ c4 c | %13 c8. df16 c8. b16 c2 | %14 f,8. g16 f8. c'16~ c4 c | %15 c8. d16 c8. b16 c2 | %16 g8. af16 g8. ef'16~ ef4 ef | %17 ef8. d16 ef8. d16 f4 d | %18 c4 c g g | %19 bf2. r8 g \bar || { %20 \varMarkEndCodaDS bf4 bf2 g4 | %21 bf2 c | %22 ef2. r4 \bar |. } } Rick -- View this message in context: http://www.nabble.com/Lyrics%2C-multiple-endings%2C-and-codas-tf2876146.html#a8149579 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lyrics, multiple endings, and codas
Oops I forgot to include one missing variable for my previous emailed example, just add this too: varMarkCoda = { \once \override Score.RehearsalMark #'self-alignment-X = #center \once \override Score.RehearsalMark #'padding = \varPadToCodaMark \once \override Score.RehearsalMark #'font-size = #3.0 \once \override Score.RehearsalMark #'break-align-symbol = #'key-signature \mark \markup { \musicglyph #scripts.coda \super \smaller \column { To Coda } } Rick Hansen (aka RickH) wrote: Ander D wrote: I have a solo voice score. It has two sections. The first section has two verses. The first verse has its own ending and the second verse also has its own ending, which comprises the rest of the song. The second section has a DS al coda. I need help with organizing this arrangement; where do all these pieces go? ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user The area in front of an ending coda should have about an inch of whitespace in front, IOW the staff should begin again with a new clef and key (time sig is optional). There currently is no perfect way to make this happen in LP, but here is a technique I have used to stop the staff and re-start it and get the Coda marks to appear normal: % In my globals.ly file I might have the following variables: \varKey = { \key bf major } \varPadDcDsMark = #10 \varPadTargetCodaMark = #10 \varPadSegnoMark = #10 varMarkSegno = { \once \override Score.RehearsalMark #'padding = \varPadSegnoMark \once \override Score.RehearsalMark #'font-size = #3.0 \mark \markup { \smaller { \musicglyph #scripts.segno } } } varMarkDsAlCoda = { \once \override Score.RehearsalMark #'self-alignment-X = #right \once \override Score.RehearsalMark #'padding = \varPadDcDsMark \once \override Score.RehearsalMark #'font-size = #0.6 \mark \markup { \bold D.S. al Coda } } varMarkEndCodaDS = { \varMarkDsAlCoda \stopStaff \cadenzaOn \skip1 \cadenzaOff \once \set Staff.forceClef = ##t \clef treble \varKey \bar \startStaff \once \override Score.RehearsalMark #'self-alignment-X = #right \once \override Score.RehearsalMark #'padding = \varPadTargetCodaMark \once \override Score.RehearsalMark #'font-size = #3.0 \mark \markup { \musicglyph #scripts.coda \super \smaller { Coda } } } % Then in the piece I use these variables as follows (this should compile in a score using english.ly): Notice the to coda appears at bar 5, the segno appears at the pickup bar, and both the DS al and target coda appears at bars 19 and 20 with the proper whitespace in between, simple. The only caveat is that you must get bar 18 to also include itself on the same system as bar 19 and 20, IOW the whitespace does not work across a system break. So you may need to force a line break to get this to happen depending on paper, fontsize, etc. (Note, whitespace and clef/key restatement in front of target Codas is standard style for the music publishers association MPA.org). Song is As Time Goes By varVoiceMelody = \relative c'' { %0 \partial 8 g'8 | %1 \repeat volta 2 { \varMarkSegno af8. g16 f8. ef16 f4. g8 | %2 bf8. af16 g8. f16 af4. bf8 | %3 ef8. d16 c8. bf16 c2 | %4 r2 r4 d4 | %5 f8. ef16 d8. c16 d4 ef \varMarkCoda | } %6 \alternative { { bf4 bf ef, f | %7 g1~ | %8 g2 r4 r8 g8 | } { %9 bf4 bf ef, f | %10 ef1~ | %11 ef2 r2 \bar || } } %12 ef8. f16 ef8. c'16~ c4 c | %13 c8. df16 c8. b16 c2 | %14 f,8. g16 f8. c'16~ c4 c | %15 c8. d16 c8. b16 c2 | %16 g8. af16 g8. ef'16~ ef4 ef | %17 ef8. d16 ef8. d16 f4 d | %18 c4 c g g | %19 bf2. r8 g \bar || { %20 \varMarkEndCodaDS bf4 bf2 g4 | %21 bf2 c | %22 ef2. r4 \bar |. } } Rick -- View this message in context: http://www.nabble.com/Lyrics%2C-multiple-endings%2C-and-codas-tf2876146.html#a8149684 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Transposable Fret Diagrams for Guitar
Carl D. Sorensen wrote: Rick H wrote: A user-maintained table of chord shapes wouldn't be transposable. It's using the Lilypond chord naming structure that makes the transposing work, IMO. This functionality wouldn't work for you, because you're an excellent guitar player. It would work for my purposes -- creating introductory guitar books of campfire songs to help novices have fun with the guitar. Thanks for your feedback, Carl ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user By a table lookup were you thinking of something like this? I think as long as the table knew what the root note is and what the slash note is (if present) then it could also transpose, (because thats the only two note letters it would ever encounter in a chord name). So to depict a common chord in the key of C like: Bm7b5 (the chord built on the 7th degree of the C major scale ) the table entry could separate the root name from the chord name in two dimensions: B,m7b5 For slash chords you can use a three dimension table entry so for Bm7b5/F: B,m7b5,F The fourth dimension could be a simple enumerator (to break duplicate name ties): B,m7b5,F,1 The fifth dimension would be the desired fretboard markup: B,m7b5,F,1,my notes go here So if you have to store 10 different forms of a Bm7b5 chord you have numerous ways to avoid duplicates names in the hash table and can support a robust library of names. B,m7b5,F,1,my notes go here B,m7b5,F,2,my notes go here B,m7b5,G,1,my notes go here B,m7b5,,1,my notes go here B,m7b5,,2,my notes go here etc... The transpose algorithm would always know to transpose dimensions 1 and 3 of the table entry as these are named notes. Typically you would probably only maintain all the names with C roots then use traspose to do the lookup, this way you only need to maintain 1/12 of the number of chord names in the library table. The my notes go here above would be interpreted by the current FretBoards and depicted as frets. Rick -- View this message in context: http://www.nabble.com/Transposable-Fret-Diagrams-for-Guitar-tf2901891.html#a8110445 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: thoughts
Orm Finnendahl wrote: Hi, I just wanted to add to my recent comments. It might seem that my posts are unadequately critical. Although they are fueled by my frustration using the program I want to make clear that I really appreciate the tremendous and excellent work which has been done so far by the developers! Part of the frustration is due to my incomplete knowledge of the program and another part is due to the fact that music engraving is such an incredibly complex thing. I still haven't come to terms with suggestions how to improve the situation. Lilypond's baroque syntax seems to indicate to me the still unresolved issue of the proper mix of generalization and individual requirements and the definition of semantic and syntactic markup when it comes to notation (all other notation programs have the same problems -wrapped up in some sort of gui to make it less obvious- which shows that it is a non-trivial issue). As it is somewhat crucial for my own work to be able to have some definition of the music which survives the next few generations of hard- and software development (and don't break like many of the scores at mutopia) I will for sure keep thinking about it. Especially as I tend to think that lilyponds syntax could get more consistent which eventually would result in the dilemma of a redefinition breaking even more old sources. Anyway: Apolgies for unfair criticism and hopefully I will be able to be more constructive in the future. The more I learn about the inner workings of lilypond, the clearer I might get. Until then keep up the good work and don't get mad at me when I get mad at the program ;-) -- Orm P.S.: Maybe one thing: Apart from suggesting to rewrite lilyponds parser from scratch it would be a tremendous thing if lilypond could get rid of some TeX related restrictions, especially the limitation to alphabetic characters in definitions. It would make things so much easier being able to use underscores and numbers in definitions! Is it really that hard to do (is lilypond really still using the TeX parser and does that actually mean you have to write the parser from scratch)? ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user No problem, frustration is often part of the learning process, we've all been there. What makes lilypond so great is often the thing that make it hard. Namely it is a highly granular language, without a lot of high-level methods. This makes it very powerful in terms of getting the output you want, but adds to complexity. This aspect should not change IMO, it is kind of like the assembler language of music, as an analogy. But, assembler language programmers soon learn the value of a good macro pre-processor to encapsulate multi stepped tasks to single step parameterized tasks. Having that, they can make assembler into a high level language themselves. I am beginning to see how the use of a 3rd party source pre-processor (like GEMA with Lua integration) can bring a high-level language feel to lilypond and still leave you with the option of using native lp coding, in all it's granular glory. So really the continuum is not granular-to-GUI, it's granular to high level language to GUI. There is another alternative between native lp and GUI, (it just doesn't come shipped with lp). I'm not going to ask the devs for a source pre-processor, but there is nothing stopping people from using GEMA/Lua, or m4, or ML1, etc. and sharing useful macros. Check out GEMA/Lua together they provide a java/vb like full language, along with a powerful source regular expression parser. -- View this message in context: http://www.nabble.com/thoughts-tf2890622.html#a8076525 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Constructive Criticism and a Question
Brett Duncan-2 wrote: Here's a different idea: instead of specifying the ratio for a tuplet or set of tuplets, what about specifying the duration of a tuplet, and letting LP determine what number appears over the beam? For example, where we now use \times 2/3 { a8 b c } to get a triplet of three quavers in the time of two, instead have \tuplet 4 { a8 b c } LP can calculate the ratio (and hence what should appear over the tuplet) from the time given before the {...} and the cumulative time of the notes inside the {...}. This would mean that users do not need to work out the ratio, they just need to know how long the tuplet should last. Further to this idea would be to allow an internal division inside the {...}, so that multiple tuplets could be entered, maybe something like \tuplet 4 { a8 b c ! c4 a8 ! b8 c4 }. (I've used ! only for explaining the idea - I'm NOT advocating it as the desired syntax.) This would mean that for the Beethoven snippet in David Fedoruk's post, instead of bf16[d, f ef] \times 4/5 {d16[ ef f g a]} \times 8/12 {bf32[a c bf d c bf a g f g ef]} you would put bf16[d, f ef] \tuplet 4 { d16 ef f g a ! bf32a c bf d c bf a g f g ef } Just a thought! Brett -- Brett Duncan [EMAIL PROTECTED] Always do right - this will gratify some and astonish the rest. Mark Twain ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Given your example of... bf16[d, f ef] \tuplet 4 { d16 ef f g a ! bf32a c bf d c bf a g f g ef } could be even more intuitive by using only nested brackets with each nested bracket pair determining a tuplet bracket and note counter, and the outermost bracket pair encompassing the preceeding duration number, like this: bf16[d, f ef] \tuplet 4 { { d16 ef f g a } { bf32a c bf d c bf a g f g ef } } Then tuplets can be nested both horizontally and depth-wise with the graphical brackets automatically generated with the note counter equal to the number of noted in that bracket pair. If the user wants a different number or no number on the tuplet bracket then they can specify a different value within the bracket pair like this (with 0 meaning no number): bf16[d, f ef] \tuplet 4 { { \tupletNbr 0 d16 ef f g a } { bf32a c bf d c bf a g f g ef } } In the above they could eliminate the auto-generated 5 if for some reason they wanted to. With this syntax they could also create sub groupings of tuplet brackets: bf16[d, f ef] \tuplet 4 { { { d16 ef f } { g a } } { bf32a c bf d c bf a g f g ef } } The above would generate a parent tuplet with the number 5 and two sub-tuplets with 3 and 2, followed horizontally by the 12 tuplet. -- View this message in context: http://www.nabble.com/Constructive-Criticism-and-a-Question-tf2832276.html#a8077255 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Constructive Criticism and a Question
David Rogers wrote: Orm Finnendahl wrote: Am 28. Dezember 2006, 11:30 Uhr (-0800) schrieb David Rogers: bf16[d, f ef] \tuplet 4 { { { d16 ef f } { g a } } { bf32a c bf d c bf a g f g ef } } The above would generate a parent tuplet with the number 5 and two sub-tuplets with 3 and 2, followed horizontally by the 12 tuplet. If you intend to think of tuplets as collections of notes of the same duration, the syntax is fine. But what happens, if the elements of the tuplet contain things of different durations (for example, the first part of your suggested tuplet is of an quarter duration and the second half containing the 12 32nds should last a dotted quarter within the parent 5 tuplet)? In the Beethoven example, Op.31 Nr.3 at bar 53, the 5-let is a quarter-note duration, and the 12-let is another quarter-note duration. But this was Rick Hansen's proposal, for how to solve a problem pointed out by David Fedoruk, and I was only admiring his solution. David ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user When the notes in a bracket are of mixed durations then by default no digit would be generated only the bracket. If the user wanted a digit on a mixed-note tuplet they can add the \tupletNbr x indicator within that bracket of notes. As for summing the durations to match the parent stated \tuplet x duration... This would not happen, instead durations stated within a \tuplet structure would be there solely for the purpose of determining the STYLE of the noteheads being printed. IOW durations in a known-duration tuplet contruct would not participate in any further evaluation math-wise of expired time, just as a convenient way of setting the noteheads. Because the true duration of the whole construct has already been stated on the \tuplet x there is no need to validate further, the tuplets total duration is still whatever they coded it to be at the outset. -- View this message in context: http://www.nabble.com/Constructive-Criticism-and-a-Question-tf2832276.html#a8079920 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: segfault on \acciaccatura
Orm Finnendahl wrote: Hi, don't know if that's the one you already caught. This segfaults on my machine: \version 2.11.2 \score { \new Staff { \relative c' { \acciaccatura d16 s16 } } } It doesn't segfault if the skip is changed into a note. -- Orm ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user This also breaks on Windows 2000 and Windows XP version 2.11.4, I dont get a fault assertion, I just quietly dont get any output. If the s16 is changed to a note or an r16 then it works. -- View this message in context: http://www.nabble.com/segfault-on-%5Cacciaccatura-tf2891774.html#a8080429 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Has anyone extended \include?
Eduardo Vieira-3 wrote: Citando Rick Hansen (aka RickH) [EMAIL PROTECTED]: If you have done this can you share it or sell it to me? (please dont suggest m4, I gave up on that monster) Thanks Hi, Rick! Yes, this preprocessor looks scary, as well as some advanced programming with Scheme. But once I got into reading about the GEMA preprocessor and didn't look as complicated as m4. Maybe it's worth a try. Another thing I found out that is *really* useful with text editing, manipulating: Learn Regular Expressions. You can do quite a few tricky search and replace tasks. And most of text editors for programmers support them. Eduardo ___ Neste Fim de Ano, interurbano para cidades próximas ou distantes é com o 21. A Embratel tem tarifas muito baratas de presente para você ligar para quem você gosta e economizar. Faz um 21 e aproveite. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Thanks Eduardo, I am liking the GEMA pre-processor, here is how I implememnted snippet libraries of canned lilypond code that can be macroized and for inclusion in lilypond source. SAMPLE chord library GEMA definition (the macro parameters are root, chordname, duration with a period delimiter): GEMA_Chord * * *.=\\transpose c $1 \{ \\relative \{\ \ @cmpi{$2;Maj7;; c e g b;}\ @cmpi{$2;Maj7_1;; c\5 g' b e;}\ @cmpi{$2;6;; c e g a;}\ ! etc, etc, etc...\ \ $3 \} \}; SAMPLE of what the lilypond source would look like prior to GEMA resolution: GEMA_Chord c Maj7 4. GEMA_Chord c 6 4. SAMPLE of what GEMA resolves (output to be compiled by lilypond): \transpose c c { \relative { c e g b4 } } \transpose c c { \relative { c e g a4 } } This is much easier than scheme music functions for generating lp source code. GEMA was pretty easy to figure out how to use by a non-programmer (like me), in about 2 hours time I was able to make the above chord library macro. I only have to now change my build scripts to run GEMA ahead of lilypond. To keep my LP code cleaner I'm prefixing all my future macros with GEMA_. In my sample above the @cmpi functions act like a big CASE statement to output the desired music based on the second parameter (chord name). The first parameter (the chord root) is appended to a \transpose statement. The last parameter (the duration) is appended behind the generated notes. In my chord library I only need to state each chord inversion once (with roots of c). I expect the library to have a thousand different inversions eventually so this will help in future productivity in generating chords for all purposes. Thanks again Rick -- View this message in context: http://www.nabble.com/Has-anyone-extended-%5Cinclude--tf2871492.html#a8067102 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to make a grace rest?
Thanks, if I had one iota of knowledge about scheme I might do that, but I think I'll give in to Mats original advice and find a text-based solution with some 3rd party pre-processor to generate the lp source code with replacement tokens. I'm more comfortable with leaving the base lilypond installation alone, and just putting a helper application in front of it. Han-Wen Nienhuys-2 wrote: Rick Hansen (aka RickH) escreveu: How can I code a grace note (actually that is really a grace rest) but also make it completly invisible and take up no space, on a one-time/as-needed basis? I'd like to be able to change the current duration that lilypond has set without actually having to introduce any music to the score that would be seen, or get played in midi, or count against the measure beats. Is there a grace rest? And can I temporarily set it to transparent when I need to? The best way would be to add a bit code to lily/lily-parser-scheme.cc that manipulates the default duration. -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen LilyPond Software Design -- Code for Music Notation http://www.lilypond-design.com ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/How-to-make-a-grace-rest--tf2871645.html#a8036882 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: date insertion
Matevž Jekovec-2 wrote: Is there a predefined constant in Lily which shows the current date and/or system time. This would be useful for the footer tag for example, when was the document generated - this would mark the version of the score then, if you made any newer versions of your document afterwards. Regards. - Matevž ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Or... if you wanted to print the last time you modified your score you can use this: varFileName = #Music.ly varModifiedTime = #(stat:mtime ( stat varFileName )) varModifiedTimeString = #(strftime %a %Y-%m-%d %I-%p (localtime varModifiedTime)) Then just reference \varModifiedTimeString in your footer markup. -- View this message in context: http://www.nabble.com/date-insertion-tf2870366.html#a8024739 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: My first define-music-function, I'm trying, need help
Anybody? Rick Hansen (aka RickH) wrote: The simple substitution example below should be pretty easy, but I'm in a pickle, can someone show me how to replace the note name in the transpose statement with the note specified on the function call (parameter called root)? But it gets the following error: string:2:13: error: syntax error, unexpected MUSIC_IDENTIFIER, expecting NOTENAME_PITCH or TONICNAME_PITCH \transpose c \lilyvartmpb { \relative { c e g } } EXAMPLE BEGIN \version 2.11.4 \include english.ly myChord = #(define-music-function (parser location root) (ly:music?) #{ \transpose c $root { \relative { c e g } } #}) \new Staff { % An A chord %\transpose c a { \relative { c e g } } % Theoretically, this should also generate an A chord just like above \myChord a } EXAMPLE END -- View this message in context: http://www.nabble.com/My-first-define-music-function%2C-I%27m-trying%2C-need-help-tf2868174.html#a8024742 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Has anyone extended \include?
Has anyone on this list extended the \include lilypond command to also do simple token replacement as it is including the text? IOW like this: \include myFile.ly @myToken1=a; @myToken2=25; @myToken3=replace with this Whereby @myToken1, 2 and 3 above will be whole word searched and replaced with the data between the = sign and semi-colon. Or similar? Kind of like a smart \include? If you have done this can you share it or sell it to me? (please dont suggest m4, I gave up on that monster) Thanks -- View this message in context: http://www.nabble.com/Has-anyone-extended-%5Cinclude--tf2871492.html#a8025808 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: My first define-music-function, I'm trying, need help
seb-g wrote: On Thu, Dec 21, 2006 at 02:48:24PM -0800, [EMAIL PROTECTED] wrote: The simple substitution example below should be pretty easy, but I'm in a pickle, can someone show me how to replace the note name in the transpose statement with the note specified on the function call (parameter called root)? But it gets the following error: string:2:13: error: syntax error, unexpected MUSIC_IDENTIFIER, expecting NOTENAME_PITCH or TONICNAME_PITCH \transpose c \lilyvartmpb { \relative { c e g } } Well I am not a lily schemer expert neither. I found a function to transpose in the lily sources: (set! root (ly:pitch-transpose root (ly:make-pitch 1 0 0))) this makes note root one octave higher. What you have to do: - get wanted pitch: (ly:music-property (first (ly:music-property root 'elements)) 'pitch) - apply ly:pitch-transpose for each note of the chord: (map do-transpose (ly:music-property chords 'elements)) you have to write do-transpose an a function that do the job :-) For example, have a look at the removeTies function here: http://lilypond.chezwam.org/darcs/lilypond/utils/chezwam-functions.ly This was my first scheme function I hope this will help you. I will have a look on your's after my vacations. Merry Xmas happy new year. -- Sebastien Gross ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Thanks Sebastien, I was afraid of this kind of answer, if define-music-function cant do something as simple as replace one note on a \transpose without writing a whole bunch of code... I'm not going to bother with it myself. Too much complexity, I'd rather look for something that will let me stay on a user-level, I just dont have time for programming. Lilypond desperately needs some king of built-in text pre-process (that installs with lilypond) to take care of these things, instead of everybody having to constantly re-write the core lilypond code to do such simple things. Rick -- View this message in context: http://www.nabble.com/My-first-define-music-function%2C-I%27m-trying%2C-need-help-tf2868174.html#a8026036 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
How to make a grace rest?
How can I code a grace note (actually that is really a grace rest) but also make it completly invisible and take up no space, on a one-time/as-needed basis? I'd like to be able to change the current duration that lilypond has set without actually having to introduce any music to the score that would be seen, or get played in midi, or count against the measure beats. Is there a grace rest? And can I temporarily set it to transparent when I need to? thanks Rick -- View this message in context: http://www.nabble.com/How-to-make-a-grace-rest--tf2871645.html#a8026280 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Has anyone extended \include?
Eduardo Vieira-3 wrote: Citando Rick Hansen (aka RickH) [EMAIL PROTECTED]: If you have done this can you share it or sell it to me? (please dont suggest m4, I gave up on that monster) Thanks Hi, Rick! Yes, this preprocessor looks scary, as well as some advanced programming with Scheme. But once I got into reading about the GEMA preprocessor and didn't look as complicated as m4. Maybe it's worth a try. Another thing I found out that is *really* useful with text editing, manipulating: Learn Regular Expressions. You can do quite a few tricky search and replace tasks. And most of text editors for programmers support them. Eduardo ___ Neste Fim de Ano, interurbano para cidades próximas ou distantes é com o 21. A Embratel tem tarifas muito baratas de presente para você ligar para quem você gosta e economizar. Faz um 21 e aproveite. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user I was not aware of GEMA, (I already tried m4 and ML1 but was uncomfortable with them in the mix), actually ideally I'd rather lilypond had it's own source text pre-processor, then going forward my music would have no other software dependencies other than a lilypond installation, IOW no 3rd party macros. I know of regular expressions and use them in my text editor searches, etc. but this is more along the lines of making my lilypond music code itself more flexible, I'm happy with many different editors and am trying to avoid creating my lilypond music code libraries in any specific editors snippet library. I'd prefer to keep my libraries as lp \include files, but at some point I'm always needing some pre-processing of the source text prior to lp compilation. Be it token replacement (to change \key perhaps), or a Case statement to \include a parameterized chord inversion selection from a library of chords, etc. -- View this message in context: http://www.nabble.com/Has-anyone-extended-%5Cinclude--tf2871492.html#a8026572 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Has anyone extended \include?
Thanks, Browsing the manual GEMA looks like it could work to do both substitution and conditional outputting, I'll try it. Rick Eduardo Vieira-3 wrote: Citando Rick Hansen (aka RickH) [EMAIL PROTECTED]: If you have done this can you share it or sell it to me? (please dont suggest m4, I gave up on that monster) Thanks Hi, Rick! Yes, this preprocessor looks scary, as well as some advanced programming with Scheme. But once I got into reading about the GEMA preprocessor and didn't look as complicated as m4. Maybe it's worth a try. Another thing I found out that is *really* useful with text editing, manipulating: Learn Regular Expressions. You can do quite a few tricky search and replace tasks. And most of text editors for programmers support them. Eduardo ___ Neste Fim de Ano, interurbano para cidades próximas ou distantes é com o 21. A Embratel tem tarifas muito baratas de presente para você ligar para quem você gosta e economizar. Faz um 21 e aproveite. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Has-anyone-extended-%5Cinclude--tf2871492.html#a8030107 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Chord library
seb-g wrote: Hi there, I am working on a guitar chord library for lily [1] based on the \fret-diagram command. The generator is written in python. The chord configuration file is quite simple: -- Sebastien Gross ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Yes, as Mats said please check out the FretBoards context, I sponsored it! It will allow you to transpose fret diagrams and enter fret diagrams using standard lilypond notes, it will auto detect the strings for minimal hand stretch and position shifts, etc. recognizes all the base class properties for staff alignment, duration, etc. Building a chord library upon the foundation of the FretBoards context should be a snap because most of the work is done for you already. I'm still trying different approaches to my own chord library, right now I'm leaning toward using \tag where some note clusters give the chord name and others in each collection give the various fret fingerings, then I just extract the notes I want into the music using \keepWithTag either in FretBoards or ChordNames context. My library only needs all the chords stated in the key of C then I use \transpose in the piece proper to move the library chords up/down the neck to different root notes. Han-Wen did a great job on FretBoards, check it out. Rick -- View this message in context: http://www.nabble.com/Chord-library-tf2866120.html#a8011249 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Chord library
Rick Hansen (aka RickH) wrote: seb-g wrote: Hi there, I am working on a guitar chord library for lily [1] based on the \fret-diagram command. The generator is written in python. The chord configuration file is quite simple: -- Sebastien Gross ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Yes, as Mats said please check out the FretBoards context, I sponsored it! It will allow you to transpose fret diagrams and enter fret diagrams using standard lilypond notes, it will auto detect the strings for minimal hand stretch and position shifts, etc. recognizes all the base class properties for staff alignment, duration, etc. Building a chord library upon the foundation of the FretBoards context should be a snap because most of the work is done for you already. I'm still trying different approaches to my own chord library, right now I'm leaning toward using \tag where some note clusters give the chord name and others in each collection give the various fret fingerings, then I just extract the notes I want into the music using \keepWithTag either in FretBoards or ChordNames context. My library only needs all the chords stated in the key of C then I use \transpose in the piece proper to move the library chords up/down the neck to different root notes. Han-Wen did a great job on FretBoards, check it out. Rick In my previous post the phrase stated in the key of C should have read stated with roots of C, as chords have roots not keys, sorry for any confusion. -- View this message in context: http://www.nabble.com/Chord-library-tf2866120.html#a8011336 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
How to silently change the current duration in music?
How can I change the current duration in my music without actually entering something that will take up any beats? IOW we all know that duration is sticky, it remains at whatever you last set it to so that you do not have to continually type in duration numbers. What command can I enter to set the current duration but not actually put anything on the page? I have a feeling it would be with the make-moment command, but I'm not sure how to use it. Since it is syntactically incorrect to code a duration after a variable like this: \myVariable = { a } \myVariable4 I would like to do something like this: \myVariable = { a } make-moment 1 4 \myVariable So that the a comes out as a quarter note. Is this possible? If so what is the syntax to silently change the duration without entering any music or rests etc.? Thanks for any help on this. Rick -- View this message in context: http://www.nabble.com/How-to-silently-change-the-current-duration-in-music--tf2867525.html#a8014494 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Chord library
seb-g wrote: Hi there, I am working on a guitar chord library for lily [1] based on the \fret-diagram command. The generator is written in python. -- Sebastien Gross ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Here is an example of my non-programmers approach to forming a chord library: (note this example can only be run in version 2.11.4 or better due to a crash issue) EXAMPLE BEGIN % NOTE!! this must be run in 2.11.4 or better or it will abend (crash) \version 2.11.2 \include english.ly varMyChordLibrary = { % Major seventh chords \tag #'Maj7 { \relative { c e g b } } \tag #'Maj7_1 { \relative { c\5 g' b e } } \tag #'Maj7_2 { \relative { c\6 b' e g } } % Minor seventh chords \tag #'Min7 { \relative { c ef g bf } } \tag #'Min7_1 { \relative { c\5 g' bf ef g } } \tag #'Min7_2 { \relative { c\6 bf' ef g c } } % Dominant seventh chords \tag #'Dom7 { \relative { c e g bf } } \tag #'Dom7_1 { \relative { g\6 e' bf' c } } % Diminished seventh chords \tag #'Dim7 { \relative { c ef gf bff } } \tag #'Dim7_1 { \relative { bff\4 ef gf c } } } \score { \new ChordNames \with { chordChanges = ##f chordNameSeparator = \markup { \hspace #0.45 } } { s4 \transpose c a \keepWithTag #'Maj7 \varMyChordLibrary \transpose c b \keepWithTag #'Maj7 \varMyChordLibrary \transpose c c \keepWithTag #'Min7 \varMyChordLibrary \transpose c d \keepWithTag #'Min7 \varMyChordLibrary \transpose c c \keepWithTag #'Dom7 \varMyChordLibrary \transpose c bf \keepWithTag #'Dim7 \varMyChordLibrary } \new Staff \with { \override Stem #'transparent = ##t } { #(set-accidental-style 'forget) \key c \major s4 \transpose c a, \keepWithTag #'Maj7_1 \varMyChordLibrary \transpose c b, \keepWithTag #'Maj7_2 \varMyChordLibrary \transpose c c \keepWithTag #'Min7_1 \varMyChordLibrary \transpose c d \keepWithTag #'Min7_2 \varMyChordLibrary \transpose c c \keepWithTag #'Dom7_1 \varMyChordLibrary \transpose c bf \keepWithTag #'Dim7_1 \varMyChordLibrary } \new FretBoards { \transpose c c, { s4 \transpose c a, \keepWithTag #'Maj7_1 \varMyChordLibrary \transpose c b, \keepWithTag #'Maj7_2 \varMyChordLibrary \transpose c c \keepWithTag #'Min7_1 \varMyChordLibrary \transpose c d \keepWithTag #'Min7_2 \varMyChordLibrary \transpose c c \keepWithTag #'Dom7_1 \varMyChordLibrary \transpose c bf \keepWithTag #'Dim7_1 \varMyChordLibrary } } % end music expression \layout { ragged-right = ##t ragged-last = ##t ragged-bottom = ##t ragged-last-bottom = ##t indent = 0.0\in \context { \Score \remove Bar_number_engraver } \context { \Staff \remove Clef_engraver \remove Time_signature_engraver } \context { \Voice \remove New_fingering_engraver } \context { \FretBoards \override FretBoard #'number-type = #'arabic } } % end layout } % end score EXAMPLE END -- View this message in context: http://www.nabble.com/Chord-library-tf2866120.html#a8014665 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to silently change the current duration in music?
Would it be possible to change the stencil of a grace note so that it appears invisible and of zero width? Then enter the grace note with the desired current duration? It is my understanding that grace notes dont count against my beats but they do appear to reset the current sticky duration, if I could just get one to appear invisible. As a non-programmer I gave m4 a chance earlier but decided I would rather stay at a pure LP level as an end-user looking for creative work-arounds other than m4. Mats Bengtsson-4 wrote: The problem is that the approach won't work, since when you do \myVariable = { a } the note will get a duration already when you do the variable assignment, taken from the previous duration used in the file. In general, the sticky durations are handled directly when the file is parsed, so the only thing that matters is the order the notes appear in the input file. You may want to use a pure preprocessor like m4 to handle this situation. /Mats Rick Hansen (aka RickH) wrote: How can I change the current duration in my music without actually entering something that will take up any beats? IOW we all know that duration is sticky, it remains at whatever you last set it to so that you do not have to continually type in duration numbers. What command can I enter to set the current duration but not actually put anything on the page? I have a feeling it would be with the make-moment command, but I'm not sure how to use it. Since it is syntactically incorrect to code a duration after a variable like this: \myVariable = { a } \myVariable4 I would like to do something like this: \myVariable = { a } make-moment 1 4 \myVariable So that the a comes out as a quarter note. Is this possible? If so what is the syntax to silently change the duration without entering any music or rests etc.? Thanks for any help on this. Rick -- = Mats Bengtsson Signal Processing Signals, Sensors and Systems Royal Institute of Technology SE-100 44 STOCKHOLM Sweden Phone: (+46) 8 790 8463 Fax: (+46) 8 790 7260 Email: [EMAIL PROTECTED] WWW: http://www.s3.kth.se/~mabe = ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/How-to-silently-change-the-current-duration-in-music--tf2867525.html#a8015171 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Chord library
seb-g wrote: On Thu, Dec 21, 2006 at 09:05:20AM -0800, [EMAIL PROTECTED] wrote: Yes, as Mats said please check out the FretBoards context, I sponsored it! It will allow you to transpose fret diagrams and enter fret diagrams using standard lilypond notes, it will auto detect the strings for minimal hand stretch and position shifts, etc. recognizes all the base class properties for staff alignment, duration, etc. Building a chord library upon the foundation of the FretBoards context should be a snap because most of the work is done for you already. I'm still trying different approaches to my own chord library, right now I'm leaning toward using \tag where some note clusters give the chord name and others in each collection give the various fret fingerings, then I just extract the notes I want into the music using \keepWithTag either in FretBoards or ChordNames context. My library only needs all the chords stated in the key of C then I use \transpose in the piece proper to move the library chords up/down the neck to different root notes. Yes I saw it but I didn't find so much doc on it (maybe my fault ;-/ ). Nevermind, I would be glad to use the FretBoards context to build a chord lib. Please note I originaly started to write thios lib to save (?!?!?) time when facing similar chords. I will have a closer look on it. On an other hand, I am still facing to a human readable naming convention as long as names only accept letters. Cheers -- Sebastien Gross ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user See my second post for how to use numbers in the chord names of the library. I would like to not use the \tag solution, but I have to first learn how to write a define-music-function then the whole library would be in a function with a giant stream of if statements to generate the desired library entry based on a string name in the parameter, along with root and duration. I'm not much of a programmer so I am at a great disadvantage with define-music-function usage. -- View this message in context: http://www.nabble.com/Chord-library-tf2866120.html#a8016584 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Chord library
seb-g wrote: On Thu, Dec 21, 2006 at 12:45:52PM -0800, [EMAIL PROTECTED] wrote: Here is an example of my non-programmers approach to forming a chord library: (note this example can only be run in version 2.11.4 or better due to a crash issue) Ok I will install 2.11.4. I am still old fashion with 2.11.2 :-). This is a GREAT idea as long as tags can include any chars. Thanks a lot. -- Sebastien Gross ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user A define-music-function would be better than tags, then the whole library would be inside a function where you just specify the chord name as a string parameter then have a giant IF statement to generate the named chord, (root and duration would also be function parameters). Like this: \myChordLibrary c, Maj7_2, 4 The above would generate a chord with a transpose root of c, with the inversion of Maj7_2 (version 2 of a maj7 chord), for a quarter note duration. Do you know how to use define-music-function (I dont)? Would this be a hard function to write? Thanks Rick -- View this message in context: http://www.nabble.com/Chord-library-tf2866120.html#a8016644 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
My first define-music-function, I'm trying, need help
The simple substitution example below should be pretty easy, but I'm in a pickle, can someone show me how to replace the note name in the transpose statement with the note specified on the function call (parameter called root)? But it gets the following error: string:2:13: error: syntax error, unexpected MUSIC_IDENTIFIER, expecting NOTENAME_PITCH or TONICNAME_PITCH \transpose c \lilyvartmpb { \relative { c e g } } EXAMPLE BEGIN \version 2.11.4 \include english.ly myChord = #(define-music-function (parser location root) (ly:music?) #{ \transpose c $root { \relative { c e g } } #}) \new Staff { % An A chord %\transpose c a { \relative { c e g } } % Theoretically, this should also generate an A chord just like above \myChord a } EXAMPLE END -- View this message in context: http://www.nabble.com/My-first-define-music-function%2C-I%27m-trying%2C-need-help-tf2868174.html#a8016450 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Chord library
seb-g wrote: On Thu, Dec 21, 2006 at 03:05:25PM -0800, [EMAIL PROTECTED] wrote: A define-music-function would be better than tags, then the whole library would be inside a function where you just specify the chord name as a string parameter then have a giant IF statement to generate the named chord, (root and duration would also be function parameters). Indeed Like this: \myChordLibrary c, Maj7_2, 4 The above would generate a chord with a transpose root of c, with the inversion of Maj7_2 (version 2 of a maj7 chord), for a quarter note duration. Do you know how to use define-music-function (I dont)? Would this be a hard function to write? an unchecked stuf may be: myChord = #(define-music-function (parser location root chord duration) (ly:music? string integer) #{ \transpose c $root \keepWithTag $chord \varMyChordLibrary $duration #}) But obviously it won't work ;-) I tried to play with \displayMusic and (display-scheme-music ...) functions. It helps a lot. Just let me some time and I will have a look ater new year's day. -- Sebastien Gross ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Yes, I was thinking \varMyChordLibrary would not be needed in this case, all the chords would simply come out of the function each embraced by an IF statement to match the input parameter (like a giant CASE selection). Because I know from past experience that a duration number cannot follow a variable name to be recognized. The duration would have to be generated along with the music. -- View this message in context: http://www.nabble.com/Chord-library-tf2866120.html#a8017012 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond API
Luc wrote: Hi I am using Notepad++ (on Windows XP home) to write LilypPond scores. Besides many other comforts, this editor allows to add own languages as plugins for highlighting and colouring different kinds of keywords (actually there are 4 types that can be defined) and automatic word completion. You can also run an external program from the editor either using a popup menu or a key assigned to a program (I have assigned ctrl+f9 to produce the LilyPond PDF score, ctrl+f10 to view this with the acrobat reader, ctrl+f11 to view the log or ctrl+f12 to run convert-ly on the file being edited to update to the actual version of LilyPond). Now with every update of LilyPond the keywords must be updated, too. My question now: Where can I find a collection of LilyPond keywords, options and similar - preferably they would be structured in different categories? - I am sure there must be a repository somewhere that could be accessible to everyone. Certainly it would be a great help maybe also for other editors! TIA Luc ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Luc, When I did this for Context I scanned the manual and all the regression test cases, it took me a while to do it. I'm using Context, but I'd be interested in trying Notepad++ also as a backup. Can you maybe upload the configuration files for Notepad/lilypond at some point for others to use? Rick -- View this message in context: http://www.nabble.com/Lilypond-API-tf2819657.html#a7873843 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
RE: lilypond and editors
Kress, Stephen-2 wrote: It is true that Java is, by default, a p-code style language. However, what Bertalan Fodor was referring to is what's called the Just in Time compiler. The JIT must not be confused with Java's command line compiler. The command line compiler (or those built into IDEs) convert Java text source code into Java byte code (or p-code, if you like). The JIT is actually part of the runtime environment which, as the p-code is accessed, converts the p-code to native machine code. As you might imagine, this is quite a complicated task. So much so that Sun provides two different JITs, one tuned for client access (UIs and such) which converts p-code to native code almost immediately and one tuned for longer running servers, which takes a more analytical approach, making far better choices on machine code conversion based on usage patterns. Keep in mind to that in-lining is only one of a large variety of optimizations the JIT employs. Based on current benchmarks, Java software runs as fast or significantly faster than even hand-written C code. Even in Java 6 (just released) there are some very noticeable speed improvements. All the documentation about Java being slow is either very old (still touted about by anti-Java-ers) or the result of very poor application design and implementation (even the JIT can't overcome a bad programmer; the most typical issue being that the person using Java objects still writes their code very procedure-oriented, without properly switching to the object oriented paradigm). -Original Message- From: [EMAIL PROTECTED] on behalf of Anthony W. Youngman Sent: Wed 12/13/2006 5:23 AM To: lilypond-user@gnu.org Subject: Re: lilypond and editors In message [EMAIL PROTECTED], Bertalan Fodor [EMAIL PROTECTED] writes Certainly not. Actually the java code is compiled to machine code at runtime. This is slower than precompiling, but the compiled code can run faster than its precompiled counterpart, because the runtime machine will have information about how often a certain part of the code is called, and those calls can be made inline. Running inline code is much faster than procedure calls. Bert Java code is actually a form of p-code (p standing for pseudo). Pseudo-code engines CAN be blindingly fast. There's a lot of history behind pseudo-code - like UCSD pascal for example, or the example dear to me, the Pick system. At least one system I ran implemented a lot of the Pick instruction code set in microcode, and indeed, I understand that is the way the transputer works. Any system with access to the first stage of a processor's pipeline and the ability to redefine it (ie any decent modern processor - don't know if that definition includes x86 :-) should be able to run p-code at the same sort of speed as native code. Cheers, Wol Erik Sandberg írta: On Saturday 09 December 2006 10:27, Bertalan Fodor wrote: Well, what is extremely important: development time is so little in Java and with JEdit (compared to any alternatives), that I won't change this platform. The price is that it will remain slow if you don't have much memory in the machine. I'm not a java expert, but wouldn't it get a lot faster if you compiled everything to native machine code (using gcj, for instance)? ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- Anthony W. Youngman - [EMAIL PROTECTED] ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user 2006-12-13, 05:26:57 The information contained in this e-mail message and any attachments may be privileged and confidential. If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient, you are hereby notified that any review, dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by replying to this e-mail and delete the message and any attachments from your computer. 2006-12-13, 08:25:13 The information contained in this e-mail message and any attachments may be privileged and confidential. If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient, you are hereby notified that any review, dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by replying to this e-mail and delete the message and any attachments from your computer. ___ lilypond-user mailing list lilypond-user@gnu.org
Possible \keepWithTag bug found (please help verify)
v2.11.2 Windows... In the following example one tag filter works but the other fails. If you use the chordfret filter name to generate the chord inversions it fails, but if you use the chordname tag filter to generate those chord inversions it works. Conversely I also tried \removeWithTag but got the same results. The syntax looks correct to me, in the end, I want to generate all the \transpose statements unconditionally, but only generate those chord inversions that would be appropriate for my desired tag filter. Can somebody please help me verify if this is a genuine bug or not, (then I will post it to the bug list)? EXAMPLE BEGIN \version 2.11.2 \include english.ly varNamesFrets = { s4 \transpose c c \tag #'chordname { c e g a d' } \tag #'chordfret { \relative { e\5 a d g c } } \transpose c df \tag #'chordname { c e g a d' } \tag #'chordfret { \relative { e\5 a d g c } } \transpose c d \tag #'chordname { c e g a d' } \tag #'chordfret { \relative { e\5 a d g c } } } \new Staff { % this filter fails to produce a score... \keepWithTag #'chordfret \varNamesFrets % this filter works fine... %\keepWithTag #'chordname \varNamesFrets } EXAMPLE END -- View this message in context: http://www.nabble.com/Possible-%5CkeepWithTag-bug-found-%28please-help-verify%29-tf2817018.html#a7862471 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond and editors
Anthony W. Youngman wrote: In message [EMAIL PROTECTED], Rick Hansen (aka RickH) [EMAIL PROTECTED] writes I've never seen a Java application run fast on Windows, ever, in fact they are so slow that they are unbearable to use. Is that Microsoft's JVM, or Sun's? And it wouldn't surprise me if there was code in Windows designed to sabotage the Sun JVM - they've done it so often to other stuff it would be unusual if they haven't done it to Sun's JVM too ... Cheers, Wol -- Anthony W. Youngman - [EMAIL PROTECTED] ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Well when I tried to install jEdit, it informed me that I needed to go get something from either the IBM or the SUN web sites. At the time I just got it from IBM. But I had no other issues with jEdit other than performance, especially with large files (over 2 MB). For work, I sometimes have to look at web logs, and those are about 100 MB long text files, I tried opening one up with jEdit and it simply locked itself up, whereas in other editors I could get to page 1 immediately in under a second. I think jEdit was actualy trying to read/parse the entire file, when my scrollbar was really just on page 1, but thats just a programming problem with jEdit I guess (that it should try to bring the whole 100MB file into memory at once). -- View this message in context: http://www.nabble.com/lilypond-and-editors-tf2734613.html#a7864890 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond and editors
Geoff Horton wrote: Often one can gain productivity by fitting his way of work to the editor :-) Bert Sometimes, yes. Often ... I don't know about that, and I'm not really a fan of the idea. Tools exist for me; I don't exist for tools. I don't mean to discourage anyone from trying jEdit. I did. I prefer something else. YMMV :) Geoff ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user On Windows XP I gave jEdit a try, then I switched to Context. The main issues I had with jEdit on Windows is that it would not install unless I went to IBM or SUN microsystems web site to install some other stuff first as I recall. Then forums suggested I needed something called cygwin, big mistake there, after I installed that my machine was never the same, more sluggish. After I got jEdit finally working it kept locking up whenever I tried to open too many files simultaneously. Also if I opened a text file that was over say 2 meg or so, it would try to parse ending brackets for the WHOLE file, instead of just showing me the page I was on, and it typically took about 5 minutes to open these large files and 15 seconds for the PageUp/Down keys to work. With Context I've had several dozen files open simultaneously in its tabbed folders and my large files also open immediately. But I'm not sure of the future of Context either because it's author only makes updates once a year or so, but for now I'm productive with it. jEdit had a lot going for it functionality-wise, but it needs some work performance-wise and installation-wise for Windows machines from my experiences, maybe others like it on Windows but for me it did not work out. I think it sould be changed to install all of it's own dependencies itself, so at least users can begin using it immediately. -- View this message in context: http://www.nabble.com/lilypond-and-editors-tf2734613.html#a7760420 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
\keepWithTag is causing a hard crash in this example
v2.11.0 Windows2000. In the code that follows, I'm trying to combine the variables \varNames and \varFrets into single tagged variables since these note streams always used in pairs under different contexts. In this example the proper output occurs using \varNames and \varFrets in the Staff and FretBoards contexts. However if I try to use the tagged variable called \varNamesFrets with the desired tag filter (to essentially output the same note stream)... LilyPond suffers a hard crash with this message: The instruction at 0x00554e42 referenced memory at 0x000c the memory could not be read. The example below will run as-is and produce the crash. To run it without a crash, simply remove the comments on \varNames and \varFrets and comment out \keepWithTab, in the Staff and FretBoards contexts (the ChordNames context works with the tagged variable). Can anyone get this tagged variable to work without crashing? Or did I do something very wrong here syntax-wise? Or did I uncover a genuine crash bug? thanks Rick EXAMPLE BEGIN \version 2.11.0 \include english.ly varNamesFrets = { s4 \transpose c c \tag #'chordname { c e g a d' } \tag #'chordfret { \relative { e\5-1 a-1 d-1 g-3 c-3 } } \transpose c df \tag #'chordname { c e g a d' } \tag #'chordfret { \relative { e\5-1 a-1 d-1 g-3 c-3 } } \transpose c d \tag #'chordname { c e g a d' } \tag #'chordfret { \relative { e\5-1 a-1 d-1 g-3 c-3 } } } varNames = { s4 \transpose c c c e g a d' \transpose c df c e g a d' \transpose c d c e g a d' } varFrets = { s4 \transpose c c \relative { e\5-1 a-1 d-1 g-3 c-3 } \transpose c df \relative { e\5-1 a-1 d-1 g-3 c-3 } \transpose c d \relative { e\5-1 a-1 d-1 g-3 c-3 } } \score { \new ChordNames \with { chordChanges = ##f chordNameSeparator = \markup { \hspace #0.45 } } { \transpose c c { % this keepWithTag works fine, but keepWithTag farther below causes a crash \keepWithTag #'chordname \varNamesFrets %\varNames } } \new Staff \with { \override Stem #'transparent = ##t } { #(set-accidental-style 'forget) \key c \major % use keepWithTag below to see crash, but using \varFrets works ok \keepWithTag #'chordfret \varNamesFrets %\varFrets } \new FretBoards { \transpose c c, { % use keepWithTag below to see crash, but using \varFrets works ok \keepWithTag #'chordfret \varNamesFrets %\varFrets } } % end music expression \layout { ragged-right = ##t ragged-last = ##t ragged-bottom = ##t ragged-last-bottom = ##t indent = 0.0\in \context { \Score \remove Bar_number_engraver } \context { \Staff \remove Clef_engraver \remove Time_signature_engraver } \context { \Voice \remove New_fingering_engraver } \context { \FretBoards \override FretBoard #'number-type = #'arabic } } % end layout } % end score EXAMPLE END -- View this message in context: http://www.nabble.com/%5CkeepWithTag-is-causing-a-hard-crash-in-this-example-tf2783225.html#a7765612 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Globally removing string number engraver
Notice in the following example (which will run as-is) that I am explicitely removing the string number engraver. Yet, alas, the string numbers remain on the staff portion. How can I globally remove the string numbers from the standard notation staff, and still reuse the same music on the Fretboards staff? (without having to modify the music itself). I thought removing the string number engraver should do it. Is there maybe a transparent property for string numbers? Thanks Rick EXAMPLE BEGIN \version 2.11.1 \include english.ly varFretBoardsCheatSheet = { s4 \transpose c ef \relative { e\5 a d g c } \transpose c c \relative { c\5 g' b e } } \header { tagline = } \score { \new Staff \with { \override Stem #'transparent = ##t } { #(set-accidental-style 'forget) \key c \major \varFretBoardsCheatSheet } \new FretBoards { \transpose c c, { \varFretBoardsCheatSheet } } % end music expression \layout { ragged-right = ##t ragged-last = ##t ragged-bottom = ##t ragged-last-bottom = ##t indent = 0.0\in \context { \Score \remove Bar_number_engraver } \context { \Staff \remove Clef_engraver \remove Time_signature_engraver \remove String_number_engraver } \context { \FretBoards \override FretBoard #'number-type = #'arabic } } % end layout } % end score \paper { } EXAMPLE END -- View this message in context: http://www.nabble.com/Globally-removing-string-number-engraver-tf2776391.html#a7745355 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Globally removing string number engraver
Mats Bengtsson-4 wrote: If you follow the link to StringNumber at the bottom of the page on String number indications in the manual, you will find out that StringNumber objects are created by: New_fingering_engraver and if you keep clicking to find out in which context this engraver lives by default, you'll find out that it's in the Voice context. I think that's all information you need. Don't ask me what the String_number_engraver does, though. /Mats Quoting Rick Hansen (aka RickH) [EMAIL PROTECTED]: Notice in the following example (which will run as-is) that I am explicitely removing the string number engraver. Yet, alas, the string numbers remain on the staff portion. How can I globally remove the string numbers from the standard notation staff, and still reuse the same music on the Fretboards staff? (without having to modify the music itself). I thought removing the string number engraver should do it. Is there maybe a transparent property for string numbers? Thanks Rick EXAMPLE BEGIN \version 2.11.1 \include english.ly varFretBoardsCheatSheet = { s4 \transpose c ef \relative { e\5 a d g c } \transpose c c \relative { c\5 g' b e } } \header { tagline = } \score { \new Staff \with { \override Stem #'transparent = ##t } { #(set-accidental-style 'forget) \key c \major \varFretBoardsCheatSheet } \new FretBoards { \transpose c c, { \varFretBoardsCheatSheet } } % end music expression \layout { ragged-right = ##t ragged-last = ##t ragged-bottom = ##t ragged-last-bottom = ##t indent = 0.0\in \context { \Score \remove Bar_number_engraver } \context { \Staff \remove Clef_engraver \remove Time_signature_engraver \remove String_number_engraver } \context { \FretBoards \override FretBoard #'number-type = #'arabic } } % end layout } % end score \paper { } EXAMPLE END -- View this message in context: http://www.nabble.com/Globally-removing-string-number-engraver-tf2776391.html#a7745355 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ 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 Thanks Mats, Adding this to the \layout block removes the string numbers: \context { \Voice \remove New_fingering_engraver } String_number_engraver is apparently part of TabStaff. Apparently it was easy for someone to keep string numbers, fretting hand, and stroke hand numbers all in the same engraver called New_fingering_engraver. But globally removing string numbers also clobbers the finger numbers. That's ok for my case but maybe in the future 3 different tranparent properties could be added to the New_fingering_engraver to let you turn on/off fret hand, stroke hand, and string numbers independently. thanks again -- View this message in context: http://www.nabble.com/Globally-removing-string-number-engraver-tf2776391.html#a7746874 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: convert-ly, musicxml2ly, etc. problems
Han-Wen Nienhuys-2 wrote: Bertalan Fodor escreveu: Install the 2.10.0-1 version of LilyPond (and not the bad, 2.10.0-2) Then you will be able to run convert-ly by: - running 'python convert-ly' from C:\Program Files\LilyPond\usr\bin - or by clicking the convert-ly button in LilyPondTool (if you use that) I think a more effective solution is to rename the offending scripts to have a .py extension. Doesn't that work? -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen LilyPond Software Design -- Code for Music Notation http://www.lilypond-design.com ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Due to a snow blizzard I am at home today. So I tried this on Windows XP and it does the same thing No module named os. My previous post was on a Windows 2000 machine. Both were v2.11.0 -- View this message in context: http://www.nabble.com/convert-ly%2C-musicxml2ly%2C-etc.-problems-tf2733900.html#a7637939 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond and editors
confrey wrote: Hi everybody, I know some text editors have a support for lilypond; I'd like to know what's a fine editor for lilypond, and if it is possible to customize gedit (sintax highlighting and statement recognition adn completation). bye confrey -- confrey Linux Registered User#240359 Linux Registered Machine #133789 ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user If you are on Windows, I created this syntax highlighter for the Context editor: www.context.cx Here is the highlighter plug in I created: http://forum.context.cx/index.php?topic=1396.0 First download/install Context editor, then download/copy the highlighter file to the appropriate directory, then whenever you open a ly file in context it will be highlighted, it also separates scheme code from lilypond code style-wise. I entered around 700 or so lilypond reserverd words in the highlighter and the sceme code appears with a gray background, it also matches opening/closing brackets, hilights comments differently, etc. and acceps unicode or ascii data. Context is a great multi-tabbed, editor with a directory navigator, and support for code libraries, etc. I've been using it since July or so and am very satisfied with it. Rick -- View this message in context: http://www.nabble.com/lilypond-and-editors-tf2734613.html#a7649157 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: paper sizes
James E. Bailey-2 wrote: I was reading the archives on how to define a custom page size, and I'm a little confused as to whether the issue was resolved, meaning, I've read the archives, and tried the suggestions there, but still cannot output my page size. I've added to the file paper.scm the line (octavo . (cons (* 6.75 in) (* 10.5 in))) and the music is typeset to those dimensions, but the paper is still a4 size. To be clear, my input file has \paper { #(set-paper-size octavo) } #(set-default-paper-size octavo) I'm just wondering if there's some aspect that I'm missing. And just to check, I ran the postscript through Preview, and got the same output. Thanks tons, James ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Are you on Windows? If so you need to tell the operating system that octavo is a new form. To do this go to: Settings / Control Panel / Printers From this dialog box go to the File menu and select Server Properties On that dialog check the box that says Create a new Form At that point create your octavo form with the sizing you want and save it with the name octavo. Now the operating system and your printer drivers can play nice and both understand this new form. HTH -- View this message in context: http://www.nabble.com/paper-sizes-tf2732032.html#a7623104 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
convert-ly, musicxml2ly, etc. problems
Ok... I must be missing something very simple, but I've been beating a dead horse for the past few weeks trying to get convert-ly and other utilities to run on Windows XP. From te command prompt I change directory to C:\Program Files\LilyPond\usr\bin which is where lilyponfd is installed, but when I enter convert-ly on the command line Windows says it is not recognized as a command. Probably because there is no file extension on the file named convert-ly? Shouldn't this program be named convert-ly.exe? So that it will run when you tell it to run like any other program. I must be missing something very simple as I am using the instructions in section 13.3 of the manual, so I thought it's time to just ask someone how to do it. Thanks Rick -- View this message in context: http://www.nabble.com/convert-ly%2C-musicxml2ly%2C-etc.-problems-tf2733900.html#a7626623 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: convert-ly, musicxml2ly, etc. problems
Bertalan Fodor-2 wrote: Install the 2.10.0-1 version of LilyPond (and not the bad, 2.10.0-2) Then you will be able to run convert-ly by: - running 'python convert-ly' from C:\Program Files\LilyPond\usr\bin - or by clicking the convert-ly button in LilyPondTool (if you use that) Bert ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Thanks, that got me a little closer, I'm already on version 2.11. Here is the error I'm getting now: do I need something in my system PATH it appears like it cant find the target of an import? C:\Program Files\LilyPond\usr\binpython convert-ly -h 'import site' failed; use -v for traceback Traceback (most recent call last): File convert-ly, line 13, in module import os ImportError: No module named os Then I added the -v option to python and got this longer error: C:\Program Files\LilyPond\usr\binpython -v convert-ly -h # installing zipimport hook import zipimport # builtin # installed zipimport hook 'import site' failed; traceback: ImportError: No module named site Python 2.5 (r25:51908, Nov 15 2006, 17:33:18) [GCC 4.1.1] on mingw32 Type help, copyright, credits or license for more information. Traceback (most recent call last): File convert-ly, line 13, in module import os ImportError: No module named os # clear __builtin__._ # clear sys.path # clear sys.argv # clear sys.ps1 # clear sys.ps2 # clear sys.exitfunc # clear sys.exc_type # clear sys.exc_value # clear sys.exc_traceback # clear sys.last_type # clear sys.last_value # clear sys.last_traceback # clear sys.path_hooks # clear sys.path_importer_cache # clear sys.meta_path # restore sys.stdin # restore sys.stdout # restore sys.stderr # cleanup __main__ # cleanup[1] zipimport # cleanup[1] signal # cleanup[1] exceptions # cleanup sys # cleanup __builtin__ # cleanup ints # cleanup floats I'm not a programmer (per se) so my machine is basically that of a musicians, I'm hoping to not have to install a lot of developers tools to be able to use convert-ly, and all the other cool utilities that come with lilypond. Rick -- View this message in context: http://www.nabble.com/convert-ly%2C-musicxml2ly%2C-etc.-problems-tf2733900.html#a7628294 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: convert-ly, musicxml2ly, etc. problems
Bertalan Fodor-2 wrote: Install the 2.10.0-1 version of LilyPond (and not the bad, 2.10.0-2) Then you will be able to run convert-ly by: - running 'python convert-ly' from C:\Program Files\LilyPond\usr\bin - or by clicking the convert-ly button in LilyPondTool (if you use that) Bert ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user I'm trying this on Windows 2000, when I get to my other office later today I am going to try it on Windows XP, this Win2000 machine has been problematic in the past. I'll post again if that one fails too. -- View this message in context: http://www.nabble.com/convert-ly%2C-musicxml2ly%2C-etc.-problems-tf2733900.html#a7628533 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: convert-ly, musicxml2ly, etc. problems
Bonnie Rogers wrote: Hi Rick, Actually the file is convert-ly.py - it's a python script. I use abc2ly, another python script. Try just cd C:\Program Files\LilyPond or cd into whatever folder the music file is in and try the command there. After some initial struggles, I found that both work with abc2ly. You shouldn't have to type python or do anything else fancy. I had trouble at first because I was trying too hard. I don't have 2.10 yet, and I don't have any old Lilypond files that really need converting, but I tried with a couple of random .ly files and at least didn't get any error messages. Here are screen prints from my command window: C:\Documents and Settings\HP_Administratorcd C:\Documents and Settings\HP_Administrator\Desktop\LilyPond C:\Documents and Settings\HP_Administrator\Desktop\LilyPondconvert-ly hodie.ly convert-ly.py (GNU LilyPond) 2.8.5 Processing `hodie.ly'... Applying conversion: Note I keep Lilypond on my desktop so I can mouse a file into it to work on. Of course I have to move the resulting files to another folder afterward. It turns out to work just as well from the music folder: cd C:\Documents and Settings\HP_Administrator\Desktop\musicfiles\gibbons C:\Documents and Settings\HP_Administrator\Desktop\musicfiles\gibbonsconvert-ly cantus.ly convert-ly.py (GNU LilyPond) 2.8.5 Processing `cantus.ly'... Applying conversion: Good luck! Bonnie Rick Hansen (aka RickH) wrote: Ok... I must be missing something very simple, but I've been beating a dead horse for the past few weeks trying to get convert-ly and other utilities to run on Windows XP. From te command prompt I change directory to C:\Program Files\LilyPond\usr\bin which is where lilyponfd is installed, but when I enter convert-ly on the command line Windows says it is not recognized as a command. Probably because there is no file extension on the file named convert-ly? Shouldn't this program be named convert-ly.exe? So that it will run when you tell it to run like any other program. I must be missing something very simple as I am using the instructions in section 13.3 of the manual, so I thought it's time to just ask someone how to do it. Thanks Rick ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Thanks, I just did a search of my Lilypond installation folder and convert-ly does not have a .py extension on it for me, in fact many of the files have no extension on their names. The file name is just convert-ly, so Windows does not know what program to associate with the file. Also if I execute python convert-ly I get an import os not found python error (see my other post). I think the Windows installation changed since version 2.8.5 where the python utilities no longer have .py extensions, because I do remember running convert-ly earlier in the year when I first started to get into lilypond (v2.8) and it appeared to work but I didn't need it then. Now I just want to know how it works in case I need it, but I do need musicxml2ly now to convert some Finale files and that program also does not have a .py extension or any extension. Also abc2ly is not in my /bin at all. I hope there is another Windows user out there on 2.11 who can figure out how to run these utilities, it has to be something simple. I'm doing exactly what you describe and what the manual says, but no luck. Rick -- View this message in context: http://www.nabble.com/convert-ly%2C-musicxml2ly%2C-etc.-problems-tf2733900.html#a7629180 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: convert-ly, musicxml2ly, etc. problems
Bonnie Rogers wrote: Just as I thought - you are trying too hard! I'm not a programmer either. What on earth is all that import stuff? If you have the music in a desktop folder and cd to that folder you won't have to bother with any of that. Just type convert-ly and the file name. Cheers! Bonnie All the import stuff is coming back to me, I only typed exactly what you typed, except I have to type python in front of it because my convert-ly file has no file extension on the file name. So if I just type convert-ly Windows does not know its a python file so it gives up. When I run it behind te word python I get the import error back. Rick -- View this message in context: http://www.nabble.com/convert-ly%2C-musicxml2ly%2C-etc.-problems-tf2733900.html#a7629254 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Stupid resolution questions
I am under the impression that the dresolution option flag setting only applies to PNG generation. Is this true? And that the PDF that lily generates really has no resolution of it's own to worry about? IOW can I assume that the PDF file is already at pre-press quality if it is being printed on a machine that has been told to print it at a high quality level? The reason I am asking is that I am about to send a hundred pages to a print shop to get some draft copies of my work printed and bound. I want to make sure that my printing contractor has all it needs to get the best possible resolution from the PDF files I provide. I will also be instructing them to use a nice 32lb coated semi-gloss brochure paper that is very smooth, to produce even extra sharpness. When printing a PDF is it just up to the machine and operator to determine the output resolution? IOW do I need to do one last compile of my lily work to produce a pre-press PDF using some option flag I am not aware of ? Otherwise I will tell the shop to select their highest resolution, is this enough? Am I forgetting anything? Thanks to anyone who has been down this road before. -- View this message in context: http://www.nabble.com/Stupid-resolution-questions-tf2637717.html#a7362428 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stupid resolution questions
Mats Bengtsson-4 wrote: All fonts should be Type1 fonts, i.e. they are described by vector graphics, not bitmaps. The same goes for slurs, beams and other objects that are output directly as graphics. So, there should be no need to worry about resolution as far as I know. /Mats Thanks Mats, This is what I was hoping for. So a lily PDF is really a mathematical representation of the output, that can be applied over any size/res pixel grid so to speak, as provided by the printing machinery itself. So it's off to the printer! -- View this message in context: http://www.nabble.com/Stupid-resolution-questions-tf2637717.html#a7364690 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Pitch/ octave notation
Erik Sandberg-2 wrote: On Tuesday 14 November 2006 16:50, Peter O'Doherty wrote: Hello, Is it possible to indicate pitches in the format c4 instead of c'? And if not, does anybody know of any plans to create this possibility? If you really need this, I'd recommend you to use sed or similar tool as a preprocessing step for your score. It should be fairly easy to lexically replace c4 with c', c5 with c'', etc. It will probably be confusing though, because you'll have to write c48 to indicate an eight note of pitch c', etc, and you won't be able to benefit from the \relative mode. -- Erik ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Erik, What is sed? Is there a homepage and user manual for it? I am currently evaluating choices for a pre-processor, I'm looking at both M4 and ML/I. Should I also be looking at sed as a possibliity? I want to begin compartmentalizing my rather long lilypond templates to something beyond numerous \include files to make it easier to manage. I wish there were a lilypond dedicated text editor with plug-ins capability for managing large lp projects, but in the absence of that dream I want to bite the bullet and learn a pre-processor of some kind. thanks Rick -- View this message in context: http://www.nabble.com/Pitch--octave-notation-tf2630285.html#a7365093 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Selling music engraved by Lilypond
Frédéric Chiasson wrote: Hi, I just saw a message about the tagline Engraved by Lilypond and I was wondering if it is legal to sell our own partitions of our own compositions engraved with Lilypond? Is there any limitation you put against a «commercial» use (for now, it is really «on the side» but still...)? Frédéric Chiasson ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user I dont know if I will be selling all that many copies of my jazz arrangements book by the time it's finished, and by the time I've finally gotten back copyright permissions to print all these arrangements... But when I do, I will be proud to to put a credit in the appendix to the effect All music in this book was engraved by Lilypond. I think authors taking advantage of such a great free resource should do that much and spread the word. -- View this message in context: http://www.nabble.com/Selling-music-engraved-by-Lilypond-tf2638604.html#a7366012 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
String concatenation in sheme?
I'm not a Scheme programmer, but how does one concatenate more data onto the end of an existing variable? Is there a string concatenation expression in scheme that will let someone add onto the end of a string using subsequent commands. For example (below is in a java pseudocode where += means concatenate to self) how to do same in scheme? varVoiceMelody = \relative c' { a4 b c varVoiceMelody += d | e f varVoiceMelody += g a | varVoiceMelody += } So that the final value of varVoiceMelody is left being: \relative c' { a4 b c d | e f g a | } I want to write some macros that when stated simply append their output to variables already existing in my lp templates, these macros hopefully will simply generate varVoiceMelody += whatever expressions to append to the proper master variables in the lp code. thanks Rick -- View this message in context: http://www.nabble.com/String-concatenation-in-sheme--tf2638911.html#a7366311 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Pitch/ octave notation
Nicolas Sceaux wrote: Rick Hansen (aka RickH) [EMAIL PROTECTED] writes: I want to begin compartmentalizing my rather long lilypond templates to something beyond numerous \include files to make it easier to manage. I wish there were a lilypond dedicated text editor with plug-ins capability for managing large lp projects, but in the absence of that dream I want to bite the bullet and learn a pre-processor of some kind. I don't understand the need of a preprocessor wrt managing large LilyPond projects. May you elaborate on your needs, maybe there are some solutions that you have not thought about and that would be better adapted. Working on large LilyPond projects myself for some years, I gradually got rid off other programs or scripts. LilyPond itself, a LilyPond-aware text editor and a version control system are enough. Also, why using c4 instead of c'? You will be the only person which can read your code. If you find annoying to type c''', use an editor with quick note insertion mode and audio feedback. Then typing the notes won't be a problem anymore. nicolas ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Nicolas, I'm not the original poster, I was just wondering what this pre-processor was, I'm ok with the current relative/absolute note entry with apostrophes. I am considering macros to provide more-or-less what you would call conditional \include files or smart \includes that will \include different files for songs, paper sizes, code, copyright footers, etc. based on condition tests, instead of me having to physically comment/uncomment the \include statements I want. This and some other possibilities to generate lilypond code more easily for re-use, outside of simple \include files. I probably should have started a new thread. I'm getting the results I want using all native lp as well, but need some automation in file management now that I've got several hundred songs going at once across dozens of templates. Rick -- View this message in context: http://www.nabble.com/Pitch--octave-notation-tf2630285.html#a7366805 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Selling music engraved by Lilypond
Frédéric Chiasson wrote: Thanks for the quick answers! And yes, I will keep the tag, it is least I can do to encourage such a wonderful project! However is it possible to change the alignment, the size, the font or any other characteristic of the tagline (while keeping it noticeable!) ? Is it the same as using \override on TextScript? Fred You can enclose anything you put into the tagline property within a \markup { } construct to change it's appearance, justify, etc. using markup commands. See the user manual on how to do text markup. Also if you are doing a compilation of pieces in a book, just putting the credit at the end/beginning of the book might be good and not on each piece. -- View this message in context: http://www.nabble.com/Selling-music-engraved-by-Lilypond-tf2638604.html#a7367008 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: String concatenation in sheme?
Nicolas Sceaux wrote: What you want is not string concatenation. { a4 b c d } is a music expression, not a string, so look how it is stored internally: \displayMusic { a b c d | } \displayMusic { e f g a | } \displayMusic { a b c d | e f g a | } You'll see a SequenceMusic element, containing a list of EventChord and BarChack elements in its 'elements property. So what you'd like is appending two lists. But there is another, easier, solution. Compare: \displayMusic { a b c d | } \displayMusic { e f g a | } \displayMusic { { a b c d | } { e f g a | } } (the latter being equivalent to { a4 b c d | e f g a | }) There, you build a SequentialMusic object which elements are the previous value of the variable, and the music that is to be appended. A possible implementation (not tested): appendToVariable = #(define-music-function (parser location symbol music) (symbol? ly:music?) (ly:parser-define! parser symbol (make-music 'SequentialMusic 'elements (list (ly:parser-lookup parser symbol) music))) (make-music 'SequentialMusic 'void #t)) myvar = { a4 b c d | } \appendToVariable #'myvar { e f g a | } { \myvar } nicolas Nicolas, I cant thank you enough, this works perfectly! I'm not quite sure where I'm headed yet, but I may use either this technique in lilipond or the divert('1') / undivert('1') functions of m4 to accumulate and concatenate the music to different staff types. Basically I want a macro that allows me to state chords in a progression, whereby each macro invocation will generate the appropriate notes on 3 different staffs for each chord ChordName, FretBoards, and Staff (the notes needed on each will be different inversions of the same harmony). To save me the time of hand-coding 3 staffs separately I want my macro to simply concatenate to the 3 staffs at once with each chord I name. At the end the 3 staff variables will be in-synch and all populated with my desired chord progression, whereas I only have to physically maintain one list of chords, (one list coded, generates 3 or more staffs outputted as lp source code). IOW I'm trying to build a chord library that can output various inversions of the same chord to multiple staffs at once, the library will grow over time and be reused. Still deciding if each chord entry in the library is going to be an m4 macro or lp function, but now I know I can go either way with the ability to concatenate my music in lp. thanks Rick -- View this message in context: http://www.nabble.com/String-concatenation-in-sheme--tf2638911.html#a7368612 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Chord, variables and comments [beginner]
Mats Bengtsson-4 wrote: It seems that a standard preprocessor like m4 should be the best solution to your problems. If you search the mailing list archives, you will find a number of discussions related to preprocessors for purely textual replacement in LilyPond input files. LilyPond itself does not (and will not) include any such preprocessor, since it just would make the program larger and more complicated to support and since there are several freely available preprocessors that can be used. On the other hand, it is possible to implement your own functions in LilyPond, using the Scheme programming language, see the section Advanced tweaks with Scheme in the manual, but for your purpose, I think a standard preprocessor is simpler and better. /Mats Christophe Dang Ngoc Chan wrote: Hello, sorry if the question was already asked, but I didn't find the answer in the archive (maybe I don't know which keyword to use). So, I'd like to put the guitar chords into a variable in order to reuse them, e.g. GuitarChordC = {e, c e g c' e'1} First, I would like to put the duration outside the variable GuitarChordC = {e, c e g c' e'} { \GuitarChordC 1} but it does not seem to work. Is there any way to do something like that? Second, I'd like to put a comment, something like GuitarChordC^bla but it does not seem to work either. Is there any way to do something like that? Thanks in advance ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- = Mats Bengtsson Signal Processing Signals, Sensors and Systems Royal Institute of Technology SE-100 44 STOCKHOLM Sweden Phone: (+46) 8 790 8463 Fax: (+46) 8 790 7260 Email: [EMAIL PROTECTED] WWW: http://www.s3.kth.se/~mabe = ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user The granddaddy, (developed in 1966), of macro processors ML/I is also free and ported to many platforms. I'm currently evaluating which one I like better myself, so far I am leaning towards ML/I because it has nested if/then/else/end and do/while structures, and it lets you fully define the syntax and delimiters of your home-made macro language. -- View this message in context: http://www.nabble.com/Chord%2C-variables-and-comments--beginner--tf2620875.html#a7345375 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Rhythmic slashes
Mats, This is sort of working, but how would I set the thickness property so that the slash looks more like the slash notehead? Better yet, is there a way to actually use the slashed note head character instead? (the slashed note head looks like most fakebooks, but this beat-slash is too thick and it bumps into the right measure bar. Other than that it's working well. thanks Rick Mats Bengtsson-4 wrote: Brett Duncan wrote: What if you had a rest that looked like a slash? No transposition issues, then. No input to MIDI if you have a midi block in your .ly file, for that matter. Given the slash is already part of the Feta font, I assume it should be possible - I'm just not sure how to do it! Can someone explain how to do this, or why it's not possible? Just replace the function that prints the rest with the function that prints a slash: \override Rest #'stencil = #ly:percent-repeat-item-interface::beat-slash /Mats ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Rhythmic-slashes-tf2592859.html#a7288273 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Rhythmic slashes
Brett Duncan-2 wrote: Han-Wen Nienhuys wrote: Paul Scott escreveu: Rick Hansen (aka RickH) wrote: (snip) Here is a solution, just change the notehead! (thanks to Brett who sent me the idea) \paper { ragged-right = ##t } \new Staff \relative c' { \bar |: \override NoteHead #'style = #'slash b'4 b b b | b4 b b b \revert NoteHead #'style \bar :| } I've used that a number of times. Unfortunately it's a mess when you need to transpose the part! \override staff-position for the note head ; that will solv (part of) the problem. What if you had a rest that looked like a slash? No transposition issues, then. No input to MIDI if you have a midi block in your .ly file, for that matter. Given the slash is already part of the Feta font, I assume it should be possible - I'm just not sure how to do it! Can someone explain how to do this, or why it's not possible? Brett ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user That sounds like a very good idea, I would think the developers can easily inherit the rest object then just change its font character. To make something that behaves like a quarter rest in the music stream but looks like a slash. Good idea. -- View this message in context: http://www.nabble.com/Rhythmic-slashes-tf2592859.html#a7260136 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Rhythmic slashes
Trevor Daniels wrote: I've never tried it, but could you use a drum voice to avoid transposition problems? In my case I cant just change to a drum voice because these measures are in the midst of a voice that does play standard notation for most of the piece, but in places I just have him comping the changes. I never thought of transpose, that would misplace the slashes. Is there any wrapper that can flag a range of notes to not participate in parent transposition? For example: \dontTranspose { b b b b } Such a command would open up the free use of all kinds of rhythmic notehead possibilities for comping or slapping the guitar top, etc. that non-percussion instruments per-se can utilize in their voices. This slash notation is very commonly used, and I think there should be at least a small example in the manual on how to do it properly. (In my original example I still have to hide the stems, but they could be handy if you want to show a specific rhythm) -- View this message in context: http://www.nabble.com/Rhythmic-slashes-tf2592859.html#a7241284 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Identifiers
Kamal-4 wrote: How do you attach a duration (or other notation) to an identifier? Example: I have: 8 16[ ] I want to use as an identifier so I tried the following but it didn't work: var = { a c e } \score { { \var \var16[ \var16] } } I am using lilypond 2.8.6 ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user I have needed this capability for my chord library, so I will be interested in an answer as well. -- View this message in context: http://www.nabble.com/Identifiers-tf2596524.html#a7246499 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Rhythmic slashes
How can I get 4 slashes in a measure (in 4/4 time)? The following is the closest I've come but only gives me 3 slashes. (In pop music this is a common notation method when you just want the player to comp the changes in time.) The example below will run as is: \paper { ragged-right = ##t } \repeat percent 4 s4 -- View this message in context: http://www.nabble.com/Rhythmic-slashes-tf2592859.html#a7231559 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Rhythmic slashes
Rick Hansen (aka RickH) wrote: How can I get 4 slashes in a measure (in 4/4 time)? The following is the closest I've come but only gives me 3 slashes. (In pop music this is a common notation method when you just want the player to comp the changes in time.) The example below will run as is: \paper { ragged-right = ##t } \repeat percent 4 s4 Here is a solution, just change the notehead! (thanks to Brett who sent me the idea) \paper { ragged-right = ##t } \new Staff \relative c' { \bar |: \override NoteHead #'style = #'slash b'4 b b b | b4 b b b \revert NoteHead #'style \bar :| } -- View this message in context: http://www.nabble.com/Rhythmic-slashes-tf2592859.html#a7233073 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Slur usage
Eduardo Vieira-3 wrote: Hello list, is there a musical difference between these two styles of slurring? { e( f() g) } and { e( f g) } I have seen songs using either style. Which is more proper? Personally I prefer the latter. But I'm not a musician. Eduardo ___ Com o Click21 você tem sempre vantagens! Além do email com 1 Gb, Acelerador, Blog, Flog, Games e atendimento 24 horas, voce também pode falar minutos DDD com a promoção Click 21 Minutos. Quanto mais você navega mais fala DDD. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user Example 2. I could maybe see example 1 used if there were other voices present as well. But in this case example 1 is redundant because the player cant re-articulate a second slur at the F anyway, so why use 2 slurs? The only way someone can articulate the second slur would be to stop and re-start the F but then they would not be playing whats written. -- View this message in context: http://www.nabble.com/Slur-usage-tf2582965.html#a7206322 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Ghostscript question
I have a very old version of ghostscript that I use outside my lilypond work... I want to upgrade ghostscript on my Windows machine for the work I do in concatenating lily outputs into books, printing to PDF, etc. But I am unsure as to what ghostscript to get the GPL or the AFPL? I just want the latest stable release that I can use outside lily (because I know lilypond already installs it's own dedicated copy) and should not be affected. Should I be installing the GPL or the AFPL ghostscript to have the fewest compatibility issues? Which is better? Which one does lilypond use? thanks Rick -- View this message in context: http://www.nabble.com/Ghostscript-question-tf2569799.html#a7163582 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Ghostscript question
Thanks, Actually I went ahead and uninstalled my very old copy and re-installed version 8.54 which is supposed to be the most current stable one. It all went pretty painlessly and all my ghostscript-based applications are working fine, actually I upgraded all of those too: CutePDF GhostWord GhostWriter GhostView LilyPond All appears to be working better than before, dont know what I was afraid of, but I remember the last time I upgraded ghostscript and suddenly all my apps gave an error that the gs_init.ps file could not be found or something. This time it all went smoothly no errors so far. fiëé visuëlle wrote: Am 2006-11-03 um 19:03 schrieb Rick Hansen (aka RickH): But I am unsure as to what ghostscript to get the GPL or the AFPL? Since a while also the latest version of GS is available unter the GPL, see http://www.cs.wisc.edu/~ghost/ For private use it doesn't matter which you use, it's the same code. Greetlings from Lake Constance --- fiëé visuëlle Henning Hraban Ramm http://www.fiee.net http://angerweit.tikon.ch/lieder/ http://www.cacert.org (I'm an assurer) ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Ghostscript-question-tf2569799.html#a7168024 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord :dim7
Frédéric Bron wrote: Using lily 2.8.7 on Windows. Why \chords { gs:dim7 } gives G#07 in the output and not G#dim (\include english.ly)? I want gs b d f . Regards, Fred ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user I'm not fully understanding your question, but G#BDF is the spelling for G#dim7, and G#BD is the spelling for G#dim. If you simply want to get rid of the circle designation for diminised chords in general, then you can code a chord names exceptions list and override the circle to print as dim instead. If you search the archive for jazzychord I think you will find an example of making chord name exceptions list. -- View this message in context: http://www.nabble.com/chord-%3Adim7-tf2554083.html#a7119923 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord :dim7
Frédéric Bron wrote: Does this mean that if I want all dim7 chords be written dim, I need to code 12 exceptions, one for each note? No, the exceptions list would only need one exception coded with a root of C, in your case c ef gf to override dim and c ef gf bff to override dim7. I've done over a hundred songs already in many keys and all my exceptions work, I have, over time, added exceptions as I need them. This way your exceptions list will eventually mature to the point where all names come out the way you want them to whenever you start a new piece. But I dont code chord names directly, I code notes within the ChordNames context to generate the names, note stacks just make more sense to me than trying to remember all the little name fragments, where the colons go, etc. -- View this message in context: http://www.nabble.com/chord-%3Adim7-tf2554083.html#a7123592 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord :dim7
Frédéric Bron wrote: I have tried to make a chord exception as indicated in the documentation and in chord-name-exceptions.lyhttp://lilypond.org/doc/v2.8/Documentation/user/lilypond/source/input/regression/lily-496021814.lyto replace 07 by dim but it did not work. Here is what I tried: \version 2.8.7 \include english.ly chExceptionMusic = { gs b d f4-\markup { G\sharp\super dim } } chExceptions = #(append (sequential-music-to-chord-exceptions chExceptionMusic #t) ignatzekExceptions) \chords { \set chordNameExceptions = #chExceptions gs4:dim7 } gs'4 Fred Code all your exceptions with a root note of C and it should work, try: chExceptionMusic = { c ef gf bff4-\markup { G\sharp\super dim } } -- View this message in context: http://www.nabble.com/chord-%3Adim7-tf2554083.html#a7123636 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord :dim7
Frédéric Bron wrote: I have tried to make a chord exception as indicated in the documentation and in chord-name-exceptions.lyhttp://lilypond.org/doc/v2.8/Documentation/user/lilypond/source/input/regression/lily-496021814.lyto replace 07 by dim but it did not work. Here is what I tried: \version 2.8.7 \include english.ly chExceptionMusic = { gs b d f4-\markup { G\sharp\super dim } } chExceptions = #(append (sequential-music-to-chord-exceptions chExceptionMusic #t) ignatzekExceptions) \chords { \set chordNameExceptions = #chExceptions gs4:dim7 } gs'4 Fred Also your exception should not contain a duration indication, you have a quarter note specified, here is one of my exceptions pasted verbatim: c e gs bf df'-\markup \super \line { 7 \hspace #0.45 \override #'(baseline-skip . .5) \column { \line { \teeny \raise #0.5 \flat 9 } \line { \teeny \raise #0.5 \sharp 5 } } } change yours to remove the quarter note, like this: chExceptionMusic = { gs b d f-\markup { G\sharp\super dim } } -- View this message in context: http://www.nabble.com/chord-%3Adim7-tf2554083.html#a7123717 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: The importance of a graphical interface.
César Penagos wrote: Dears Lilyponders: I'm a very in-love user of Lilypond, actually I have installed the 2.9.26 version. I'm attend to update my preferred music score program. For many times i sow in the user archives, people asking for a graphical interface. I thing there is a powerful reason. When you are copying a score, no matter with the instruments, or instrument colors in your orchestral score. Every musician knows what instrument will be the most appropriate for the voice that is writing. As the case as the composers that can try every instrument they want. The very real problems comes when you want to arrange a piece; and you need to see the balance of the instrumentation in your score. Every body knows that the simple way is to assign the first and second voices to the violins I and II, the third or tenor voice to the violas and the basses to cellos and contrabass. It is Ok for very small arrange using the strings, but when you add woods,and winds you must be carefully what you are doing if don't want undesirable result. If you don't take care of the balance in the use of instruments your score will sound recharged, very dense. For this reason you have to be alert whit your instrumentation, and I hope that in the very close future some of the very smart people in Lilypond team takes the time to construct an a graphical interface for your great program. When this happens Finale, Sibelius etc, etc, etc. Will have to close their companies, because nobody will buy their expensiveness programs. I don't know if is the nature of the program that can't permit an interface, but I'm taking the voice of all the people that really needs an interface to properly works in a score. An example would be the ABCedit editor from Prof.Coolgeem, is very nice and usable Please!! consider this. Cheer's César Penagos. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user I like the non GUI interface and find that I get greater consistency across many songs due to a templated approach, as opposed to re-working each song individually on a screen. BUT I think many smaller GUI based helper applications would be nice, whereby small GUI screens can pop up to aid you in doing more complicated tweaks, then just output a snipped of lily source to the clipboard so you can paste it into your score. Kind of like a plug ins approach, where the GUI main application just hosts hundreds of helper plug ins that surround a fine tabbed lily text editor that also has lily/scheme syntax hilighting. I would think this is a better way to start a GUI project as opposed to trying to duplicate another Finale, (I also find the Finale UI to be difficult). I think in the very long run, lily should provide a dedicated text editor with a standardized plug in API that programmers can use to develop GUI helper plug-ins in ANY language they code in, then new end-users just minimally download the lily text editor and later decide what GUI plug ins they need or want to bother with. This approach also bridges the gap between a user base wishing to stay text-based and a new user base wanting to go GUI. But overall I am happy to see the development resources going into the current approach, and would hate to see a GUI dev thrust steal development resources from advancing core lily. (just my 2 cents :) -- View this message in context: http://www.nabble.com/The-importance-of-a-graphical-interface.-tf2528866.html#a7098108 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: convert relative to absolute...
Julian Peterson wrote: I have a project in which I am training a computer to improvise in the same style as an example piece of music. I wrote a little program in supercollider to take a sequence of lilypond notes, learn patterns from them and then generate output for lilypond to render into a score. The material I would like to feed it is written using /relative , but for my script to work I need it to be in absolute pitches. Is there a script or method for doing this? In other words, I would like to convert: /relative c'' { c d e f g f e d c g c g c} to {c'' d'' e'' f'' g'' f'' e'' d'' c'' g' c'' g' c''} Any ideas? Thanks, Julian Peterson ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user No ideas, but I have also wanted the opposite of \relative when I want to re-use my note-based chord names in various relative/absolute contexts. I have each chord assigned to a variable (in key of C) in a .ly file that I designate as my chord library, when I want to generate chord names (on a ChordNames staff) I simply specify the variables I want (enclosed in a \transpose to get the root name). The problem arises is that my chord library variables are coded in absolute terms with octave marks, so that means if I try to use those variables in a \relative context, I wind up with some pretty weird chord names with tension numbers like 16's 24's 34's etc. It would be handy to have a wrapper function that will allow you to re-use absolute coded notes in a relative context or relative coded notes in an absolute context. For now I've just made sure my ChordNames staff never specifies \relative, so I certainly have no pressing need. I live with this because I like my chord names to be derived from the note stacks as opposed to using the built in chord naming fragments, as this makes more musical sense to me, then I use an exceptions list to get the names exact. -- View this message in context: http://www.nabble.com/convert-relative-to-absolute...-tf2546920.html#a7099145 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
arabic instead of roman
Is there a global way to change the neck position indication on fret board markup to be arabic instead of roman? Without having to change the file called \LilyPond\usr\share\lilypond\current\scm\fret-diagrams.scm ? I'm trying to avoid making my own changes to the installed code base, so that I dont have to remember everything I would need to re-adjust after each re-install of lp. I've already successfully accomplished the switch by changing this file on my machine, was just wondering if there was an end user non scheme coder way of doing it? I would prefer that all fretboards I create use an arabic position number. thanks Rick -- View this message in context: http://www.nabble.com/arabic-instead-of-roman-tf2541942.html#a7082510 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Wishlist for Guitar (or string) features (newbie!)
I have just sponsored some new guitar related items, and inadvertantly some tab clean-up items that will be in future release. I understand your idea, but I would also argue that using notes instead of hard-coded fret and string numbers is the way to go. This way your output can participate in transposition and you can re-use the notes you coded on a regular staff for those who dont read Tab. Just me, but I find it more natural to both code lilypond and to think of the fretboard in terms of notes instead of fret/string coordinates, it just makes more musical sense to me, as I can relate note names directly to harmony, resolutons and voice movement in my mind with more clarity than I can numbers representing strings and frets. There already exists syntax for specifying a string number that can be appended to a note a\6 to give any algorithm a hint as to what string/fret to play notes that may exist in multiple places on the fretboard. From a\6 one can calculate the fret number based on the open string tuning property of the staff which will of course differ for all fretted instruments. For standard guitar tuning a\6 fret number 5 would be calculated in this case. But if you want to pitch in I will also participate in any future fretted instrument enhancements (monetarily, requirement definition, and design/test) that others see a pressing need for or want to colabborate(sp) on. Rick Andy Denley wrote: Hi, I dont know if I should be saying this in this forum, but I have a wish list for guitar related stuff. I am just a newbie and still trying to get a hold of the syntax but I have found some stuff that is a bit lacking in the guitar arena. Or maybe is not documented clearly? Maybe this is because guitarists have avoided using lilypond and thus not enough development (I know you guys are over worked as it is) I dont know. But stuff I would like to see in lilypond Hammer-On's Pull-Off's Slides (maybe another way of doing it inside lilypond but I havent found it) Tablature related: I know the chord features inside tab arent great. But would it be possible to define a tab chord and place it inside tab? For example: \tabchord Aminor a:m 6,x 5,0 4,2 3,2 2,1 1,0 So Aminor is the chordname we use for inside the tab a:m is the note and major / minor 6,x 5,0 4,2 3,2 2,1 1,0 is the six strings in the guitar (EADGBE) 6,x (string, fret to be played (x not played 0 is open) \new TabStaff { Aminor:8 Aminor Aminor etc etc} it may be a bit messy but it seems logical? Maybe? So I hope this makes sense and please excuse my ignornance if this is done some other way. I think I might have to get a LilyPond Guitar FAQ together as additional to the tutorial. There are a LOT of guitarists out there and really this is a far better tool then I have seen that is for Linux/Win32/Mac environments. Thoughts and comments? Andy D (Engineer and Guitarist!) ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Wishlist-for-Guitar-%28or-string%29-features-%28newbie%21%29-tf2511630.html#a7012811 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord name size
Depends on your age, eyesight and the type of score too. For a simple fake book lead sheet I like things big so that I can read it better in a dark room at a distance, or at times when I'll have a cheat sheet on the floor at my feet while performing something I have not fully memorized. As for the # symbol I'm using a chord names exceptions list that I can fully customize, for example I also like to see the tensions 5, b5, #5, 7, 9, b9, #9, 11, #11, 13, etc. stacked vertically like Hal Leonard Publishing has been doing for a while now, this reduces the amount of horizontal space needed to show chords that have a lot of named tensions. I just unconditionally always use my exceptions list now which works pretty good. eyolf wrote: On Wed 25 October 2006 10:04, Paul Scott wrote: David Bobroff wrote: David Bobroff wrote: I would like to alter the size of printed chord names. How do I do that? I'm sure there is some sort of font size alteration to the Chord_name_engnraver or somesuch. Help? I found the solution myself: \override ChordName #'font-size = #-2 Does anyone agree that the default font size for chord names is too big and worse that the accidentals in chord names are too big for the text? Yes. That was my initial reaction. I've gotten used to it, but I'd prefer a smaller default font size (a defont size...?) Paul Scott ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- I couldn't remember when I had been so disappointed. Except perhaps the time I found out that MMs really DO melt in your hand. -- Peter Oakley ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/chord-name-size-tf2481695.html#a6994098 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: slurs at breaks are wrongly influenced by rehearsal marks
FYI, this bug also happens on volta brackets that continue or start at a new system. The beginning of the volta bracket is pushed to the right by the mark. This is exasperated by the fact that very often it is necessary to put a To CODA mark at the beginning of first endings. In this very frequent (pop music) case the volta bracket correctly ignores the coda mark if it is starting in mid-system but if the coda mark and volta start happen to occur at the beginning of a new system, the coda is pushing the volta around so it looks like the alternate ending is beginning in mid-measure. I've been coding around this by forcing my voltas to never start a system, as I did not realize it was a bug, so feel free to add this too. thanks Rick Toine Schreurs-2 wrote: The last part of a broken slur (at a line break) is wrong if at the same time a long rehearsalmark is printed. The slurdirection is reversed, and the slur is drawn at the right side of the note, instead of the left side. The slur is extended to the full length of the rehearsal mark. snippet: % \version 2.9.25 \layout { ragged-right = ##t ragged-last = ##t indent = 0.0\cm \context { \Score \override RehearsalMark #'self-alignment-X = #left } } { c'1( \break \mark \markup { long rehearsal mark } c') } % A solution could be to disable breaks at rehearsalmarks with simultaneous slurs, but that's something you want to avoid in a more complex score. Is there another solution for this problem, or is it a bug? Greetings, Toine Schreurs ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/slurs-at-breaks-are-wrongly-influenced-by-rehearsal-marks-tf2482893.html#a7001782 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: OK, I am not a happy camper!
If all you want to do is link and imbed musical snippets into a word processor document then check out the new clip-regions capability in the latest LiyPond. It will let you define an array of clip regions in the \paper block then when you compile your main score all those clippings will be deposited into separate files, then you just include/reference those EPS files into your word processor doc. Example at: http://lilypond.org/doc/v2.9/input/regression/lily-129078330.ly The clippings are as though you took a razor blade and clipped up the score into small pieces that you can paste into a text document. Whenver you change the main score and re-compile it, all your clippings are up-to-date as well. (I sponsored this one) Gordon Gilbert-2 wrote: Hi folks, I had tried the OOoLilyPond macro to see about using it on a regular basis. First, it crashed OO, then it borked OO completely. You gotta understand, when one is on dial-up, that is a major undertaking to correct -- completely cleaning for and reinstalling OpenOffice -- 36 hours of download to start with. Now ... any ideas as to which version of Lily I should use for OpenOffice2.0.4? And what *exactly* should I do to install everything correctly so it will all work? I am on FreeBSD 5.4, which runs any version of Lily I want effortlessly, and I have never before had any trouble with OpenOffice, either. So how to make the two talk to each other as best as possible. Thanks, Father Gordon Gilbert+ -- +=+ | Angels' Roost Farm | | Rev. Fr. Gordon Gilbert Susan Gilbert | | 705-549-5056 | |[EMAIL PROTECTED] | |[EMAIL PROTECTED] | +=+ ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/OK%2C-I-am-not-a-happy-camper%21-tf2492057.html#a6948584 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Polyphonic Tablature
Ok I'm on track now, this is the first time I have been able to get polyphony to work on TabStaff. I need to code some more string numbers so that the algorithm has more hints as to where to select the notes on the neck, but it's working for me now in general. Daniel Tonda wrote: Just revised the code I proposed and you're right. I wasn't aware that by using one could remove the \simultaneous. Less typing indeed. Daniel T. 2006/10/22, Mats Bengtsson [EMAIL PROTECTED]: Are you sure? I just tried the example from the referenced post, changed version number from 2.6.0 and ran it through a recent 2.9.x version, and it certainly gives me a single tab staff here. Daniel's follow-up does exactly the same thing, but using more key strokes (the \simultaneous are redundant, for example). /Mats Quoting Rick Hansen (aka RickH) [EMAIL PROTECTED]: Thanks Mats, but this example is still producing 2 separate tab staffs, not a single polyphonic one. Rick Mats Bengtsson-4 wrote: See http://lists.gnu.org/archive/html/lilypond-user/2005-10/msg00285.html /Mats Quoting Rick Hansen (aka RickH) [EMAIL PROTECTED]: Yes this has been a problem I've had too, it would be nice if one can use the same notes/voices on both the staff and tabstaff, without duplicating the work. Nigel Tao-2 wrote: Hiya. Lilypond newbie here - so I'm probably mangling the terminology... I am trying to re-use the same (polyphonic, separated by \\) notes for both a regular staff and a tablature staff, but the tablature and \\ don't seem to be playing nice, so instead of typing out the notes just once in a macro and invoking it twice, I have to re-jig the two voices as a single-voiced chords in the tablature version, ending up with an inelegant duplication of effort. Picture of what I want to achieve: http://nigel.tao.googlepages.com/polyphonic-tablature.png What I'm doing: -- { \new StaffGroup \new Staff { \key d \major \clef G_8 { fis'8 a d' fis' e' fis ais cis' e' } \\ { d2 cis } } \new TabStaff { \override TabStaff.Stem #'transparent = ##t \override TabStaff.Beam #'transparent = ##t fis' d8 a d' fis' e' cis fis ais cis' e' } } -- What doesn't work -- notes = { fis'8 a d' fis' e' fis ais cis' e' } \\ { d2 cis } { \new StaffGroup \new Staff { \key d \major \clef G_8 \notes } \new TabStaff { \override TabStaff.Stem #'transparent = ##t \override TabStaff.Beam #'transparent = ##t \notes } } -- Trying the second way, I get an empty TAB staff and doubled notes on the regular staff. If I take out the \overrides (even though I really want to hide the stems and beams), then I get four staves, of which the second one (TAB) is empty. Cutting out the \\ works, in that I get the same notes exactly once on each clef, but that isn't the music I want to write. :-) I was just wondering if I'm doing something wrong or whether what I want to do is just not easy? I am on version 2.6.3, if that matters, since that's what my distro gave me... thanks, Nigel. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Polyphonic-Tablature-tf2486351.html#a6933996 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com . ___ 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 -- View this message in context: http://www.nabble.com/Polyphonic-Tablature-tf2486351.html#a6938137 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- Daniel Tonda C. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Polyphonic-Tablature-tf2486351.html#a6948590 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org
Re: Polyphonic Tablature
Thanks Mats, but this example is still producing 2 separate tab staffs, not a single polyphonic one. Rick Mats Bengtsson-4 wrote: See http://lists.gnu.org/archive/html/lilypond-user/2005-10/msg00285.html /Mats Quoting Rick Hansen (aka RickH) [EMAIL PROTECTED]: Yes this has been a problem I've had too, it would be nice if one can use the same notes/voices on both the staff and tabstaff, without duplicating the work. Nigel Tao-2 wrote: Hiya. Lilypond newbie here - so I'm probably mangling the terminology... I am trying to re-use the same (polyphonic, separated by \\) notes for both a regular staff and a tablature staff, but the tablature and \\ don't seem to be playing nice, so instead of typing out the notes just once in a macro and invoking it twice, I have to re-jig the two voices as a single-voiced chords in the tablature version, ending up with an inelegant duplication of effort. Picture of what I want to achieve: http://nigel.tao.googlepages.com/polyphonic-tablature.png What I'm doing: -- { \new StaffGroup \new Staff { \key d \major \clef G_8 { fis'8 a d' fis' e' fis ais cis' e' } \\ { d2 cis } } \new TabStaff { \override TabStaff.Stem #'transparent = ##t \override TabStaff.Beam #'transparent = ##t fis' d8 a d' fis' e' cis fis ais cis' e' } } -- What doesn't work -- notes = { fis'8 a d' fis' e' fis ais cis' e' } \\ { d2 cis } { \new StaffGroup \new Staff { \key d \major \clef G_8 \notes } \new TabStaff { \override TabStaff.Stem #'transparent = ##t \override TabStaff.Beam #'transparent = ##t \notes } } -- Trying the second way, I get an empty TAB staff and doubled notes on the regular staff. If I take out the \overrides (even though I really want to hide the stems and beams), then I get four staves, of which the second one (TAB) is empty. Cutting out the \\ works, in that I get the same notes exactly once on each clef, but that isn't the music I want to write. :-) I was just wondering if I'm doing something wrong or whether what I want to do is just not easy? I am on version 2.6.3, if that matters, since that's what my distro gave me... thanks, Nigel. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/Polyphonic-Tablature-tf2486351.html#a6933996 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ 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 -- View this message in context: http://www.nabble.com/Polyphonic-Tablature-tf2486351.html#a6938137 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord name size
I prefer to set something like this in a \layout context, but you can also do it where you declare your ChordNames staff or even in the middle of the score amongst your notes (size exaggerated here): \layout { \context { \ChordNames \override ChordName #'font-size = #10.5 } } David Bobroff wrote: I would like to alter the size of printed chord names. How do I do that? I'm sure there is some sort of font size alteration to the Chord_name_engnraver or somesuch. Help? -David ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/chord-name-size-tf2481695.html#a6921265 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: parenthesize
If I'm not mistaken I belive parenthesis only applies to notes in chords so to parenthesize a single note make a chord with just one note in it, also it applies to the note after the \parenthesize: \version 2.9.17 \include english.ly \layout { line-width = 80\mm } theMusic = \relative { a \parenthesize b c d } \score { \theMusic } Julian Peterson wrote: I seem to be unable to parenthesize notes using the method explained in the manual. Even this simple example fails: {c d \parenthesize e f g} Am I misunderstanding that the output of the above should include a parenthesized e ? Thanks, Julian Peterson ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/parenthesize-tf2475322.html#a6903649 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Vertical adjustment of \markup
If you put that override in the \layout block on whatever context(s) you want it applied to, then it will and you wont have to see it amongst your music code. Palmer, Ralph wrote: Thanks, Trevor. Will \override (as opposed to \once \override) give all subsequent TextSpanner entries the same staff-padding? or the same edge-text setting, for that matter? Ralph -Original Message- From: Trevor Daniels [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 17, 2006 11:06 AM To: Palmer, Ralph; lilypond-user@gnu.org Subject: RE: Vertical adjustment of \markup Hi Ralph This should do what you want: Insert \override TextSpanner #'staff-padding = #9 Change the '9' to give the height you want Trevor -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Palmer, Ralph Sent: 17 October 2006 12:40 To: lilypond-user@gnu.org Subject: Vertical adjustment of \markup Greetings, I'm running Lilypond 2.8.4.1 on WinXP SP2. In the following snippet, I'd like to move rit upward. In the score the snippet comes from, the rit almost collides with a c''' notehead. I've tried \pad-markup, but Lilypond choked - tried to compile forever. I suspect I'm formating the section incorrectly, but I can't figure out the correct format. snippet: \version 2.8.4.1 \include english.ly Music = { \clef treble \key c \major \time 3/4 \override TextSpanner #'edge-text = #(cons (markup #:italic rit ) ) d''16\startTextSpan c''' e'' a'' c''' e'' | b''16 ds'' fs'' b'' f'' b''\stopTextSpan } \score { \Music } Thanks again for your help, Ralph + Ralph Palmer Energy/Administrative Coordinator Keene State College Keene, NH 03435-2502 Phone: 603-358-2230 Cell: 603-209-2903 Fax: 603-358-2456 [EMAIL PROTECTED] ___ 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 -- View this message in context: http://www.nabble.com/Vertical-adjustment-of-%5Cmarkup-tf2458894.html#a6861575 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Another sponsorship, hopefully can be done cheaply?
How much would this cost to sponsor? I've tried to describe it as best I could below, and provided a sample of what the proposed source code might look like and a description of what the output would be, please let me know if there is any confusion about what I'm describing: Begin: % PROPOSED SAMPLE SOURCE CODE BEGIN twoWays = \transpose c c' { % C7b5 gf\6 e' bf' c1 % FMaj7 f'\4 c' e a1 } \new FretBoards \twoWays \new Voice \twoWays % PROPOSED SAMPLE SOURCE CODE END The above source code example would generate a PDF with normal staff of whole note chords and the following fretboards painted above it in the newly proposed FretBoards context: \markup \fret-diagram-terse #2;x;2;3;1;x; \markup \fret-diagram-terse #x;x;3;5;5;5; Note that the new FretBoards context ascertained the fret markup by mapping the octivised notes in the chords specified, to an array of the fretboard with a certain tuning and number of strings. Additionally it windowed into that array based on a maximum-stretch of 5 frets, meaning that it will only search for frets that give the desired note within that stretch range. (most guitar chords do not exceed a 5 fret stretch so that is a good default). It would move up the strings and drop a dot onto whatever frets produce the desired notes (after transpose). Other Method and Specification notes: 0) A new context will be developed called FretBoards, it will generate fretboards based upon the provided chords. 1) The user would code the notes as chords for their fretted instrument using standard lilypond chord syntax of note note noteduration (including octaves, octive jump behaviour follows lowest note of previous chord just like today) 2) At a minimum the lowest note in each chord will have a string number specified in standard string number notation of: \n where n is the string number. This will indicate to the algorithm where to start looking on the fretboard for the notes of the chord to generate the fret dots. (Note it is important that no more than one string number be required, so that people can re-use their notes without having string numbers printing all over the place) 3) The new fretboards context will generate the fretboard diagrams of the specified chords 4) It will ascertain the fret dots based on a maximum-stretch parameter and tunings parameter.Maximum stretch shall default to 5 frets, this is the window in which the algorithm shall look for the desired notes on the strings within the fret range determined by the on mandatory string number named to generate the dots. 5) Additionally FretBoards will have properties to set tuning, number of strings, number of frets, if unspecified standard guitar tuning (e a d g b e) and 6 strings will take effect. 6) The generated fretboards will only contain dot markers, (most guitarists can figure out intuitively what needs to be barred). Internally the terse fretboards can be used, however neck position should indicate the lowest fret number (in arabic numerals please).So barre indication and finger number indication is BEYOND THE SCOPE OF THIS ENHANCEMENT, (just the dots are good enough).More than one dot on a string should not occur or be allowed. 7) The FretBoards chords will participate in transposition and the generated fret boards will reflect that transpose. 8) NO CHORD NAMES will be generated above the fretboards because any musical chord can theoretically have many different names.Generating chord names above the fretboards is BEYOND THE SCOPE OF THIS ENHANCEMENT, people can use \markup for that.Additionally root names, bass names, or anything theoretical is not being requested, this enhancement is meant to be a simple mapping of lilypond notated chord stacks to a fretboard, so that fretboards can now participate in transpose and be entered by note which is more natural for most musicians. 9) The FretBoards staff will accept \markup attached to the chords specified, this markup will be generated relative/glued to the generated fret diagram 10) A boolean shall be included to suppress adjacent duplicate fretboards, just like duplicate ChordNames can be suppressed today 11) The FretBoards staff additionally will inherit many of the same properties as Lyrics and ChordNames do for positioning, fonts, etc. Thanks Rick -- View this message in context: http://www.nabble.com/Another-sponsorship%2C-hopefully-can-be-done-cheaply--tf2462195.html#a6863919 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: oddHeaderMarkup
You can take over all the titling yourself with the following \paper block and by not setting any of the built in \header properties like title, copyright, etc. (with the exception of tagline = to regain the bottom space). Also use the \fill-line function to spread items left/right. Rick @EXAMPLE BEGIN #(define (inner-page layout props arg) (if (not (or (= (chain-assoc-get 'page:page-number props -1) (ly:output-def-lookup layout 'first-page-number) ) (chain-assoc-get 'page:last? props #f) ) ) (interpret-markup layout props arg) empty-stencil ) ) #(set-default-paper-size letter 'portrait) \paper { paper-height = 11.0\in paper-width = 8.5\in line-width = 7.7\in left-margin = 0.4\in top-margin = 0.25\in bottom-margin = 0.25\in page-top-space = 0.0\in foot-separation = 0.05\in head-separation = 0.0\in after-title-space = 0.0\in between-title-space = 0.0\in horizontal-shift = 0.0\in annotate-spacing = ##f between-system-padding = #1 between-system-space = #30 first-page-number = #1 printfirst-page-number = ##f print-page-number = ##f oddHeaderMarkup = \markup { \on-the-fly #first-page { \fill-line { { \normal-text \sans \normalsize \varArranger } { \override #'(baseline-skip . 3.5) \center-align { { \bold \fontsize #5.0 \varTitle } { \sans \italic \normalsize \bigger \varSubTitle } } } { \normal-text \sans \normalsize \varComposer } } } \on-the-fly #last-page { \on-the-fly #not-single-page { \fill-line { { \center-align { \varTitle (last page) } } } } } \on-the-fly #inner-page { \fill-line { { \center-align { \varTitle (continued) } } } } } evenHeaderMarkup = \markup { \on-the-fly #first-page { \fill-line { { \normal-text \sans \normalsize \varArranger } { \override #'(baseline-skip . 3.5) \center-align { { \bold \fontsize #5.0 \varTitle } { \sans \italic \normalsize \bigger \varSubTitle } } } { \normal-text \sans \normalsize \varComposer } } } \on-the-fly #last-page { \on-the-fly #not-single-page { \fill-line { { \center-align { \varTitle (last page) } } } } } \on-the-fly #inner-page { \fill-line { { \center-align { \varTitle (continued) } } } } } oddFooterMarkup = \markup { \on-the-fly #first-page { \fill-line { { \tiny \sans \varModifiedTimeString } { \teeny \override #'(baseline-skip . 1.75) \center-align { copyright blah blah blah } } { \bold \fromproperty #'page:page-number-string } } } \on-the-fly #last-page { \on-the-fly #not-single-page { \fill-line { { \tiny \sans \varModifiedTimeString } { \bold \fromproperty #'page:page-number-string } } } } \on-the-fly #inner-page { \fill-line { { \tiny \sans \varModifiedTimeString } { \bold \fromproperty #'page:page-number-string } } } } evenFooterMarkup = \markup { \on-the-fly #first-page { \fill-line { { \bold \fromproperty #'page:page-number-string } { \teeny \override #'(baseline-skip . 1.75) \center-align { copyright blah blah blah } } { \tiny \sans \varModifiedTimeString } } } \on-the-fly #last-page { \on-the-fly #not-single-page { \fill-line { { \bold \fromproperty #'page:page-number-string } { \tiny \sans \varModifiedTimeString } } } } \on-the-fly #inner-page { \fill-line { { \bold \fromproperty #'page:page-number-string } { \tiny \sans \varModifiedTimeString } } } } } @EXAMPLE END Ezequiel Sierra wrote: How can i put the oddHeaderMarkup to the right instead of the left and how can i make appear the same oddHeaderMarkup in the second page numeroHimno = 2 \paper { oddHeaderMarkup = \markup { \bold \large \numeroHimno } between-system-space = 0.3\cm head-separation = 0.1\cm } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://www.nabble.com/oddHeaderMarkup-tf2449504.html#a6837154 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org
Re: I would like to buy this enhancement (highly motivated buyer)
Yes, it seems to work great for all my initial tests so far. Han-Wen is very fast. I have already made a word processor document that references several EPS clips from the original score. Now I only have one score to maintain and one document to maintain, and when I change the score the revised clips are automatically reflected in the word processor document (assuming the clip file names were not also changed). Mats Bengtsson-4 wrote: Since Han-Wen already has implemented what Rick requested, the discussion is now obsolete. /Mats Quoting Erik Sandberg [EMAIL PROTECTED]: On Thursday 12 October 2006 18:22, Rick Hansen (aka RickH) wrote: Thanks for the suggestion Mats. My motivation for this is that I am currently writing some lesson material that reference full scores and would like to make a nice word processor document that flows, with illustrations embedded in the text, and the text flows around the illustrations, etc. (an old school typography look with no grids or tables). Something that really looks nice and has an artful use of typography and imbedded illustrations. I found that I needed dozens of music snippets from the original, and was wasting a lot of time massaging my already-completed-just-fine scores to put the excerpted notes into dedicated variables for re-use, tags, skiptypesetting, etc. Times having to do that for all the vertical staffs, lyrics, chord names, across the needed measures, amplified the work. Finally I threw my hands up in frustration and thought of how I would make such a document using just a simple typewriter and xActo knife. In this case, it is not sufficient to just use \tag etc., because if you do, each snippet will be treated as the first system, so time signature etc. will be displayed in each example. One solution for you could be to wrap the .ly code inside a .tely document, and use lilypond-book. Lilypond-book generates one individual .eps for each system, so if you just insert \breaks in the right spots, then it should give you what you want (this way, you will also get page breaks between systems in a natural way). Also, I hope you know about OOoLilypond; if not, please read the ML archives. -- Erik ___ 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 -- View this message in context: http://www.nabble.com/I-would-like-to-buy-this-enhancement-%28highly-motivated-buyer%29-tf2425929.html#a6837324 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
-d option for first-page-number?
A -d option to set the \paper first-page-number property from the command line job would be a real handy thing to have. Many people I assume, like me, often print a score for inclusion into another separate book, or concatenation with a bunch of other PDF files. It would be nice to not have to edit the .ly file just to get the score to start out with the desired page number for that particular usage instance. Can someone add this easily? Also many or all of the \paper properties would be good candidates for -d options, like giving the ability to adjust staff spacing, staff count and paper sizes from the job stream instad of having to edit the .ly files. Just like most word processors give you the ability to print on different sizes of paper without having to modify your original document. -- View this message in context: http://www.nabble.com/-d-option-for-first-page-number--tf2454586.html#a6841415 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Scheme question
I would like to dynamically generate values for the following 3 hard-coded properties based on a rule, and the current default paper size, but I dont know scheme: paper-height = 11.0\in paper-width = 8.5\in line-width = 7.7\in So basically how would I code the above hard coded values to be math expressions based on the following rule: I always want my left and right margins to be .4 inches. So the formula for line with would be (default paper width - .8) The formula for paper-height and paper-width would be whatever the default paper currently is, but I dont know how to set it from those values. I'm trying to make my \paper block code more intelligent so that it automatically resets the line-width and paper-width/height based on whatever I set #set-default-paper-size to. top/bottom margins are ok to be hard-coded as well as most of the other \paper properties whenever I change form sizes. If I can get line-width to set itself based on an expression, I can more easily change form sizes from my job stream using the -d option for paper size and not have to re-edit the ly file. But I dont know scheme. thanks for any help on how to set these properties based on the current default paper size and my .4/in margins rule. Rick -- View this message in context: http://www.nabble.com/Scheme-question-tf2454705.html#a6841804 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user