Re: format source code
Thank you Karl, I'm checking it. But I could take some time, I don't have experience with Perl etc. etc. Ciao, g. On 10 November 2016 at 00:59, wrote: > In http://turkos.aspodata.se/noter/tmp/ I have tidi_midi.pl that might > help you doing a preliminary step. Take below as an example: > > $ midi2ly LottiAminAgnus.mid > LY output to `LottiAminAgnus-midi.ly'... > $ ./tidy_midi.pl LottiAminAgnus-midi.ly > LottiAminAgnus.out.ly > > There is a lot of things that the program doesn't handle, but perhaps > it will help you. > > /// > > I started writing the above program but choose to try to do the > midi -> ly conversion myself. The result is the program miditoly.pl [1]. > (It is not finished either.) > > You might want to try it. Example output in LottiAminAgnus.miditoly.ly: > > $ miditoly.pl LottiAminAgnus.mid > LottiAminAgnus.miditoly.ly > > If you are interested in testing that program, I migh find the > incentive to continue its development. > > Regards, > /Karl Hammar > > [1] http://turkos.aspodata.se/git/musik/bin/miditoly.pl > > --- > Aspö Data > Lilla Aspö 148 > S-742 94 Östhammar > Sweden > +46 173 140 57 > > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: assign "extra" repeat to last alternative
Am 10.11.2016 um 08:53 schrieb Federico Bruni: > Hi > > As it's written in the documentation, "If there are more repeats than > there are alternate endings, the earliest repeats are given the first > alternative". > If I want to change this behaviour I should use manual repeats? Or > there's a smarter way? > > This is what I'd like to achieve: > > \repeat volta 4 { > c1 > } > \alternative { > { d1 } % 1st alternative > { e1 } % 2nd alternative > { f1 } % 3rd and 4th alternatives > } > > Thanks > Federico You will find this in the documentation for version 2.18.2 in chapter 1.4.1 long repeats: Your third and fourth alternative should be something like \set Score.repeatCommands = #'((volta "3, 4") end-repeat) Regards Bernhard -- spitzhalde9 D-79853 lenzkirch bernhard.kle...@gmx.net www.b-kleine.com, www.urseetal.net - thunderbird mit enigmail GPG schlüssel: D5257409 fingerprint: 08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09 signature.asc Description: OpenPGP digital signature ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: format source code
Ciao Karl, I installed ActivePerl (windows pc). "Perl -v " runs correctly and it shows "This is perl 5, version " etc. Now tried to do: C:\Test>perl .\tidy_midi.pl Irish.ly > i.ly and a 0 bytes file length is created. Any hints? Thank you, g. On 10 November 2016 at 09:11, Sirius Barras wrote: > Thank you Karl, > > I'm checking it. But I could take some time, I don't have experience with > Perl etc. etc. > > Ciao, g. > > On 10 November 2016 at 00:59, wrote: > >> In http://turkos.aspodata.se/noter/tmp/ I have tidi_midi.pl that might >> help you doing a preliminary step. Take below as an example: >> >> $ midi2ly LottiAminAgnus.mid >> LY output to `LottiAminAgnus-midi.ly'... >> $ ./tidy_midi.pl LottiAminAgnus-midi.ly > LottiAminAgnus.out.ly >> >> There is a lot of things that the program doesn't handle, but perhaps >> it will help you. >> >> /// >> >> I started writing the above program but choose to try to do the >> midi -> ly conversion myself. The result is the program miditoly.pl [1]. >> (It is not finished either.) >> >> You might want to try it. Example output in LottiAminAgnus.miditoly.ly: >> >> $ miditoly.pl LottiAminAgnus.mid > LottiAminAgnus.miditoly.ly >> >> If you are interested in testing that program, I migh find the >> incentive to continue its development. >> >> Regards, >> /Karl Hammar >> >> [1] http://turkos.aspodata.se/git/musik/bin/miditoly.pl >> >> --- >> Aspö Data >> Lilla Aspö 148 >> S-742 94 Östhammar >> Sweden >> +46 173 140 57 >> >> >> >> ___ >> lilypond-user mailing list >> lilypond-user@gnu.org >> https://lists.gnu.org/mailman/listinfo/lilypond-user >> > > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
LilyPond MusicXML export
Hello Folks, A newbie question : does there exist something simililar to \displayMusic, that would display the structure of \score blocks? This could be a starting point for such an export. And also : has it been considered/studied to perform a two-pass compilation of LP, with the first pass creating some internal form as Scheme data (hence the question above) and the second pass creating the grobs from the latter? Such a separation of concerns could also help I guess, even though it might involve much work. JM ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: assign "extra" repeat to last alternative
Hi Federico, I'm afraid you have to do it manually. See LSR: http://lsr.di.unimi.it/LSR/Item?id=915 Cheers, Pierre 2016-11-10 8:53 GMT+01:00 Federico Bruni : > Hi > > As it's written in the documentation, "If there are more repeats than > there are alternate endings, the earliest repeats are given the first > alternative". > If I want to change this behaviour I should use manual repeats? Or there's > a smarter way? > > This is what I'd like to achieve: > > \repeat volta 4 { > c1 > } > \alternative { > { d1 } % 1st alternative > { e1 } % 2nd alternative > { f1 } % 3rd and 4th alternatives > } > > Thanks > Federico > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: format source code
Sirius Barras: > I installed ActivePerl (windows pc). > "Perl -v " runs correctly and it shows "This is perl 5, version " etc. > > Now tried to do: > > C:\Test>perl .\tidy_midi.pl Irish.ly > i.ly > > > and a 0 bytes file length is created. Any hints? Ohh, I don't have any MS-windows machines, I'll see if I can borrow one and test myself in the evening. Regards, /Karl Hammar --- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sweden +46 173 140 57 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stepping down and moving on
Hi David, Thank you for your hard work et nice helps. My very best wishes for the future. Cheers, Pierre 2016-11-10 8:58 GMT+01:00 Federico Bruni : > Il giorno mer 9 nov 2016 alle 18:09, David Kastrup ha > scritto: > >> Thanks for making me stay in the pond as long as I did! >> > > Thanks to you David for the great work you made for LilyPond! > We'll miss you. > > Best > Federico > > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: format source code
> I installed ActivePerl (windows pc). > "Perl -v " runs correctly and it shows "This is perl 5, version " etc. > > Now tried to do: > > C:\Test>perl .\tidy_midi.pl Irish.ly > i.ly > > > and a 0 bytes file length is created. Any hints? I'm using Strawberry Perl (http://strawberryperl.com/) and have just tried perl .\tidy_midi.pl LottiAminAgnus-midi.ly > LottiAminAgnus.out2.ly Comparing the result with the original LottiAminAgnus.out.ly shows no differences except for line endings. Kind regards, Michael -- Michael Gerdau email: m...@qata.de GPG-keys available on request or at public keyserver ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stepping down and moving on
David, I wish you all the very best for your future endeavours. I thank you most sincerely for your immensely significant and important contribution to making lilypond the exceptional tool for engraving that it is. Having tried myself to study the source code and remaining baffled despite decades of software development experience, I am in awe at your ability to comprehend and extend this complex code base, for the benefit of us all. It will be difficult if not impossible for anybody to fill your shoes. I extend my immense gratitude to you for your tireless pursuit of software excellence. All the best from Down Under! Andrew Bernard On 10 November 2016 at 04:09, David Kastrup wrote: > > Hi folks and team, > > while I haven't really occupied an official function in LilyPond > development, it's hard to deny that I have effectively functioned as > acting chief architect and vetter (with a rather mottled performance). > > Partly in connection with a drop of my productivity particularly this > year, the amount of financial support for my work from members of the > LilyPond community went down from overall survivable to disastrous. Of > course this is bitter for those of you that did contribute in > significant amounts to my subsistence but I have to be moving on. > > I have accepted a full-time development (and team management) position > with another company. Due to their project and team expansion plans, > I will be starting already in December. > > This employment is in another city. I'll be travelling back and forth > weekly for the foreseeable future. While I might be working on some > LilyPond side projects interesting to me occasionally, I will not be > able to do any serious amound of coordination or other activity > involving me with LilyPond's community. > > As my communication style has proven to be a somewhat mixed blessing for > the purpose of attracting long-term developers, I expect that this may > help in the long run for finding a different balance of areas LilyPond > is getting worked on. > > During his tenure as LilyPond leader, Graham has demonstrated that even > without a central technical lead there is a lot of potential to focus > the resources of people willing to work on and expand LilyPond and we > have been continuing to reap the results of his talent for organizing > people into useful teams even though I have not really figured out how > to fill gaps in the various teams and tools managing LilyPond's > infrastructure to offset the "natural" amounts of fluctuation. > > I'll try seeing through the release of 2.20 in the little time remaining > to me both before and after starting my job. My main worry is the > current comparative amount of instability with regard to font handling, > and my main bad taste is that 2.20.1 will not be able to support > Guile 2: there is no way that anything deserving the label of "stable" > and including Guile 2 will come about in the rest of my tenure. > > There are also several half-completed features that are a nuisance. > I do not expect to be able to to a significant amount of work on them in > the foreseeable future. > > Once consequence, of course, is that my requirement for funding is over. > I am greatly thankful to the people who have enabled me to keep working > on LilyPond as long as I did, but what remains in my bank account, in > spite of being quite less than what I started with when working on > LilyPond, is sufficient to tide me over the time to my first paycheck. > > So I would ask you to cancel any regular bank payments you might still > have in place as of December: I don't see that I will have a reasonable > chance at returning a tangible value for them. > > Thanks for making me stay in the pond as long as I did! > > -- > David Kastrup > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stepping down and moving on
On 09/11/16 17:09, David Kastrup wrote: Thanks for making me stay in the pond as long as I did! And thanks, David, for your part in changing the course of my life, for a while at least. It was discovering LilyPond some years ago which reminded me of the compositions I still had around, handwritten in ballpoint. I started experimenting with engraving these old compositions, then started writing more, some of which I have performed to some (very localised) acclaim. I have also used LilyPond to prepare arrangements of music to use with people with cognitive disorders such as Alzheimer's. Since then, I have had to all but give up music again, and move into an altogether different field, but LilyPond's influence may have reached further than either yourself or the other developers realise. Do stay around in any capacity if you can! With very best wishes, -- Hilary ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: format source code
Michael Gerdau: > Sirius Barras: ... > > C:\Test>perl .\tidy_midi.pl Irish.ly > i.ly ... > perl .\tidy_midi.pl LottiAminAgnus-midi.ly > LottiAminAgnus.out2.ly I you are running "perl" as the first thing on the command line, you can omit the ".\" part. Regards, /Karl Hammar --- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sweden +46 173 140 57 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: format source code
Micheal Gerdau: ... > > C:\Test>perl .\tidy_midi.pl Irish.ly > i.ly > > and a 0 bytes file length is created. Any hints? I you send me the file I can have a look to see if I can adjust the program to handle it, or if you send me the midi file I can have a look to see if I can do a converter that makes nicer looking code. > I'm using Strawberry Perl (http://strawberryperl.com/) and have just tried > perl .\tidy_midi.pl LottiAminAgnus-midi.ly > LottiAminAgnus.out2.ly > > Comparing the result with the original LottiAminAgnus.out.ly shows no > differences except for line endings. Thanks for the check. /// To be honest, to do a proper indenter is best done with lilyponds parser etc. parts (I guess). Regards, /Karl Hammar --- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sweden +46 173 140 57 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Adding a barline at the start of a new line
Thanks Malte, That worked just fine! Hans Malte Meyn schreef op 2016-11-09 22:27: > Am 09.11.2016 um 21:50 schrieb hbezemer: > >> I want LP to create a barline at the beginning of every new line, but >> so far I can't find the right way to do so. > > You can use the define-bar-line command. It takes four arguments: > 1. name/default barline > 2. barline at end of line > 3. barline at begin of line > 4. SpanBar (barline between two staves) > > \version "2.18.2" > > #(define-bar-line "|" "|" "|" "|") > #(define-bar-line "||" "||" "||" "||") > > \relative { > \override Staff.Clef.break-visibility = #all-invisible > \override Staff.KeySignature.break-visibility = #all-invisible > \key g \major > c'1 c c c \bar "|" \break > c c c c \bar "||" \break > c c c c > } > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Multiple optional arguments
Hi all, I would like to have two optional arguments in a music function. My current approach fails, and I don't know if I'm doing anything wrong or if I'm trying the wrong thing in the first place. I have created an interface with two optional and one mandatory argument. I thought that this should work as long as they differ in type. However, it only works properly when both arguments are missing or if the second arg is missing (and of course if all are provided). However, when the first one is missing the function raises a syntax error. Is this because LilyPond can't properly discern the two types or is it generally impossible to use two such optional arguments in sequence? And if the latter, how can I achieve the effect otherwise? What I want is that the function uses a global variable but sets it to a new value before in the case one is provided by the user. Thanks Urs %% \version "2.19.50" test = #(define-void-function (fund dur ratio) ((ly:pitch?) (ly:duration?) fraction?) (if (ly:pitch? fund) (format "Pitch found: ~a" fund)) (display fund)(newline) (display dur)(newline) (display ratio)(newline)) % regular invocation \test b, 4 3/2 % both optional args missing (works) \test 4/3 % second optional arg missing (works) \test b, 5/4 % first optional arg missing (syntax error: unexpected FRACTION) \test 2 6/5 %% ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Multiple optional arguments
On Thu, 2016-11-10 at 12:43 +0100, Urs Liska wrote: > Hi all, > > I would like to have two optional arguments in a music function. My > current approach fails, and I don't know if I'm doing anything wrong or > if I'm trying the wrong thing in the first place. > > I have created an interface with two optional and one mandatory > argument. I thought that this should work as long as they differ in > type. However, it only works properly when both arguments are missing or > if the second arg is missing (and of course if all are provided). > However, when the first one is missing the function raises a syntax error. I think what you need to do is to make the type test for the first one to be something like (lambda (a) (or (type1? a) (type2? a))) and then check which type you actually got inside the function body. Richard > > Is this because LilyPond can't properly discern the two types or is it > generally impossible to use two such optional arguments in sequence? And > if the latter, how can I achieve the effect otherwise? What I want is > that the function uses a global variable but sets it to a new value > before in the case one is provided by the user. > > Thanks > Urs > > %% > > \version "2.19.50" > > test = > #(define-void-function (fund dur ratio) >((ly:pitch?) (ly:duration?) fraction?) >(if (ly:pitch? fund) >(format "Pitch found: ~a" fund)) >(display fund)(newline) >(display dur)(newline) >(display ratio)(newline)) > > > % regular invocation > \test b, 4 3/2 > > % both optional args missing (works) > \test 4/3 > > % second optional arg missing (works) > \test b, 5/4 > > % first optional arg missing (syntax error: unexpected FRACTION) > \test 2 6/5 > > %% > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stepping down and moving on
Dear David, Congratulations on the new position! I hope it brings you great personal satisfaction and financial security. Your programming and code-shepherding efforts in the ‘Pond have been nearly miraculous, and the codebase is immeasurably better for you having been on the team. Thank you so much for everything you did to make Lilypond better for everyone, users and developers alike. Sincerely, Kieren. Kieren MacMillan, composer ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Multiple optional arguments
Urs Liska writes: > Hi all, > > I would like to have two optional arguments in a music function. My > current approach fails, and I don't know if I'm doing anything wrong or > if I'm trying the wrong thing in the first place. When all else fails, read the manual, in this case the extension guide. 2.2.2 Scheme function usage --- Scheme functions can be called pretty much anywhere where a Scheme expression starting with ‘#’ can be written. You call a scheme function from LilyPond by writing its name preceded by ‘\’, followed by its arguments. Once an optional argument predicate does not match an argument, LilyPond skips this and all following optional arguments, replacing them with their specified default, and ‘backs up’ the argument that did not match to the place of the next mandatory argument. Since the backed up argument needs to go somewhere, optional arguments are not actually considered optional unless followed by a mandatory argument. [...] -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stepping down and moving on
+1 many times over. Thank you for your excellent, creative, and vital work in helping LilyPond become the world’s best and most stable digital music engraver. Best of luck! ~Mike On 10 November 2016 at 13.23.24, Kieren MacMillan (kieren_macmil...@sympatico.ca) wrote: Dear David, Congratulations on the new position! I hope it brings you great personal satisfaction and financial security. Your programming and code-shepherding efforts in the ‘Pond have been nearly miraculous, and the codebase is immeasurably better for you having been on the team. Thank you so much for everything you did to make Lilypond better for everyone, users and developers alike. Sincerely, Kieren. Kieren MacMillan, composer ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: format source code
Here it is the midi and the violin part I extracted. I would like to better format the violin part (that I already extracted) and also to extract the piano part. Let me know what you're able to do :) and thank you anyway for your help and interest. Ciao, Gianmaria On 10 November 2016 at 11:59, wrote: > Micheal Gerdau: > ... > > > C:\Test>perl .\tidy_midi.pl Irish.ly > i.ly > > > and a 0 bytes file length is created. Any hints? > > I you send me the file I can have a look to see if I can adjust the > program to handle it, or if you send me the midi file I can have a look > to see if I can do a converter that makes nicer looking code. > > > I'm using Strawberry Perl (http://strawberryperl.com/) and have just > tried > > perl .\tidy_midi.pl LottiAminAgnus-midi.ly > LottiAminAgnus.out2.ly > > > > Comparing the result with the original LottiAminAgnus.out.ly shows no > > differences except for line endings. > > Thanks for the check. > > /// > > To be honest, to do a proper indenter is best done with lilyponds > parser etc. parts (I guess). > > Regards, > /Karl Hammar > > --- > Aspö Data > Lilla Aspö 148 > S-742 94 Östhammar > Sweden > +46 173 140 57 > > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > irish_jig_medley.mid Description: MIDI audio %mettere i segni delle ripetizioni e le dinamiche \version "2.19.49" \include "articulate.ly" \header { title = "The Irish Washerwoman" } violin = { \time 6/8 \tempo "Moderato" 4. = 120 \key g \major \partial 8 d''16\downbow c'' b'8 g' g' d' g'8 g' b'8 g' b' d'' c'' b'8 c''8 a' a' e' a' a'8 c''8 b' c'' e'' d''8 c'' b'8 g' g' d' g' g'8 b'8 g' b' d'' c'' b'8 c''8 b' c'' a' d''8 c'' \partial 8*5 b'8 [g' g'] g'4\upbow \break \partial 8 g''8\upbow g''8 d'' g'' g'' d''8 g'' g''8 d'' g'' b'' a''8 g'' fis''8 d'' fis'' fis'' d''8 fis'' fis''8 d'' fis'' a'' g''8 fis'' e''8 g'' g'' d'' g''8 g'' c''8 g'' g'' b' g''8 g'' c''8 b' c'' a' d''8 c'' \partial 8*5 b'8 [g' g'] g'4\upbow \break \partial 8 e'16\downbow fis' g'8 e' e' b' e' e'8g' e' e' b' a' g'8fis' d' d' a' d' d'8d'' cis'' d'' a' g'8 fis'g' e' e' b' e' e'8g' e' g' b'4-- (cis''8)-.\upbow -.d''8 cis'' d'' a' g'8 fis' \partial 8*5 g'8 [e' e'] e'4 \break \partial 8 b'8\upbow b'8 cis'' dis'' e''4 (fis''8) e''4 (fis''8) e'' d'' b'8b' cis'' dis'' e''4 (fis''8) e'' d'' b' (d''4.)b'8 cis'' dis'' e''4 (fis''8)e''4 (fis''8) e'' d'' b'8d'' cis'' d'' a' g'8 fis' \partial 8*5 g'8 [e' e'] e'4 \break \partial 8 e''8 \key a \major a''8 (gis'' a'') fis'' (a''8 fis'')e'' cis'' a' b' a' fis'8e' (a') a' gis' (b') b'8a' (cis'') cis'' b'4 e''8 a''8 (gis'' a'') b'' (a''8 fis'')e'' cis'' a' b' a' fis'8e' (a') a' gis' (b') b'8 \partial 8*5 cis''8 ([a') a'] a'4 \break \partial 8 e''8 fis''8 (e'') e'' a'' (e''8) e''fis'' (e'') e'' a'' (e''8) e''fis'' (e'') e'' a'' gis''8 fis''e'' d'' cis'' b'4 e''8a'' (gis'' a'') b'' (a''8 fis'')e'' cis'' a' b' a' fis'8 e' (a') a' gis' (b') b' \partial 8*5 cis'' ([a') a'] a'4 \bar "|." } \score { \violin \layout {} } \score { \new Staff = "violin" \with { midiInstrument = "violin"} { \violin } \midi {} } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: format source code
Hi Gianmaria, > Here it is the midi and the violin part I extracted. > > I would like to better format the violin part (that I already extracted) > and also to extract the piano part. > > Let me know what you're able to do :) and thank you anyway for your > help and interest. the ly file you provide had not been created by midi2ly.py (lilypond's MIDI to ly converter) However Karl's Perl script is working specifically with files created by midi2ly.py, not with ly files in general. Find attached your midi files converted by midi2ly.py and after that with tiny_midi.pl Kind regards, Michael -- Michael Gerdau email: m...@qata.de GPG-keys available on request or at public keyserver% Lily was here -- automatically converted by C:\Program Files (x86)\LilyPond\usr\bin\midi2ly.py from C:/Users/mhgr/Documents/lilypond/midi2ly/irish_jig_medley.mid \version "2.19.49" \layout { \context { \Voice \remove "Note_heads_engraver" \consists "Completion_heads_engraver" \remove "Rest_engraver" \consists "Completion_rest_engraver" } } trackAchannelA = { \key g \major \time 6/8 \key g \major \tempo 4 = 180 \skip 8*5 \key g \major \tempo 4 = 100 \tempo 4 = 180 \skip 1*6 \tempo 4 = 100 \tempo 4 = 180 \skip 8*337 \key a \major \skip 1*6 \key a \major \skip 2 \key g \major } trackA = << \context Voice = voiceA \trackAchannelA >> trackBchannelA = { \skip 8*5 \set Staff.instrumentName = "Violin" } trackBchannelB = \relative c { \voiceOne r8*5 d''16 c | % 2 b8 g g d g g | % 3 b g b d c b | % 4 c a a e a a | % 5 c b c e d c | % 6 b g g d g g | % 7 b g b d c b | % 8 c b c a d c | % 9 b g g g4 d'16 c | % 10 b8 g g d g g | % 11 b g b d c b | % 12 c a a e a a | % 13 c b c e d c | % 14 b g g d g g | % 15 b g b d c b | % 16 c b c a d c | % 17 b g g g4 g'8 | % 18 g d g g d g | % 19 g d g b a g | % 20 fis d fis fis d fis | % 21 fis d fis a g fis | % 22 e g g d g g | % 23 c, g' g b, g' g | % 24 c, b c a d c | % 25 b g g g4 r8 | % 26 g' d g g g | % 27 g d g b a g | % 28 fis d fis fis d fis | % 29 fis d fis a g fis | % 30 e g g d g g | % 31 c, g' g b, g' g | % 32 c, b c a d c | % 33 b g g g4 e16 fis | % 34 g8 e e b' e, e | % 35 g e e b' a g | % 36 fis d d a' d, d | % 37 d' cis d a g fis | % 38 g e e b' e, e | % 39 g e g b4*225/256 r4*31/256 cis4*45/256 r4*83/256 | % 40 d8 cis d a g fis | % 41 g e e e4 r8 | % 42 g e e b' e,16 fis e8 | % 43 g e e b' a g | % 44 fis d d a' d, d | % 45 d' cis d a g fis | % 46 g e e b' e, e | % 47 g e g b4*225/256 r4*31/256 cis4*45/256 r4*83/256 | % 48 d8 cis d a g fis | % 49 g e e e4 b'8 | % 50 b cis dis e4 fis4*102/256 r4*26/256 | % 51 e4 fis4*102/256 r4*26/256 e8 d b | % 52 b cis dis e4 fis4*102/256 r4*26/256 | % 53 e8 d b d4. | % 54 b8 cis dis e4 fis4*102/256 r4*26/256 | % 55 e4 fis4*102/256 r4*26/256 e8 d b | % 56 d cis d a g fis | % 57 g e e e4 r8 | % 58 b' cis dis e4 fis4*102/256 r4*26/256 | % 59 e4 fis4*102/256 r4*26/256 e8 d b | % 60 b cis dis e4 fis4*102/256 r4*26/256 | % 61 e8 d b d4. | % 62 b8 cis dis e4 fis4*102/256 r4*26/256 | % 63 e4 fis4*102/256 r4*26/256 e8 d b | % 64 d cis d a g fis | % 65 g e e e4 e'8 | % 66 a gis a4*102/256 r4*26/256 fis8 a fis4*102/256 r4*26/256 | % 67 e8 cis a b a fis | % 68 e a4*102/256 r4*26/256 a8 gis b4*102/256 r4*26/256 b8 | % 69 a cis4*102/256 r4*26/256 cis8 b4 e8 | % 70 a gis a4*102/256 r4*26/256 b8 a fis4*102/256 r4*26/256 | % 71 e8 cis a b a fis | % 72 e a4*102/256 r4*26/256 a8 gis b4*102/256 r4*26/256 b8 | % 73 cis a4*102/256 r4*26/256 a8 a4 r8 | % 74 a' gis a4*102/256 r4*26/256 fis8 fis4*102/256 r4*26/256 | % 75 e8 cis a b a fis | % 76 e a4*102/256 r4*26/256 a8 gis b4*102/256 r4*26/256 b8 | % 77 a cis4*102/256 r4*26/256 cis8 b4 e8 | % 78 a gis a4*102/256 r4*26/256 b8 a fis4*102/256 r4*26/256 | % 79 e8 cis a b a fis | % 80 e a4*102/256 r4*26/256 a8 gis b4*102/256 r4*26/256 b8 | % 81 cis a4*102/256 r4*26/256 a8 a4 e'8 | % 82 fis e4*102/256 r4*26/256 e8 a e4*102/256 r4*26/256 e8 | % 83 fis e4*102/256 r4*26/256 e8 a e4*102/256 r4*26/256 e8 | % 84 fis e4*102/256 r4*26/256 e8 a gis fis | % 85 e d cis b4 e8 | % 86 a gis a4*102/256 r4*26/256 b8 a fis4*102/256 r4*26/256 | % 87 e8 cis a b a fis | % 88 e a4*102/256 r4*26/256 a8 gis b4*102/256 r4*26/256 b8 | % 89 cis a4*102/256 r4*26/256 a8 a4 } trackBchannelBvoiceB = \relative c { \voiceTwo r4*173 b''8 } trackB = << \context Voice = voiceA \trackBchannelA \context Voice = voiceB \trackBchannelB \context Voice = voiceC \trackBchannelBvoiceB >> trackCchannelA = { \skip 8*5 \set Staff.instrumentName = "Piano" } trackCchannelB = \relative c { \voiceThree r2. |
Re: Stepping down and moving on
2016-11-10 11:46 GMT+01:00 Andrew Bernard : > David, > > I wish you all the very best for your future endeavours. I thank you most > sincerely for your immensely significant and important contribution to > making lilypond the exceptional tool for engraving that it is. Having tried > myself to study the source code and remaining baffled despite decades of > software development experience, I am in awe at your ability to comprehend > and extend this complex code base, for the benefit of us all. It will be > difficult if not impossible for anybody to fill your shoes. I extend my > immense gratitude to you for your tireless pursuit of software excellence. > > All the best from Down Under! > > Andrew Bernard ... and all the same from me, Pal ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stepping down and moving on
Hi David, Congratulations on your new position! Let me echo everyone in thanking you for all your invaluable work on LilyPond. Needless to say, it is in much better shape today because of your efforts and skills. We will miss you as a full-time contributor (and also your humorous asides and metaphors) but hope you will continue to contribute as you are able. All my best, -Paul On 11/09/2016 12:09 PM, David Kastrup wrote: Hi folks and team, while I haven't really occupied an official function in LilyPond development, it's hard to deny that I have effectively functioned as acting chief architect and vetter (with a rather mottled performance). Partly in connection with a drop of my productivity particularly this year, the amount of financial support for my work from members of the LilyPond community went down from overall survivable to disastrous. Of course this is bitter for those of you that did contribute in significant amounts to my subsistence but I have to be moving on. I have accepted a full-time development (and team management) position with another company. Due to their project and team expansion plans, I will be starting already in December. This employment is in another city. I'll be travelling back and forth weekly for the foreseeable future. While I might be working on some LilyPond side projects interesting to me occasionally, I will not be able to do any serious amound of coordination or other activity involving me with LilyPond's community. As my communication style has proven to be a somewhat mixed blessing for the purpose of attracting long-term developers, I expect that this may help in the long run for finding a different balance of areas LilyPond is getting worked on. During his tenure as LilyPond leader, Graham has demonstrated that even without a central technical lead there is a lot of potential to focus the resources of people willing to work on and expand LilyPond and we have been continuing to reap the results of his talent for organizing people into useful teams even though I have not really figured out how to fill gaps in the various teams and tools managing LilyPond's infrastructure to offset the "natural" amounts of fluctuation. I'll try seeing through the release of 2.20 in the little time remaining to me both before and after starting my job. My main worry is the current comparative amount of instability with regard to font handling, and my main bad taste is that 2.20.1 will not be able to support Guile 2: there is no way that anything deserving the label of "stable" and including Guile 2 will come about in the rest of my tenure. There are also several half-completed features that are a nuisance. I do not expect to be able to to a significant amount of work on them in the foreseeable future. Once consequence, of course, is that my requirement for funding is over. I am greatly thankful to the people who have enabled me to keep working on LilyPond as long as I did, but what remains in my bank account, in spite of being quite less than what I started with when working on LilyPond, is sufficient to tide me over the time to my first paycheck. So I would ask you to cancel any regular bank payments you might still have in place as of December: I don't see that I will have a reasonable chance at returning a tangible value for them. Thanks for making me stay in the pond as long as I did! ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Alignment of instrument names
On 10.11.2016 15:28, Francesco Napoleoni wrote: (how) can I get instrument names at the start of staves automatically aligned to the internal page margin? Unfortunately you can’t. There already is a request for that feature in our issue tracker, but it hasn’t been implemented yet. The code (minimal, I hope) Not quite minimal. Minimal would be \version "2.19.49" \new Staff \with { instrumentName = "Violoncello e Contrabbasso" } { 1 } You do have to find an appropriate indent value by trial and error. However, you /can/ override instrument names’ self-alignment, if you like: \version "2.19.49" << \new Staff \with { instrumentName = "Flauti" } { 1 } \new Staff \with { instrumentName = "Violoncello e Contrabbasso" } { 1 } >> \layout { \context { \Staff \override InstrumentName.self-alignment-X = #LEFT } indent = 50 } %% Ultimately, I’d certainly advise you to use instrumentName = \markup { \center-column { "Violoncello e" "Contrabbasso" } } or something similar, to avoid the need for such a huge indent. Best, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Alignment of instrument names
On 2016-11-10 16:34, Simon Albrecht wrote: On 10.11.2016 15:28, Francesco Napoleoni wrote: (how) can I get instrument names at the start of staves automatically aligned to the internal page margin? Unfortunately you can’t. There already is a request for that feature in our issue tracker, but it hasn’t been implemented yet. Hm. Shouldn't it be possible to work around this restriction with something in the line of: \version "2.19.49" \paper { indent = #(let* ((layout '()) ;; <=== How to get the default layout here?! (text-props (ly:output-def-lookup layout 'text-font-defaults)) (stil (ly:text-interface::interpret-markup layout text-props (markup "Supercalifragilisticexpialidocious"))) (xext (ly:stencil-extent stil X)) (width (- (cdr xext) (car xext width) } \new Staff \with { instrumentName = "Supercalifragilisticexpialidocious" } { c'1 \break c'1 } The goal being to adjust the indent to fit the largest instrumentName (manually selected and entered before any content is inserted). The above code will not work, though, because I don't know how to get some layout object at this point... Any hints? Cheers, Alexander ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stepping down and moving on
David Kastrup wrote > Hi folks and team, > > while I haven't really occupied an official function in LilyPond > development, it's hard to deny that I have effectively functioned as > acting chief architect and vetter (with a rather mottled performance). > > Partly in connection with a drop of my productivity particularly this > year, the amount of financial support for my work from members of the > LilyPond community went down from overall survivable to disastrous. Of > course this is bitter for those of you that did contribute in > significant amounts to my subsistence but I have to be moving on. > > I have accepted a full-time development (and team management) position > with another company. Due to their project and team expansion plans, > I will be starting already in December. > > > Thanks for making me stay in the pond as long as I did! > > -- > David Kastrup Congratulations on your new position David, I hope you are very happy in the job! Thank you so much for everything you've done to make LilyPond what it is today. Sincerely, Ben - composer | sound designer LilyPond Tutorials (for beginners) --> http://bit.ly/bcl-lilypond -- View this message in context: http://lilypond.1069038.n5.nabble.com/Stepping-down-and-moving-on-tp196394p196457.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: barNumberCheck with repeats
Robert, you wrote Wednesday, November 09, 2016 9:49 AM >> \set Score.ignoreBarChecks = ##t > > Ah, great - thanks David! > > I guess, a mention of this in the sections "Repeats in MIDI" would be a > good idea - I'd be happy to do that, if the Doc-people let me know, how > I can do that. Well, there's the long and the short answer. The short answer is simply send your proposed plain text to the bug-list (that's and someone will pick it up, vet it, add any necessary formatting and guide it through the updating procedure. The long answer (that's 'long' in the sense of more work for you, but also more rewarding!) is to read the section on doc work in the Contributors' Guide: http://lilypond.org/doc/v2.19/Documentation/contributor/documentation-work and work from there. You'll get plenty of help, should you need it. Trevor ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stepping down and moving on
Dear David, I have nothing to add to what others have written here. But I want to repeat it from my side: Thank you so much for your work on LilyPond! Thank you for new functionality, for cleaner code, for easier input syntax, for leading discussions with insightful contributions and LilyPond facts and for the help for so many on this list! I was kind of shocked when I read the mail subject from your address. But I am convinced that it is a good decision for your finances and your future - I feared it would happen earlier. I wish you a good start in your new position. Hopefully, we will see you from time to time on these lists. Cordially, Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
"Re: Stepping down and moving on"
> On 11/09/2016 12:09 PM, David Kastrup wrote: > >> >> As my communication style has proven to be a somewhat mixed blessing for >> the purpose of attracting long-term developers, I expect that this may >> help in the long run for finding a different balance of areas LilyPond >> is getting worked on. >> > Sure, we've gotten into polemical tiffs from time to time, but it has always been clear that you are motivated by good intentions and that you invest substantial consideration in what you say, and possess substantial knowledgeable in the realms of both code and art. Which we can't get enough of. > Thanks for making me stay in the pond as long as I did! >> > Even though I really don't understand most of what you've done, I do understand that is essential support for a technology very dear to me, and for that you have my thanks. Best of luck, David Elaine Alt 415 . 341 .4954 "*Confusion is highly underrated*" ela...@flaminghakama.com self-immolation.info skype: flaming_hakama Producer ~ Composer ~ Instrumentalist -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Dynamically outputting \books
Hi, I am trying to create a procedure to create rehearsal midi files for each voice of a choir piece. In order to do that I need to be able to dynamically create \book blocks (one for each voice). Is that possible? I have tried to have a music function output it like: rehearsalMidi = #(define-music-function (parser location) () #{ \book { .. } #}) but that gives me an error: music function cannot return # Is there some way to dynamically create book blocks? Thanks, Morten ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Dynamically outputting \books
Morten Lemvigh writes: > Hi, > > I am trying to create a procedure to create rehearsal midi files for each > voice of a choir piece. In order to do that I need to be able to > dynamically create \book blocks (one for each voice). Is that possible? I > have tried to have a music function output it like: > > rehearsalMidi = > #(define-music-function > (parser location) > () > #{ \book { .. } #}) > > but that gives me an error: > > music function cannot return # > > Is there some way to dynamically create book blocks? Use define-scheme-function instead? Not sure which LilyPond version is required to actually have the books interpreted correctly when encountered in the main text. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Dynamically outputting \books
Am 10. November 2016 20:36:11 MEZ, schrieb Morten Lemvigh : >Hi, > >I am trying to create a procedure to create rehearsal midi files for >each >voice of a choir piece. In order to do that I need to be able to >dynamically create \book blocks (one for each voice). Is that possible? >I >have tried to have a music function output it like: > >rehearsalMidi = >#(define-music-function > (parser location) > () >#{ \book { .. } #}) > >but that gives me an error: > >music function cannot return # > >Is there some way to dynamically create book blocks? I think https://git.openlilylib.org/bfsc/kayser/blob/karlsruhe/includes/lib/engrave.ily does what you need, but I'm not sure if it's easily understandable (although I think or well commented), especially without the code of the other included files. HTH Urs > >Thanks, >Morten > > > > >___ >lilypond-user mailing list >lilypond-user@gnu.org >https://lists.gnu.org/mailman/listinfo/lilypond-user -- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: format source code
> > the ly file you provide had not been created by midi2ly.py (lilypond's > MIDI to > ly converter) > However Karl's Perl script is working specifically with files created by > midi2ly.py, not with ly files in general. > ahhh My apologies, you're totally right, I completely forgot it! Thanks a lot for the conversion, it's a very good starting point!!! g. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Dynamically outputting \books
On 2016-11-10 12:36 PM, Morten Lemvigh wrote: Hi, I am trying to create a procedure to create rehearsal midi files for each voice of a choir piece. In order to do that I need to be able to dynamically create \book blocks (one for each voice). Is that possible? I have tried to have a music function output it like: rehearsalMidi = #(define-music-function (parser location) () #{ \book { .. } #}) but that gives me an error: music function cannot return # Is there some way to dynamically create book blocks? Have you tried Frescobaldi's score wizard or template facilities? I use them frequently for your specific purpose, giving me voice tracks with the track voice highlighted and the others at a lower dynamic. I have also used the various MIDI properties such as pan position to isolate a voice on the left, e.g., with the remainder on the right. Cheers, Colin -- Dread success. To have succeeded is to have finished one's business on earth, like the male spider, who is killed by the female the moment he has succeeded in his courtship. I like a state of continual becoming, with a goal in front and not behind. -- George Bernard Shaw ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stepping down and moving on
David, thank you for all your work and good luck with the new job! Can you share the name of the company and what you will be working on? All the best, Janek 2016-11-09 9:09 GMT-08:00 David Kastrup : > > Hi folks and team, > > while I haven't really occupied an official function in LilyPond > development, it's hard to deny that I have effectively functioned as > acting chief architect and vetter (with a rather mottled performance). > > Partly in connection with a drop of my productivity particularly this > year, the amount of financial support for my work from members of the > LilyPond community went down from overall survivable to disastrous. Of > course this is bitter for those of you that did contribute in > significant amounts to my subsistence but I have to be moving on. > > I have accepted a full-time development (and team management) position > with another company. Due to their project and team expansion plans, > I will be starting already in December. > > This employment is in another city. I'll be travelling back and forth > weekly for the foreseeable future. While I might be working on some > LilyPond side projects interesting to me occasionally, I will not be > able to do any serious amound of coordination or other activity > involving me with LilyPond's community. > > As my communication style has proven to be a somewhat mixed blessing for > the purpose of attracting long-term developers, I expect that this may > help in the long run for finding a different balance of areas LilyPond > is getting worked on. > > During his tenure as LilyPond leader, Graham has demonstrated that even > without a central technical lead there is a lot of potential to focus > the resources of people willing to work on and expand LilyPond and we > have been continuing to reap the results of his talent for organizing > people into useful teams even though I have not really figured out how > to fill gaps in the various teams and tools managing LilyPond's > infrastructure to offset the "natural" amounts of fluctuation. > > I'll try seeing through the release of 2.20 in the little time remaining > to me both before and after starting my job. My main worry is the > current comparative amount of instability with regard to font handling, > and my main bad taste is that 2.20.1 will not be able to support > Guile 2: there is no way that anything deserving the label of "stable" > and including Guile 2 will come about in the rest of my tenure. > > There are also several half-completed features that are a nuisance. > I do not expect to be able to to a significant amount of work on them in > the foreseeable future. > > Once consequence, of course, is that my requirement for funding is over. > I am greatly thankful to the people who have enabled me to keep working > on LilyPond as long as I did, but what remains in my bank account, in > spite of being quite less than what I started with when working on > LilyPond, is sufficient to tide me over the time to my first paycheck. > > So I would ask you to cancel any regular bank payments you might still > have in place as of December: I don't see that I will have a reasonable > chance at returning a tangible value for them. > > Thanks for making me stay in the pond as long as I did! > > -- > David Kastrup > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Ties over multiple chords
Hello, I don't know how to explain in proper terms what I want to achieve, but I hope that it will be clear from the example below (I would be grateful for a proper English term for this as well :). I wrote the same thing twice. The second alternative works, but looks ugly to me. I would like to use the first alternative (which is a bit of cheating), but ties don't work properly there, most likely lilypond has problems interpreting where the tie should point to. Is there any better workaround? \version "2.19.30" \language "deutsch" melody = \fixed c' { \time 2/4 \key b \major % first alternative: this doesn't work << {f'2~} {s8 d'4.~} {s4 b4~} {s4. g8} >> | 4. r8 | << {f'2~} {s8 es'4.~} {s4 a4~} {s4. g8} >> | 4. r8 | % second alternative: this works f'8~ 8~ 8~ 8~ | 4. r8 | f'8~ 8~ ~ 8~ | 4. r8 | } \new PianoStaff << \new Voice = "melody" { \melody } >> (I could cheat with slurs, but I have no clue how to use them in this example.) Thank you, Mojca (please CC me) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user