Windows 10 causing confusion
Has anyone else suffered from strange changes recently simple things like the new and annoying way that File Explorer now works. Other curious artefacts such as when printing from Fresco any .eps graphic appears upside down but the same pdf file printed directly has the .eps the correct way up. I'm sure these effects are windows related and nothing really to do with Lily or Fresco they just annoy an 80 year old intensely. Lily as ever is brilliant. Regards Peter
Re: Remote Ensemble Playing
Thanks for the responses. My current conclusion is that there are inherent technical issues that are insurmountable. If there was a good solution it would be visible on the web. My way forward is to record and distribute various pieces using midi or YouTube downloads (if available) so that members can practice and be perfect when we can meet up again. Keep safe everyone. Regards Peter
Remote Ensemble Playing
I appreciate this is off topic but in these times of social isolation does anyone have any tips. Clearly latency is the main issue - I wonder could this be reduced by say hosting a Zoom meeting on a private router - maybe only one video for a conductor. Experience suggests that a latency of 25ms is not low enough. Regards Peter
RE: [SPAM] Re: Score Wizard Fresco 3.1
On 02.01.20 13:19, Peter Gentry wrote: > Date: Wed, 1 Jan 2020 17:31:10 -0700 (MST) > From: Michael Rivers > > The score wizard does nothing for me in Frescobaldi 3.1 (Windows > version). I uninstalled it and reinstalled the old version, whose > score wizard works fine. > > If you mean the \score{...} option in Snippets then it works fine for me. That’s not the score wizard. Best, Simon -- I thought not - found it now (I never use it) : all the other selections work but not the "wizard". You learn something new every day but that displaces something you knew the day before..
RE: Score Wizard Fresco 3.1
Date: Wed, 1 Jan 2020 17:31:10 -0700 (MST) From: Michael Rivers The score wizard does nothing for me in Frescobaldi 3.1 (Windows version). I uninstalled it and reinstalled the old version, whose score wizard works fine. If you mean the \score{...} option in Snippets then it works fine for me. I haven't found anything that doesn't work yet. The 3.1 team have done a brilliant job.
Frescobaldi Windows10
A huge thank you to everyone involved. Installation without any hiccups and so far all the old "bugs" have been sorted. Thanks again a very good job . Regards Peter
Python and Visual Studio
It seems there is a way to switch between 3.7 and 2.7 BUT it is complex and opaque. It needs careful downloading of Python 3.7 and some other mysterious messing with "Shebangs" whatever they are and using strange characters such as Greek "lambda" (not on my keyboards). It would seem the game is not worth the candle so 3.7 is in the dustbin and all back to normal. It is a shame though that 3.7 and Lilypond cannot co-exist easily on Windows 10 at any rate. Regards Peter
More convert-ly tribulations
Thinking I would learn more about python I installed Visual Studio. Now when I try and run the batch file I get SyntaxError: Missing parentheses in call to 'print'. Did you mean print(log[0])? Traceback (most recent call last): File "C:\Program Files (x86)\LilyPond\usr\bin\convert-ly.py", line 52, in import lilylib as ly File "C:\Program Files (x86)\LilyPond\usr\share\lilypond\current\python\lilylib.py", line 238 print log[0] repeated for every file "updated" Visual Studio has replaced my python app setting with a series of its own. Is it at all possible to have visual studio and Lily Python on the same machine. I will try and alter my file type but it looks as though it is in the Lily convert-ly.py attempt to import lilylib as ly whatever that does that is the elephant trap. Python seems to be a right pain with all its various invarnations it's a wonder anything works. Regards Peter
re convert-ly on Windows 10 (my steps)
Running convert-ly on Windows10 1. add lilypond python to the path i. Open System Properties or you may need to open the old control panel ii.Click Advanced system settings. iii.Click Environment Variables... iv. Select PATH in the System variables section v.Click Edit vi.Add Python's path to the end of the list (the paths are separated by semicolons). ;C:\Program Files (x86)\Lilypond\usr\bin\python.exe 2. At a system command admin prompt i. associate .py files with python ii. type assoc .py=python 3. set the python.exe as the filetype for .py files i. type ftype .py="C:\Program Files (x86)\Lilypond\usr\bin\python.exe" "%1" 4. to run convert-ly.py put this (or similar) string in a .bat file i. forfiles /s /p "C:\Users\Peter\Lilypool\Music_Files\Prout" /M **.ly /c "cmd /c convert-ly.py -e @file" ii. this could be improved if the file is edited to ask for input, either a single file or a folder. Regards Peter
Re convert-ly problems
The final piece of the jig saw was this batch file forfiles /s /p "C:\Users\Peter\Lilypool\Music_Files\Bouffil" /M **.ly /c "cmd /c convert-ly.py -e @file" Getting this to work was non trivial. I will try and get a batch file to ask for the folder "Bouffil" etc to make updating easy. Shame that Fresco is still deficient. Thanks everyone - no one advice solved the whole thing. Path. and assoc. were needed Regards Peter
problem with convert-ly
Phew The command prompt method solved. C:\Program Files (x86)\LilyPond\usr\bin>convert-ly -e -b "C:\users\peter\Lilypool\Music_Files\Bouffil\Opus7 No 1\alto.ly" convert-ly.py (GNU LilyPond) 2.19.81 convert-ly.py: Processing `C:\users\peter\Lilypool\Music_Files\Bouffil\Opus7 No 1\alto.ly'... Applying conversion: 2.15.7, 2.15.9, 2.15.10, 2.15.16, 2.15.17, 2.15.18, 2.15.19, 2.15.20, 2.15.25, 2.15.32, 2.15.39, 2.15.40, 2.15.42, 2.15.43, 2.16.0, 2.17.0, 2.17.4, 2.17.5, 2.17.6, 2.17.11, 2.17.14, 2.17.15, 2.17.18, 2.17.19, 2.17.20, 2.17.25, 2.17.27, 2.17.29, 2.17.97, 2.18.0, 2.19.2, 2.19.7, 2.19.11, 2.19.16, 2.19.22, 2.19.24, 2.19.28, 2.19.29, 2.19.32, 2.19.40, 2.19.46, 2.19.49, 2.19.80 C:\Program Files (x86)\LilyPond\usr\bin> But all this typing for one file is doomed to induce errors - so now to crack the batch file method. Thank all. Regards Peter
RE: convert-ly problems
I spoke too soon. C:\WINDOWS\system32>convert-ly C:\WINDOWS\system32>C:\"Program Files (x86)"\LilyPond\usr\bin\python.exe C:\"Program Files (x86)"\LilyPond\usr\bin\convert-ly.py C:\Program Files (x86)\LilyPond\usr\bin\python.exe: can't open file 'C:"Program': [Errno 22] Invalid argument C:\WINDOWS\system32> This did work first time but now another wonderful windows surprise. From: Peter Gentry Sent: 21 December 2019 12:02 To: Lilypond Users (lilypond-user@gnu.org) Cc: 'ksnor...@gmail.com' Subject: convert-ly problems Thanks Knute However the problem for windows (as usual) is more difficult. In addition to the PATH I needed the following to set up the association. First get check the associated name of the python file type. In an admin command prompt run the following * assoc {Python} result "no association.." * * I created one Python="C:\Program Files (x86)\LilyPond\usr\bin\python.exe" "%1" Now I look in Default Apps and there is PYTHON SUCCESS! Now convert-ly.py works I could have use something Lily specific as the association PYTHONLILY say maybe I will later. I expect I will have to do something similar if I go back to PYTHON proper. Isn't Windows wonderful Regards Peter
convert-ly problems
Thanks Knute However the problem for windows (as usual) is more difficult. In addition to the PATH I needed the following to set up the association. First get check the associated name of the python file type. In an admin command prompt run the following * assoc {Python} result "no association.." * * I created one Python="C:\Program Files (x86)\LilyPond\usr\bin\python.exe" "%1" Now I look in Default Apps and there is PYTHON SUCCESS! Now convert-ly.py works I could have use something Lily specific as the association PYTHONLILY say maybe I will later. I expect I will have to do something similar if I go back to PYTHON proper. Isn't Windows wonderful Regards Peter
convert-ly problem 2
Having rediscovered the fact that Frescobaldi does not call convert-ly anymore. I went to the section 2.2 of the usage manual and popped the following into a windows 10 command prompt (with administrator privs) C:\Program Files (x86)\LilyPond\usr\bin>forfiles /s /p "C:\users\peter\Lilypool\Music_Files\Bouffil" /M **.ly /c "cmd /c convert-ly.py -e @file" The result was 'convert-ly.py' is not recognized as an internal or external command, operable program or batch file. Etc etc for each .ly file in the folder I have cd'd to the Lilypond usr\bin folder so I don't think the three "s are needed here, but who knows Where did I go wrong? For no particular reason I then uninstalled anaconda and python 3.8 the result (after reboot) was that the same command string produced a response for each .ly file in Bouffil. The response was a pop up box saying that no app was available for that file. The Command Prompt then froze and I needed Task Manager to close it. Clearly these other pythons have interfered with Lily somewhere and may have a bearing on my other recent issues. Does anyone else play around with Python outside of Lily who might know how to keep then separate. Regards Peter
convert-ly problem
Having rediscovered the fact that Frescobaldi does not call convert-ly anymore. I went to the section 2.2 of the usage manual and popped the following into a windows 10 command prompt (with administrator privs) C:\Program Files (x86)\LilyPond\usr\bin>forfiles /s /p "C:\users\peter\Lilypool\Music_Files\Bouffil" /M **.ly /c "cmd /c convert-ly.py -e @file" The result was 'convert-ly.py' is not recognized as an internal or external command, operable program or batch file. 'convert-ly.py' is not recognized as an internal or external command, operable program or batch file. 'convert-ly.py' is not recognized as an internal or external command, operable program or batch file. 'convert-ly.py' is not recognized as an internal or external command, operable program or batch file. 'convert-ly.py' is not recognized as an internal or external command, Etc etc for each .ly file in the folder I have cd'd to the Lilypond usr\bin folder so I don't think the three "s are needed here, but who knows Where did I go wrong? Regards Peter
RE: problems with cues
You did help David your response forces me think more clearly - when you make a definite statement I take it on board. I know full well how difficult it is when someone is thrashing about in another's area of expertise and not expressing themselves clearly. I really don't mind what might be seen as testy remarks. If your ranting forces me to find a solution then that's good - I may even learn something. Cheers -Original Message- From: David Kastrup Sent: 16 December 2019 13:17 To: Peter Gentry Cc: Lilypond Users ; peter.gen...@sunscales.co.uk Subject: Re: problems with cues "Peter Gentry" writes: > This issue has been resolved with help from David. Unless one of the more helpful Davids on this list pitched in in private, I would not say that I had nearly enough information available to contribute anything that could in good conscience be called "help". This is probably an impressively amicable rewording (a feat I am notoriously bad at) of "Davids incessive ranting inspired me to look for the solution myself which I ultimately did find". > Should anyone be interested all the files can be found at > sunscales.co.uk under the composer Farrenc. > > > > I did get a bit confused with \cueDuring and \transposedCueDuring.. The basic question here is whether LilyPond's behavior changed in a manner that stopped previously working documents from compiling, and whether this was something that convert-ly would have been able to fix, or should have been able to fix but wasn't. -- David Kastrup
problems with cues
This issue has been resolved with help from David. Should anyone be interested all the files can be found at sunscales.co.uk under the composer Farrenc. I did get a bit confused with \cueDuring and \transposedCueDuring.. Regards Peter
Re Problems with cues
Thanks for that response David. I wonder if the cause is to be found on my machine rather than in Lilypond. I have recently been looking at Python (to try and stimulate a few aged grey cells) to which end I have blundered about with Trinket and also installed Python3.8 (64bit). These efforts have stalled since I have not found a way of including "numpy" and "processing" outside of Trinket. Could this action in anyway interfere with the Python part of the Lilypond installation? My problem did not appear after any Lilypond update so very unlikely to be Lilypond related. In an earlier life using a remote mainframe I stumbled on a freak problem. The secure network had a series of PO repeaters. These repeaters could all be controlled centrally by the PO using signals (not character data I believe it was frequency modulated signalling). It transpired that my data contained one sequence of characters that were interpreted by one faulty repeater as a shut down command. The repeater worked correctly for 99.9% of the time for a number of sites until it met my innocuous string. You can imagine how hard it was to convince all the technicians along the line that the fault was in the line somewhere not my input since no other users (there were a lot!) were affected. Some issues can be very hard to resolve. Regards Peter
problems with cues
It seems that the issue reared its head as a result of my "erroneous" assumption that \book { Page layout stuff for front page } \bookpart { Header & music } \bookpart { Header & music } Was a way to go. Although this has worked over the years it doesn't today. If I just use \bookpart for each section all is well. My trap was finding something that worked and using that as a template.. I have just tried another old file and that too has failed, so possibly a recent minor change somewhere in Lily,Fresco,or Windows has highlighted my original sin. There is no profit in trying to find the reason. Regards Peter
problems with cues
David I'm sorry my explanations are not very clear, probably because I am a bit confused. However I may be getting somewhere when the Header file is introduced I get Starting lilypond-windows.exe 2.19.81 [Op38_Gg_L2_Test.ly]... Processing `C:/Users/Peter/Lilypool/Music_Files/Farrenc/Work/Op38_Gg_L2_Test.ly' Parsing... warning: no glyph for character U+92 in font `C:/Program Files (x86)/LilyPond/usr/share/lilypond/current/fonts/otf/texgyreschola-regular.ot f' Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Layout output to `./tmp-lilypond-crrBo6'... Converting to `Op38_Gg_L2_Test.pdf'... Deleting `./tmp-lilypond-crrBo6'... Interpreting music... Interpreting music... Interpreting music... Preprocessing graphical objects... Interpreting music...[8] Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Layout output to `./tmp-lilypond-LIcuhH'... Converting to `Op38_Gg_L2_Test-1.pdf'... Deleting `./tmp-lilypond-LIcuhH'... Success: compilation successfully completed Completed successfully in 1.9". Despite the Completed successfully in 1.9 there was no music output - just the attached header page . Regards Peter Op38_Gg_L2_Test.pdf Description: Adobe PDF document
Problem associated with multiple quote sources
I have done some digging with small files. 1. putting each set of potential cues as reqd. as the first lines in each music file (Movement) works : cueNotesOneA=\include "file1.ily" \addQuote "cueNotesOneA" { \cueNotesOneA } Etc... 2. when several music files are instanced in an attempt to produce a single score this fails 3. when this input is changed: Move the list the cues to BEFORE each \score {.} section it works 4. However attempts to include a Header file (title dates text and .eps picture) for the first page and header text for each movement causes failure but when cues are defined. 5. I use Book and BookPart sections to produce a score but just using bookpart sections also causes failure 6. I will try and reduce these complication header complications to isolate the issue one step at a time. Regards Peter
Problem associated with multiple quote sources
Some time ago (2015) I prepared a quintet version of the Farrenc Nonetto. To make things easier I added copious quotes to the many long chains of rests to help the players. For this purpose I created an ily containing a set of music for each line & movement (without cues) so that I could pick and chose quotes to go virtually anywhere. This worked fine then but today it runs into trouble. \version "2.19.81" %Preamble cut for brevity % potential sources of cues for Movement One ( bare indicates music without any cues) cueNotesOneA=\include "Op38_Alto_L2_M1_bare.ily" \addQuote "cueNotesOneA" { \cueNotesOneA } cueNotesOneB=\include "Op38_Clarinet_L3_M1_bare.ily" \addQuote "cueNotesOneB" { \cueNotesOneB } %similar data to above for other parts cut out for brevity \relative c'' { % Tempo and some notes etc cut out for brevity es2 g2 ) | % 6 as2 f2 | % 7 g4 r4 r4 r4 | % 8 % example of a cue \new CueVoice \with { instrumentCueName="clt3" } \cueDuring #"cueNotesOneB" #UP {\set Score.skipBars = ##t s1*4/4*3 } % large chunkof notes cut out for brevity es'4\f r4 r4 | % 413 c4 r4 r4 | % 414 \bar "|." } This works as expected for each movement on its own. But when I combine the movements in a single file and include a frontpage (in the usual way) I get error messages such as C:/Users/Peter/Lilypool/Music_Files/Farrenc/Op38_Alto_L2_M1.ily:7:1: error: not a note name: cueNotesOneA This also prevents the production of a complete score with all parts. I realise the above is not a particularly small clip but it is the general application of lots of quotes in a longish piece which is no longer working as before. The parts and score files are far too large to include here. I have been pulling out the few remaining hairs if anyone knows why things have changed since 2015 I would be very grateful Regards Peter
RE: Frescobaldi Log Error -1073741819 on Windows10
Hello Andrew I am sure my issue is neither Frescobaldi or Lilypond related. It is due to some alteration to the file permissions structure on the PCs which showed itself after a Windows update. It may or may not be due to the update. I managed to restore functionality on the laptop via a system restore. This has not been possible on the Desktop. I had been attempting to mess with permissions on that machine and this may have prevented the restore. In any event I am sure the problems are not related to Lily/Fresco. Thanks for all the valued suggestions. From: Andrew Bernard Sent: 28 September 2018 06:05 To: Peter Gentry Cc: lilypond-user Mailinglist Subject: Re: Frescobaldi Log Error -1073741819 on Windows10 Hi Peter, Not sure if this is helpful at this stage, but with lilypond 2.19.82 and Frescobaldi 3.0.1 on Windows 10 version1803 (OS Build 17134.320) all works fine. Sometimes it helps to know all is working for somebody else. My result would tend to indicate it is a local problem for you. Are you installing all the W10 updates? There was one just this morning. I find it is pretty important to be up to the minute for all sorts of reasons. Andrew ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Frescobaldi Log Error -1073741819 on Windows10
Original Message- From: Karlin High Sent: 27 September 2018 15:00 To: Peter Gentry ; lilypond-user@gnu.org Subject: Re: Frescobaldi Log Error -1073741819 on Windows10 On 9/27/2018 7:58 AM, Peter Gentry wrote: > I believe that there was a Windows update that downloaded on the > Desktop (in daily use) first and only subsequently on the Laptop. > Is it too obvious to conclude that there was something in the last > update around permissions that is causing the issue. No, I'd say that's not at all too obvious. In my experience, Windows systems are less stable when an update is awaiting a restart to finish its install. I'd suggest doing a manual check for updates and then a restart. Make sure it completely got over them. Apologies if you've already done all that. And, which version of Windows 10 is this? (Win-key + R, winver, Enter) If it's not 1803, and your situation doesn't have a reason to avoid the upgrade, I'd say get the upgrade. If something's gone sideways with Windows internals, there's a chance the upgrade might set things right. (In fairness, there's ALSO a remote chance it could break other things... Microsoft and their too-often Win10 upgrades... mumble mumble, rant suppressed.) I'd also wonder about hardware diagnostics. But since it sounds like this problem suddenly came up on 2 different machines at once, a hardware problem seems a lot less likely. -- Karlin High Missouri, USA Yup 1803 fully up to date ; hardware diagnostics all pass. Still baffled. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Frescobaldi Log Error -1073741819 on Windows10
-Original Message- From: David Wright Sent: 27 September 2018 14:25 To: Anders Eriksson Cc: Peter Gentry ; lilypond-user@gnu.org Subject: Re: Frescobaldi Log Error -1073741819 on Windows10 On Thu 27 Sep 2018 at 14:15:52 (+0200), Anders Eriksson wrote: > On 2018-09-27 13:09, Peter Gentry wrote: > > > > In the last couple of days both Desktop and Laptop machines have > > stopped compiling files and producing one line in the log. > > > > ** > > > > *Starting lilypond-windows.exe 2.19.81 > > [Keler-Bela-SERENATA-VENEZIANA.ly]...* > > > > *Exited with return code -1073741819.* > > > > > The Error code c005 is the code for an *access violation > *-1073741819**is the decimal representation of the hexadecimal c005. > > If you turn on Verbose output (in Layout Control Options in > Frescobaldi) you will get more information and there might be a clue > on what Lilypond can't access. > > Probably some access rights that is not allowing read or write... I very much doubt it. IINM the last thread on this was last April; perhaps start at http://lists.gnu.org/archive/html/lilypond-user/2018-04/msg5.html Did this problem arise after you'd made some change to your systems? Perhaps an upgrade somewhere? Maybe guile, ghostscript, … Cheers, David. No luck there David same log output after selecting verbose. It must be somewhere much earlier. I tried "take access" of the .ly file but no joy (already owned by me as admin anyway) Previous post in the archive don't shed much light. Trying to check my own archive ran into the same access issue (a clue?) When I try to alter permissions the Allow boxes are all greyed out, I can only remove permissions Hey ho ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Frescobaldi Log Error -1073741819 on Windows10
I should add that I suspect this is a permissions problem not related to any changes in Lilypond/Fresco as such. The first time it cropped up on the Desktop I closed some windows progs that were running (I think it was outlook and possibly one other) and the error no longer occurred. Next time on Desktop it re-occurred and no other user apps were running - I switched to Laptop and no error. Next day errors on both machines. I believe that there was a Windows update that downloaded on the Desktop (in daily use) first and only subsequently on the Laptop. Unrelated? I also find that an Outlook archive pst file saved on an external drive is now inaccessible (no permission) ?? Is it too obvious to conclude that there was something in the last update around permissions that is causing the issue. I have Home versions so no access to policies. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Frescobaldi Log Error -1073741819 on Windows10
In the last couple of days both Desktop and Laptop machines have stopped compiling files and producing one line in the log. Starting lilypond-windows.exe 2.19.81 [Keler-Bela-SERENATA-VENEZIANA.ly]... Exited with return code -1073741819. I have no problems for some time and the above file used to compile without error. I think something similar has happened in the past but cannot remember the solution - I have re-installed both Lilypond and Frecobaldi. There was the usual one time long pause on the laptop (?fonts) but in both cases the error message promptly. I will check through my archives and lily archives - does anyone have any suggestions as to how to proceed to debug this issue? Thanks Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:Staff Group Spacing of five part score
Oh dear , what an idiot. My troubles resolved by removing ragged bottom true. I'm not surprised no one responded. Its what comes from not understanding all the overrides for spacings etc despite reading and re-reading the manuals. Nothing wrong with the manuals. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:Staff Group Spacing of five part score (Peter Gentry)
The solution I came to was By removing blank-after-score-page-penalty = #10 page-breaking = #ly:page-turn-breaking ragged-bottom = ##t from the top level \paper block and using \bookpart{ \score { \layout { #(layout-set-staff-size 25) } \new Score \with { \override MultiMeasureRest #'staff-position = #0 \override PaperColumn #'keep-inside-line = ##t \override NonMusicalPaperColumn #'keep-inside-line = ##t } << \new StaffGroup << \override StaffGroup.SystemStartBracket #'collapse-height = #1 \override Score.SystemStartBar #'collapse-height = #1 \new Staff = AStave << \set Staff.instrumentName = "Flt1" \set Staff.midiInstrument = "flute" \new Voice = "F1" { \naturalizeMusic \include "Line1_M1.ly" \ledgers} >> Etc for all 5 instrument parts This spaces two lines of the full score on each page as intended - but I have no idea why? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Staff Group Spacing of five part score
I have searched the archive and found an entry which should work but when I try it it doesn't. I must have misunderstood something along the line and it may be about definitions. I have a group staff containing five parts. By default I get on one page two "lines" of five staves. There is little space between the groups but a lot of space below the second group. I am seeking to place these two more evenly on the page. My reading of the manuals led me to :- Properties of the StaffGrouper grob StaffGrouper properties are typically adjusted with an \override at the StaffGroup level (or equivalent). staff-staff-spacing The distance between consecutive staves within the current staff-group. The staff-staff-spacing property of an individual staff's VerticalAxisGroup grob can be overriden with different spacing settings for that staff. staffgroup-staff-spacing The distance between the last staff of the current staff-group and the staff just below it in the same system, even if one or more non-staff lines (such as Lyrics) exist between the two staves. Does not apply to the bottom staff of a system. The staff-staff-spacing property of an individual staff's VerticalAxisGroup grob can be overriden with different spacing settings for that staff. But % First Score block % --- \score { \layout { #(layout-set-staff-size 25) } \new StaffGroup \with { \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #10 } << \new Staff = AStave << \set Staff.instrumentName = "Flt1" \new Voice = "F1" {\include "Line1_M1.ly" } >> \new Staff = BStave << \set Staff.instrumentName = "Flt2" \new Voice = "F2" { \include "Line2_M1.ly" } >> \new Staff = CStave << \set Staff.instrumentName = "Clt3A" \new Voice = "C3" {\include "Line3A_M1.ly" \] >> \new Staff = DStave << \set Staff.instrumentName = "Clt3B" \new Voice = "C4" {\include "Line3B_M1.ly" } >> \new Staff = EStave << \set Staff.instrumentName = "Clt4" \new Voice = "C5" { \include "Line4_M1.ly" } >> >> } %end of score block \header { mycustomtext = \markup { \xSurname \xtitle " -" \xinstrument } piece =\markup {\fill-line {\column { \center-column { \fontsize #5 \bold \xmovI } } } } } } % end of header } %end of bookpart block However this must be incorrect since any value in \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #n has the same result ie no effect. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: layout of markup text (Peter Gentry)
I have placed a copy of addTextSpannerText.ly to the C:/Program Files (x86)/LilyPond/usr/share/lilypond/current/ly folder. My score has five parts and in case a. each part/movement file includes the statement - \include "addTextSpannerText.ly" Result - Each part/movement compiles without error. I also have a score file case b. which produces a full score of five parts and currently two movements. Each part is input via \include "Line1_M1.ly" etc within \new staff blocks in a \bookpart block for each Movement. With files as above b. fails with a cascade of errors staring with C:/Program Files (x86)/LilyPond/usr/share/lilypond/current/ly/addTextSpannerText.ly:3:1: error: wrong type for argument 1. Expecting music, found "addTextSpannerText" addTextSpannerText = C:/Program Files (x86)/LilyPond/usr/share/lilypond/current/ly/addTextSpannerText.ly:3:20: error: syntax error, unexpected '=' addTextSpannerText = It looks as though in this case the compiler is treating each "addTextSpannerText.ly" in the parts as music rather than scheme. For b to succeed I remove all the include "addTextSpannerText.ly" from the part files and put one statement at the head of the score file. But the corollary is that each individual part file will fail when compiled alone. (I like to check each part/Mov before compiling the whole score.) Is there a way to make the score file regard the part file \include "addTextSpannerText.ly" statements as scheme as happens when the part is compiled alone. If this explanation seems convoluted it properly reflects my mind...:) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: layout of markup text (Peter Gentry)
David wrote You can. It's just a matter of describing "anywhere" in terms a computer can understand. Very true the only weak link is “in terms the less than adept user can understand” ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE:layout of markup text (Peter Gentry)
I was amazed at how complex this simple common problem turns out. I have used the rather complex scheme code from the archives but there remain problems when spanning rest bars. You would think this is a common requirement. Why can't you place any text anywhere you fancy? I'll maybe go back to marking the scores by hand. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: layout of markup text
Thanks “text centered in spanners” is the search text I was missing… From: Andrew Bernard Sent: 23 July 2018 11:23 To: Peter Gentry Cc: lilypond-user Mailinglist Subject: Re: layout of markup text Hi Peter, There's a large discussion of text centered in spanners in the archives of this list, and lots of code contributions by the learned colleagues herein. Have a search. I have a Scheme solution but I think others have better than mine. Andrew ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
layout of markup text
My problem is illustrated in \version "2.19.81" \relative c'' { \clef "treble" \time 2/4 \key c\major r16 f16 ( [ a16 c16 ] bes16 ) [ f16 ( bes16 d16 ) ] | % 64 R1*2/4*2 \startTextSpan ^\markup { \small \italic "flt1 Solo ad lib"} a8\stopTextSpan ^\markup {\large \italic "DC al Fine"} r8\fermata r4 \bar "|."} I want the text" flt1 Solo ad lib" to be centred in the textspan. I cannot find the appropriate syntax and any leading blanks are ignored. I'm sure there is a simple solution but it escapes me - thanks in advance for any assistance. Peter ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Windows 10
Message: 1 Date: Sun, 17 Jun 2018 16:07:36 +0200 From: John McWilliam To:"lilypond-user@gnu.org" Subject: Windows 10 Message-ID:<5b266b2b.1c69fb81.3affc.0...@mx.google.com> Content-Type: text/plain; charset="utf-8" I am returning to Lilypond after a computor upgrade and could not find an install file for Windows 10. There was a site called loaditsoft.com which purported to have a Windows 10 version but when I downloaded it the file was corrupted. Does the Windows 7 or 8 version work under Windows 10? Any suggestions? John McWilliam John I have had problems with Windows10 but lately all is OK. Always go the official sites for Lilypond downloads after making sure your Windows installation is clean and free from any leftovers from insecure downloads. I recommend (for ease of use) Frescobaldi for your editor. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
. Re:Lilypond is not generating a pdf file (foxfanfare)
This may/may not be relevant. The problem may be down to the way the temporary files are handled. I have seen it a few times. To be honest I cannot remember how I resolved it. There seems to be some link to the temporary file that using fresco can be cleared by closing all the files and Fresco and starting again. Windows and Windows 10 can be a bit mysterious in the way it handles files and their links. Hope this is relevant ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: : Re: transpose range
Gianmaria I have modified the procedure to use pitch-tones to define the instrument range. It makes little difference to the result. I haven’t looked at the possibility of rebuilding the pitch just using pitch-tones (yet) Have you had any luck yet? \version "2.19.15" % - % include function file instrument_ranges.ly % usuage include --> \include "./ranges/instrument_ranges.ly" % usuage call --> \naturalizeInstrumentRange "instrument" music % this function will confine all pitches to the individual instruments range % Note the ranges refer to music transposed for each instrument not the true pitches. % use % for comment outside scheme function - use ; inside scheme functions % - #(define (naturalize-instrument-range p instrument ) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) ;; alteration, a, in quarter tone steps, for historical reasons (n (ly:pitch-notename p)) (pt (ly:pitch-tones p))) (define np 0) (define op (+ (* 14 o) (* n 2) (/ a 2))) (cond ;; clarinet range e to f#' (-4 to 29/2) ((equal? instrument "clarinet" ) (if (< pt -16)(begin (set! o (+ o 1))) ) (if (< pt -10)(begin (set! o (+ o 1))) ) (if (< pt -4) (begin (set! o (+ o 1))) ) (if ( > pt 52/2) (begin (set! o (- o 1))) ) (if ( > pt 41/2) (begin (set! o (- o 1))) ) (if ( > pt 29/2) (begin (set! o (- o 1))) ) ) ; bass clarinet range eb to f' (-9/2 to 29/2) ((equal? instrument "bass clarinet eb" ) (if (< pt -33/2) (begin (set! o (+ o 1))) ) (if (< pt -21/2) (begin (set! o (+ o 1))) ) (if (< pt -9/2) (begin (set! o (+ o 1))) ) (if ( > pt 52/2) (begin (set! o (- o 1))) ) (if ( > pt 41/2) (begin (set! o (- o 1))) ) (if ( > pt 29/2) (begin (set! o (- o 1))) ) ) ; bass clarinet range c to f' (-6 to 29/2) ((equal? instrument "bass clarinet c" ) (if (< pt -18) (begin (set! o (+ o 1))) ) (if (< pt -12) (begin (set! o (+ o 1))) ) (if (< pt -6) (begin (set! o (+ o 1))) ) (if ( > pt 52/2) (begin (set! o (- o 1))) ) (if ( > pt 41/2) (begin (set! o (- o 1))) ) (if ( > pt 29/2) (begin (set! o (- o 1))) ) ) ;; flute range c to c'' (0 to 18) ((equal? instrument "flute") (if (< pt -12) (begin (set! o (+ o 1))) ) (if (< pt -6) (begin (set! o (+ o 1))) ) (if (< pt 0)(begin (set! o (+ o 1))) ) (if ( > pt 30) (begin (set! o (- o 1))) ) (if ( > pt 24) (begin (set! o (- o 1))) ) (if ( > pt 18) (begin (set! o (- o 1))) ) ) ;; alto range d to c'' (1 to 31/2) ((equal? instrument "alto") (if (< pt -11) (begin (set! o (+ o 1))) ) (if (< pt -5) (begin (set! o (+ o 1))) ) (if (< pt 1) (begin (set! o (+ o 1))) ) (if ( > pt 55/2) (begin (set! o (- o 1))) ) (if ( > pt 43/2) (begin (set! o (- o 1))) ) (if ( > pt 31/2) (begin (set! o (- o 1))) ) ) ) (ly:make-pitch o n (/ a 4)) )) % - % a variable for the notehaed color on pitch change % - my-color = #(x11-color 'red) % - % this function rebuilds the music object optionally changing pitch and notehead color % - #(define (instrumentrange music instrument ) ; extract the various portions of the music object (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) ; rebuild any 'elements unchanged (if (pair? es) (ly:music-set-property! music 'elements (map (lambda (x) (instrumentrange x instrument)) es))) ; rebuild any 'element unchanged (if (ly:music? e) (ly:music-set-property! music 'element (instrumentrange e instrument ))) ;rebuild the pitch and if a changed pitch add the color tweak (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (acons 'style 'harmonic-mixed (ly:music-property music 'tweaks))) music)) naturalizeInstrumentRange = #(define-music-function (parser location instrument m ) ( string? ly:music? ) (instrumentrange m instrument )) % - % the Lily test file calling
Re: Transpose range Apology
Apologies you must think me some kind of retarded idiot. I must learn to think a bit before mistyping rubbish but at 76 these niceties seem a lost cause. Yes yes yes there is a problem with the tone tone semitone tone tone tone semitone notation and the octave note alteration calculation. In my defence I hurriedly sent of a response to a question with some very old code. At the time I did not solve the problem of computing a unique number to represent the pitch. The approximation in the code works because I was only interested in modifying the octave component of the pitch. The problem only has an impact in the calculation of the range of an instrument and has never caused a problem although I accept it could at the end points of each instrument range. So please don't be too hard on an old codger who just tried to help a fellow dabbler out. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: : Re: transpose range
-Original Message- From: David Kastrup [mailto:d...@gnu.org] Sent: 26 June 2017 15:31 To: Peter Gentry <peter.gen...@sunscales.co.uk> Cc: Lilypond <lilypond-user@gnu.org> Subject: Re: : Re: transpose range "Peter Gentry" <peter.gen...@sunscales.co.uk> writes: > From: David Kastrup [mailto:d...@gnu.org] > > "Peter Gentry" <peter.gen...@sunscales.co.uk> writes: >> >> The numeric pitch (op) is calculated by (define op (+ (* 14 o) (* n >> 2) (/ a 2))) “op is a unique number representing the pitch of the >> note” > >> Uh, that's pretty bad since it sees eis as equal to fes. Anything >> wrong with just using (ly:pitch-tones p) instead? > > a. I had not heard of ly:pitch-tones p) b. for most folks eis is the > same sound as fes. Neither my battered old ears or my tuner could > detect the difference. Well, I am glad that you don't sing in my hearing range then and you should throw away that tuner. A semitone difference is quite noticeable. dak@lola:/usr/local/tmp/lilypond$ lilypond scheme-sandbox GNU LilyPond 2.19.59 Processing `/usr/local/share/lilypond/2.19.59/ly/scheme-sandbox.ly' Parsing... guile> (apply - (map ly:pitch-tones (list #{ eis #} #{ fes #}))) 1/2 guile> -- David Kastrup A semi tone difference is indeed noticeable but surely there is no semitone between e sharp and f flat? It’s the same key on the piano! Where is the semitone? Instead of enlightening me you simply reply with a superior and dismissive tone which is uncalled for. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: : Re: transpose range
-Original Message- From: David Kastrup [mailto:d...@gnu.org] Sent: 26 June 2017 13:43 To: Peter Gentry <peter.gen...@sunscales.co.uk> Cc: 'Gianmaria Lari' <gianmarial...@gmail.com>; Lilypond <lilypond-user@gnu.org> Subject: Re: : Re: transpose range "Peter Gentry" <peter.gen...@sunscales.co.uk> writes: > You will need to modify the attach file (instrument_ranges.ly) since you are > only interested in one instrument. > > > > A numeric pitch can be constructed from three components of the > lilypond pitch p > > > > 1.The octave o obtained from (ly:pitch-octave p)) > 2.The note n obtained from (ly:pitch-notename p)) > 3.The semitone a obtained from the alteration (* 4 > (ly:pitch-alteration p)) note alteration is in quarter tone steps > > > > The numeric pitch (op) is calculated by (define op (+ (* 14 o) (* n 2) (/ a > 2))) “op is a unique number representing the pitch of the note” Uh, that's pretty bad since it sees eis as equal to fes. Anything wrong with just using (ly:pitch-tones p) instead? -- David Kastrup a. I had not heard of ly:pitch-tones p) b. for most folks eis is the same sound as fes. Neither my battered old ears or my tuner could detect the difference. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: : Re: transpose range
You will need to modify the attach file (instrument_ranges.ly) since you are only interested in one instrument. A numeric pitch can be constructed from three components of the lilypond pitch p 1. The octave o obtained from (ly:pitch-octave p)) 2. The note n obtained from (ly:pitch-notename p)) 3. The semitone a obtained from the alteration (* 4 (ly:pitch-alteration p)) note alteration is in quarter tone steps The numeric pitch (op) is calculated by (define op (+ (* 14 o) (* n 2) (/ a 2))) “op is a unique number representing the pitch of the note” The procedure contains the instrument ranges as numeric pitches derived as above. See ;; clarinet range e to f#' -1 2 0 to 2 3 0 (-10 to 35) The current pitch is compared with the ranges and the octave increased/decreased as needed to bring the pitch into the range. The note head and colour is modified to make all the changes visible on the score. You can prune the procedure or add your instrument. To call the procedure At top of the music file \include "./instrument_ranges.ly" (assumes the file is in the includes folder specified in Frescobaldi properties) In a score block \score { { \naturalizeInstrumentRange "flute" { \include "Boufill_Op8No3_Cc_M2_L1.ly" } } (or sequential music) } } % end of score block I hope this helps. From: Gianmaria Lari [mailto:gianmarial...@gmail.com] Sent: 25 June 2017 16:25 To: Peter Gentry <peter.gen...@sunscales.co.uk> Cc: Lilypond <lilypond-user@gnu.org> Subject: Re: : Re: transpose range Yes, I'm very much interested. I will use it with left hand bass note for standard bass accordion notation; for that we use only one octave range so jump are normal. Have a look to the attached file in case you want understand better Thanks a lot, g. On 25 June 2017 at 13:58, Peter Gentry <peter.gen...@sunscales.co.uk <mailto:peter.gen...@sunscales.co.uk> > wrote: Yes there is a way but it has disadvantages. Often the result is awkward jumps. I indicate changed notes by note head style and colour so that it is easier to edit the results. If you are still interested let me know and I will send you the scheme procedure and an example. I allow for different instruments having different ranges. \version "2.19.15" % - % useage % include this file --> \include "./instrument_ranges.ly" % best to save the file in the same folder as any other includes % call -->\naturalizeInstrumentRange "instrument" music % this function will confine all pitches to the individual instruments range % Note the ranges refer to music transposed for each instrument not the true pitches. % use % for comment outside scheme function - use ; inside scheme functions % - #(define (naturalize-instrument-range p instrument ) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) ;; alteration, a, in quarter tone steps, for historical reasons (n (ly:pitch-notename p))) (define np 0) (define op (+ (* 14 o) (* n 2) (/ a 2))) ;; clarinet range e to f#' -1 2 0 to 2 3 0 (-10 to 35) (cond ((equal? instrument "clarinet" ) (if (< op -38) (begin (set! o (+ o 1))) ) (if (< op -24) (begin (set! o (+ o 1))) ) (if (< op -10) (begin (set! o (+ o 1))) ) (if ( > op 62) (begin (set! o (- o 1))) ) (if ( > op 48) (begin (set! o (- o 1))) ) (if ( > op 35) (begin (set! o (- o 1))) ) ) ; bass clarinet range eb to f' -1 2 -2 to 2 3 0 (-11 to 34) ((equal? instrument "bass clarinet eb" ) (if (< op -39) (begin (set! o (+ o 1))) ) (if (< op -25) (begin (set! o (+ o 1))) ) (if (< op -11) (begin (set! o (+ o 1))) ) (if ( > op 62) (begin (set! o (- o 1))) ) (if ( > op 48) (begin (set! o (- o 1))) ) (if ( > op 34) (begin (set! o (- o 1))) ) ) ; bass clarinet range c to f' -1 0 0 to 2 3 0 (-14 to 34) ((equal? instrument "bass clarinet c" ) (if (< op -42) (begin (set! o (+ o 1))) ) (if (< op -28) (begin (set! o (+ o 1))) ) (if (< op -14) (begin (set! o (+ o 1))) ) (if ( > op 62) (begin (set! o (- o 1))) ) (if ( > op 48) (begin (set! o (- o 1))) ) (if ( > op 34) (begin (set! o (- o 1))) ) ) ;; flute range c to c'' 0 0 0 to 2 3 0 (0 to 41) ((equal? instrument "flute") (if (< op -28) (begin (set! o (+ o 1))) ) (if (< op -14) (begin (set! o (+ o 1))) ) (if (< op 0)(begin (set! o (+ o 1))) ) (if ( > op 62) (begin (set! o (- o 1))) )
: Re: transpose range
Yes there is a way but it has disadvantages. Often the result is awkward jumps. I indicate changed notes by note head style and colour so that it is easier to edit the results. If you are still interested let me know and I will send you the scheme procedure and an example. I allow for different instruments having different ranges. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:Chords in LilyPond
Thanks to Carl and Kieren for explaining chord semantics. A set of notes forming a chord may have a different "meaning" depending on the current key context. Semantics seemed like a much grander idea to the uninitiated. However this idea would surely fall on stony ground in the context of atonal or twelve note music. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:Chords in LilyPond
I have been intrigued by the highly technical correspondence on this topic. However I have struggled to understand what is being discussed. A bit of googling has shed some light http://debussy.music.ubc.ca/muset/guido/section3.html for instance but other sources are even more technical. I was particularly thrown by the term "semantics" this is a slippery customer that seems to mean different things in different contexts. In the link above it is simply a recipe for how to populate various properties or parameters if not explicitly defined. ie Semantics: * If size or style are not specified when using \noteFormat, their current settings remain unaffected. If not modified using \noteFormat, the default settings are size=1.0, style="standard". * The specified parameters are applied to all notes within the range of \noteFormat, or, if no range is specified, until (i) the next \noteFormat tag changing that parameter or (ii) the end of the current voice. Other links such as http://motools.sourceforge.net/chord_draft_1/chord.html describe in some detail the structure of chords beyond the simple C G7 etc descriptions including where a strong note outside the "normal" chord members is employed often by a solo instrument. All this is way outside by musical knowledge whilst interesting it is difficult to understand. Am I correct in seeing "semantics" in this way ? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
OT: Apple stealing "Lily"
Dear me the original post was just a whimsical aside. There is a lot of frustration out there. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Apple stealing "Lily"
https://www.groovypost.com/deals/lily-apple-free-app-of-week/ ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: tweaking clefs
From: Timothy Lanfear [mailto:timo...@lanfear.me] Sent: 06 March 2017 12:28 To: Peter Gentry <peter.gen...@sunscales.co.uk>; lilypond-user@gnu.org Subject: Re: tweaking clefs On 06/03/17 12:02, Peter Gentry wrote: From: Peter Gentry [mailto:peter.gen...@sunscales.co.uk] Sent: 05 March 2017 16:21 To: 'lilypond-user@gnu.org <mailto:lilypond-user@gnu.org> ' <mailto:lilypond-user@gnu.org> <lilypond-user@gnu.org> Subject: Re:tweaking clefs Timothy Lanfear supplied a simple understandable way of achieving my aims. However on reflection there is a drawback; the midi output is not correct. Two identical midi outputs with the same name are produced but share the same midi instrument The example I posted does produce a midi file with both bassoon and clarinet. Here is the terminal output from timidity. timidity tmp.midi Requested buffer size 32768, fragment size 8192 ALSA pcm 'default' set buffer size 32768, period size 8192 bytes Playing tmp.midi MIDI file: tmp.midi Format: 1 Tracks: 3 Divisions: 384 Sequence: Text: creator: Text: GNU LilyPond 2.19.56 Instrument: bassoon Instrument: clarinet Playing time: ~12 seconds Notes cut: 0 Notes lost totally: 0 -- Timothy Lanfear, Bristol, UK. Apologies you are correct my midi playback is not good enough to hear the two instruments even when one is cello. I used synthfont to confirm two instruments present. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Re:tweaking clefs
From: Peter Gentry [mailto:peter.gen...@sunscales.co.uk] Sent: 05 March 2017 16:21 To: 'lilypond-user@gnu.org' <lilypond-user@gnu.org> Subject: Re:tweaking clefs Timothy Lanfear supplied a simple understandable way of achieving my aims. However on reflection there is a drawback; the midi output is not correct. Two identical midi outputs with the same name are produced but share the same midi instrument This is not a serious issue(in the one instrument case) as midi output at best is only a good check of the harmonies or lack thereof. Try as I may I cannot seem to provide a different midi instrument for the two staves although the midi data components appear to be essential for a successful layout . The process will is good to input Basson music and display the equivalent Bass Clarinet music but isn't much use when the aim is to produce music transposed for a variety of instruments with midi output to quickly check the entire score. This remains a multi step process. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
?Changes to structure of latest pdf manuals
Having just download the pdf manuals for \version "2.19.56" I have noticed a change to the output of "Advanced Search". Previuosly (at least up to \version "2.19.22") the advanced search facility in Adobe would a. search all pdf files in a given directory b. search the entire contents of all the target files c. display the name of the pdf being searched as matches are found. Now however the searches are confined to the index and the displayed name is "untitled Is this worth correcting - I think it helps to see the file names.. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: tweaking clefs
\inherit-acceptability is documented in \version "2.19.56" which I have just downloaded. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:tweaking clefs
Timothy Lanfear supplied a simple understandable way of achieving my aims. I was thrown headlong down the route of trying to modify the sequential music stream as was done for indicating/modifying pitches outside the "range" of each instrument. "range" being somewhat arbitrary as it depends on the skill of the musician. This employed range data in the scheme process and input instrumentname from the lily source file Appropriate clef and transposition can be easily provided entirely in Lily data rather than fiddling about with the music stream. The solution provided answers my immediate needs. Thank you very much all. Ps \inherit-acceptability is new to me I will have a search in the manuals. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
tweaking Clefs
Is it possible to tweak clef properties in the same way that you can tweak color and notehead style of a ly:pitch? Object. Ie ;rebuild the pitch and if a changed pitch add the color tweak (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (acons 'style 'harmonic-mixed (ly:music-property music 'tweaks))) The clef properties I am trying to tweak are indicated by .data but items in an 'elements structure are harder to get hold of. Am I wasting my time trying? The reason for trying is that for a lot of the time I transpose various quartets including bassoon, cello etc for a bass clarinet and or alto flute. It would be nice to be able to change the clef at the same time as transposing. I often forget one or other and it is easier to input data in the original clef for checking input. Having started down this road it has become a challenge...Any help for a ageing muso who has forgotten almost all the scheme/lily learnt last year very gratefully received. 'RelativeOctaveMusic (make-music 'SequentialMusic 'elements (list (make-music 'ContextSpeccedMusic 'context-type 'Staff 'element (make-music 'SequentialMusic 'elements (list (make-music 'PropertySet 'value "clefs.G" .data 'symbol 'clefGlyph) (make-music 'PropertySet 'value -6.data 'symbol 'middleCClefPosition) (make-music 'PropertySet 'value -2.data 'symbol 'clefPosition) (make-music 'PropertySet 'value 0 .data 'symbol 'clefTransposition) (make-music 'PropertySet 'value 'default .data 'symbol 'clefTranspositionStyle) (make-music 'ApplyContext 'procedure ly:set-middle-C! ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re Spacing Staff Groups
Brian Barker has kindly put me straight and supplied the answer \paper { system-system-spacing.basic-distance = #25 } He also corrected my assumption as to the definition of a system. Thanks Brian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Spacing between Staff Groups
How does one control the vertical space between staff groups. I can see how to modify the vertical spacing of staves within a Staff Group but not between Staff Groups on a page. The answer may lie in page layout but that is as far as I can get. A search in the archives has not revealed a solution. Thanks in advance for any pointers to the answer. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Read the Manuals
I have been "using" Lilypond for a few years and must report that I have at last read the Introductory manual in detail. It certainly cleared up a few dark corners of my knowledge and recommed its study to all, even if you think you know what you are doing. Mea culpa mea maxima culpa regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Replying to posts
Date: Wed, 27 Apr 2016 13:01:48 +0200 From: David Kastrup <d...@gnu.org> To: Chris Yate <chrisy...@gmail.com> Cc: Gianmaria Lari <gianmarial...@gmail.com>, Lilypond-User Mailing List <lilypond-user@gnu.org> Subject: Re: Replying to posts Message-ID: <871t5r2u3n@fencepost.gnu.org> Content-Type: text/plain Chris Yate <chrisy...@gmail.com> writes: > To be honest, I'd suggest you ignore the people that whinge about HTML > emails, top-posting, etc. For the 20-something years I've been using > the internet there's always been pedantic arses (inappropriate on this list pedants would serve your purpose) on mailing lists that > would rather beat people up about the format of emails and people's > grammar and spelling than answer the damn question. (what is your evidence > for this assertion?) Looks like I'm no longer welcome on this list. I'll unsubscribe and leave it to the people who understand the medium better. I assume that I'm more welcome on the developer list. People there are more likely to get along with conveying messages using text. David Kastrup Don't do it David the silent majority appreciate your input. Outlook users only have to click on format plain text to keep everyone happy. regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:Lilypond error behaviour
The errors that I frequently make show up as an additional empty stave or a ridiculously over long bar that runs off the page. This alerts me to an error but I have to search for it and they can be be very simple typos. Error messages in the log may also be a later result of the error rather than pin pointing its location so some digging is usually required. This seems fine to me as all you have to do is work through the input step by step to loacte the error. It would be difficult (impossible) to pick out all input errors in programs like Lilypond compared to familar number crunching codes, how the heck does the code know what your intentions are and what is an "error" in your source. Lets not ask the impossible of hard pressed developers. regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: How to generate a Tambourine "shake" (or any "trill" sound)
>Message: 1 >Date: Fri, 1 Apr 2016 15:56:03 +0200 >From: Ziad Gholam>To: lilypond-user@gnu.org >Subject: How to generate a Tambourine "shake" (or any "trill" sound) > in MIDI file ? >Message-ID: >
Spam u don't like
How did potential malware links get into the list, it hasn't happend before? If its not spam then the poster should be less cryptic or he won't get anyone interested. regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:help needed with project notation strategy
It may be just me but I have found midi2ly a bit of a monster. Trying to re-input a score midi previously produced by Lily gives very strange output. For myself using a second program such as NoteWorthyComposer to input a midi and then using Phil's NWCTXT2Ly.exe on a Noteworthy text file gives better results. A certain amount of editing will still be required for trills , triplets etc. regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Resolution of the ponering on Chordmode
David provided the best solution. See file below \version "2.19.25" \include "predefined-ukulele-fretboards.ly" \storePredefinedDiagram #default-fret-table \chordmode {c:dim7} #ukulele-tuning "5-3;3-2;2-1;o;" myChordsTransposed = \chordmode { e1:7 | s1 | a2 g | c2:dim7 a:7 | d1 | s1 | s2 s4 g | } \score { << \new ChordNames { \myChordsTransposed } \new FretBoards { \set Staff.stringTunings = #ukulele-tuning \set ChordNames.midiInstrument = "acoustic guitar (nylon)" \myChordsTransposed } \relative c'' \new Staff { \set Staff.midiInstrument = "acoustic guitar (nylon)" \transpose c b { \key ees\major r1 | r1 | r2 r2 | r2 r2 | g4^\markup{\musicglyph #"scripts.segno"} g8. f16 ees8. bes16 ees8. f16 | g4 g ees2 | g4 g bes aes8. aes16 | g4 f f2 | } } >> \layout {} \midi {} I would never have thought of adding the midiInstrument to the FretBoards. regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: More ponderings on Chordmode
>-Original Message- >From: David Kastrup [mailto:d...@gnu.org] >Sent: Saturday, February 06, 2016 10:50 AM >To: Peter Gentry >Cc: lilypond-user@gnu.org; 'Christopher R. Maden' >Subject: Re: More ponderings on Chordmode > >"Peter Gentry" <peter.gen...@sunscales.co.uk> writes: > >> Thanks Chris I guessed most of the format but the # >Escaped me. To >> # or not to # that is the question. >> >>> \chords { >>> \set ChordNames.midiInstrument = #"acoustic guitar (steel)" >>> \myChordsTransposed >>> } > >I don't think that leaving off # here would have made a difference. > >-- >David Kastrup Spot on it was redundant. The main finding is that the sound produced for chords is not too good. I have tried a number of instruments and none of the sounds are satisfactory. Maybe the sustained nature of the chords has some effect or is the attack part of the sound still shaped as a concert piano. It is certainly different to the sound of the melody notes. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: More ponderings on Chordmode
>-Original Message- >From: lilyp...@andis59.se [mailto:lilyp...@andis59.se] >Sent: Saturday, February 06, 2016 11:24 AM >To: Peter Gentry; lilypond-user@gnu.org >Subject: Re: More ponderings on Chord // Anders wrote >I'm just using the in Windows built in synthesizer so it >doesn't sound like a banjo or acoustic guitar. Chords will >sound more like a keyboard/piano with a slightly different tone. > >So the sound depends on the synthesizer that is used to create >them. The built in software synthesizer in windows is really >bad! Don't know which OS you are using, but there are software >synthesizer that give a much better sound, e.g. Coolsoft >Virtual Synth http://coolsoft.altervista.org/en/virtualmidisynth > The melody notes sound pretty much guitar like but the chord sounds are more piano like they do vary when the instrument is changed but never sound anything like the melody notes. There is a slight improvement playing the mid file through Soundfont which does give a bit better sound than the default player.. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: More ponderings on Chordmode
Thanks Chris I guessed most of the format but the # Escaped me. To # or not to # that is the question. >Date: Fri, 5 Feb 2016 14:33:22 -0600 >From: "Christopher R. Maden" <cr...@maden.org> >To: lilypond-user@gnu.org >On 02/05/2016 02:31 PM, Peter Gentry wrote: >> I cannot discover a means to have the chords sound as a >guitar in this >> example everything I try ends up as a piano. >> >> Is it possible to assign a midiInstrument to the chordNotes? > > \chords { > \set ChordNames.midiInstrument = #"acoustic guitar (steel)" > \myChordsTransposed > } > >~Chris ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: More ponderings on Chordmode
I must be a tad slow. However I incorporate your suggestion still no guitar sounds when the chords play (only for the melody notes). The snippet does compile without error but seems to have zero effect. Thanks Chris I guessed most of the format but the # Escaped me. To # or not to # that is the question. >Date: Fri, 5 Feb 2016 14:33:22 -0600 >From: "Christopher R. Maden" <cr...@maden.org> >To: lilypond-user@gnu.org >On 02/05/2016 02:31 PM, Peter Gentry wrote: >> I cannot discover a means to have the chords sound as a >guitar in this >> example everything I try ends up as a piano. >> >> Is it possible to assign a midiInstrument to the chordNotes? > > \chords { > \set ChordNames.midiInstrument = #"acoustic guitar (steel)" > \myChordsTransposed > } > >~Chris ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: More ponderings on Chordmode
Message: 5 Date: Sat, 6 Feb 2016 11:27:16 +0100 From: "lilyp...@andis59.se" <lilyp...@andis59.se> To: lilypond-user@gnu.org Subject: Re: More ponderings on Chordmode Message-ID: <56b5ca84.8050...@andis59.se> Content-Type: text/plain; charset=windows-1252; format=flowed Just to be sure. You removed the \chordnames part and added the \chords. When I did this I got a guitar (well, it didn't sound like a guitar, but it was not a piano) both for the melody and the chords. I think it would be beneficial if you attached the .ly file so we can see what you have done... // Anders I have tried a couple of different instrument names. The chord sound does vary but still very much piano like. Here is the file \version "2.19.25" \include "predefined-ukulele-fretboards.ly" \storePredefinedDiagram #default-fret-table \chordmode {c:dim7} #ukulele-tuning "5-3;3-2;2-1;o;" myChordsTransposed = \chordmode { e1:7 | s1 | a2 g | c2:dim7 a:7 | d1 | s1 | s2 s4 g | } \score { << \chords { \set ChordNames.midiInstrument = #"banjo" \myChordsTransposed } \new FretBoards { \set Staff.stringTunings = #ukulele-tuning \myChordsTransposed } \relative c'' \new Staff { \set Staff.midiInstrument = "acoustic guitar (nylon)" \transpose c b { \key ees\major r1 | r1 | r2 r2 | r2 r2 | g4^\markup{\musicglyph #"scripts.segno"} g8. f16 ees8. bes16 ees8. f16 | g4 g ees2 | g4 g bes aes8. aes16 | g4 f f2 | } } >> \layout {} \midi {} }regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: More ponderings on Chordmode
Hello Colin Yes the melody notes on the staff play as a "guitar" but the chords sound as the default piano. >-Original Message- >From: Colin Campbell [mailto:c...@shaw.ca] >Sent: Saturday, February 06, 2016 1:02 AM >To: Peter Gentry; lilypond-user@gnu.org >Subject: Re: More ponderings on Chordmode > >On 16-02-05 01:31 PM, Peter Gentry wrote: >> I cannot discover a means to have the chords sound as a >guitar in this example everything I try ends up as a piano. >> >> Is it possible to assign a midiInstrument to the chordNotes? >> > > >>\relative c'' >>\new Staff { >> \set Staff.midiInstrument = "acoustic guitar (nylon)" >> \transpose c b { >> > > >As a bit of a SWAG, does your soundfont actually have a >definition for "acoustic guitar (nylon) "? If not, it will >default to some sort of piano sound. Also, having been bitted >by this myself, is the soundfont loaded in your MIDI device >actually the one you think it is? > >Just my CAD .02, Peter! > >Cheers, >Colin > >-- >The firmest fayth is found in fewest woordes. > -Edward Dyer, courtier and poet (c. 1540-1607) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: More ponderings on Chordmode
>-Original Message- >From: Steve Downes [mailto:st...@kingswayelec.co.uk] >Sent: Saturday, February 06, 2016 11:48 AM >To: lilyp...@andis59.se >Cc: Peter Gentry; lilypond-user@gnu.org >Subject: Re: More ponderings on Chordmode > >It may or may not be relevant but I find if I do what have you >done I can get it change to sample to a guitar sound. However >it doesn't sound like a guitar to me unless I sort out the >chord voicing to a guitar inversion as well. This is quite a >bit of work so I usually silence the chord names so they are >just visual & then write the notes of the chord into the staff >if I am that bothered about the midi track. > >I can offer some examples & maybe help on this if you think it >applies to you. Otherwise I'll just shut up. > >Steve > Thanks Steve. The mid output is not that important to me (just for checking) so I think we can say case closed. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
More ponderings on Chordmode
I cannot discover a means to have the chords sound as a guitar in this example everything I try ends up as a piano. Is it possible to assign a midiInstrument to the chordNotes? \version "2.19.25" \include "predefined-ukulele-fretboards.ly" \storePredefinedDiagram #default-fret-table \chordmode {c:dim7} #ukulele-tuning "5-3;3-2;2-1;o;" myChordsTransposed = \chordmode { e1:7 | s1 | a2 g | c2:dim7 a:7 | d1 | s1 | s2 s4 g | } \score { << \new ChordNames { \myChordsTransposed } \new FretBoards { \set Staff.stringTunings = #ukulele-tuning \myChordsTransposed } \relative c'' \new Staff { \set Staff.midiInstrument = "acoustic guitar (nylon)" \transpose c b { \key ees\major r1 | r1 | r2 r2 | r2 r2 | g4^\markup{\musicglyph #"scripts.segno"} g8. f16 ees8. bes16 ees8. f16 | g4 g ees2 | g4 g bes aes8. aes16 | g4 f f2 | } } >> \layout {} \midi {} } regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Fret Diagrams
Thank's Thomas that solves my problem.. I think I will have to change from a set of PDF manuals to the html version. I searched all the files for "Fret" and "N.C." selecting the "any of the words option". This may have found the reference but could have been lost in a cascade of hits. Searching for \set noChordSymbol finds all the lines containing \set. It is a bit hit and miss searching for an answer much easier to search when you know the answer. Search for noChordSymbol finds the answer. >-Original Message- >From: Thomas Morley [mailto:thomasmorle...@gmail.com] >Sent: Sunday, January 31, 2016 7:14 PM >To: Peter Gentry >Cc: lilypond-user >Subject: Re: Fret Diagrams > >Hi Peter, > >2016-01-31 19:29 GMT+01:00 Peter Gentry <peter.gen...@sunscales.co.uk>: >> This may be trivial but searches of themanuals etc have not >born fruit. >> >> How do you prevent the markup N.C. appearing where there is a note >> rest. In fact N.C. does not always appear sometimes once in >a bar sometimes twice for no immediately apparent reason. > >searching for N.C. in Notation Reference give an immediate >hit, pointing to >http://www.lilypond.org/doc/v2.19/Documentation/notation/displa >ying-chords#printing-chord-names > >Where you can read: >Rests passed to a ChordNames context will cause the >noChordSymbol markup to be displayed. > >So: >It has nothing to do with Fret Diagrams, but ChordNames. >Everywhere you wrote rests the noChordSymbol appears for each rest. > >> >> If r1 is replaced by R1 then no "N.C." markup. > >R1 is a MultiMeasureRest not a Rest, so noChordSymbol is not printed. >Some for spacers, btw. > >Maybe we should extend the example from the NR to demonstrate >how to change noChordSymbol. > >Here your shortened example with some possibilities: > > >m = > \chordmode { >e1:7 | >s1 | >r1 | >a2 g | >c2:dim7 a:7 | >d1 | >\set noChordSymbol = "foo" >r1 | >\set noChordSymbol = "" >r2 r4 g | >R1 > } > ><< >\new ChordNames \with { noChordSymbol = "--x--" }\m >\new Staff \m >>> > > >HTH, > Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Fret Diagrams
This may be trivial but searches of themanuals etc have not born fruit. How do you prevent the markup N.C. appearing where there is a note rest. In fact N.C. does not always appear sometimes once in a bar sometimes twice for no immediately apparent reason. If r1 is replaced by R1 then no "N.C." markup. I have been trying out http://do.remifa.so/archives/sheet_music/ no N.C. markup with \version "2.12.2" but with 2.19.25 "N.C." appears where the chordname would be if there was a chord I have included a small(ish) sample I have not used R1 in this but if you do then no "N.C." \version "2.19.25" \include "predefined-ukulele-fretboards.ly" \storePredefinedDiagram #default-fret-table \chordmode {c:dim7} #ukulele-tuning "5-3;3-2;2-1;o;" myChordsTransposed = \chordmode { e1:7 | r1 | a2 g | c2:dim7 a:7 | d1 | r1 | r2 r4 g | } << \new ChordNames { %\transpose c b { \myChords } \myChordsTransposed } \new FretBoards { \set Staff.stringTunings = #ukulele-tuning %\transpose c b { \myChords } \myChordsTransposed } \relative c'' \new Staff { \transpose c b { \key ees\major r1 | r1 | r2 r2 | r2 r2 | g4^\markup{\musicglyph #"scripts.segno"} g8. f16 ees8. bes16 ees8. f16 | g4 g ees2 | g4 g bes aes8. aes16 | g4 f f2 | } } >> \layout { \context { \Score \remove "Bar_number_engraver" } } regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Fwd: Re: Re Position of rests in cue notes (Peter Gentry)
Hello Jacques Yes it would. I was quickly clipping out a tiny example (without reading glasses). Old fogie trouble - but you get the gist. On 25/12/2015 15:22, Jacques Menu wrote: > Hello Peter, "Wouldn’t {\set Score.skipBars = ##t s2*6 } be more explicit and less confusing? > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re Position of rests in cue notes (Peter Gentry)
Brian Barker has supplied the solution. That is replace say r8 by b8\rest in the set of cue notes - see a8. ( [ g16 ] r8 ) b8\rest | % 3 - I have left on r8 to illustrate the problem. It's a bit of a fag to change all the rest in the cueNotes files as I have (5 * 4) 20 files one for each part and each movement. \version "2.19.25" cueNotes= \relative c' { f8-. bes8-. ( d8-. bes8-. ) | % 2 a8. ( [ g16 ] r8 ) b8\rest | % 3 f8-. es'8-. ( c8-. a8-. ) | % 4 bes16 ( [ c32 bes32 ] a32 [ bes32 c16 ] d8 ) f8\mp ( | % 5 g8 ) es8 ( f8 ) d8 ( | % 6 es8 ) c8 ( d8 ) bes8 ( | % 7 a8\< ) a8\! r16 ( [ g16 f16 r16 ) ] | % 8 } \addQuote "cueNotes" { \cueNotes } \relative c' { \set Score.midiInstrument = "flute" \set Score.skipBars = ##t \set Score.markFormatter = #format-mark-box-alphabet \accidentalStyle "modern-voice-cautionary" \clef "treble" \key bes\major \numericTimeSignature \time 2/4 \tempo "Andante con moto"4=69 \new CueVoice \with { instrumentCueName="clt3" } \cueDuring #"cueNotes" #UP {\set Score.skipBars = ##t s1*6/8*4 } d8\p r8 r8 d8 | % 2 es8 r8 r8 es8 | % 3 c8 r8 r8 c8 | % 4 } regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Position of rests in cue notes
I am using cuenotes in parts with extensive rests to give players reassurance with counting. The only issue is that rest are placed on the top leger line ie the F of treble clef. Is there a way to move these down to the midle leger line ie the B of the treble clef? Merry Christmas to all Ponders... regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: OT: Beauty of programming languages
While we are at it Age 73 - Married - North of England previous life Senior Scientific Oficer - Heat Transfer Mechanical Engineering Degree Struggling clarinet player and general music lover Started producing music scores using NoteWorthy Composer Graduated to LilyPond some years ago - still very much on the learning curve. Like many others have had a fair amout of programming experience on IBM and ICL mainframes, PDP8 mini computers BBC Microcomputers and the works of Master Gates. Minimal exposure to the likes of unix and linux and cannot afford extortionate Macs. Lilypond is a godsend and a wonderful example of open source software with so many contributing and providing help and advice to hapless strugglers. Bravo. Should any other clarinet players want some baroque music to play feel free to raid http://sunscales.co.uk not all of the files are finished and I'm sure many contain errors. They also reflect my modest progress with LilyPond. There aren't many ly files but just ask should you want them. regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Not Liypond - TURP
I wonder if anyone out there has had any experience of TURP. I have just returned from such a procedure without any immediate succees. Apologies for the off topic post - if you do respond please mail direct to peter.gen...@sunscales.co.uk. regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Tweaking in an engraver
The OP described wanting to tweak a note property depending on its pitch. Now I may be missing something but do you need to create an engraver for this. My instrumentranges.ly examines note pitch an based on a suplied criterion changes notehead colour and style - is this the sort of thing you had in mind. \version 2.19.15 % - % include function file instrument_ranges.ly % usuage include -- \include ./ranges/instrument_ranges.ly % usuage call -- \naturalizeInstrumentRange instrument music % this function will confine all pitches to the individual instruments range % Note the ranges refer to music transposed for each instrument not the true pitches. % use % for comment outside scheme function - use ; inside scheme functions % - #(define (naturalize-instrument-range p instrument ) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) ;; alteration, a, in quarter tone steps, for historical reasons (n (ly:pitch-notename p))) (define np 0) (define op (+ (+ (+ (* 14 o) ) (* n 2) ) (/ a 2))) ;; clarinet range e to f' -1 2 0 to 1 3 0 (-11 to 20) (cond ((equal? instrument clarinet ) (if ( op -38) (begin (set! o (+ o 1))) ) (if ( op -24) (begin (set! o (+ o 1))) ) (if ( op -10) (begin (set! o (+ o 1))) ) (if ( op 62) (begin (set! o (- o 1))) ) (if ( op 48) (begin (set! o (- o 1))) ) (if ( op 34) (begin (set! o (- o 1))) ) ) ; bass clarinet range eb to f' -1 1 2 (-1 2 -2) to 1 3 0 (-11 to 34) ((equal? instrument bass clarinet eb ) (if ( op -39) (begin (set! o (+ o 1))) ) (if ( op -25) (begin (set! o (+ o 1))) ) (if ( op -11) (begin (set! o (+ o 1))) ) (if ( op 62) (begin (set! o (- o 1))) ) (if ( op 48) (begin (set! o (- o 1))) ) (if ( op 34) (begin (set! o (- o 1))) ) ) ; bass clarinet range c to f' -1 1 2 (-1 2 -2) to 1 3 0 (-14 to 34) ((equal? instrument bass clarinet c ) (if ( op -42) (begin (set! o (+ o 1))) ) (if ( op -28) (begin (set! o (+ o 1))) ) (if ( op -14) (begin (set! o (+ o 1))) ) (if ( op 62) (begin (set! o (- o 1))) ) (if ( op 48) (begin (set! o (- o 1))) ) (if ( op 34) (begin (set! o (- o 1))) ) ) ;; flute range c to f' 0 0 0 to 1 3 0 (0 to 34) ((equal? instrument flute) (if ( op -28) (begin (set! o (+ o 1))) ) (if ( op -14) (begin (set! o (+ o 1))) ) (if ( op 0) (begin (set! o (+ o 1))) ) (if ( op 62) (begin (set! o (- o 1))) ) (if ( op 48) (begin (set! o (- o 1))) ) (if ( op 34) (begin (set! o (- o 1))) ) ) ;; alto range d to f' 0 1 0 to 1 3 0 ((equal? instrument alto) (if ( op -28) (begin (set! o (+ o 1))) ) (if ( op -14) (begin (set! o (+ o 1))) ) (if ( op 0) (begin (set! o (+ o 1))) ) (if ( op 62) (begin (set! o (- o 1))) ) (if ( op 48) (begin (set! o (- o 1))) ) (if ( op 34) (begin (set! o (- o 1))) ) ) ) (ly:make-pitch o n (/ a 4)) )) % - % a variable for the notehaed color on pitch change % - my-color = #(x11-color 'red) % - % this function rebuilds the music object optionally changing pitch and notehead color % - #(define (instrumentrange music instrument ) ( ly:music? string? ) ; extract the various portions of the music object (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) ; rebuild any 'elements unchanged (if (pair? es) (ly:music-set-property! music 'elements (map (lambda (x) (instrumentrange x instrument)) es))) ; rebuild any 'element unchanged (if (ly:music? e) (ly:music-set-property! music 'element (instrumentrange e instrument ))) ;rebuild the pitch and if a changed pitch add the color tweak (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (acons 'style 'harmonic (ly:music-property music 'tweaks))) music)) naturalizeInstrumentRange = #(define-music-function (parser location instrument m ) ( string? ly:music? ) (instrumentrange m instrument )) %
Re: Tweaking in scheme
-Original Message- From: David Kastrup [mailto:d...@gnu.org] Sent: Monday, June 29, 2015 3:13 PM To: Peter Gentry Cc: lilypond-user@gnu.org Subject: [SPAM] Re: [SPAM] Re: Tweaking in scheme David Kastrup d...@gnu.org writes: Peter Gentry peter.gen...@sunscales.co.uk writes: -Original Message- From: David Kastrup [mailto:d...@gnu.org] One can also try to do this kind of iteration oneself in order to only use the less invasive tweaks and get the color covered: \version 2.19.22 tweakIV = #(define-music-function (music) (ly:music?) (map-some-music (lambda (m) (and (music-is-of-type? 'note-event) Yikes. Of course (music-is-of-type? m 'note-event) here. (tweak 'color red (tweak 'style 'harmonic m music)) -- David Kastrup Big improvement in clarity (smugness justified) - and comforting to see that even the gods can slip up occaisionally (it's a daily occurrence for mere mortals) :) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Tweaking in scheme
-Original Message- From: Thomas Morley [mailto:thomasmorle...@gmail.com] Sent: Monday, June 29, 2015 12:10 PM To: Peter Gentry Cc: lilypond-user Subject: Re: Tweaking in scheme 2015-06-29 12:54 GMT+02:00 Peter Gentry peter.gen...@sunscales.co.uk: Tweaking in scheme The heart of the scheme procedure I'm trying is #(define (instrumentrange music instrument ) ( ly:music? string? ) ; extract the various portions of the music object (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch)));rebuild the pitch and if a changed pitch add the color tweak ... ... (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (ly:music-property music 'tweaks)) music)) This works fine and I have used \displayMusic to show the music stream to investigate other possible properties that can be specified in this way. I would like to specify note head style but this does not seem to appear as a property that can be applied in the acons list. In display music there is a complex list This is an \override (make-music 'ContextSpeccedMusic 'contextt-type 'Bottom 'element (make-music 'OverrideProperty 'pop-first #t 'grob-property-path (list (quote style)) 'grob-value 'harmonic 'symbol 'NoteHead)) Can this in any way be implimented by the 'tweaks method. How about: \version 2.19.21 %% regard output of: \displayMusic { \tweak style #'harmonic a'1 } tweakI = #(define-music-function (parser location music)(ly:music?) (ly:music-set-property! music 'tweaks (acons 'style 'harmonic (acons 'color red (ly:music-property music 'tweaks music) { \tweakI a'1 } %% or: tweakII = #(define-music-function (parser location music)(ly:music?) #{ \tweak color #red \tweak style #'harmonic $music #}) { \tweakII a'1 } HTH, Harm Thankyou very musch that works a treat. I couldn't find any specific information in the manuals and the displayMusic output contains a lot more than simply 'style and 'harmonic. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: [SPAM] Re: Tweaking in scheme
-Original Message- From: David Kastrup [mailto:d...@gnu.org] Sent: Monday, June 29, 2015 12:40 PM To: Thomas Morley Cc: Peter Gentry; lilypond-user Subject: [SPAM] Re: Tweaking in scheme Thomas Morley thomasmorle...@gmail.com writes: How about: \version 2.19.21 %% regard output of: \displayMusic { \tweak style #'harmonic a'1 } tweakI = #(define-music-function (parser location music)(ly:music?) (ly:music-set-property! music 'tweaks (acons 'style 'harmonic (acons 'color red (ly:music-property music 'tweaks music) { \tweakI a'1 } %% or: tweakII = #(define-music-function (parser location music)(ly:music?) #{ \tweak color #red \tweak style #'harmonic $music #}) { \tweakII a'1 } As 2.19.22 is now available for download, let me smugly suggest: \version 2.19.22 tweakIII = #(define-music-function (music) (ly:music?) (tweak 'color red (tweak 'style 'harmonic music))) However, like all of the previous proposals, this relies on music being a single tweakable item. For noteheads, there is the more thorough style-note-heads function employed by \harmonicNote, so this part could be done by (harmonicNote music) instead (\harmonicNote uses a tweak for a single note and override/revert for everything else). One can also try to do this kind of iteration oneself in order to only use the less invasive tweaks and get the color covered: \version 2.19.22 tweakIV = #(define-music-function (music) (ly:music?) (map-some-music (lambda (m) (and (music-is-of-type? 'note-event) (tweak 'color red (tweak 'style 'harmonic m music)) If version 2.19.22 is not available, one can retain the parser/location arguments and replace the (tweak ...) line by the core of any of Harm's proposals. map-some-music has been available since 2.16.0 at least, and all the rest for longer. -- David Kastrup Thanks for that I have downloaded 2.19.22 for even more fun ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Tweaking in scheme
Tweaking in scheme The heart of the scheme procedure I'm trying is #(define (instrumentrange music instrument ) ( ly:music? string? ) ; extract the various portions of the music object (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch)));rebuild the pitch and if a changed pitch add the color tweak ... ... (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (ly:music-property music 'tweaks)) music)) This works fine and I have used \displayMusic to show the music stream to investigate other possible properties that can be specified in this way. I would like to specify note head style but this does not seem to appear as a property that can be applied in the acons list. In display music there is a complex list (make-music 'ContextSpeccedMusic 'contextt-type 'Bottom 'element (make-music 'OverrideProperty 'pop-first #t 'grob-property-path (list (quote style)) 'grob-value 'harmonic 'symbol 'NoteHead)) Can this in any way be implimented by the 'tweaks method. regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Landscape output
Hello My paper block is % --- % set the paper layout for binding % footer has title and page number % --- \paper { #(set-default-paper-size a4 'landscape) two-sided = ##t top-margin = 10\mm bottom-margin = 10\mm inner-margin = 20 \mm outer-margin = 15 \mm binding-offset = 5 \mm first-page-number = #1 blank-after-score-page-force = #10 page-breaking = #ly:page-turn-breaking ragged-bottom = ##t indent = 5\mm print-page-number = ##t print-first-page-number = ##f oddHeaderMarkup = \markup \null evenHeaderMarkup = \markup \null oddFooterMarkup = \markup { \fill-line { \null \fontsize #2 \fromproperty #'header:mycustomtext \on-the-fly #print-page-number-check-first \fontsize #2 \fromproperty #'page:page-number-string } % end of fill line } % end of markup block evenFooterMarkup = \oddFooterMarkup } % end of paper block But the pdf output is still A4 Portrait where am I going wrong? regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Landscape output
-Original Message- From: Peter Gentry [mailto:peter.gen...@sunscales.co.uk] Sent: Friday, June 26, 2015 3:52 PM To: 'lilypond-user@gnu.org' Subject: RE Landscape output Hello My paper block is % --- % set the paper layout for binding % footer has title and page number % --- \paper { #(set-default-paper-size a4 'landscape) snip } % end of paper block But the pdf output is still A4 Portrait where am I going wrong? Thanks default paper size must go at a higher level - I thought it must be simple. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Color note heads outside nominal instrument range
Message: 2 Date: Sat, 30 May 2015 13:40:13 +0200 From: Marc Hohl m...@hohlart.de To: lilypond-user@gnu.org Subject: Re: Color note heads outside nominal instrument range Message-ID: 5569a19d.3070...@hohlart.de Content-Type: text/plain; charset=windows-1252; format=flowed Am 30.05.2015 um 12:38 schrieb Peter Gentry: FWIW I have attached a slightly simplified and better version of instrument_ranges.ly I haven't tested your code, but I like the idea of defining instrument-specific tonal ranges quite a lot! Some ideas/proposals: 1) Can you store the tone range for each instrument in an alist? (define range-alist '(( (clarinet . ( -10 . 34 )) (bass-clarinet-c . ( ... ))) or even better, use pitches? You can extract upper and lower bounds from this alist and don't have to write a conditional check for each instrument. 2) IIUC, the line (if (or ( op 34) ( op -10) ) (begin (set! o (+ o 1))) )) adds one octave to the pitch if the note is lower than the lowest possible note OR higher than the highest possible note? The latter doesn't seem quite right to me ;-) (and ( op -10) (set! o (+ o 1))) (and ( op 34) (set! o (- o 1))) seems to do the trick (untested). Apart from that, such a function is a valuable extension for lilypond IMHO. Cheers, Marc Actually Marc I have revised and simplified the calculation (see attached) - I simply wanted to indicate notes outside the range modify then to fall inside the range. The colour then gives engraver/player the option to play within range or if that is awkward play rests. I haven't sent to list before to save everyone the fag of looking at it again. regards Peter Gentry \version 2.19.15 % - % include function file instrument_ranges.ly % usuage include -- \include ./ranges/instrument_ranges.ly % usuage call -- \naturalizeInstrumentRange instrument music % this function will confine all pitches to the individual instruments range % Note the ranges refer to music transposed for each instrument not the true pitches. % use % for comment outside scheme function - use ; inside scheme functions % - #(define (naturalize-instrument-range p instrument ) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) (n (ly:pitch-notename p))) (define op (+ (+ (+ (* 14 o) ) (* n 2) ) (/ a 2))) (cond ;; clarinet range e to f' -1 2 0 to 1 3 0 (-10 to 34) ((equal? instrument clarinet ) (if ( op -10) (begin (set! o (+ o 1 (if ( op 34) (begin (set! o (- o 1 ) ; bass clarinet range eb to f' -1 1 2 (-1 2 -2) to 1 3 0 (-11 to 34) ((equal? instrument bass clarinet eb ) (if ( op -11) (begin (set! o (+ o 1))) ) (if ( op 34) (begin (set! o (- o 1))) ) ) ; bass clarinet range c to f' -1 1 2 (-1 2 -2) to 1 3 0 (-14 to 34) ((equal? instrument bass clarinet c ) (if ( op -14) (begin (set! o (+ o 1 (if ( op 34) (begin (set! o (- o 1 ) ;; flute range c to f' 0 0 0 to 1 3 0 (0 to 34) ((equal? instrument flute) (if ( op 0)(begin (set! o (+ o 1))) ) (if ( op 34) (begin (set! o (- o 1))) ) ) ;; alto range c to f' 1 0 0 to 1 3 0 ((equal? instrument alto) (if ( op 0) (begin (set! o (+ o 1))) ) (if ( op 34) (begin (set! o (- o 1))) ) ) ) (ly:make-pitch o n (/ a 4)) ) ) % - % a variable for the notehaed color on pitch change % - my-color = #(x11-color 'red) % - % this function rebuilds the music object optionally changing pitch and notehead color % - #(define (instrumentrange music instrument ) ( ly:music? string? ) ; extract the various portions of the music object (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) ; rebuild any 'elements unchanged (if (pair? es) (ly:music-set-property! music 'elements (map (lambda (x) (instrumentrange x instrument)) es) ) ) ; rebuild any 'element unchanged
RE:Color note heads outside nominal instrument range
FWIW I have attached a slightly simplified and better version of instrument_ranges.ly regards Peter Gentry \version 2.19.15 % - % include function file instrument_ranges.ly % usuage include -- \include ./ranges/instrument_ranges.ly % usuage call -- \naturalizeInstrumentRange instrument music % this function will confine all pitches to the individual instruments range % Note the ranges refer to music transposed for each instrument not the true pitches. % use % for comment outside scheme function - use ; inside scheme functions % - #(define (naturalize-instrument-range p instrument ) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) ;; alteration, a, in quarter tone steps, for historical reasons (n (ly:pitch-notename p))) (define op (+ (+ (+ (* 14 o) ) (* n 2) ) (/ a 2))) (cond ;; clarinet range e to f' -1 2 0 to 1 3 0 (-10 to 34) ((equal? instrument clarinet ) (if (or ( op 34) ( op -10) ) (begin (set! o (+ o 1))) )) ; bass clarinet range eb to f' -1 1 2 (-1 2 -2) to 1 3 0 (-11 to34) ((equal? instrument bass clarinet eb ) (if (or ( op 34) ( op -11) ) (begin (set! o (+ o 1))) )) ; bass clarinet range c to f' -1 1 2 (-1 2 -2) to 1 3 0 (-11 to34) ((equal? instrument bass clarinet c ) (if (or ( op 34) ( op -14) ) (begin (set! o (+ o 1))) )) ;; flute range c to f' 0 0 0 to 1 3 0 (0 to 34) ((equal? instrument flute) (if (or ( op 34) ( op 0) ) (begin (set! o (+ o 1))) )) ;; alto range c to f' 1 0 0 to 1 3 0 ((equal? instrument alto) (if (or ( op 34) ( op 0) ) (begin (set! o (+ o 1))) )) ) (ly:make-pitch o n (/ a 4)) )) % - % a variable for the notehaed color on pitch change % - my-color = #(x11-color 'red) % - % this function rebuilds the music object optionally changing pitch and notehead color % - #(define (instrumentrange music instrument ) ( ly:music? string? ) ; extract the various portions of the music object (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) ; rebuild any 'elements unchanged (if (pair? es) (ly:music-set-property! music 'elements (map (lambda (x) (instrumentrange x instrument)) es))) ; rebuild any 'element unchanged (if (ly:music? e) (ly:music-set-property! music 'element (instrumentrange e instrument ))) ;rebuild the pitch and if a changed pitch add the color tweak (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (ly:music-property music 'tweaks)) music)) % - % the Lily file calling function \naturalizeInstrumentRange clarinet followed by sequential music % - naturalizeInstrumentRange = #(define-music-function (parser location instrument m ) ( string? ly:music? ) (instrumentrange m instrument )) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Color note heads outside nominal instrument range
This is the cleaned up function - I hope Thunderbird does a better job then Outlook. \version 2.19.15 % - % % P Gentry (peter.gen...@sunscales.co.uk) 29 May 2015 % %Function to color any notes outside the nominal range of the instrument % %The nominal ranges are particualr performers ranges rather than actual instrument range % % include function file C:/Users/Peter/LilyPool/Includes/ranges/instrument_ranges.ly' % usuage include -- \include ./ranges/instrument_ranges.ly % usuage call -- \naturalizeInstrumentRange instrument music % % Note the ranges refer to music transposed for each instrument not the true pitches. % use % for comment outside scheme function - use ; inside scheme functions % - #(define (naturalize-instrument-range p instrument ) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) ;; alteration, a, in quarter tone steps, for historical reasons (n (ly:pitch-notename p))) ;; clarinet range e, to f' -1 2 0 to 1 3 0 (cond ((equal? instrument clarinet ) (if (= o -1) (begin (set! o -1 ))) (if (= o 3) (begin (set! o 2 ))) (cond ( (and (= o -1) (= a 2) (= n 1)) (set! o 0)) ( (and (= o 2) (n 3))(set! o 1)) ( (and (= o 2) (= n 3))(set! o 2)) ) (if ( o 2) (begin (set! o 2 ;; bass clarinet eb range eb, to f' -1 1 2 (-1 2 -2) to 1 3 0 ((equal? instrument bass clarinet eb ) (if (= o -1) (begin (set! o -1 ))) (if (= o 3) (begin (set! o 2 ))) (cond ( (and (= o -1) (= a 2) (= n 1)) (set! o 0)) ( (and (= o 2) (n 3)) (set! o 1)) ( (and (= o 2) (= n 3))(set! o 2)) ) (if ( o 2) (begin (set! o 2 ;; bass clarinet c range c, to f' -1 0 0 to 1 3 0 ((equal? instrument bass clarinet c ) (if (= o -1) (begin (set! o -1 ))) (if (= o 3) (begin (set! o 2 ))) (cond ( (and (= o -1) ( a 0) (= n 0)) (set! o 0)) ( (and (= o 2) (n 3)) (set! o 1)) ( (and (= o 2) (= n 3))(set! o 2)) ) (if ( o 2) (begin (set! o 2 ;; flute range c to f' 1 0 0 to 1 3 0 ((equal? instrument flute) (if ( o 0) (begin (set! o 0 ))) (cond ( (and (= o 0) ( a 0) (= n 0)) (set! o 1)) ( (and (= o 2) ( n 3))(set! o 1)) ( (and (= o 2) (= n 3)) (set! o 2)) ) (if ( o 2) (begin (set! o 2 ;; alto range c to f' 1 0 0 to 1 3 0 ((equal? instrument alto) (if ( o 0) (begin (set! o 0 ))) (cond ( (and (= o 0) ( a 0) (= n 0)) (set! o 1)) ( (and (= o 2) ( n 3))(set! o 1)) ( (and (= o 2) (= n 3)) (set! o 2)) ) (if ( o 2) (begin (set! o 2 ) (ly:make-pitch o n (/ a 4)) )) % - % a variable for the notehaed color on pitch change % - my-color = #(x11-color 'red) % - % this function rebuilds the music object optionally changing pitch and notehead color % - #(define (instrumentrange music instrument ) ( ly:music? string? ) ; extract the various portions of the music object (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) ; rebuild any 'elements unchanged (if (pair? es) (ly:music-set-property! music 'elements (map (lambda (x) (instrumentrange x instrument)) es))) ; rebuild any 'element unchanged (if (ly:music? e) (ly:music-set-property! music 'element (instrumentrange e instrument ))) ;rebuild the pitch and if a changed pitch add the color tweak (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (ly:music-property music 'tweaks)) music)) % % the Lily file calling function \naturalizeInstrumentRange instrument string followed by a sequential music object % naturalizeInstrumentRange = #(define-music-function (parser location instrument m ) ( string? ly:music? ) (instrumentrange m instrument ))
RE:Color note heads outside nominal instrument range
-Original Message- Message: 6 Date: Fri, 29 May 2015 12:45:10 +0100 From: Peter Gentry peter.gen...@sunscales.myzen.co.uk To: lilypond-user@gnu.org Subject: Color note heads outside nominal instrument range Message-ID: 55685146.1050...@sunscales.myzen.co.uk Content-Type: text/plain; charset=utf-8; format=flowed This is the cleaned up function - I hope Thunderbird does a better job then Outlook. \version 2.19.15 % ;rebuild the pitch and if a changed pitch add the color tweak (if (ly:pitch? p) When I viewed this the two lines were merged into one - but when I reply by magic they are as they should be. I'm rapidly loosing the will to live with these formatting anomalies. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Notehead color on programmed pitch change
Thankyou David but how is color associated with NoteHead? I hope these ramblings of a gnarled old scheme/Lily tyro can be of general interest I'm guessing that 'tweaks is some sort of switch to open up properties of the current music object. In this case pitch is a property of 'NoteEvent and I'm guessing that color here is just NoteHead colour not NoteStem because NoteStem is not within the NoteEvent including 'pitch. NoteStem color may be available in a tweak of another music object or possibly supplied by another bit of code (engraver??). I do not know how code a tweak for stem color (apart from an override in the Lily .ly file) maybe you can't (anyway I don't want to). Also AFSIU ly:music-property extracts various elements of the current music item (possibly contained in a deeper Lily code), and allows user scheme to extract data from the current music object. ly:music-set-property! does the reverse? This part of my script kindly supplied by Thomas Morley (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (ly:music-property music 'tweaks)) In line 3 a pitch is written to the music event it may be the old pitch or a new pitch. In line 4 further action is taken if the pitch has been changed, first the variable my-color (previously defined) is type checked In line 5 'tweaks is inserted into the current music object. lines 6 - 8 are a bit obscure somehow the current color is replaced by my-color but how? Cannot find a definition for acons but it must be a variant of cons (consists) it occurs 8 times in snippets and once in notation and is clearly the way to tweak associating the Lily 'color with the user supplied color my-color. Rather confusingly the format of color has many guises (x11-color 'red), (1 0 0), simply 'red (no pun intended) and notehead colour can also be approached via a grob. The notehead grob must be somehow implied in the (make-music . Various different approaches to Notehead color are evident in the snippet repositry agin not much detailed explanation is to be found. upline = #(let ((m (make-articulation stopped))) (set! (ly:music-property m 'tweaks) (acons 'font-size 3 (acons 'stencil (lambda (grob) (grob-interpret-markup grob (make-draw-line-markup '(0 . 1 (ly:music-property m 'tweaks m) \relative c' { a'4^\upline a( c d')_\upline } which results in (make-music 'RelativeOctaveMusic 'element (make-music 'SequentialMusic 'elements (list (make-music 'NoteEvent 'articulations (list (make-music 'ArticulationEvent 'direction 1 'tweaks (list (cons (quote font-size) 3) (cons (quote stencil) #procedure #f (grob))) 'articulation-type stopped)) 'duration (ly:make-duration 2) 'pitch (ly:make-pitch 0 5)) (make-music 'NoteEvent 'articulations (list (make-music 'SlurEvent 'span-direction -1)) 'duration (ly:make-duration 2) 'pitch (ly:make-pitch 0 5)) (make-music 'NoteEvent 'pitch (ly:make-pitch 1 0) 'duration (ly:make-duration 2)) (make-music 'NoteEvent 'articulations (list (make-music 'SlurEvent 'span-direction 1) (make-music 'ArticulationEvent 'direction -1 'tweaks (list (cons (quote font-size) 3) (cons (quote stencil) #procedure #f (grob))) 'articulation-type stopped)) 'duration (ly:make-duration 2) 'pitch (ly:make-pitch 2 1) AFAICS tweaks are not documented properly anywhere - some of the possible tweaks are presented without detailed explanation in the notation and snippet manuals - is there another source of information? _ From: David Nalesnik [mailto:david.nales...@gmail.com] Sent: Wednesday, May 27, 2015 5:51 PM To: Peter Gentry Cc: lilypond-user; Thomas Morley Subject: Re: Notehead color on programmed pitch change On Wed, May 27, 2015 at 4:15 AM, Peter Gentry peter.gen...@sunscales.co.uk wrote: [...] (make-music 'SequentialMusic 'elements (list (make-music 'NoteEvent 'duration (ly:make-duration 0) 'pitch (ly:make-pitch 0 0)) (make-music 'NoteEvent 'tweaks (list (list (quote color) 1.0 0.0 0.0)) [...] Still not sure how to interpret (list (list... But as long as Lily does.:) We're simply creating a nested list: (list (quote color) 1.0 0.0 0.0) == (color 1.0 0.0 0.0) (list (list (quote color) 1.0 0.0 0.0)) == ((color 1.0 0.0 0.0)) By the way, (quote color) is just longhand for 'color Hope that helps, David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: lilypond-user Digest, Vol 150, Issue 170
-Original Message- Date: Thu, 28 May 2015 07:17:42 -0500 From: David Nalesnik david.nales...@gmail.com To: Peter Gentry peter.gen...@sunscales.co.uk Cc: lilypond-user lilypond-user@gnu.org Subject: Re: Notehead color on programmed pitch change Message-ID: CANn-nXmqEOHtksHRSJag0HcMD=gVAZZzfq=kv2d9pgpvgob...@mail.gmail.com Content-Type: text/plain; charset=utf-8 On Thu, May 28, 2015 at 6:43 AM, Peter Gentry peter.gen...@sunscales.co.uk wrote: Thankyou David but how is color associated with NoteHead? I hope these ramblings of a gnarled old scheme/Lily tyro can be of general interest I'm guessing that 'tweaks is some sort of switch to open up properties of the current music object. You've seen http://lilypond.org/doc/v2.18/Documentation/notation/the-tweak-command? Any usage of \tweak in the ly file would appear in the 'tweaks list in the music representation. Here, instead of using \tweak in the file, we're achieving the same result by modifying the music representation directly. To see the music representation (basically what LilyPond does to your ly code to make it more digestible) wrap various music expressions in \displayMusic. For example: \displayMusic { \tweak NoteHead.color #red c''4 } Note how the tweak is represented. In this case pitch is a property of 'NoteEvent and I'm guessing that color here is just NoteHead colour not NoteStem because NoteStem is not within the NoteEvent including 'pitch. NoteStem color may be available in a tweak of another music object or possibly supplied by another bit of code (engraver??). I do not know how code a tweak for stem color (apart from an override in the Lily .ly file) maybe you can't (anyway I don't want to). Well, you'd tweak Stem. And once again, \displayMusic will show you what is done with your ly code: \displayMusic { \tweak Stem.color #blue c''4 } Also AFSIU don't know this one :) ly:music-property extracts various elements of the current music item (possibly contained in a deeper Lily code), and allows user scheme to extract data from the current music object. ly:music-set-property! does the reverse? Basically. *This part of my script kindly supplied by Thomas Morley* (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (ly:music-property music 'tweaks)) In line 3 a pitch is written to the music event it may be the old pitch or a new pitch. In line 4 further action is taken if the pitch has been changed, first the variable my-color (previously defined) is type checked In line 5 'tweaks is inserted into the current music object. lines 6 - 8 are a bit obscure somehow the current color is replaced by my-color but how? Cannot find a definition for acons but it must be a variant of cons (consists) it occurs 8 times in snippets and once in notation and is clearly the way to tweak associating the Lily 'color with the user supplied color my-color. You have to look to sources specifically devoted to Scheme. http://www.gnu.org/software/guile/docs/docs-1.8/guile-ref/Addin g-or-Setting-Alist-Entries.html#index-acons-1603 Rather confusingly the format of color has many guises (x11-color 'red), (1 0 0), simply 'red (no pun intended) and notehead colour can also be approached via a grob. The notehead grob must be somehow implied in the (make-music . The NoteHead grob will ultimately be made as a result of processing the NoteEvent. (As will a Stem, any Dots, an Accidental, etc.) Various different approaches to Notehead color are evident in the snippet repositry agin not much detailed explanation is to be found. http://www.lilypond.org/doc/v2.18/Documentation/learning/visibi lity-and-color-of-objects#the-color-property upline = #(let ((m (make-articulation stopped))) (set! (ly:music-property m 'tweaks) (acons 'font-size 3 (acons 'stencil (lambda (grob) (grob-interpret-markup grob (make-draw-line-markup '(0 . 1 (ly:music-property m 'tweaks m) \relative c' { a'4^\upline a( c d')_\upline } which results in (make-music 'RelativeOctaveMusic 'element (make-music 'SequentialMusic 'elements (list (make-music 'NoteEvent 'articulations (list (make-music 'ArticulationEvent 'direction 1 'tweaks (list (cons (quote font-size) 3) (cons (quote stencil) #procedure #f (grob))) 'articulation-type stopped)) 'duration (ly:make-duration 2) 'pitch (ly:make-pitch 0 5)) (make-music 'NoteEvent 'articulations (list (make-music 'SlurEvent 'span-direction -1)) 'duration (ly:make-duration 2) 'pitch (ly:make-pitch 0 5)) (make-music 'NoteEvent 'pitch (ly:make-pitch 1 0) 'duration (ly:make-duration 2)) (make-music 'NoteEvent 'articulations (list (make-music 'SlurEvent 'span-direction
Re: Notehead color on programmed pitch change
-Original Message- From: Thomas Morley [mailto:thomasmorle...@gmail.com] Sent: Tuesday, May 26, 2015 5:33 PM To: Peter Gentry Cc: lilypond-user Subject: Re: Subject: Re: Notehead color on programmed pitch change 2015-05-26 18:09 GMT+02:00 Peter Gentry peter.gen...@sunscales.co.uk: Thanks very much for your solution - I'm not yet sure why it works...how does 'tweaks know about notehead color? All very baffling Well, most (every?) music-event may be tweaked. Look at the terminal-output from: \displayMusic { \tweak color #red c''1 } My code adds this tweak to the NoteEvent under certain conditions. Outlook strikes again - try this Well, perhaps you'll have success persuading outlook to keep your formating. If not I'd look out for another mail-program ;) Cheers, Harm Thanks for the pointer... I tried this { c'1 \tweak color #red c''1 } And the log gives (make-music 'SequentialMusic 'elements (list (make-music 'NoteEvent 'duration (ly:make-duration 0) 'pitch (ly:make-pitch 0 0)) (make-music 'NoteEvent 'tweaks (list (list (quote color) 1.0 0.0 0.0)) 'duration (ly:make-duration 0) 'pitch (ly:make-pitch 1 0 Maybe this use of \tweak would be useful to many people - like a door opening. Still not sure how to interpret (list (list... But as long as Lily does.:) Now to experiment with other music properties.. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Notehead color on programmed pitch change (now \tweak)
-Original Message- From: Peter Gentry [mailto:peter.gen...@sunscales.co.uk] Sent: Wednesday, May 27, 2015 10:16 AM To: 'lilypond-user@gnu.org' Cc: 'Thomas Morley' Subject: Re: Notehead color on programmed pitch change -Original Message- From: Thomas Morley [mailto:thomasmorle...@gmail.com] Sent: Tuesday, May 26, 2015 5:33 PM To: Peter Gentry Cc: lilypond-user Subject: Re: Subject: Re: Notehead color on programmed pitch change 2015-05-26 18:09 GMT+02:00 Peter Gentry peter.gen...@sunscales.co.uk: Thanks very much for your solution - I'm not yet sure why it works...how does 'tweaks know about notehead color? All very baffling Well, most (every?) music-event may be tweaked. Look at the terminal-output from: \displayMusic { \tweak color #red c''1 } My code adds this tweak to the NoteEvent under certain conditions. Outlook strikes again - try this Well, perhaps you'll have success persuading outlook to keep your formating. If not I'd look out for another mail-program ;) Cheers, Harm Thanks for the pointer... I tried this { c'1 \tweak color #red c''1 } And the log gives (make-music 'SequentialMusic 'elements (list (make-music 'NoteEvent 'duration (ly:make-duration 0) 'pitch (ly:make-pitch 0 0)) (make-music 'NoteEvent 'tweaks (list (list (quote color) 1.0 0.0 0.0)) 'duration (ly:make-duration 0) 'pitch (ly:make-pitch 1 0 Maybe this use of \tweak would be useful to many people - like a door opening. Still not sure how to interpret (list (list... But as long as Lily does.:) Now to experiment with other music properties.. Further to this it seems the effect of this tweak is rather odd. The color of the following note head is changed but the note stem is also thinner and this effect carries over to the next notes and indeed the number of notes affected varies see \version 2.19.15 \displayMusic \relative { c'4 c4 c4 c4 \tweak color #red c''4 c4 c4 c4 } The plot thickens. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Notehead color on programmed pitch change (now \tweak)
-Original Message- From: Phil Holmes [mailto:m...@philholmes.net] Sent: Wednesday, May 27, 2015 11:49 AM To: Peter Gentry; lilypond-user@gnu.org Cc: 'Thomas Morley' Subject: Re: Notehead color on programmed pitch change (now \tweak) - Original Message - From: Peter Gentry peter.gen...@sunscales.co.uk To: lilypond-user@gnu.org Cc: 'Thomas Morley' thomasmorle...@gmail.com Sent: Wednesday, May 27, 2015 10:27 AM Subject: Re: Notehead color on programmed pitch change (now \tweak) Further to this it seems the effect of this tweak is rather odd. The color of the following note head is changed but the note stem is also thinner and this effect carries over to the next notes and indeed the number of notes affected varies see I think you'll find that this is nothing to do with tweak: it's either the way your PDF viewer rasterises the stems where the notehead is above the stave, or an optical illusion. Rasterising them at 1200 dpi and overlaying the stems in a image manipulating program showed them to be all identical. -- Phil Holmes Yes it is noting to do with tweak it arises from using the magnifier in the Frecobaldi output window - this can produce apparent variations in note stem width. They are an artefact and do not affect the printed output. Case closed. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Notehead color on programmed pitch change
Thanks very much for your solution - I'm not yet sure why it works...how does 'tweaks know about notehead color? All very baffling 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 \version 2.19.15 #(define (naturalize-instrument-range p instrument ) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) ;; alteration, a, in quarter tone steps, ;; for historical reasons (n (ly:pitch-notename p))) (cond ((equal? instrument clarinet ) (if (= o -1) (begin (set! o -1 ))) (if (= o 3) (begin (set! o 2 ))) (cond ( (and (= o -1) (= a 2) (= n 1)) (set! o 0)) ( (and (= o 2) (n 3))(set! o 1)) ( (and (= o 2) (= n 3))(set! o 2)) ) (if ( o 2) (begin (set! o 2 ((equal? instrument flute) (if ( o 0) (begin (set! o 0 ))) (cond ( (and (= o 0) ( a 0) (= n 0)) (set! o 1)) ( (and (= o 2) ( n 3)) (set! o 1)) ( (and (= o 2) (= n 3)) (set! o 2)) ) (if ( o 2) (begin (set! o 2 ) (ly:make-pitch o n (/ a 4)) )) my-color = #(x11-color 'red) #(define (instrumentrange music instrument ) ( ly:music? string? ) (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) (if (pair? es) (ly:music-set-property! music 'elements (map (lambda (x) (instrumentrange x instrument)) es))) (if (ly:music? e) (ly:music-set-property! music 'element (instrumentrange e instrument ))) (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (ly:music-property music 'tweaks)) music)) naturalizeInstrumentRange = #(define-music-function (parser location instrument m ) ( string? ly:music? ) (instrumentrange m instrument )) \score { \new Staff \naturalizeInstrumentRange clarinet \relative c'' { d4 r16 d,,16 [ e'16 f16 ] e8 [ a,8 ] a''16 [ g'16 a16 e16 ] | % 4 f8 [ d8 ] r4 r2 | % 5 } } \score { \new Staff \relative c'' { d4 r16 d,,16 [ e'16 f16 ] e8 [ a,8 ] a''16 [ g'16 a16 e16 ] | % 4 f8 [ d8 ] r4 r2 | % 5 }} regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Subject: Re: Notehead color on programmed pitch change
Thanks very much for your solution - I'm not yet sure why it works...how does 'tweaks know about notehead color? All very baffling Outlook strikes again - try this \version 2.19.15 #(define (naturalize-instrument-range p instrument ) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) ;; alteration, a, in quarter tone steps, ;; for historical reasons (n (ly:pitch-notename p))) (cond ((equal? instrument clarinet ) (if (= o -1) (begin (set! o -1 ))) (if (= o 3) (begin (set! o 2 ))) (cond ( (and (= o -1) (= a 2) (= n 1)) (set! o 0)) ( (and (= o 2) (n 3))(set! o 1)) ( (and (= o 2) (= n 3))(set! o 2)) ) (if ( o 2) (begin (set! o 2 ((equal? instrument flute) (if ( o 0) (begin (set! o 0 ))) (cond ( (and (= o 0) ( a 0) (= n 0)) (set! o 1)) ( (and (= o 2) ( n 3)) (set! o 1)) ( (and (= o 2) (= n 3)) (set! o 2)) ) (if ( o 2) (begin (set! o 2 ) (ly:make-pitch o n (/ a 4)) )) my-color = #(x11-color 'red) #(define (instrumentrange music instrument ) ( ly:music? string? ) (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) (if (pair? es) (ly:music-set-property! music 'elements (map (lambda (x) (instrumentrange x instrument)) es))) (if (ly:music? e) (ly:music-set-property! music 'element (instrumentrange e instrument ))) (if (ly:pitch? p) (let ((new-pitch (naturalize-instrument-range p instrument))) (ly:music-set-property! music 'pitch new-pitch) (if (and (not (equal? p new-pitch)) (color? my-color)) (ly:music-set-property! music 'tweaks (acons 'color my-color (ly:music-property music 'tweaks)) music)) naturalizeInstrumentRange = #(define-music-function (parser location instrument m ) ( string? ly:music? ) (instrumentrange m instrument )) \score { \new Staff \naturalizeInstrumentRange clarinet \relative c'' { d4 r16 d,,16 [ e'16 f16 ] e8 [ a,8 ] a''16 [ g'16 a16 e16 ] | % 4 f8 [ d8 ] r4 r2 | % 5 } } \score { \new Staff \relative c'' { d4 r16 d,,16 [ e'16 f16 ] e8 [ a,8 ] a''16 [ g'16 a16 e16 ] | % 4 f8 [ d8 ] r4 r2 | % 5 }} regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Notehead color on programmed pitch change
I have a short script to confine music to an instruments range. I wish to colour the noteheads on any pitches which have been changed to fit the instrument range. Try as I may all attempts to modify existing snippets have failed - I was particulary baffled by the snippet #(define (pitch-to-color pitch) (let ((color (assoc pitch colo-mapping pitch-equals?))) (if color (cdr color))) which in the abscence of a need for color-mapping I couldn't replace with (color (x11-color 'red)) The above is not in the script as all attempts just failed - can anyone help please. \version 2.19.15 #(define (naturalize-instrument-range p instrument) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) ;; alteration, a, in quarter tone steps, ;; for historical reasons (n (ly:pitch-notename p))) (define oct1 o) (cond ((equal? instrument clarinet ) (if (= o -1) (begin (set! o -1 ))) (if (= o 3) (begin (set! o 2 ))) (cond ( (and (= o -1) (= a 2) (= n 1)) (set! o 0)) ( (and (= o 2) ( n 3)) (set! o 1)) ( (and (= o 2) (= n 3)) (set! o 2)) ) (if ( o 2) (begin (set! o 2 ((equal? instrument flute) (if ( o 0) (begin (set! o 0 ))) (cond ( (and (= o 0) ( a 0) (= n 0)) (set! o 1)) ( (and (= o 2) ( n 3)) (set! o 1)) ( (and (= o 2) (= n 3)) (set! o 2)) ) (if ( o 2) (begin (set! o 2 ) ;; just in for checking (if (or ( oct1 o) ( oct1 o)) (display (string-append oct= (number-string oct1) o= (number-string o) \n))) (ly:make-pitch o n (/ a 4)) )) #(define (instrumentrange music instrument ) ( ly:music? number? ) (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) (if (pair? es) (ly:music-set-property! music 'elements (map (lambda (x) (instrumentrange x instrument)) es))) (if (ly:music? e) (ly:music-set-property! music 'element (instrumentrange e instrument ))) (if (ly:pitch? p) (begin (set! p (naturalize-instrument-range p instrument)) (ly:music-set-property! music 'pitch p))) music)) naturalizeInstrumentRange = #(define-music-function (parser location instrument m ) ( string? ly:music? ) (instrumentrange m instrument )) \score { \naturalizeInstrumentRange clarinet \new Staff \relative c'' { d4 r16 d,,16 [ e'16 f16 ] e8 [ a,8 ] a'16 [ g'16 a16 e16 ] | % 4 f8 [ d8 ] r4 r2 | % 5 }} regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Music function problem
I have seen the error of my ways... My previous use of a function needed just a music object this was simply the following music expression in my case an include file of notes. When the function has an additional parameter this must come after the music not immediately after the \functionname. I was anticipating some internal Lily magic when the answer was simple...doh. Thanks for putting me on the right track. -Original Message- From: Thomas Morley [mailto:thomasmorle...@gmail.com] Sent: Thursday, May 14, 2015 1:07 PM To: Peter Gentry Cc: lilypond-user Subject: Re: Music function problem 2015-05-14 13:44 GMT+02:00 Peter Gentry peter.gen...@sunscales.co.uk: I am trying to write an include file that will modify a music object dependent on the specified instrument. music-functions _do_ accept strings or numbers, something else must be wrong. Can't say more without compilable code, though. Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Music function problem
Date: Thu, 14 May 2015 16:01:34 +0100 From: Mark Knoop m...@opus11.net To: Lilypond User List lilypond-user@gnu.org Subject: Re: Music function problem Message-ID: 20150514160134.292179f6@brahms.leipzig Content-Type: text/plain; charset=US-ASCII At 14:57 on 14 May 2015, Peter Gentry wrote: I have seen the error of my ways... My previous use of a function needed just a music object this was simply the following music expression in my case an include file of notes. When the function has an additional parameter this must come after the music not immediately after the \functionname. I was anticipating some internal Lily magic when the answer was simple...doh. Mark Knoop wrote: Well, you could just change the order of the parameters, viz: callmyfunction = #(define-music-function (parser location n m) (number? ly:music?) (anotherfunction m n)) Yes that works too - sometimes I cannot see the wood for the trees! ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Music function problem
I am trying to write an include file that will modify a music object dependent on the specified instrument. I am trying to write a function that will call the current music object and a user supplied argument string/number with the object of modifying the music object depending on the supplied number/string. I can get this to work if the two arguments are ( ly:music? color?) but not if they are (ly:music? number?) or (ly:music? string?) The function call in an include file aimed to get a music object and a user number is callmyfunction = #(define-music-function (parser location m n) (ly:music? number?) (anotherfunction m n)) This is a fragment of the include file In the lilypond file ... \callmyfunction #2 etc The define-music-function does not accept a number or string my puzzle is how do I get the music object and the user argument into my include function. Any pointers gratefully recieved I think I am missing something crucial about define-music-function regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
manuals page [WAS Re: teaching a university module on
That benlemon link is a real lemon - does the purported site actually exist? regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user