Re: LilyPond Enhancement Proposal (with Bounty)

2014-09-29 Thread m...@mikesolomon.org


> On 29 sept. 2014, at 08:18, Abraham Lee  wrote:
> 
> That's what I thought. I just wanted to make sure that that's what was really 
> the issue that needed to be addressed. 
> 
> Regards,
> Abraham 
> 
> Sent from my iPhone
> 
>> On Sep 28, 2014, at 9:34 PM, Chris Crossen  wrote:
>> 
>> 
>> 
>>> On Sep 28, 2014, at 8:08 PM, Abraham Lee  wrote:
>>> 
>>> Paul,
>>> 
>>> This sounds intriguing! First of all, my best wishes to you and your 
>>> startup company. May you have great success!
>>> 
>>> Secondly, I'm not entirely sure I understand what you are trying to avoid 
>>> with the text above measure bars. Can you give us an example or two showing 
>>> us exactly what you mean? I think that will help us know who can help you. 
>>> 
>>> Regards,
>>> Abraham 
>>> 
>>> Sent from my iPhone
>>> 
 On Sep 28, 2014, at 9:00 PM, Paul Tannous  wrote:
 
 LilyPonders:
 
 We are part of a startup company that wants to put LilyPond-generated 
 musical scores on tablets. We believe this will allow users to have 
 beautiful, readable scores on tablets and spread the usage of LilyPond to 
 a 
 wider audience. We have completed the first version of an Android 
 application that does this. It dynamically repaginates the music score to 
 fill the tablet screen, and it supports written annotation. 
 
 We have a series of programs that run on a Mac or PC to generate the 
 scores 
 to be rendered on tablets of different screen sizes. A tablet-format score 
 of our own design is built from LilyPond-generated score images so a 
 tablet 
 page of any size or orientation can be built dynamically, using note sizes 
 that will be readable. If you’ve seen PDF scores reduced and displayed on 
 tablets, you’ll understand why we think we have a better approach.
 
 Creating our tablet-format scores to support dynamic repagination means we 
 have to take steps to avoid having text directly above and below each of 
 the measure bars. We add measure bars back when rendering each line and 
 vary the bar widths in addition to adding space to fill out the lines. So 
 any text (tempo, dynamics, pedal instructions, etc.) spanning measures 
 would be split, pixels lost, and unwanted spacing added. We avoid this now 
 by writing the LilyPond source to avoid text above or below the measure 
 bars.  However, this can be painstaking and time-consuming work. 
 
 We would therefore like to see an option added to LilyPond, that could be 
 set before processing, that would avoid placing text above or below 
 measure 
 bars.
 
 We believe there must be code already in the engravers to avoid splitting 
 text over measures at line ends. So, we are hoping our proposed 
 enhancement 
 would be an extension of that code.
 
 We would be willing to pay a bounty to have this feature added if no one 
 else is interested in this functionality, but we have no idea of how much 
 effort would be required. We would like to have some feedback on how long 
 this would take and what someone who could do it would charge for the 
 effort.
 
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-user
>> <1000px-Chopin_Prelude_7.svg.png>
>> My understanding of the problem can be demonstrated in the attached graphic. 
>> The tempo Andantino above the first two measures would be a problem. The 
>> dynamic pp under the treble clef of the last measure is also possibly 
>> problematic.
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

Not in front of my computer, but one way to do this may be to get rid of extra 
spacing width for text and then set a large pure height for bar lines in an 
unpure-pure-container. This way, when spacing the line, the text would block 
against the bar line. This shouldn't effect vertical spacing.

Cheers,
~Mike___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: forcing bar number events

2013-09-20 Thread m...@mikesolomon.org


Sent from my iPhone

On 20 sept. 2013, at 08:50, Werner LEMBERG  wrote:

> 
> [2.17.26]
> 
> Folks,
> 
> 
> consider this snippet
> 
>  \relative c'' {
>\compressFullBarRests
>\set Score.barNumberVisibility = #(every-nth-bar-number-visible 5)
>\override Score.BarNumber.break-visibility = #end-of-line-invisible
>c1 | c1 | c1 | c1 |
>c1 | c1 | c1 | c1 |
>R1*4 |
>c1 | c1 | c1 | c1 |
>  }
> 
> Is it possible to make bar number `10' visible automatically?  Looking
> up the documentation, it seems that a bar number gets printed only if
> there is a bar line, and \compressFullBarRests prevents that...
> 
> It would be a great simplification if it would not be necessary to
> artificially break up `R1*4' into `R1 R1*3'.
> 
> 


The property barNumberVisibility takes a function as its argument. I forget 
what the function's arguments need to be, but if you can figure that out, you 
can roll your own function that prints the number at bar 10.

Cheers,
MS

>Werner
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Measure numbers in cadenza

2013-05-06 Thread m...@mikesolomon.org
Hey all,

I'm writing a piece of entirely unmetered music and using \cadenzaOn for that. 
I'm manually placing barlines from time to time in order to allow for line 
breaks and to help readability.  Is there any way to have the bar numbers 
displayed and increment that follow my manual placement of bars?

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Off-topics : vibrato

2013-04-24 Thread m...@mikesolomon.org

On 24 avr. 2013, at 15:58, Pierre Perol-Schneider 
 wrote:

> Thanks Mike, looks interesting.
> Do you think that this notation is often used by modern composers ?
> Have you seen it elsewhere ?
> 
> 
> 2013/4/24 m...@mikesolomon.org 
> On 24 avr. 2013, at 16:31, Pierre Perol-Schneider 
>  wrote:
> 
>> Hi List,
>> Does anyone know a modern notation to indicate a vibrato ?
>> Thanks,
>> Pierre
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
> 
> Squiggles above the staff seem to get the desired effect. See, for example, 
> http://ensemble101.fr/scores/tragedyvii.pdf
> 
> I don't have access to the code now but will later this week - email me if u 
> want it.
> 
> Cheers,
> MS
> 

I see it all over the place.

Cheers,
MS

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Off-topics : vibrato

2013-04-24 Thread m...@mikesolomon.org
On 24 avr. 2013, at 16:31, Pierre Perol-Schneider 
 wrote:

> Hi List,
> Does anyone know a modern notation to indicate a vibrato ?
> Thanks,
> Pierre
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

Squiggles above the staff seem to get the desired effect. See, for example, 
http://ensemble101.fr/scores/tragedyvii.pdf

I don't have access to the code now but will later this week - email me if u 
want it.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: MusicXML

2013-04-23 Thread m...@mikesolomon.org

On 23 avr. 2013, at 22:32, Urs Liska  wrote:

> I think that a Python program might be a good idea:
> - I'm sure there is good XML support with Python (don't really know,
> though)

You're right - it is good.

> - We could surely use code or experience from the musicxml2ly project.

It'd be mostly code, as the person who made it (Reinhold Kainhofer) is no 
longer involved in the project.

> - We could probably also use code and ideas from Frescobaldi.

This is foreign territory to me.

Python is a great tool for XML creation.  There is also 
http://okmij.org/ftp/Scheme/xml.html.  The advantage of doing it in Scheme is 
that you are building it directly into LilyPond.  I'd take a stab in the dark 
and guesstimate that 60% of the LilyPond user base that needs MusicXML export 
would not be comfortable running a Python script.

Cheers,
MS

> 
> Urs
> 
>> or
>>should MusicXML import/export be integrated into the core LilyPond 
>> code?
>> 
>>~Chris
>> 
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
> 
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: MusicXML

2013-04-23 Thread m...@mikesolomon.org
On 23 avr. 2013, at 21:21, Christopher R. Maden  wrote:

> I am comfortable with LilyPond, but not quite an expert.
> 
> I am an expert in XML and XSLT, and it sounds like it would be of
> benefit to LilyPond to have better support for MusicXML (though I don’t
> use it myself).
> 
> Can someone please summarize (or point me to a summary of) the current
> state of MusicXML support, what needs to be done, and the
> infrastructure?  E.g., is a standalone XSLT conversion acceptable, or
> should MusicXML import/export be integrated into the core LilyPond code?
> 
> ~Chris

There is currently a python script called musicxml2ly that will convert 
musicxml to ly fairly reliably.

For the other direction, the only possibility at this time is to convert an 
outputted MIDI file to MusicXML.

For me, it would be maybe 2 weeks of work to exhaustively convert what we call 
the "music stream" to MusicXML.  This could be faster or slower depending on 
how familiar one is with Scheme, LilyPond and XML.  The "music stream" is the 
internal representation of the music in Scheme that gets passed to what we call 
"engravers" (Stem_engraver, Clef_engraver, etc.) from which graphical objects 
are made and then eventually split over systems if necessary.  To get more 
precise information about layout into the MusicXML would be difficult, as there 
is not a one-to-one correspondence between events in the music stream and 
musical objects created.

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Barlines

2013-04-21 Thread m...@mikesolomon.org

On 21 avr. 2013, at 11:11, Andrew Bernard  wrote:

> Greetings List,
> 
> In setting a contemporary piece, I have need of being able to place 
> 'barlines' at various places that are not exactly barlines as such, for 
> example, right after the time signature and before any notes - not exactly 
> traditional notation engraving style. Other places also, where stretches of 
> non-musical time occur. I have been able to write some postcript in markup to 
> fake this out, but it does not seem correct or elegant. How should one go 
> about dong this properly?
> 
> I tried using \partial with s rests to achieve the initial barline before the 
> music, but this always seems to result in too wide a gap.
> 
> Andrew
> 

{
  a4 \bar "|" a4 \bar "|" a4 \bar "|" a4 % automatic bar
}

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Tie between voices

2013-04-07 Thread m...@mikesolomon.org
On 7 avr. 2013, at 14:45, Christian  wrote:

> How can I make a tie go from the half note d in the lower part to the
> quarter d in the upper part?
> 
> 
> rightOne = \relative c'' {
>  b4 a   | 
> }
> 
> rightTwo = \relative c' {
>  2 b |
> }
> 
> 

You can remove the tie engraver from the voice context and put it in the staff 
context.

Cheers,
MS

> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Suggestions for participating institutions?

2013-03-26 Thread m...@mikesolomon.org
On 26 mars 2013, at 10:52, David Kastrup  wrote:

> 
> Hi,
> 
> I met a former colleague in the bus to Chemnitz, and he is at least
> knowledgeable about EU research programmes.  Do people here have ideas
> about possible institutions who could be made to participate?  I think
> the conditions are institutions from at least three EU countries, and
> monetary participation of at least 25%.  So we need some institution
> with a reasonable interest of its own to get to some LilyPond-related
> goals.
> 
> Objective ICT-2013.8.2 Technology-enhanced learning
> 
> Target Outcomes
> Research under this objective targets tailored, scaled and tested R&D
> for stimulating the take-up of learning technologies in different
> learning contexts, reinforces the evidence-base of effectiveness of
> learning technologies and encourages their innovative use.
> 
> a) ICT-enabled learning environments: joint pre-commercial procurement
> (PCP) of innovative solutions for teaching national curricular topic(s)
> in primary and/or secondary education, based on latest advances in
> pedagogical, cognitive and other relevant scientific disciplines.
> 
> These solutions should:
> • combine, and operate across different digital media and devices and
> stretch the boundaries of place, time, type and styles of active
> learning in the digital age;
> • include rich and intuitive interfaces for teachers and students and
> simulations and representations for teaching, learning and communicating
> about the topic;
> • adapt to different teaching practices and learning methods (e.g.
> collaborative, inquiry-based and personalised learning and 1:1 tutoring)
> and provide efficient support for the teacher in planning, monitoring,
> assessment and in the management of classroom activities.
> 
> The participatory design of the systems should involve all key
> stakeholders in the value chain, e.g. public authorities, researchers,
> developers and end-users, through iterative processes and take into
> account contextual variables that affect learning in particular contexts
> (e.g. local, regional and/or national situations, learner and teacher
> profiles, types and styles of learning). The proposed solutions should
> aim for wide adoption at local, regional or national level and their
> relevance and effectiveness for learning should be demonstrated by
> appropriate evaluation methods and benchmarking.
> 
> PCPs shall be implemented according to the conditions outlined in
> objective 11.1 and Appendix 6 and cover the full PCP life-cycle
> encompassing solution design, prototyping, and original development of a
> limited volume of products/services in the form of a validated test
> series. They should seek to contribute to standards in digital
> educational solutions.
> 
> ...
> 
> Expected Impact
> • Broaden use of ICT in education in at least one curricular topic
> leading to wider take up by end-users;
> • Effective public-private partnerships for providing digital learning
> solutions in Europe;
> • Stronger growth of the European ICT-enabled learning markets;
> • More efficient use of ICT for learning through the exploitation of
> learning analytics tools;
> • More timely and effective acquisition of skills/competences through
> learning technologies, in public administrations, indicated a.o. through
> % of decrease in time to proven competency and in time to carry out the
> tasks, and % of savings in study time;
> • Increased awareness on the benefit of the adoption of learning
> technologies.
> 
> Funding Schemes
> a) CP-CSA, b) STREP, CSA, c) IP/STREP d) CSA (CA only).
> Indicative budget distribution
> 
> CP-CSA, IP/STREP: EUR 22 million, of which a minimum of 25% allocated to
> CP-CSA (max 25% for the CSA part), a minimum of 40% to IPs and 30% to
> STREPs;
> 
> For outcome b) : 1-2 STREPS to be funded
> CSA: EUR 3 million
> 
> Call:
> FP7-ICT-2013-11
> 

This is the exact sorta thing I've been looking for.
I work with a group in France that'd be perfect for this (the Grame) - I'll ask 
them.
I also have some contacts to the Sibelius Academy in Finland...

Will keep you posted.

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Fingering not aligned in 2.17, ok in 2.16

2013-03-22 Thread m...@mikesolomon.org

On 22 mars 2013, at 18:32, SoundsFromSound  wrote:

> Hmm..I kind of like the new behavior too, it's easier on my eyes.  I like how
> it staggers to flow with the score, but I can see why some would want strict
> lined-up fingerings as well.
> 
> Just my 2 cents.
> 
> Ben
> 
> 
> Werner LEMBERG wrote
>>> See below. In 2.16.2, the fingering indications are vertically
>>> aligned.  In 2.17.14, they aren't.
>>> 
>>> \relative f'' {
>>>  \set fingeringOrientations = #'(left)
>>> 
>> 
>> 4
>>> }
>> 
>> Do you consider this a bug?  Actually, I like the new behaviour
>> better.  What does the literature say?
>> 
>> 
>>Werner
>> 
>> ___
>> lilypond-user mailing list
> 
>> lilypond-user@
> 
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
> 

Ugh, my LilyPond development is going to screech to a halt now (too much work) 
but I have the solution sketched out in my head.  If someone wants to tackle it 
in C++ lemme know and I can give them the blueprint I have.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Fingering not aligned in 2.17, ok in 2.16

2013-03-22 Thread m...@mikesolomon.org
On 22 mars 2013, at 11:32, Nick Payne  wrote:

> See below. In 2.16.2, the fingering indications are vertically aligned. In 
> 2.17.14, they aren't.
> 
> \relative f'' {
>  \set fingeringOrientations = #'(left)
>  4
> }
> <2.16.2.png>
> <2.17.14.png>
> ___
> bug-lilypond mailing list
> bug-lilyp...@gnu.org
> https://lists.gnu.org/mailman/listinfo/bug-lilypond

That's me...
I'll try to post a fix tonight or tomorrow.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lilypond Woodwind-Diagram for Bassoon missing half-hole option for first finger

2013-03-17 Thread m...@mikesolomon.org
On 17 mars 2013, at 09:31, Wim van Dommelen  wrote:

> Hi Mike,
> 
> I tried that, but 'covered' doesn't in this stencil (the 
> 'bassoon-cc-one-key-stencil' is different from the others) if I see this 
> right, you need a 'ring'-type stencil to do that. Or did I miss something 
> there?
> 
> I use 2.16.0 (stable).
> 
> So for the solution I gave Ryan, I ALSO had to change the undelying stencil, 
> I grabbed the standard ring-column.
> 
> But that produces a circle, not the oval as in the current stencil.
> 
> Ryan, is that a problem?
> 
> If not, go two lines above and put there the exact same text as three lines 
> lower (exact as in 'exactly with all dots, commas, brackets, etc'). I can 
> email you a complete file if you want.

Missed that, good catch.

Thanks Wim!

Is this the case for all bassoons? If so, we can change LilyPond to reflect 
that.

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Defining pitches in variables

2013-03-17 Thread m...@mikesolomon.org
Hey all,

I am writing a percussion part that shadows a vocal part one-on-one and I'd 
like to do something like:

vocal = #(define-music-function (parser location) ()
#{
  foo = { a' }
  bar = { a'' }
#})

percu = #(define-music-function (parser location) ()
#{
  foo = { snare }
  bar = { tomh }
#})

music = {
foo8 bar8 foo8 bar8
}

<<
\new Staff { \vocal \music }
\new DrumStaff { \percu \music }
>>

Obviously the above doesn't get the desired effect but I hope people get the 
idea.  Is there a way to do this?

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lilypond Woodwind-Diagram for Bassoon missing half-hole option for first finger

2013-03-16 Thread m...@mikesolomon.org
Hey Ryan,

It'll require a bit of hacking.

-) Find the file display-woodwind-diagrams.scm for the version of LilyPond 
you're using.  Do a system search until you come across it if you're note sure 
how/where to find it.

-) Go to line 1366 of the file.

-) Change the word "trill" to the word "covered".

You're all set.  Now, you can use the command one1h and it'll display as you 
want it.

Cheers,
MS

On 16 mars 2013, at 23:43, ryanmichaelmcclure  
wrote:

> This is precisely what I need. Is there a way that I could make this appear
> in the fingering using a tweak?
> 
> 
> 
> --
> View this message in context: 
> http://lilypond.1069038.n5.nabble.com/Lilypond-Woodwind-Diagram-for-Bassoon-missing-half-hole-option-for-first-finger-tp142777p142835.html
> Sent from the User mailing list archive at Nabble.com.
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: big-picture question regarding Lilypond's capabilities (current and potential)

2013-03-16 Thread m...@mikesolomon.org
On 16 mars 2013, at 17:17, Kieren MacMillan  
wrote:

> Hello all,
> 
> My two-act musical, "Robin Hood: The Legendary Musical Comedy", had a 
> three-week run at Toronto's Hart House Theatre in January. It was quite 
> successful, to the point that several parties have voiced an interest in 
> further developing and producing it.
> 
> In my dream world, people who are interested in producing any of my musicals 
> should be able to say (e.g.) the following:
> 
>1. “I would like PDFs for the full score, vocal score, vocal book, and 
> band parts for piano+bass+percussion."
>2. "I would like ‘Generosity’ transposed down a tone.”
>3. “In the opening number, I would like to cut mm. 101-117, and have mm. 
> 212-213 made into a vamp (i.e., with repeat signs and the word ‘vamp, cont. 
> on vox’ written above).”
> 
> This email is to determine to what degree these are possible now, or might be 
> possible in the future.
> 
> In particular, I'm interested in #3, since it could more seriously impact the 
> way I organize the input code. (For #1 and #2, it's mostly just figuring out 
> and perfecting the infrastructure for on-demand printing — nontrivial, to be 
> sure, but mostly post-input-code.)

I use tags with absolute note entry for this sorta thing all the time.

One thing that is relatively easy to do is to create code formatting tools that 
will parse .ly code and spit out, for example, one measure per line (for simple 
music) that are all tagged via some sorta system. Then, a music function can 
generate keepWithTag and removeWithTag stuff based on the bars you want.

In general, in the realm of code beautifying and formatting, there are lots of 
3rd party tools that can be developed around LilyPond. The less out-there the 
music, the easier it is to apply these and augment the music's plasticity.

Cheers,
MS

> 
> Given the current (v2.17) capabilities of Lilypond, what are the various ways 
> I could accomplish #3?
> What's likely the "best" way?
> Are functions like \partCombine, \extractMusic, etc. up to the task(s)?
> 
> Thanks,
> Kieren.
> ___
> lilypond-devel mailing list
> lilypond-de...@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-devel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Ferneyhough-style flared hairpins?

2013-03-06 Thread m...@mikesolomon.org

On 6 mars 2013, at 20:06, Trevor Bača  wrote:

> 
> 
> 
> On Tue, Mar 5, 2013 at 11:26 PM, Trevor Bača  wrote:
> 
> 
> 
> On Mon, Mar 4, 2013 at 3:42 PM, Thomas Morley  
> wrote:
> 2013/3/4 Joseph Rushton Wakeling :
> > On 03/04/2013 05:29 PM, Trevor Bača wrote:
> >>
> >> I'm considering sponsoring the work and I'm curious to know if there would
> >> be
> >> any other adopters if the feature were implemented.
> 
> This workaround was posted more than 2 years ago in the german forum
> http://www.lilypondforum.de/index.php?topic=755.msg4238#msg4238
> It's 2.12.3, though, compiles with 2.16.2, too.
> Might be starting point:
> 
> \version "2.12.3"
> 
> flarePS = \markup { \postscript #"
> .1 setlinewidth
> -1 0. translate
> 0 0 moveto
> 0 0 1 .1 1 .5 curveto
> stroke
> 
> 0 -1.3332 translate
> 0 0 moveto
> 0 0 1 -.1 1 -.5 curveto
> stroke"
> }
> 
> flare = #(make-dynamic-script flarePS)
> 
> { g'2.\< a'4\flare }
> 
> 
> 
> -Harm
> 
> 
> Hi Harm,
> 
> Thanks fort this; I appreciate the workaround.
> 
> I implemented a number of the missing dynamics, narrowed the width of the 
> hairpins (which is customary when using these flared endings), and changed 
> the curved flares to angled flares (which is also customary).
> 
> The results are as follows. 
> 
> 
> ### BEGIN FLARED HAIRPIN EXAMPLE ###
> 
> \version "2.17.9"
> \language "english"
> 
> flare_ps = \markup \with-dimensions #'(0 . 0.1) #'(-1. . 1.) { 
> \postscript #"
> .1 setlinewidth
> -1 0. translate
> 0 0 moveto
> 0.25 0.75 lineto
> stroke
> 
> 0 -0.65 translate
> 0 0 moveto
> 0.25 -0.75 lineto
> stroke"
> }
> 
> flare_sf_ps = \markup \with-dimensions #'(0 . 0.1) #'(-1. . 1.) { 
> \postscript #"
> .1 setlinewidth
> -1 0. translate
> 0 0 moveto
> 0.25 0.75 lineto
> stroke
> 
> 0 -0.65 translate
> 0 0 moveto
> 0.25 -0.75 lineto
> stroke"
> \translate #'(-1 . -0.625) \dynamic sf
> }
> 
> flare_sfz_ps = \markup \with-dimensions #'(0 . 0.1) #'(-1. . 1.) { 
> \postscript #"
> .1 setlinewidth
> -1 0. translate
> 0 0 moveto
> 0.25 0.75 lineto
> stroke
> 
> 0 -0.65 translate
> 0 0 moveto
> 0.25 -0.75 lineto
> stroke"
> \translate #'(-1 . -0.625) \dynamic sfz
> }
> 
> flare_sffz_ps = \markup \with-dimensions #'(0 . 0.1) #'(-1. . 1.) { 
> \postscript #"
> .1 setlinewidth
> -1 0. translate
> 0 0 moveto
> 0.25 0.75 lineto
> stroke
> 
> 0 -0.65 translate
> 0 0 moveto
> 0.25 -0.75 lineto
> stroke"
> \translate #'(-1 . -0.625) \dynamic sffz
> }
> 
> flare_pp_ps = \markup { \concat { \raise #0. \flare_ps \dynamic { pp } } }
> flare_p_ps = \markup { \concat { \raise #0. \flare_ps \dynamic { p } } }
> flare_mp_ps = \markup { \concat { \raise #0. \flare_ps \dynamic { mp } } }
> flare_mf_ps = \markup { \concat { \raise #0.6 \flare_ps \dynamic { mf } } }
> flare_f_ps = \markup { \concat { \raise #0.6 \flare_ps \dynamic { f } } }
> flare_ff_ps = \markup { \concat { \raise #0.6 \flare_ps \dynamic { ff } } }
> flare_fff_ps = \markup { \concat { \raise #0.6 \flare_ps \dynamic { fff } } }
> 
> flare_pp = #(make-dynamic-script flare_pp_ps)
> flare_p = #(make-dynamic-script flare_p_ps)
> flare_mp = #(make-dynamic-script flare_mp_ps)
> flare_mf = #(make-dynamic-script flare_mf_ps)
> flare_f = #(make-dynamic-script flare_f_ps)
> flare_ff = #(make-dynamic-script flare_ff_ps)
> flare_fff = #(make-dynamic-script flare_fff_ps)
> 
> flare_sf = #(make-dynamic-script flare_sf_ps)
> flare_sfz = #(make-dynamic-script flare_sfz_ps)
> flare_sffz = #(make-dynamic-script flare_sffz_ps)
> 
> \new Score {
> \new Staff \with {
> \override DynamicLineSpanner #'Y-extent = #'(-1.5 . 1.5)
> \override DynamicLineSpanner #'staff-padding = #3
> } {
> \time 4/2
> \override Hairpin #'height = #0.
> c'2 \pp \< d'2 e'2 f'2 \flare_p
> c'2 \pp \< d'2 e'2 f'2 \flare_mp
> c'2 \pp \< d'2 e'2 f'2 \flare_mf
> \break
> c'2 \pp \< d'2 e'2 f'2 \flare_f
> c'2 \pp \< d'2 e'2 f'2 \flare_ff
> c'2 \pp \< d'2 e'2 f'2 \flare_fff
> \break
> c'2 \pp \< d'2 e'2 f'2 \flare_sf
> c'2 \pp \< d'2 e'2 f'2 \flare_sfz
> c'2 \pp \< d'2 e'2 f'2 \flare_sffz
> }
> }
> 
> ### END FLARED HAIRPIN EXAMPLE ###
>  
> 
> See the attached PNG for a table of results.
> 
> 
> Does anyone have an opinion on this type of solution?
> 
> My feeling is that it basically works but feels a bit breaky. (It also means 
> maintaining a rather large inventory of custom markup definitions, and 
> suddenly realizing late one night while composing that "rfz" has been left 
> out and needs to

Re: Hushing up Sibelius news?

2013-03-02 Thread m...@mikesolomon.org

On 2 mars 2013, at 18:27, Joseph Rushton Wakeling 
 wrote:

> On 03/02/2013 06:22 PM, Urs Liska wrote:
>> OTH we might take this as an opportunity to do something else as a showcase 
>> project.
>> I wouldn't suggest Goldberg Variations but rather something complex from the 
>> end
>> of the 19th century (i.e. just out of copyright). Maybe something for string
>> quartet too or another ensemble instrumentation (to be able to break it down 
>> in
>> a number of more manageable tasks)?
> 
> Alban Berg 4 Pieces for Clarinet and Piano.  Out of copyright in the US 
> (pre-1922 publication) and Europe (more than 70 years since composer's death).
> 

This is a great idea.  What'd I'd recommend is doing a "natural" version and a 
version with lots of tweaks.  If you define all the tweaks in a separate file, 
then all you need to do is sub that file with one that has empty definitions.  
This will help developers know how far LilyPond is from automating certain 
decisions.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Hushing up Sibelius news?

2013-03-02 Thread m...@mikesolomon.org

On 2 mars 2013, at 15:57, Eby Mani  wrote:

> http://img214.imageshack.us/img214/2672/waltz29rw.jpg
> 
> Not sure if this can be done on lilypond as the output on the example is 
> crazy and have no respect for the paper ;-) . But it is a problematic score 
> as per engraving standards and there are more crazy "scores" like these.
> 
> Eby
> 

Second system, second measure - there is a slur that connects to no musical 
column.
This would be difficult for LilyPond.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: spanners not showing up

2013-03-01 Thread m...@mikesolomon.org
On 1 mars 2013, at 20:07, Orm Finnendahl  
wrote:

> My questions: 
> 
> 1.: Is there a direct way to enforce lilypond to always print those
>signs and adjust its spacing accordingly (I'm aware that I could
>use a hidden second voice with eigth notes to enforce more
>horizontal space, but to me this seems more like a rather
>inelegant workaround than a solution)?

\once \override Glissando #'minimum-length = #20
\once \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
e, \glissando c

> 
> 2.: Would it be possible to at least inform the user about the
>suppressed grob by printing a warning in the compilation buffer?
> 

No. Please report this problem to bug-lilyp...@gnu.org.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Bendy glissandos

2013-02-21 Thread m...@mikesolomon.org
Hey,

Does anyone have any utilities to create bendy glissandos that I could pilfer?

Stuff that takes certain basic curves (parabolic, parts of sine periods, 
arbitrary polynomials over a range), models them with cubic beziers, and scales 
them horizontally and vertically to go between two notes?

Even better would be a little utility that will parse a svg document for paths 
and output them to be used In LilyPond for this sort of thing.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Behind Bars

2013-02-14 Thread m...@mikesolomon.org
On 14 févr. 2013, at 23:19, Graham Percival  wrote:

> On Thu, Feb 14, 2013 at 10:48:37PM +0100, m...@mikesolomon.org wrote:
>> I'll just throw it out there that I'm broke after planning my wedding and 
>> honeymoon in April (woohoo!) but have wanted to buy Behind Bars for some 
>> time. If anyone feels like buying it for me for a wedding present, it'd get 
>> a special spot in our new Ikea library! We'd even name a shelf after you!
> 
> I'll take this one.  :)
> 
> Mike, do you have this on a wedding registry, or should I find it
> from amazon or something?  Also, which country are you in now?
> 
> Cheers,
> - Graham

And Phil's the winner! Thank you both very much for the offer - it'll help give 
me a more in-depth understand quite a few things.

All the best,
~Mike
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Behind Bars

2013-02-14 Thread m...@mikesolomon.org
I'll just throw it out there that I'm broke after planning my wedding and 
honeymoon in April (woohoo!) but have wanted to buy Behind Bars for some time. 
If anyone feels like buying it for me for a wedding present, it'd get a special 
spot in our new Ikea library! We'd even name a shelf after you!

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: collision beam with staff-crossing beam

2013-02-13 Thread m...@mikesolomon.org

On 13 févr. 2013, at 13:50, David Kastrup  wrote:

>> I would rather make a concerted effort where people decide on a style
>> for documenting our API (standardizing function names, documentation
>> style, etc.) and then we do it rather than doing a piecemeal job.
> 
> Mike, you can either increase the ratio of undocumented functions and
> APIs whenever you add new ones, or you can decrease it.  The latter is
> not all too hard, so it makes sense to go for it.

The most time I lost in LilyPond development in my first couple years was from 
reading comments that for some reason were obsolete or non-indicative of what 
was actually going on.  Once I started just reading the logic of the code, 
everything got much easier.  So I am 100% pro telling the story but this needs 
to be done in a coherent way.  I realize that talking about user documentation 
is a different issue, but I think it needs to benefit from the same coherence 
and uniformity.

> 
>> Someone needs to lead this.
> 
> That's just an excuse for not documenting anything.  I don't buy your
> premise that things need to get worse until some hero appears and
> actively makes them better.

This is not an excuse for not documenting anything.  Every time I add a 
property I document it because there is a structure in place w/ ample examples 
of how to do so.  Ditto for interfaces.  Ditto for LY_DEFINE.

An API for LilyPond is a long talked about, excellent idea.  Once someone who 
is passionate about it comes up with rules about how it is done, like C++ 
indentation, I will follow it to the best of my abilities, exactly as I do for 
properties and interfaces and LY_DEFINE.

> 
>> Graham did this sort of thing for documentation a few years back and
>> it was an excellent idea.  The discussion could be organized in the
>> same way as GOP and GLISS stuff.
> 
> It is not a matter of "discussion".  It is a manner of making it a
> principle to write down what one was thinking instead of just coding the
> outcome, whenever it is relevant to understanding code.

This is where I get the most help from reviews - I add comments when people ask 
me what things do.  It is not obvious to me when things are relevant and not.

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: collision beam with staff-crossing beam

2013-02-13 Thread m...@mikesolomon.org
On 13 févr. 2013, at 12:02, Werner LEMBERG  wrote:

> 
>>> It is just a matter of writing documentation strings as you invent
>>> new callbacks.  Pretty much a no-brainer not needing any
>>> organization.
>> 
>> It is definitely a brainer, as it would require retroactively
>> documenting 276 MAKE_SCHEME_CALLBACKs.  It would take coordinated
>> effort to get all of this stuff documented.
> 
> You are missing David's point, I think.  He wonders why you are coding
> callbacks without writing a documentation string.
> 

Because when I started coding for the project, there was not a single use of 
MAKE_DOCUMENTED_SCHEME_CALLBACK whereas there are currently 276 uses of 
MAKE_SCHEME_CALLBACK.  All my programming education has come from reading 
LilyPond source code, so I tend to follow the conventions therein.

I would rather make a concerted effort where people decide on a style for 
documenting our API (standardizing function names, documentation style, etc.) 
and then we do it rather than doing a piecemeal job.  Someone needs to lead 
this.  Graham did this sort of thing for documentation a few years back and it 
was an excellent idea.  The discussion could be organized in the same way as 
GOP and GLISS stuff.  Someone who cares about this can organize it and I'd be 
happy not only to follow whatever standards are established but also help to 
document the 276 scheme callbacks in C++ that are currently undocumented.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: collision beam with staff-crossing beam

2013-02-13 Thread m...@mikesolomon.org
On 13 févr. 2013, at 11:34, David Kastrup  wrote:

> "m...@mikesolomon.org"  writes:
> 
>> On 13 févr. 2013, at 11:06, Werner LEMBERG  wrote:
>> 
>>> 
>>>> \override Beam.Y-extent = #'(0 . 10)
>>>> \override Beam.vertical-skylines =
>>>>#ly:grob::simple-vertical-skylines-from-extents
>>> 
>>> Nice!  And completely undocumented, of course...
>> 
>> There are currently around 100 callbacks in LilyPond for various
>> properties (check out anything in define-grobs.scm starting with ly:).
>> For most of them, there is no way to know how they work unless one
>> reads code.  In the documentation build, there is no mechanism to
>> document what these callbacks do.
> 
> Every callback can have a documentation string, and quite a few do.
> They are not included in the printed documentation yet, but at least
> they are in the source at an obvious place.
> 

git grep MAKE_DOCUMENTED_SCHEME_CALLBACK
git grep MAKE_SCHEME_CALLBACK

>> It would be fantastic to have the systematic documentation of all of
>> these callbacks in some form of API.  Would you be interested in
>> organizing this?  I would be happy to help.
> 
> It is just a matter of writing documentation strings as you invent new
> callbacks.  Pretty much a no-brainer not needing any organization.
> 

It is definitely a brainer, as it would require retroactively documenting 276 
MAKE_SCHEME_CALLBACKs.  It would take coordinated effort to get all of this 
stuff documented.

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: collision beam with staff-crossing beam

2013-02-13 Thread m...@mikesolomon.org
On 13 févr. 2013, at 11:06, Werner LEMBERG  wrote:

> 
>> \override Beam.Y-extent = #'(0 . 10)
>> \override Beam.vertical-skylines =
>> #ly:grob::simple-vertical-skylines-from-extents
> 
> Nice!  And completely undocumented, of course...

There are currently around 100 callbacks in LilyPond for various properties 
(check out anything in define-grobs.scm starting with ly:).  For most of them, 
there is no way to know how they work unless one reads code.  In the 
documentation build, there is no mechanism to document what these callbacks do. 
 Furthermore, there are several ways to accomplish many things (including the 
task above) and it is not always obvious what the benefits and drawbacks are.

It would be fantastic to have the systematic documentation of all of these 
callbacks in some form of API.  Would you be interested in organizing this?  I 
would be happy to help.

> 
> What I want is something similar: Instead of having a rectangular
> skyline, I want some `padding' (bad word here, I know): If a beam
> looks like this
> 
>  /|
> /||
>/||x
>||x
>|x
>x
> 
> I want to have the top skyline like this:
> 
>  /
> /
>/ /|
> /||
>/||x
>||x
>|x
>x
> 
> Maybe
> 
>  \override Beam.skyline-offsets = #'(0 . 10)
>  \override Beam.vertical-skylines =
>  #ly:grob::shift-vertical-skylines-by-offset
> 
> Especially for beams with a large slope this might be a better
> approach and usable for many other grobs also, I believe.
> 
> 

This is an excellent idea.  One of my current patches starts a more robust API 
for skylines (the same sorta thing that exists for stencils, allowing to 
translate, etc.).  After that is pushed, I'll expand it to allow this sort of 
thing.  Pester me in 2 weeks or so if I forget.

>Werner
> 
> 
> PS: Even after looking at lilypond output compiled with
> 
>  -ddebug-skylines='#t'
> 
>I don't understand what
> 
>  \override Beam.skyline-horizontal-padding = #50
> 
>actually does.  Can you please explain?

I just did a "git blame" on the docstring...I'd consult with the last person 
who touched it :-)

It is a good docstring but could perhaps be changed to "Fattens each 
constituent building of a skyline by this amount when determining distances 
with other skylines.  The larger this is, the more likely two buildings are to 
be identified as intersecting."

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: collision beam with staff-crossing beam

2013-02-13 Thread m...@mikesolomon.org

On 13 févr. 2013, at 10:08, Werner LEMBERG  wrote:

> 
>> If the line breaking isn't expected to change, i think that the most
>> reliable solution would be to explicitely set staff distance in this
>> particular system.
> 
> Thanks for the suggestion, but I think that such a severe collision
> should be fixed independently of the final layout.  I'm still waiting
> for Mike's answer w.r.t. shifting up the skyline by inserting some
> padding.
> 
> 
>Werner

skyline-horizontal-padding won't work here.  Try something like:

 <<
   \new Staff = "R" \relative c' {
 \voiceTwo
  d16[ b
   \change Staff = "L" \stemUp
   g
   \change Staff = "R" \stemDown
   b d b]
   }

   \new Staff = "L" \relative c' {
 \clef "bass"
 \voiceOne
 \override Beam #'Y-extent = #'(0 . 100)
 \override Beam #'vertical-skylines = 
#ly:grob::simple-vertical-skylines-from-extents
 g8[ s g]
   }
>>

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: bounty hack for some (non-Mike) Schemer out there

2013-02-11 Thread m...@mikesolomon.org
On 12 févr. 2013, at 02:58, Kieren MacMillan  
wrote:

> Hi Mike,
> 
>> Should get you started OK:
> 
> Thanks for this!
> 
> First, I'm going to turn this into a music function so I don't have to keep 
> typing it all.
> Then I'm going to see if I can turn it into a callback function for 
> MetronomeMark — that's where I mostly need it.
> 
> Many thanks,
> Kieren.

Hey Kieren,

You won't be able to do this with a metronome mark because that Grob is an item 
whereas the text spanner is a spanner, meaning it can take up multiple columns 
witthout stretching the music too much. So I'd use a customized text spanner in 
a separate context (like Dynamics...or you could create your own).

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: A must-see for anybody on this list

2013-02-10 Thread m...@mikesolomon.org
On 10 févr. 2013, at 12:18, Urs Liska  wrote:

> "Music Engraving on Metal Plates":
> http://www.youtube.com/watch?v=345o3Wu95Qo
> 
> Astonishing!
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

I literally cried while watching this. Never have I seen purer minimum 
translations between axis groups...
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: vertical distance of articulations

2013-02-09 Thread m...@mikesolomon.org
On 9 févr. 2013, at 16:12, Alex Voice  wrote:

> > I would like more space between note-head / end of a stem and 
> > tenuto/staccato/portato-marks. How to get that?
> 
> Werner,
> The following works, with adaptation according to the stem direction:
> 
> \version "2.16.2"
> \relative c'' 
> {
>   c4-. r
>   \once \override Script #'extra-offset = #'(0 . 0.1)
>   c4-. r  
> }
> 

Even though it gets the job done, extra-offset bypasses the spacing engine 
entirely, which can cause horizontal and vertical collisions.

Try:

{
c4-. r
\once \override Script #'padding = #5
c4-. r
}

Cheers,
MS ___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: bounty hack for some (non-Mike) Schemer out there

2013-02-09 Thread m...@mikesolomon.org

On 4 févr. 2013, at 16:01, Kieren MacMillan  
wrote:

> Hello all!
> 
> A few weeks ago, in response to Mike Solomon's call for features and bugs, I 
> posted a request:
> 
>>> 2. Allowing a text markup (especially a MetronomeMark) to have a "minimum 
>>> measure length". This would avoid collisions, particularly where there are 
>>> lots of multi-measure rests (e.g., orchestral parts).
> 
> His response was:
> 
>> #2 is doable via a hack.  Minimum lengths can only work if you use spanners, 
>> but you can hijack the tempo print function for a text spanner (and suppress 
>> the line afterwards) and then create a scheme engraver for text spanner that 
>> uses whatever as the left bound and the next bar line's non-musical paper 
>> column as the right bound.  Or you could just use the existing engraver and 
>> use the last note in the measure as a bound, although this will potentially 
>> create uneven spacing in a measure.
>> 
>> You'll have to manually put this TextSpanner in the topmost context and/or 
>> use ly:side-position-interface::move-to-extremal-staff (I'd recommend the 
>> former, as the latter is powerful but falls in the category of LilyPond 
>> black magic).  Make sure to use springs and rods and set a minimum-length - 
>> there's an example in the docs with a hairpin or glissando or something 
>> spanner-y that does this.
> 
> Is there anyone out there who can work on this with me? I've got some money 
> to put towards the implementation.
> 
> Thanks!
> Kieren.

Should get you started OK:

\version "2.17.8"

#(define my-text "Allegro con fuoco ma non troppo")

\new Staff << {
  \override TextSpanner.bound-details.left.text = #my-text
  \override TextSpanner.font-shape = #'normal
  \override TextSpanner.font-size = #1
  \override TextSpanner.springs-and-rods = #ly:spanner::set-spacing-rods
  \override TextSpanner.minimum-length =
#(lambda (grob)
   (interval-length (ly:stencil-extent (grob-interpret-markup grob
  my-text)
   X)))
  s1*7/8\startTextSpan
  s1*1/8\stopTextSpan
  s1*7/8\startTextSpan
  s1*1/8\stopTextSpan
}
{
  R1 |
  R1 |
} >>

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord name collide with staff

2013-02-03 Thread m...@mikesolomon.org
On 4 févr. 2013, at 01:00, MING TSANG  wrote:

> Hi fellow lily users:
> 
> I have a chord name and a melody staff.  The chord name collide with the 
> melody staff on 2nd & 3rd systems in v2.17.11, but in v2.16.2 they are ok. 
> Please refer to two pdf files and a lily text file.
> 
> Appreciate help to resolve this. 
>  
> Blessing in+,
> 
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

Yikes! It seems like the type of thing that I'd have caused and that I could 
fix. Will keep you posted as of tomorrow with a solution.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Pondings

2013-02-01 Thread m...@mikesolomon.org
On 1 févr. 2013, at 22:24, Joshua Armenta  wrote:

> Hello Lilyponders,
> 
> I'd like to submit something for the "Pondings" section of the website. Is 
> this still being actively updated?
> 
> Josh Armenta
> 
> -- 
> Josh Armenta
> Composer, Conductor, Scholar & Performer
> Masters of Music Candidate
> The Peabody Institute of the Johns Hopkins University
> Baltimore, MD
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

Sure!
Just send it to me.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Woodwind Fingering diagrams problem

2013-01-29 Thread m...@mikesolomon.org

On 29 janv. 2013, at 22:17, Joseph Rushton Wakeling 
 wrote:

> On 01/29/2013 09:50 PM, Wim van Dommelen wrote:
 6. Lot's of models have a right-hand low-ees key (with the thumb), There 
 is no
 such key. Wishlist.
>>> 
>>> Not recent French models, in my experience, but I agree it's often found.  
>>> The
>>> trouble is its placement is not uniform.
>> The Selmer privilege has one.
> 
> Aah, I have not tried out that instrument.  Good to know.
> 
>> I dived into Scheme today and it very, very much reminds me of Lisp in which 
>> I
>> did some small things 25 years ago.
> 
> Well, it _is_ Lisp -- a different dialect from Common Lisp, but Lisp 
> nevertheless.
> 
> Since you're finding it relatively straightforward to play with the Scheme 
> code, can I put in a feature request -- any chance of fixing the shape of the 
> register key for clarinet/bass clarinet? :-)

Hey all,

Just a note to say thank you to all those who want to make this code better.  
It's tough for me to take it any farther with my non-expert knowledge of 
woodwind instruments, but I would be glad to answer any and on questions 
addressed to lilypond-devel regarding Scheme and the innards of this code.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: ledger line crash with very high notes in first chord of system

2013-01-28 Thread m...@mikesolomon.org

On 28 janv. 2013, at 11:21, Jeffrey Trevino  wrote:

> Hi Keith,
> 
> Thanks for your report and your suggested override. I'll give it a shot; in 
> the meantime, I've gone for a popular contemporary music workaround: the 
> addition of a third staff with an octave treble clef, to eliminate the ledger 
> lines. (hence my post about changing staffs for the notes of a chord...)
> 
> cheers,
> Jeff 
> 

I've seen this in a few scores, mostly in the music of Hans Tutschku.  I 
haven't completely wrapped my head around the best way to implement it, but it 
seems like one solution is overriding the stencil function of the 
LedgerLineSpanner to be continuous across notes.  There'd need to be some 
additional tweaks, like maybe accidental placement stuff, but otherwise it is 
more consistent with what's going on, as the extender staff is philosophically 
more like a ledger line than a staff (for example, one wouldn't put dynamics or 
scripts between the real and extender staff).

~Mikey
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Collision with \repeat tremolo and accidental of second note

2013-01-27 Thread m...@mikesolomon.org
On 26 janv. 2013, at 21:52, Jethro Van Thuyne  wrote:

> See minimal example below and image attached
> 
> \relative c''   {
>\repeat tremolo 16 { bes,32 aes' } |
>  }
> 
> Is this a bug, or should I be setting some minimal distance between
> the two notes?
> 
> Jethro
> 

Ouch, very ugly bug!
Please report it to the bug list.

Cheers,
MS

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: shortening a stem

2013-01-20 Thread m...@mikesolomon.org

On 20 janv. 2013, at 17:21, Werner LEMBERG  wrote:

> 
> Folks,
> 
> 
> what must I write to shorten an unbeamed stem by, say, one unit?  A
> naive approach would be
> 
>  \once \override Stem.length #(- ly:stem::calc-length 1)
> 
> which doesn't work of course...
> 
> 
>Werner
> 

This does something...

{
  \once \override Stem.length = #(lambda (grob) (- (ly:stem::calc-length grob) 
4))
  a4
}


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Fingering output change 2.17.9 -> 2.17.10

2013-01-14 Thread m...@mikesolomon.org

On 14 janv. 2013, at 09:05, Nick Payne  wrote:

> On 14/01/13 17:31, Keith OHara wrote:
>> Nick Payne  internode.on.net> writes:
>> 
>>> To indicate guide fingering I've been using the code below. In 2.17.10,
>>> the fingering with guide is placed above the stem even though
>>> Fingering.add-stem-support = ##f. In 2.17.9 and earlier it was placed at
>>> the same height as normal fingering.
>> Mike changed the fingering placement  so that they go as close as they fit,
>> for issue 
>> 
>> It looks like your custom fingering stencil has a faked (shifted) extent
>> so that it lines up as you wish.  The fingering will fit, but its faked
>> extent interferes with the stem.  If I narrow the faked extent a bit, the
>> fingering slides down along the stem.
> 
> With multiple voices on a single staff that change causes another problem. 
> Build the example below on 2.16 and the fingering indications are adjacent 
> but don't overlap. Build it on 2.17 and the spreading of the fingering in the 
> top voice causes the fingering for the E and G to overlap. It would be nice 
> to be able to disable this spreading when it's not needed - in this situation 
> it's not, and causes a problem that didn't exist before:
> 
> \relative c'{
>  <<
>{
>  \set fingeringOrientations = #'(left)
>  2
>}
>\\
>{
>  \set fingeringOrientations = #'(left)
>  
>}
>  >>
> }

Hmm...seems like the type of thing where my Fingering_column_engraver should be 
shifted to the staff level...
Try:

\layout {
  \context {
\Voice
\remove "Fingering_column_engraver"
  }
  \context {
\Staff
\consists "Fingering_column_engraver"
  }
}

I'll propose a patch...

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: accidental too far away from notehead

2013-01-13 Thread m...@mikesolomon.org

On 13 janv. 2013, at 12:37, m...@mikesolomon.org wrote:

> 
> On 13 janv. 2013, at 12:12, David Kastrup  wrote:
> 
>> Werner LEMBERG  writes:
>> 
>>> Please consider this code:
>>> 
>>> \version "2.17.10"
>>> 
>>> \relative c''' {
>>>  << { 2 } \\
>>> { eis,2  } >>
>>> }
>>> 
>>> Attached you can find an image.  I think this is a formatting bug of
>>> lilypond: The e sharp in the second voice should be directly placed in
>>> front of the notehead since it is not part of the chord.  However, I'm
>>> not sure, thus I'm writing to this mailing list :-)
>>> 
>>> Is there a possibility to make lilypond automatically move the
>>> accidental in the lower voice to the right so that it is not aligned
>>> with the accidentals of the upper voice?
>> 
>> \version "2.17.10"
>> 
>> \relative c''' {
>> << { 2 } \\
>>   { eis,2  } >>
>> }
>> 
>> \layout {
>> \context {
>>  \Staff
>>  \remove "Accidental_engraver"
>> }
>> \context {
>>  \Voice
>>  \consists "Accidental_engraver"
>> }
>> }
>> 
>> But obviously the accidental engraver should subdivide its input into
>> vertically separate clusters and typeset each of them independently.
> 
> On it, testing fix.
> 
> Cheers,
> MS

So, the logic in Accidental_placement::add_accidental makes it such that all 
accidentals applying to the same base note have the same X-offset.  Here, 
because there is an E-sharp in both octaves, the E-sharps line up.  Change 
E-sharp to an F-sharp or D-sharp in the lower voice and the problem goes away.

It seems like whoever wrote the function went through a lot of effort to make 
this the case, so it is definitely a feature, not a bug.  Whether or not it 
corresponds to best engraving practices I don't know, but it may be worth it to 
check various engraving texts to see if the same pitch altered in two different 
octaves can have accidentals at two different horizontal locations.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: accidental too far away from notehead

2013-01-13 Thread m...@mikesolomon.org

On 13 janv. 2013, at 12:12, David Kastrup  wrote:

> Werner LEMBERG  writes:
> 
>> Please consider this code:
>> 
>>  \version "2.17.10"
>> 
>>  \relative c''' {
>><< { 2 } \\
>>   { eis,2  } >>
>>  }
>> 
>> Attached you can find an image.  I think this is a formatting bug of
>> lilypond: The e sharp in the second voice should be directly placed in
>> front of the notehead since it is not part of the chord.  However, I'm
>> not sure, thus I'm writing to this mailing list :-)
>> 
>> Is there a possibility to make lilypond automatically move the
>> accidental in the lower voice to the right so that it is not aligned
>> with the accidentals of the upper voice?
> 
> \version "2.17.10"
> 
> \relative c''' {
>  << { 2 } \\
> { eis,2  } >>
> }
> 
> \layout {
>  \context {
>\Staff
>\remove "Accidental_engraver"
>  }
>  \context {
>\Voice
>\consists "Accidental_engraver"
>  }
> }
> 
> But obviously the accidental engraver should subdivide its input into
> vertically separate clusters and typeset each of them independently.

On it, testing fix.

Cheers,
MS

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: For those who need new features and bug fixes...

2012-12-22 Thread m...@mikesolomon.org
On 22 déc. 2012, at 12:12, Reinhold Kainhofer  wrote:

> On 2012-12-22 07:18, m...@mikesolomon.org wrote:
>> That said, for musicxml, in easy pieces, you can just export MIDI to
>> musicxml.  There's a great tool http://web.mit.edu/music21/ that allows
>> for all sorts of importing/exporting.
> 
> That's like saying exporting a Word file to pdf is easy pieces:

I meant "in easy pieces of music" :-)

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: For those who need new features and bug fixes...

2012-12-21 Thread m...@mikesolomon.org
On 21 déc. 2012, at 16:10, Urs Liska  wrote:

> Am 21.12.2012 09:03, schrieb m...@mikesolomon.org:
>> Hey all,
>> 
>> I have two 16ish-hour flights this holiday season and I'll be filling them 
>> with composition, Sudoku, and LilyPond programming.  So, this is the time to 
>> send me:
>> 
>> 1) Features you need implemented.
> I think the idea of having LilyPond output an XML representation of at least 
> the musical contents would be out of reach for this time frame?
> 
> Best
> Urs

No, but I may be able to lay down the architecture for the type of 
"conditioners" (I like that better than filter) I was talking about that 
condition the stream in various ways.  That'll make music xml much easier.

That said, for musicxml, in easy pieces, you can just export MIDI to musicxml.  
There's a great tool http://web.mit.edu/music21/ that allows for all sorts of 
importing/exporting.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: For those who need new features and bug fixes...

2012-12-21 Thread m...@mikesolomon.org
On 22 déc. 2012, at 06:57, Jeffrey Trevino  wrote:

> Dear Mikey,
> Some chunk of this time might be usefully spent writing a crystal clear, 
> step-by-step Scheme tutorial that explains how to create custom engravers and 
> grobs, query position information of objects in the process, and use these 
> in-line in lilypond code. Thanks for asking and happy holidays, Mikey! 
> 
> cheers,
> Jeff
> 

This I can do!
I'll likely do two - one on the creation of a grob and one on the querying of 
position, as I have two examples I've used in pieces that do those two things 
so it'd be easier than trying to combine them into one uber-tutorial.

Cheers,
MS (Mikey in days of yore...Go Cardinal!)


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: For those who need new features and bug fixes...

2012-12-21 Thread m...@mikesolomon.org


On 21 déc. 2012, at 15:05, Aleksandr Andreev  
wrote:

> On Fri, Dec 21, 2012 at 7:01 AM, Kieren MacMillan
>  wrote:
>> The big ones for me are:
>> 
>> 1. The completion of Janek's GSoC work on Lyrics.
> 
> +1!!
> 
> Aleksandr

Janek is currently taking a break from LilyPond but I trust that he'll be 
taking care of this when he's back.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: For those who need new features and bug fixes...

2012-12-21 Thread m...@mikesolomon.org

On 21 déc. 2012, at 12:17, David Kastrup  wrote:

> "m...@mikesolomon.org"  writes:
> 
>> I agree that moment addition and subtraction is a royal pain. If I
>> tackled this, which I might, the solution would be more general in the
>> form of what I call "stream filters."
> 
> I'd strongly recommend against that: the only reliable way to establish
> timing is actual iteration, and that's costly (well, one can abort it
> once time 0 is over, but it still needs to get set up).  Short of that,
> we'll just move the problem into more obscurity and get new surprises
> when the pseudo-timekeeping gets things wrong.
> 
> Now we actually have this sort of "squeeze grace material in before the
> time starts properly" mechanism already, with grace-fixup chains and
> stuff.  Prepending _another_ such mechanism because the existing
> mechanism fails to work reliably seems like a step towards making it
> much harder to actually fix things.

I agree that it'll take more time, but I don't think there's anything pseudo 
about the timekeeping.  I used filters like this for many, many projects and 
the first pass is attaching a property called timing-info to every event that 
identifies at what time point it falls in the piece.  That allows subsequent 
iterations to not have to figure out timing stuff.  This is also the type of 
info that'd also be necessary for a MusicXML export.

My goal is not to prepend an extra mechanism because the current one fails.  My 
goal is to come up with a systematic way to automate choices before information 
gets passed to the engravers.  The most problematic engravers, in my opinion, 
are currently the ones that try to do this type of automation task: Auto_beam, 
Completion_note, and Completion_rest.  This is because they cannot peak ahead 
in time and go backwards, resulting in their either making poor engraving 
choices or issuing events later in time, which causes problems for the 
identification of cross-staff grobs.  The solution is to come up with a stable 
Scheme object - MusicFilter (or whatever) - and chain these things together, 
passing the input stream through them before the engraver stage.

I don't think coming up with a general and robust implementation of music 
stream filters would make it harder to fix things, nor does it move the problem 
to more obscurity.  On the contrary, I think it'd make it easier and more open. 
 For example, if these Filter objects could issue warnings and point to lines 
in code where problems cropped up, that'd make it easier to find and fix 
problems.

I'll conclude with a variety of tasks that can be done at this stage:
--) Auto beaming
--) Making decisions about splitting notes and rests at barlines
--) Style sheets for how notes should be dotted or tied over beats
--) Typesetting only parts of music
--) Moving keys, time signatures and the like before or after grace moments

In general, anything that requires automation should be done before the 
engraver stage.  Coming up with a stable and reliable way to do this is, in my 
opinion, a step forwards for LilyPond.

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: For those who need new features and bug fixes...

2012-12-21 Thread m...@mikesolomon.org


On 21 déc. 2012, at 11:33, David Kastrup  wrote:

> "Phil Holmes"  writes:
> 
>> - Original Message - 
>> From: 
>> To: ; 
>> Sent: Friday, December 21, 2012 8:03 AM
>> Subject: For those who need new features and bug fixes...
>> 
>> 
>>> Hey all,
>>> 
>>> I have two 16ish-hour flights this holiday season and I'll be
>>> filling them with composition, Sudoku, and LilyPond programming.
>>> So, this is the time to send me:
>>> 
>>> 1) Features you need implemented.
>>> 2) Bugs you need fixed.
>>> 3) Things you need reviewed.
>>> 
>>> I'll get as many of them done as I can on the flight.
>>> 
>>> Cheers,
>>> MS
>> 
>> I don't know how feasible it is, but
>> 
>> http://code.google.com/p/lilypond/issues/detail?id=34
> 
> I'd recommend against it.  The main problem is that moments are
> interchangeably used as time spans and time moments and the arithmetic
> properties with regard to grace timing are a foul compromise of those
> semantics.
> 
> Doing this properly would, in my opinion, replace all uses of moments as
> time spans with straightforward rationals.  I've started on this thing
> several times with the idea of getting it under control by working on
> the features of moment arithmetic alone, but it is a losing battle due
> to this kind of inconsistency.  Any solution concocted in 12 hours will
> be of the kind opening man-months of subsequent semantics-tweaking.
> 
> -- 
> David Kastrup
> 
> 
> ___
> lilypond-devel mailing list
> lilypond-de...@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-devel

I agree that moment addition and subtraction is a royal pain. If I tackled 
this, which I might, the solution would be more general in the form of what I 
call "stream filters." Stream filters are Scheme functions applied before the 
engraving stage that somehow manipulate the music stream. They already exist 
for things like displaying only X bars of music. I've written more complicated 
ones that, for example, function like style sheets (automate dotted quarters 
versus eighth tied to quarter on the and of 1, etc.). Auto beams should be done 
like this as well - that way, beam events can be called for certainty when 
beams start and flags will only be created for I beamed notes. Similar types of 
logic can be used on the music stream to avoid the grace problem - for example, 
if event Y exists before grace moment X, add grace moment X to other voices 
with moments before and after this.

I'll have a go at it and will report back. The nice thing is that this approach 
is modular, so we can leave it in or out fairly easily.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


For those who need new features and bug fixes...

2012-12-21 Thread m...@mikesolomon.org
Hey all,

I have two 16ish-hour flights this holiday season and I'll be filling them with 
composition, Sudoku, and LilyPond programming.  So, this is the time to send me:

1) Features you need implemented.
2) Bugs you need fixed.
3) Things you need reviewed.

I'll get as many of them done as I can on the flight.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Tempo sliding over key signature changes

2012-12-18 Thread m...@mikesolomon.org
On 19 déc. 2012, at 00:43, Eluze  wrote:

> 
> 
> I tried a little bit but couldn't get the sliding tempo!
> 
> cheers
> Eluze
> 

Here's a tiny(ish) example.
Changing the rests to notes in the bass part will make the tempos typeset 
correctly.  My guess is that this is a bug with multi-measure rests.



\version "2.17.0"

#(set-global-staff-size 15.87)

marksRamp = {
  \time 7/8
  s1*7/8 |
  \tempo 2=88
  s1*7/8 |
  \time 3/4
  \tempo 4=148
  s2. |
  \tempo 4=116
  s2. |
  \time 3/8
  s4. |
}

sopranoRamp = \relative c' {
  \autoBeamOff
  \key b \major
  c1*7/8 |
  \key bes \major
  c1*7/8 |
  \key e \major
  c2. |
  \key ees \major
  c2. |
  c4. |
}

bassRamp = \relative c {
  \autoBeamOff
  \clef bass
  \key b \major 
  R1*7/8 |
  \key bes \major
  R1*7/8 |
  \key e \major
  R2.
  \key ees \major
  R2. |
  R4. |
}

\score {
  \new ChoirStaff <<
\new Staff
  \new Voice = "soprano" << {
\sopranoRamp
  } {
\marksRamp
  } >> 
\new Staff
  \new Voice = "bass" {
\bassRamp
  }
  >>
}


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Tempo sliding over key signature changes

2012-12-18 Thread m...@mikesolomon.org

On 18 déc. 2012, at 21:24, Eluze  wrote:

> m...@mikesolomon.org wrote
>> Hey all,
>> 
>> My minimal example below functions quite nicely w/ the placement of tempos
>> but my example from a score (see attached image) has the tempo sliding
>> over the key signature changes.  Does anyone have intuition about where
>> this discrepancy could come from?
> 
> sorry - I can't investigate without the code of the attachment!
> 
> is there a short example producing this?
> 
> Eluze
> 

I'm working on that...it's difficult as the example I sent out would have been 
my minimal example except that it functions correctly.  So far, I'm only able 
to produce the issue in the full score.  I'll try to whittle it down as much as 
possible over the upcoming days.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Tempo sliding over key signature changes

2012-12-18 Thread m...@mikesolomon.org

On 18 déc. 2012, at 21:56, Xavier Scheuer  wrote:

> On 18 December 2012 19:47, m...@mikesolomon.org  wrote:
>> Hey all,
>> 
>> My minimal example below functions quite nicely w/ the placement of
>> tempos but my example from a score (see attached image) has the
>> tempo sliding over the key signature changes.  Does anyone have
>> intuition about where this discrepancy could come from?
> 
> Hi Mike,
> 
> Do you use a context specific to your MetronomeMark
> (+ RehearsalMark) in your score?

No - I always put them in the upper voice and they get automatically printed 
above all the other contexts.

> 
> Then the reason could be have been given by Kieren today
> (thread ""what's the most "efficient" way of doing this?"):

I'll look into this...thanks!

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Best practices in lyric typesetting

2012-12-18 Thread m...@mikesolomon.org

On 18 déc. 2012, at 10:19, "Phil Holmes"  wrote:

> - Original Message - From: 
> To: 
> Sent: Tuesday, December 18, 2012 9:04 AM
> Subject: Best practices in lyric typesetting
> 
> 
> Hey all,
> 
> Putting aside the impossibility of the attached exercise, you'll see that the 
> lyrics stay shifted way down for the part of the attached example that moves 
> to D major.
> 
> I can't imagine that anyone sightreading this would want to see the lyrics 
> shifted down that much after the key change.  Is there a way to signal to the 
> VerticalAxisGroup clumping Lyrics together that it should start a new 
> vertical alignment section?  I can likely accomplish the same thing with \new 
> Lyrics as well, but it'd be strange in the way I'm structuring the document.
> 
> Unless that type of thing appears heretic, in which case I'll just leave the 
> lyrics as they are.
> 
> Cheers,
> MS
> 
> 
> 
> 
> 
> 
> 
> From Gould:
> 
> "A line of text should be parallel to the stave for the length of the system, 
> and not be placed on different levels to accommodate notes below the stave".
> 
> This refers to lyrics.
> 


I'll tell that to my singers as they tar and feather me.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Moving accidentals above or below notes

2012-12-17 Thread m...@mikesolomon.org

On 17 déc. 2012, at 20:58, Dominique Faure  wrote:

> Hi,
> 
> Using the following code, I'd like to move accidentals above or below notes.
> 
> --8<- - - - - - - - - -
> \version "2.16"
> 
> accidentalBelow = {
> \once \override Score.Accidental #'extra-offset = #'(1.5 . -2.5)
> }
> 
> accidentalAbove = {
> \once \override Score.Accidental #'extra-offset = #'(1.5 . 2.5)
> }
> 
> \relative c'' {
> a16 b \accidentalAbove cis \accidentalAbove bes
> g a \accidentalBelow b \accidentalBelow c
> }
> 
> \relative c'' {
> a b c b
> g a b c
> }
> --8<- - - - - - - - - -
> 
> 

This seems rather complicated - what is your end goal? If it is just to have an 
accidental printed over or below the note, consider making a \markup with a 
\musicglyph. To get the accidental in midi playback, you can use tags and a 
separate midi score.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: what's the most "efficient" way of doing this?

2012-12-17 Thread m...@mikesolomon.org

On 17 déc. 2012, at 17:12, Kieren MacMillan  
wrote:

> Hi Frédéric,
> 
>> You can have a look at this score:
>> https://sites.google.com/a/polytechnique.org/bron/home/music/schumann---4th-symphony
> 
> I see you're running into at least one of the same problems I am: the 
> MetronomeMark is no longer aligning correctly.  =(
> 

Is this reported to the bug list yet?  If not, could you report it?

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Begin lyrics only with new section

2012-12-16 Thread m...@mikesolomon.org

On 16 déc. 2012, at 21:26, Marek Klein  wrote:

> Hello,
> 
> 2012/12/16 m...@mikesolomon.org 
> Let's say that on the interior of B I add a lot of new music but I don't have 
> lyrics yet.  It is fastidious to count how many notes I added and put skips, 
> so as a result, all the lyrics from C shift under B.  Is there a way to avoid 
> this by indicating somehow that lC is not supposed to begin until mC begins?
>  
> this works for me:
> 
> \version "2.17.6"
> 
> 
> mA = \relative c'' {
> g4( a) b c
> }
> mB = \relative c'' {
> g4( a) a c
> }
> mC = \relative c'' {
> c4( b) a g
> }
> 
> lA = \lyricmode {
> A ly -- rics
> }
> lC = \lyricmode {
> C ly -- rics
> }
> 
> \score { <<
> \new Staff { \new Voice = "mA" \mA \new Voice = "mB" \mC \new Voice = "mC" 
> \mC}
> \new Lyrics << \lyricsto "mA" { \lA } \lyricsto "mC" { \lC } >>
> >>
> \layout { }
> }
> 
> HTH
> Marek Klein
> http://gregoriana.sk
> 

Brilliant!  Thanks!

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Begin lyrics only with new section

2012-12-16 Thread m...@mikesolomon.org
Hey all,

Say, for example, I have:

mA = { some music }
lA = { lyrics to some music }
mB = { some more music }
lB = { lyrics to some more music }
mC = { even more music }
lC = { lyrics ot even more music }

and all of these are strung in a row :

{ \mA \mB \mC }
\addlyrics { \lA \lB \lC }

Let's say that on the interior of B I add a lot of new music but I don't have 
lyrics yet.  It is fastidious to count how many notes I added and put skips, so 
as a result, all the lyrics from C shift under B.  Is there a way to avoid this 
by indicating somehow that lC is not supposed to begin until mC begins?

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: brainstorming a really smart system engraver

2012-12-16 Thread m...@mikesolomon.org

On 14 déc. 2012, at 14:47, Kieren MacMillan  
wrote:

> Hello all,
> 
> Like many people on this list, I engrave a number of choral works using 
> Lilypond. Like a smaller subset of those people, I engrave a number of large 
> and very large works (musicals, operas, extended choral works, etc.), which 
> require multiple editions (full score, pianovocal score, vocal book, etc.) 
> each with their own font sizes, system and page breaks, and so on.
> 
> There are many times when two or more of my vocal or choral lines share 
> material — for example, in my "Wither's Carol", the entire first verse (with 
> the exception of a single two-measure chunk) is in "choral unison" (meaning 
> everyone singing the same notes and words in their own usual octave) — 
> whereas there are other very contrapuntal sections where material is totally 
> independent. Hence, there are sections where a score COULD be adequately 
> represented using only 1 choral staff, and other sections that require 2 or 3 
> or 4 (or even more) independent staves.
> 
> Ultimately, I would like to have Lilypond choose the correct number of staves 
> so that horizontal and vertical spacing is optimal, using partcombine (or 
> 'partexplode'?), cueing, etc., to accomplish its task.
> 
> I realize this is an AI nightmare and well outside Lilypond's current scope. 
> So as a half-measure, I would love to be able to tag certain sections as 
> "requires X staves", and then have Lilypond choose the least number of 
> required staves based on system/line breaking. As I [manually] change the 
> line breaks, the systems would automagically "expand" or "contract" as 
> necessary/possible to accommodate the new layout. Unfortunately, the current 
> tagging system is insufficient to do this, as far as I can tell.
> 
> Can anyone think of a reasonably easy way to implement this feature?
> If so, I'll be happy to sponsor it.

Reasonably easy, no.  Doable, yes.  The easiest way in my mind's eye/ear would 
be for LilyPond to simultaneously (or sequentially if we're absolutely anti 
multi-threading) process different scores and then choose the best line breaks 
laterally across all of them, where a penalty for line breaking is (for example 
& amongst other things) the number of collisions between notes on a staff.

So, if there were n voices and voices could only be combined with adjacent 
voices (meaning never SB AT, for example), then you'd have 2^(n-1) 
possibilities of combinations, so 2^(n-1) scores to crunch starting from the 
end of parsing until the end of pre-processing.

This would take many, many hours to implement.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Likely bug in 2.16.1: Changing document fonts messes lots of things up…

2012-12-14 Thread m...@mikesolomon.org
On 14 déc. 2012, at 10:13, Arle Lommel  wrote:

> MS,
> 
> Thanks. I wanted to confirm that it is a bug before submitting. I've tracked 
> down the cause (but not the solution) and will submit there.
> 
> -Arle
> 
> On 2012 Dec 14, at 10:07 , "m...@mikesolomon.org"  
> wrote:
> 
>> On 14 déc. 2012, at 09:31, Arle Lommel  wrote:
>> 
>>> [Trying again: for some reason this message was ignored by the list, so I'm 
>>> trying without any attachments.]
>>> 
>>> OK, one more issue (possible bug?) has arisen that I cannot diagnose. 
>>> (Lilypond 2.16.1, Mac OS X 10.8.2)
>>> 
>> 
>> Dear Arle,
>> 
>> Please submit all bug reports to bug-lilyp...@gnu.org.
>> Alternatively, you can use the gmane bug reporter at 
>> http://dir.gmane.org/gmane.comp.gnu.lilypond.bugs.
>> 
>> Cheers,
>> MS
>> 
> 

Hey Arle,

Several members of the bug squad are experienced in working with people to 
confirm that something is in fact a bug and write up a report.  If you have a 
suspicion that something is a bug, don't worry about if it actually is one or 
not.  The most important thing is to get the e-mail sent to the bug list - the 
worst that can happen is that we create a tracker issue and then delete it once 
we realize it's not a bug.

If, on the other hand, your question is of the nature "how do I do thing X" 
then the user list is the most appropriate.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Likely bug in 2.16.1: Changing document fonts messes lots of things up…

2012-12-14 Thread m...@mikesolomon.org
On 14 déc. 2012, at 09:31, Arle Lommel  wrote:

> [Trying again: for some reason this message was ignored by the list, so I'm 
> trying without any attachments.]
> 
> OK, one more issue (possible bug?) has arisen that I cannot diagnose. 
> (Lilypond 2.16.1, Mac OS X 10.8.2)
> 

Dear Arle,

Please submit all bug reports to bug-lilyp...@gnu.org.
Alternatively, you can use the gmane bug reporter at 
http://dir.gmane.org/gmane.comp.gnu.lilypond.bugs.

Cheers,
MS

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: My return to Lilypond

2012-12-12 Thread m...@mikesolomon.org

On 12 déc. 2012, at 14:57, Eduardo Silva  wrote:

> Greetings!
> After an inactivity of maybe 4+ years, I'm coming back to the Lilypond users' 
> community and to working with Lilypond. I must say I'm glad to see the 
> progress of this project. The documentation has been improved a lot. I like 
> the idea of a Learning Manual and a Notation Manual. I had to read and read, 
> because I had forgotten so much stuff on how to use Lilypond—not that I had 
> ever become proficient in this program in the first place.
> I've had this dream of selling songbooks and sheet music online for years. 
> Finally now I narrowed down the scope of this effort and am focusing 
> initially in producing songs especially adapted to small tablets, and e-Ink 
> readers. So far, I've completed 2 songbooks, just in time for the Christmas 
> season:
> Heartfelt Carols: Christmas Songs for Tablets and e-Readers, with regular 
> notes and 7-shape note style. Free samples are available at my website: 
> www.heartfeltsongs.com
> I'd appreciate your feedback on these publications (download the samples, 
> please). I should say that the final results look so awesome despite the 
> little time and lack of knowledge to do more customizations. It was a joy 
> overall to work with Lilypond.
> I'm planning on donating to Lilypond at least 10% of my profit on these, if I 
> manage to sell more than $1,000. I don't know how I would make an accountable 
> process for this, but for now just take my word for it ;-). I'm pleased to 
> see Daniel Kastrup's commitment to Lilypond.
> 
> Regards,
> Eduardo Vieira
> www.heartfeltsongs.com

Looks great - congrats!

Cheers,
MS

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: roman numerals

2012-11-20 Thread m...@mikesolomon.org
On 21 nov. 2012, at 08:43, Michael Rivers  wrote:

> As far as I know, Lilypond doesn't support Roman numeral analysis. I can't
> find it anywhere in the documentation, at least. Somebody please correct me
> if I'm wrong, because I would love to be able to do it.
> 
> The snippet posted in the original post doesn't work for me. I don't think
> \rN is a real command. I can't get 2.16.1 to recognize it.
> 
> I have tried to add Roman numerals to figured bass in Lilypond with \markup
> commands, but it looks very wrong.
> 
> 

Dunno who I stole this from, but I've used it a lot...

Cheers,
MS

\version "2.17.5"

%% A function to create Roman numerals for harmonic analysis.
%%
%% Syntax: \markup \rN { ...list of symbols... }
%%
%% List symbols in this order (as needed): Roman numeral, quality, top number of
%% inversion symbol, bottom number, "/" (if secondary function), Roman numeral.
%%
%% "bVII" creates flat VII; "svi" creates sharp vi; "Ab" creates A-flat; "As" 
A-sharp
%%
%% Qualities: use "o" for diminished, "h" for half-diminished,
%% "+" for augmented, "b" for flat.  Use any combination of "M" and "m":
%% M, m, MM7, Mm, mm, Mmm9, etc. Added-note chords: add, add6, etc.


#(define rN-size -1) %% change to vary size of numerals

#(define scaling (magstep rN-size))

%%% change constant to adjust distance between characters
#(define X-separation (* scaling 0.2)) 

%%% symmetrical distance between inversion figures and midline
#(define inversion-Y-separation (* scaling 0.1)) 

#(define dim
   (markup
#:override `(thickness . ,scaling)
#:draw-circle (* scaling 0.25) (* scaling 0.1) #f))

#(define half-dim
   (markup
#:override `(thickness . ,scaling)
#:combine
(#:combine dim 
   #:draw-line `(,(* scaling -0.3) . ,(* scaling -0.3)))
#:draw-line `(,(* scaling 0.3) . ,(* scaling 0.3

#(define augmented
   (markup
#:override `(thickness . ,scaling)
#:combine
(#:combine #:draw-line `(,(* scaling -0.25) . 0) 
   #:draw-line `(0 . ,(* scaling -0.25)))
(#:combine #:draw-line `(,(* scaling 0.25) . 0) 
   #:draw-line `(0 . ,(* scaling 0.25)

#(define (acc? str num) (string? number?)
   (eq? num (string-index str (char-set #\b #\s #\n %% checks for accidental

#(define acc `((#\b . ,(markup #:flat))
   (#\s . ,(markup #:sharp))
   (#\n . ,(markup #:natural

#(define-markup-command (rN layout props symbols) (markup-list?)
   ;; isolate and normalize segment of list before slash (if any)
   (let* ((up-to-slash (car (split-list-by-separator symbols (lambda (x) 
(equal? x "/")
  (first-part (append up-to-slash (make-list (- 4 (length up-to-slash)) 
"")))
  (normalized
   (if (or (string-index (cadr first-part) (string->char-set "mMaAdD"))
   (not (null? (lset-intersection equal? '("o" "h" "+" "b") 
(cdr first-part)
   first-part
   (list (car first-part) "" (cadr first-part) (caddr first-part
  (base (car normalized))
  (quality (cadr normalized))
  (quality-marker
   (cond ((equal? "o" quality) (markup #:raise (* 0.5 scaling) dim))
 ((equal? "h" quality) (markup #:raise (* 0.5 scaling) 
half-dim))
 ((equal? "+" quality) (markup #:raise (* 0.5 scaling) 
augmented))
 ((equal? "b" quality) (markup #:raise (* 0.5 scaling) #:flat))
 ((equal? "" quality) (markup #:null))
 (else (markup quality
  (upper (caddr normalized))
  (lower (cadddr normalized))
  ;; isolate slash and what follows
  (second-part (if (member "/" symbols) (member "/" symbols) '("" "")))
  (rN-two (cadr second-part))
  (base-stencil
   (interpret-markup layout
 (cons (list `(word-space . ,X-separation) 
`(font-size . ,rN-size)) props)
 (markup base)))
  ;; calculate Y midpoint of base (for positioning quality and 
inversion)
  (vertical-offset (/ (interval-length (ly:stencil-extent base-stencil 
Y)) 2))
  (inversion-stencil
   (if (equal? lower "")
   (ly:stencil-translate-axis (interpret-markup layout
(cons (list 
`(word-space . ,X-separation)) props)
(markup #:fontsize 
(- rN-size 5) upper))
  inversion-Y-separation Y)

   (ly:stencil-aligned-to
(ly:stencil-combine-at-edge
 (interpret-markup layout
   (cons (list `(word-space . ,X-separation)) 
props)
   (markup #:fontsize (- rN-si

Re: bmc2ly: Braille music to LilyPond conversion

2012-11-13 Thread m...@mikesolomon.org
On 12 nov. 2012, at 14:47, David Kastrup  wrote:

> Mario Lang  writes:
> 
>> David Kastrup  writes:
>> 
>>> Would it be useful if LilyPond could export BMC?
>> 
>> Of course!  Actually, thats something that blind people are wishing
>> for for a long time so that they could make use of the huge body of
>> LilyPond music on Mutopiaproject for instance.
> 
> I am skeptical that sighted people can easily make use of the huge body
> of LilyPond music on Mutopiaproject at the moment.
> 
>> I am not sure, I think it would be quite hard to implement.  I have
>> looked at how to start such an endeavour at least two times in the
>> past and have never really understood the internals of LilyPond enough
>> to end up anywhere useful.  I guess what we need is a function that
>> receives music expressions and translates them into braille music,
>> outputting to some file.  However, the transformations required to
>> produce proper braille music are quite involved.  I'd be happy to work
>> together with anyone with enough Lily internals knowledge who would be
>> interested to attack this problem.
> 
> It would probably raise more interest to first tackle MusicXML export
> and then use the code as a starting base for doing Braille as well.
> 

I could agree more with this statement.  Please consider doing this.  I wanted 
to do this about a year ago but could not find enough help/support to do it 
(it'd be a major job).

I can give you tips on how to do it and even get you started off - I have a 
sense of the type of code it'd require, but it'd take time to create all the 
conversion rules in Scheme.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Changing staff size with custom note head stencils

2012-11-01 Thread m...@mikesolomon.org

On 1 nov. 2012, at 12:44, m...@mikesolomon.org wrote:

> On 1 nov. 2012, at 00:11, Paul Morris  wrote:
> 
>> On Oct 31, 2012, at 4:52 PM, Thomas Morley  
>> wrote:
>> 
>>> Hi Paul,
>>> 
>>> postscript is scaled with global-staff-size only.
>>> 
>>> To work around you could use:
>>> 
>>> TwinNoteNoteHeads =
>>> #(lambda (grob)
>>>  (let* ((sz (ly:grob-property grob 'font-size 0.0))
>>> (mult (magstep sz)))
>>>  (set! (ly:grob-property grob 'stencil) (ly:stencil-scale
>>> (stencil-notehead grob) mult mult))
>>>  (set! (ly:grob-property grob 'stem-attachment) (stem-adjuster grob
>>> 
>> 
>> Hi Harm and Mike,  
>> Thank you both for your help!  Harm's work around does the trick nicely!
>> 
>> On Mike's suggestion I also switched to using internal path stencils instead 
>> of embedded PS. The only problem I ran into was using "fill" to get a filled 
>> triangle.  I used:
>> 
>> upTriangle =
>> #(ly:make-stencil
>> '(path 0.09
>> '(moveto -.1875 -.5
>>   lineto .65625 .5
>>   lineto 1.5 -.5
>>   closepath
>>   fill ()
>>   )
>>  )
>> (cons -.1875 1.5)
>> (cons -.5 .5)
>> )
>> 
>> When I typeset my file the visual output is correct (filled triangles), but 
>> I get either an "Unsupported SCM value for format" error for each of those 
>> notes.  (Or if I omit the "()" after "fill" then the rendering fails with 
>> "Wrong type argument in position 1 (expecting pair): ()").  I did not find 
>> much documentation for "path", only a snippet that doesn't use "fill" [1].  
>> 
>> Does anyone know the value that is needed for "fill" to avoid this error?
>> 
>> Thanks again, it will be great to be able to resize staves!
>> 
>> -Paul
>> 
>> [1] http://lsr.dsi.unimi.it/LSR/Item?id=623
>> 
> 
> Hey Paul,
> 
> Try make-connected-path-stencil.
> 
> (make-connected-path-stencil pointlist thickness x-scale y-scale connect fill)
> 
> Here, the x-scale and y-scale are scaling along the x and y axes, connect is 
> a boolean if the path should be connected, and fill is a boolean if the path 
> should be filled.  So...
> 
> upTriangle =
> #(make-connected-path-stencil
>   '(moveto -.1875 -.5
>   lineto .65625 .5
>   lineto 1.5 -.5)
>  )
>   0.09
>   1.0
>   1.0
>   #t
>   #t
> )
> The dimensions will be calculated for you by the function.
> 
> Cheers,
> MS

Sorry, I spoke too soon.
The function above won't work.  You'd need to do something like:

upTriangle =
#(ly:stencil-translate (make-connected-path-stencil
  '(
  (.65625 .5)
  (1.5 -.5)
 )
  0.09
  1.0
  1.0
  #t
  #t
) '(-.1875 . -.5))

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Changing staff size with custom note head stencils

2012-11-01 Thread m...@mikesolomon.org
On 1 nov. 2012, at 00:11, Paul Morris  wrote:

> On Oct 31, 2012, at 4:52 PM, Thomas Morley  
> wrote:
> 
>> Hi Paul,
>> 
>> postscript is scaled with global-staff-size only.
>> 
>> To work around you could use:
>> 
>> TwinNoteNoteHeads =
>> #(lambda (grob)
>>  (let* ((sz (ly:grob-property grob 'font-size 0.0))
>> (mult (magstep sz)))
>>  (set! (ly:grob-property grob 'stencil) (ly:stencil-scale
>> (stencil-notehead grob) mult mult))
>>  (set! (ly:grob-property grob 'stem-attachment) (stem-adjuster grob
>> 
> 
> Hi Harm and Mike,  
> Thank you both for your help!  Harm's work around does the trick nicely!
> 
> On Mike's suggestion I also switched to using internal path stencils instead 
> of embedded PS. The only problem I ran into was using "fill" to get a filled 
> triangle.  I used:
> 
> upTriangle =
> #(ly:make-stencil
> '(path 0.09
> '(moveto -.1875 -.5
>   lineto .65625 .5
>   lineto 1.5 -.5
>   closepath
>   fill ()
>   )
>  )
> (cons -.1875 1.5)
> (cons -.5 .5)
> )
> 
> When I typeset my file the visual output is correct (filled triangles), but I 
> get either an "Unsupported SCM value for format" error for each of those 
> notes.  (Or if I omit the "()" after "fill" then the rendering fails with 
> "Wrong type argument in position 1 (expecting pair): ()").  I did not find 
> much documentation for "path", only a snippet that doesn't use "fill" [1].  
> 
> Does anyone know the value that is needed for "fill" to avoid this error?
> 
> Thanks again, it will be great to be able to resize staves!
> 
> -Paul
> 
> [1] http://lsr.dsi.unimi.it/LSR/Item?id=623
> 

Hey Paul,

Try make-connected-path-stencil.

(make-connected-path-stencil pointlist thickness x-scale y-scale connect fill)

Here, the x-scale and y-scale are scaling along the x and y axes, connect is a 
boolean if the path should be connected, and fill is a boolean if the path 
should be filled.  So...

upTriangle =
#(make-connected-path-stencil
  '(moveto -.1875 -.5
  lineto .65625 .5
  lineto 1.5 -.5)
 )
  0.09
  1.0
  1.0
  #t
  #t
)
The dimensions will be calculated for you by the function.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Changing staff size with custom note head stencils

2012-10-31 Thread m...@mikesolomon.org
On 31 oct. 2012, at 20:27, Paul Morris  wrote:

> Hello,  I'm trying to increase the overall size of a given staff, as 
> described in the docs[1] using:
> 
>   \new Staff \with {
> fontSize = #2
> \override StaffSymbol #'staff-space = #(magstep 2)
> 
> \override NoteHead #'before-line-breaking = \TwinNoteNoteHeads
>   }
> 
> But I'm also using custom note head shapes, with an override that references 
> a scheme function  that alters the NoteHead stencil and stem-attachment 
> properties.  
> 
> That is preventing the resizing of the note heads.  They just stay the same 
> as the rest of the staff, stems, clefs, etc, become larger.  (This may be 
> related to using "before-line-breaking", but I need to use that to get the 
> horizontal spacing to work properly.[2] )
> 
> I have tried various things (including putting the size adjustments in the 
> \layout block [3]) and the only thing I've found that will change the size of 
> the noteheads is using set-global-staff-size [3].  But that also increases 
> the size of all the text (lyrics, chord names, titles, etc), when I just want 
> to increase the size of the staff, not the text.  
> 
> Anyone know how to get this to work?  Any advice or pointers would be greatly 
> appreciated.  I realize that this is non-standard stuff, but LilyPond has 
> been amazing at handling whatever I've thrown at it, making it possible to 
> experiment.  A simplified version of my code is below.
> 
> Thanks!
> -Paul
> 
> [1] http://www.lilypond.org/doc/v2.15/Documentation/learning/size-of-objects
> [2] http://lists.gnu.org/archive/html/lilypond-user/2012-04/msg00145.html
> [3] 
> http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Setting-the-staff-size
> 
> 

Hey Paul,

It'll take a few steps to sort through the problem, but one thing I'd recommend 
is rewriting all your stencils using internal lilypond code.  Embedded PS, 
while useable, is a pain in terms of variables - it requires lots of messy 
string manipulation and makes your code unexportable to SVG.

Check out the path stencil (used to make the eyeglasses markup, for example) - 
everything you're doing can be rewritten in the same spirit.  Then, to resize 
it dynamically, just make certain things in the path stencil variables instead 
of hardcoded values.

Cheers,
MS

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: dynamics positioning

2012-10-29 Thread m...@mikesolomon.org
On 29 oct. 2012, at 15:13, Daniel Rosen  wrote:

> Well, first of all, in the future, you can just paste code right into the 
> body of your email, like I'm about to do--no need for an attachment. :-) And 
> second, I would dispute that you couldn't get it smaller--like the page I 
> referenced says, very few tiny examples are longer than about 10 lines of 
> code. That being said...
> 
> You need to include the Dynamics context within your score block, like so:
> 
> dynamics = {
>  \time 3/8
>  \times 2/3 { s8\mf s32 s32 s8.\pp \times 8/13 { s64 s16 s16 s16\pp } s64. 
> s64 s64.] } |
> }
> 
> % All other variables go here, unchanged %
> 
> {
>  \new StaffGroup <<
>\new Dynamics \dynamics
>\new Staff = "cymbals" \cymbals
>\new Staff = "temple" \temple
>\new Staff = "toms" \toms
>\new Staff = "conga" \conga
>\new Staff = "snare"  \snare
>>> 
> }
> 
> Unfortunately, while this corrects the horizontal alignment of the grobs 
> within the Dynamics context, they now collide with the beams, so the vertical 
> spacing needs to be adjusted. I'm not sure how to do that without having to 
> adjust 'Y-offset for each individual DynamicText, so I'm gonna have to punt 
> this to someone else on the list.
> 
> DR
> 
> 
> -Original Message-
> From: Peter O'Doherty [mailto:m...@peterodoherty.net] 
> Sent: Monday, October 29, 2012 9:53 AM
> To: Daniel Rosen
> Cc: lilypond-user
> Subject: Re: dynamics positioning
> 
> Sorry for the oversight. The attached code is as minimal as I can get it.
> Thanks,
> Peter
> 
> On 10/29/2012 02:48 PM, Daniel Rosen wrote:
>> Can't really tell from the attachment. As a rule, tiny excerpts of 
>> code (which other users can compile themselves) are more useful for 
>> debugging than PDFs. Check out: 
>> http://www.lilypond.org/tiny-examples.html
>> 
>> DR
>> 
>> From: Peter O'Doherty [mailto:m...@peterodoherty.net]
>> Sent: Monday, October 29, 2012 9:45 AM
>> To: Daniel Rosen
>> Cc: lilypond-user
>> Subject: Re: dynamics positioning
>> 
>> Thanks.
>> My logic suggests it should be enough to add this line above the cymbals 
>> part, but it doesn't seems to work (see attached file).
>> 
>> 
>> \new Dynamics {
>> \time 3/8
>> \times 2/3 { s8\mf s32 s32 s8.\pp \times 8/13 { s64 s16 s16 s16\pp } 
>> s64. s64 s64.] } | }
>> 
>> What am I doing wrong?
>> Thanks,
>> Peter
>> 
>> On 10/29/2012 02:19 PM, Daniel Rosen wrote:
>> Try using two Dynamics contexts, one above and one below.
>> 
>> DR
>> 
>> 
>> -Original Message-
>> From: Peter O'Doherty [mailto:m...@peterodoherty.net]
>> Sent: Monday, October 29, 2012 9:14 AM
>> To: lilypond-user
>> Subject: dynamics positioning
>> 
>> Hi,
>> 
>> Could someone please take a look at the attached file and help with the 
>> placement of dynamics + hairpins? (I also attach an example output.) Ideally 
>> they would be grouped together above the top stave for the upper notes and 
>> below the lower stave for the lower notes. ^ and _ have little effect.
>> 
>> Many thanks,
>> Peter
>> 
>> --
>> //=
>> -> Peter O'Doherty
>> -> http://www.peterodoherty.net
>> -> m...@peterodoherty.net
>> -> https://joindiaspora.com/people/70716
>> //=
>> 
>> 
>> 
>> 
>> 
> 
> 
> --
> //=
> -> Peter O'Doherty
> -> http://www.peterodoherty.net
> -> m...@peterodoherty.net
> -> https://joindiaspora.com/people/70716
> //=
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

I had to take a break from LilyPond development for a couple months but I hope 
to be back on board in a month or so.  This was the exact problem that I was 
working on.  The long and short of it is that LilyPond does not know how to 
handle cross-staff objects in vertical spacing.  As a result, there are 
collisions.  There is no good way to get around this save manually overriding 
things like Y-offset or, if necessary, extra-Y-offset.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: tuplet numbers on kneed beams - David's function stopped working

2012-10-16 Thread m...@mikesolomon.org
On 16 oct. 2012, at 18:49, Janek Warchoł  wrote:

> On Tue, Oct 16, 2012 at 2:20 PM, David Kastrup  wrote:
>> commit d8dfa746ead381a80901106b9c9b079dc9b5d004
>> Author: Mike Solomon 
>> Date:   Fri Aug 31 09:27:17 2012 +0200
>> 
>>Uses a heuristic to determine if chord tremolos collide with accidentals.
>> 
>>This heuristic makes several assumptions about when a chord tremolo
>>will collide with accidentals. It must be between whole notes, it
>>must be in the staff, and it must be an ascending major third or lower.
>>The heuristic is entirely contained in 
>> Beam::whole_note_close_chord_tremolo,
>>which should be modified if other cases involving chord tremolos arise.
>> 
>> 
>> I just love it when only loosely related API and functionality changes
>> are sneaked in with other stuff.
> 
> bang.
> Well, it's not only Mike's fault - we failed to provide any feedback:
> http://codereview.appspot.com/6485070
> Anyway, thanks for finding the cause of the problem and the solution!
> 
> Janek

Hey all,

Just saw this.  Is all that needs to happen a convert-ly rule?  I can likely do 
that next week.  Otherwise, if it's a more involved bug, we can look into 
reverting the commit and I'll investigate it whenever I have time.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: short glissandi not being printed

2012-10-14 Thread m...@mikesolomon.org

On 14 oct. 2012, at 15:00, Thomas Morley  wrote:

> 2012/10/14 TaoCG :
>> Thomas Morley wrote
> [...]
>>> Hi,
>>> 
>>> did you add
>>> \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
>>> ?
>>> 
>>> -Harm
> [...]
>> I didn't, it did the trick though, thanks!
>> What exactly does this property do? The internals reference isn't very
>> helpful on that one.
> 
> Well, I can't explain it.
> 
> But, if I want to change a spanner's 'minimum-length, I first try
> overriding 'minimum-length, if it doesn't work, I add the other
> command.
> I'm not sure why sometimes the single 'minimum-length-override is
> successful and why sometimes the 'springs-and-rods-property is needed,
> too.


In scm/define-grobs.scm, the springs-and-rods override is already part of 
Hairpin as a default, so the additional override is not necessary.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How to get rehearsal mark closer to staff than metronome mark

2012-10-11 Thread m...@mikesolomon.org

On 11 oct. 2012, at 21:54, Henning Plumeyer  wrote:

> How can I achive that the rehearsal mark is below the metronome mark
> "Allegro ma non troppo" (between the numbers for the FullBarRests)?
> 
> This is what I tried:
> 
> \version "2.16.0"
> {
>  \once \override MetronomeMark #'outside-staff-priority = #1
>  \tempo "Allegro ma non troppo"
>  \set Score.skipBars = ##t
>  \once \override RehearsalMark #'outside-staff-priority = #1
>  R1 * 2
>  \once \override RehearsalMark #'outside-staff-priority = #1
>  \mark \default
>  R1 * 2
> }
> 
> Henning___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

You need Score.MetronomeMark and Score.RehearsalMark .

Cheers,
MS

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Widening excessively tight horizontal spacing

2012-10-02 Thread m...@mikesolomon.org

On 2 oct. 2012, at 12:43, James Harkins  wrote:

> Hi,
> 
> Is it possible to manipulate the horizontal spacing settings differently for 
> different sections of a piece?
> 
> The situation: This score is currently for sheng solo. (Eventually I might 
> add some graphic representations of the electronic parts, but they are 
> indeterminate and I haven't figured out how to notate them yet.) Most of it 
> looks fine, except for a section in the middle with a lot of 16th notes. That 
> section appears too tightly spaced for my taste. So I would like to adjust 
> the spacing only for that section. (Other sections look great as they are.)
> 
> I tried overriding Score.SpacingSpanner #'base-shortest-duration, using 
> smaller note values, but it made no difference in the output. I put the 
> override at the beginning of one of the music variables for that section.
> 
> Part of my reason for wanting to do this is that the score fits on six pages 
> except for one staff system. I suspect one reason why there is so little 
> music on the seventh page is that lilypond (maybe?) is trying aggressively to 
> fit everything on six pages, over-compressing the notation in some places, 
> but it still isn't enough. So I figured, one way to get a more reasonable 
> seventh page would be to loosen the notation horizontally a bit. (I'll also 
> open up system-system-spacing #'padding in the \paper block.)

Hey James,

Have you put \newSpacingSection before the override?  When the Spacing_engraver 
spots one of these, it'll stop the current SpacingSpanner and start a new one 
to which the override will be applicable.

For a SpacingSpanner starting in the beginning of the piece, I'd recommend 
placing the override in the layout bloc.

\layout {
  \context {
\Score
\override SpacingSpanner #'base-shortest-duration = #whatever
  }
}

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: slur collisions

2012-09-26 Thread m...@mikesolomon.org
On 26 sept. 2012, at 13:08, TaoCG  wrote:

> I'm having slurs collide with tuplet brackets.
> I tried \override Score.TupletBracket #'avoid-slur #'around (and other
> values) but they don't seem to have any effect.
> 

Slurs in LilyPond do not currently avoid tuplet brackets.  Please file a bug 
report here:

http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: piano music with lilypond

2012-09-25 Thread m...@mikesolomon.org
On 25 sept. 2012, at 13:25, michael.str...@boehringer-ingelheim.com wrote:

> Hi Mike,
> Thanks for your feedback. First i have to repeat one thing i already 
> mentioned in my first mail. I know that some of these things are doable with 
> lilypond, the problem is more the effort or the requested know how for 
> implementation. And … all the developers of lilypond did a tremendous job J

You're right that it takes quite a lot.  It'd be nice to simplify this through 
a set of macros for piano music, which we can discuss as these things get 
developed.

> I would be glad to contribute to development on lilypond, but … as far as I 
> read in the documentation lilypond is almost entirely written in scheme ( a 
> lisp derivate to best of my knowledge .. I do not have any glue on lisp ;-)). 
> But if those modules you mentioned for opening for override are C++, I could 
> do programming J.


LilyPond's advanced user interface is all Scheme, but most of the problem's 
you're identifying need low-level C++ work in addition to Scheme work.  I'll 
contact you off-list to talk more about that, as it is a bit technical.


> Cheers
> Michael
>  
>  
> P.S.
> Thanks for your example for “tieing” from one Voice to another. I think this 
> is a very good example for what I’m struggling with… because, you are 
> tweaking here for the entire score ( putting the Tie-engraver from voice to 
> the Staff context). I’d have a better feeling if it would be possible to do 
> things like that on demand, or better at the very specific place in the score 
> where it is needed ;-).

You're right.  This is the type of thing for which general functionality 
(turning engravers on and off temporarily) can be written in C++.  It'd be 
possible to do as well in Scheme for any given custom engraver, but this seems 
like the type of feature that'd be nice to have for all engravers.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: piano music with lilypond

2012-09-25 Thread m...@mikesolomon.org
Hey Michael,

You've managed to list several of what I think are the biggest areas for 
improvement for LilyPond.  LilyPond being an open source project written mostly 
in C++, we are always looking for help in improving any of these things.  As 
you are a C++ developer, if you wanted to help us with this, the entire 
community would be very grateful.  Below, I outline the current state of each 
issue you identify below with the work it would take to get it done.

On 25 sept. 2012, at 12:00, michael.str...@boehringer-ingelheim.com wrote:

> Hi,
> 
> I want to share some thoughts about piano music with you.
> 
> For many years I have been using Score/WinScore for writing music. Since my 
> main interest is the piano I wrote a lot of piano scores.
> 
> The learning curve of Score is steep but once you get used to it, it will 
> enable you to produce really beautiful and perfect piano scores with .. lets 
> say, medium effort, regardless if the score is easy, or complex or even very 
> complex.
> 
> As most of you may be aware, piano music can be very very complex. I’m not 
> talking about contemporary music, but if you look into piano music from 
> Schumann, Brahms, Liszt, Scrijabin etc. you can see that the requirements of 
> this music in the view of notation are extremely high.
> 
> I list here some of these complexities and I do not pretend for completeness, 
> just to give you an impression what a piano-score-writer has to struggle with
> 
> -   Multiple voices (up to 4 in 1 staff), either temporary or consistent 
> via the entire score, voices can also contain cords up to 6 notes and a lot 
> of accidentals.
> 

LilyPond already handles this fairly well - the syntax may be elaborate, but it 
has an algorithm contained in lily/note-collision.cc that is rather thorough.  
However, there is a lot of hard-coded behavior in this algorithm that could be 
opened up to allow user overrides.

> -   Cross staff beaming
> 
> 

LilyPond does cross staff beams and stems, but it cannot draw them until it 
figures out how far apart systems must be spaced, which is very late in the 
compilation process.  This means that it is difficult to place objects aligned 
above or below them and it is difficult to account for them in vertical 
spacing.  This usually does not cause a problem but sometimes can in tight 
scores.  I am currently working on a solution to this as well as other cross 
staff objects and would be happy to talk about my work off-list.

> -   Cross staff ties
> 
> 

LilyPond doesn't do these at all in any native way that I know of.  Someone 
else can chime in if they know a hack for these.
> -   Cross staff slurs
> 
> 

Same problem as ties, with the added problem that LilyPond does not know how to 
make complex slurs that do anything other than arch around notes.  Check out 
the passage around the 1-minute mark of 
http://www.youtube.com/watch?v=yCcqkFTvwAI.  LilyPond cannot do this, for 
example, but it's possible - it'd just require making the range of slur 
possibilities larger in slur-scoring.cc and slur-configuration.cc.

> -   Multiple slurs beginning on one note
> 
> 

This is an easier fix than the other ones - it'd just require work in 
Slur_engraver and Phrasing_slur engraver.
You can already do something like this via :

a \( ( b ) c \)
> -   Ties from one voice to another
> 
> 

\layout {
  \context {
\Voice
\remove "Tie_engraver"
   }
   \context {
 \Staff
 \consists "Tie_engraver"
   }
}

but it's not perfect.
> -   Temporary staffs ( piano music may be notated temporary on 3 staffs 
> or even 4 staffs -> look Rachmaninovs famous c#minor prelude )
> 
> 

This is doable - check out the documentation on ossia staves.  In order to 
un-ossia-fy them, you can just make them the same size and normal staves.
> -…
> 
> 
> Of course I’m aware that most ( not all! ) of these issues can be realized 
> with lilypond …
> 

They all can, but as this is an open source project where developers work on it 
during their free time, they can only be realized and improved if we have new 
people helping out or if we have more free time.  The latter is difficult, but 
the former would be great.  Lemme know if you're interested in doing some 
LilyPond development on any of this issues and I can get you started off on the 
right foot.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPondTool 2.14.9 release (the last for the foreseeable future)

2012-09-24 Thread m...@mikesolomon.org

On 24 sept. 2012, at 14:49, Bertalan Fodor (LilyPondTool) 
 wrote:

> Dear LilyPond users,
> 
> 
> 
> after a month of struggling with an official jEdit plugin repository release, 
> I decided to release the last revision of the LilyPondTool plugin as a zip 
> file.
> 
> 
> Download it here, and unzip to the jEdit settings folder ($HOME/.jedit or 
> C:\Users\John Doe\.jedit etc. depending on your platform).
> 
> 
> And this release concludes the development of LilyPondTool - at least by 
> me... I stopped using LilyPond and it makes no sense for me to develop 
> LilyPondTool any more, as I don't have any projects that need LilyPond.
> 
> 
> I've switched to MuseScore, and I am very happy with that. If you are 
> interested in my adventures there and my reasons to leave LilyPond, follow my 
> Musescore.com page and/or my blog.
> 
> 
> If you would like to take over the development of LilyPondTool, I am happy to 
> give you the support you need, just contact me.
> 
> 
> I had a very good time in the LilyPond community, I hereby thank all the 
> support for all my supporters, the users of LilyPondTool and everyone else.
> 
> Bertalan
> 
> 

Dear Bertalan,

I have often used LilyPondTool to edit my scores and several of my students 
have used it to complete large projects - it is what made LilyPond within reach 
for them, as they came to it with no experience in markup languages or 
programming.

We'll be sad to see you go, and thank you for having an impact in my students' 
and my LilyPond adventure!

~Mike

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: parenthesize chord

2012-09-22 Thread m...@mikesolomon.org

On 22 sept. 2012, at 20:11, TaoCG  wrote:

> Is it possible to put put single parentheses around a chord?
> If I parenthesize a chord each note gets a pair of parentheses on its own.
> 
> 

One of many possible hacks...

#(define (parenthesize-elements grob . rest)
(let* ((refp (if (null? rest)
 grob
 (car rest)))
   (elts (ly:grob-object grob 'elements))
   (x-ext (ly:relative-group-extent elts refp X))
   (stencils (ly:grob-property grob 'stencils))
   (lp (car stencils))
   (rp (cadr stencils))
   (padding (ly:grob-property grob 'padding 0.5)))

  (ly:stencil-add
   (ly:stencil-translate-axis lp (- (car x-ext) padding) X)   
   (ly:stencil-translate-axis rp (+ (cdr x-ext) padding) X

\relative c' {
\override NoteColumn #'stencils = 
#parentheses-item::calc-angled-bracket-stencils
\override NoteColumn #'stencil = #parenthesize-elements

}


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Glissando from e-flat to e

2012-09-22 Thread m...@mikesolomon.org

On 22 sept. 2012, at 12:33, TaoCG  wrote:

> I need to typeset a glissando from e-flat to e and I'd like it to look as if
> it'd go upward, right now the line is straight and not actually visible
> because it collides with the staff line.
> I suppose the property to edit is normalized-endpoints but changing it
> didn't seem to have any effect.
> 
> 

You need :
\override Glissando #'left-bound-info #'Y
and
\override Glissando #'right-bound-info #'Y

To use the precomputed values with a bit of an offset, you can override 
left-bound-info and right-bound-info without the Y, extract the Y info, play 
around with it to suit your fancy, and return a new alist containing the 
tweaked Y values.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chords as markups?

2012-09-06 Thread m...@mikesolomon.org
On 6 sept. 2012, at 09:49, Werner LEMBERG  wrote:

> 
>> After reading the CG stuff, If you feel any info should be brought
>> over to the users manual, post a patch and we can discuss it.  And,
>> of course, if after reading the CG stuff is still unclear on how
>> they work, lemme know.
> 
> OK, I've read it, and the concept of purity is explained well, thanks.
> However, it's still not clear to me why the example works.
> 
> . First of all, `make-XXX-stencil' seems to be completely
>   undocumented.  At least I can't find those functions in the
>   reference (except some unsystematic usage here and there).

I'm not sure who made them or when they made it into LilyPond, but you're 
certainly welcome to post a patch documenting them - I think it'd be helpful to 
have that documented.

> 
> . I would expect that both `make-circle-stencil' and
>   `make-filled-box-stencil' produce something which has a natural
>   height.

They do.  It's just that LilyPond doesn't know that they will because they're 
functions.  Whenever LilyPond doesn't know if a function will return a natural 
height, she assumes it won't.  This is why it needs to be wrapped in an 
unpure-pure container.  I'll revisit the CG and find a way to better explain 
this.

> Apparently, this isn't true.  Why?  This should be
>   mentioned, otherwise the example is not really comprehensible
>   IMHO.
> . Even if `make-XXX-stencil' produce objects with zero height, I
>   don't understand why the layout engine ignores it.  IMHO, zero
>   height is not the same as an empty stencil.

The layout engine ignores it because it is a function - LilyPond will simply 
ignore the function all together because there is no guarantee that it is pure 
(see above).

> 
> Maybe there is something else which I don't understand...
> 

I'll revisit the CG to find a better way to explain this - pester me if I 
forget.

Cheers,
MS

> 
> 
>  Werner


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chords as markups?

2012-09-06 Thread m...@mikesolomon.org

On 6 sept. 2012, at 08:49, Werner LEMBERG  wrote:

>> unpure-pure stuff is:
>> 
>> http://lilypond.org/doc/v2.16/Documentation/notation/unpure_002dpure-containers
> 
> Looking more closely at this page, I don't fully understand how it
> works.  It is stated that the unpure-pure stuff affects y-axis
> calculations, but the given example adjusts the *width*:
> 
>  In the first measure, without the unpure-pure container, the spacing
>  engine does not know the width of the note head [...]
> 
> How comes?  I think this deserves some more explanation.
> 
> 
>Werner

Hey Werner,

You can check out the CG link for info about how the lilypond spacing engine 
works with unpure-pure-containers.  As there is no info in the users manual 
about the nitty gritty of horizontal spacing, James and I decided to leave out 
the "why" and just focus on the "what to do."

After reading the CG stuff, If you feel any info should be brought over to the 
users manual, post a patch and we can discuss it.  And, of course, if after 
reading the CG stuff is still unclear on how they work, lemme know.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chords as markups?

2012-09-05 Thread m...@mikesolomon.org

On 6 sept. 2012, at 08:06, Werner LEMBERG  wrote:

>>> The reason we can't just override the text property is because it
>>> is junked and reset internally in LilyPond.  The
>>> unpure-pure-container makes sure that the chord is taken into
>>> account in horizontal spacing calculations.  Anytime you override a
>>> stencil, try to use an unpure-pure-container.
>> 
>> Where is this documented in the user manuals?  Where in the code?
> 
> You have beaten me by a few minutes :-)
> 
> 
>Werner
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

unpure-pure stuff is:

http://lilypond.org/doc/v2.16/Documentation/notation/unpure_002dpure-containers

and also in the CG

http://lilypond.org/doc/v2.17/Documentation/contributor/understanding-pure-properties

The kludge I used is not documented anywhere - I looked in define-grobs.scm, 
saw that it was using ly:text-interface::print but that there was no callback 
for text, which means that it must be set in the code.  So the stencil function 
(or a number of other ones) could be hijacked to set text.

I'm a big fan of not calling Grob::set_property anywhere in the C++ unless it 
is absolutely necessary, so it'd be great to git rid of this.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chords as markups?

2012-09-05 Thread m...@mikesolomon.org

On 6 sept. 2012, at 00:11, luis jure  wrote:

> 
> i've been asked to typeset in lilypond a couple of chords with some
> non-standard notation (please see the attached image).
> 
> i wouldn't know how to tweak the chord mode in lilypond to achieve
> this, so i was thinking of using \markup's. but elsewhere i'm using
> \chords, and the results are very different in both cases (spacing between
> characters, height of superscript, etc).
> 
> i'd need some help to either:
> 
> 1) tweak the chord notation in chord mode to obtain something like the
> attached image,
> 
> or
> 
> 2) tweak the \markup properties to look reasonable similar to something
> written in chord mode.
> 
> i'd be very grateful for any pointers.
> 
> 
> best,
> 
> 
> lj___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user


not pretty, but effective...

#(define (kludge grob)
 (ly:grob-set-property! grob 'text "foo")
 (ly:text-interface::print grob))

\new ChordNames \chordmode {
 a b c:7
 \once \override ChordNames . ChordName #'stencil =
#(ly:make-unpure-pure-container kludge (lambda (grob b e) (kludge grob)))
 d
}

The reason we can't just override the text property is because it is junked and 
reset internally in LilyPond.
The unpure-pure-container makes sure that the chord is taken into account in 
horizontal spacing calculations.  Anytime you override a stencil, try to use an 
unpure-pure-container.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Footnote to lyrics

2012-09-03 Thread m...@mikesolomon.org

On 4 sept. 2012, at 01:36, Mogens Lemvig Hansen  wrote:

> Dear List,
> 
> How do I add a footnote to lyrics printed with the music?
> The code below does, of course, not work, but I hope it explains what I want.
> 
> \version "2.16.0"
> 
> \score { <<
> { a' b' c'' d'' }
> \addlyrics { One two three \footnote "The note" four }
>>> 
> }
> 
> Regards,
> Mogens
> 
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

\score { <<
{ a' b' c'' d'' }
\addlyrics {
 One two three
 \footnote #"*" #'(1 . 1) #'LyricText #"The note" \default
 four
}
>> 
}

I'm not sure why \default needs to be used here. My guess is that Lilypond does 
not recognize "four" as a music expression, so you have to use \default, which 
links up the footnote with the column of music in which "four" resides.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: fonts on Mac 10.7.4

2012-09-02 Thread m...@mikesolomon.org
On 2 sept. 2012, at 08:58, Curt  wrote:

> Hi, I'm using Lilypond.app 2.16 on Mac 10.7.4.  (The change log says 10.7 is 
> supported now.)
> 
> lilypond -dshow-available-fonts x 
> 
> shows that I have Gloucester MT Extra Condensed available as a font for me.  
> Font Book shows it as being in True Type and Open Type format.
> 
> I try specifying it in my lilypond score file:
> 
>   \override TimeSignature #'font-name = "Gloucester MT Extra 
> Condensed"
>   \override TimeSignature #'font-size = #2
> 
> and it just comes at as some sort of plain sans serif looking thing.  I don't 
> get any error messages or warnings.
> 
> Is there something extra I have to do to make lilypond see my fonts?  I saw 
> the thing in the docs about "fondu" but that only looked relevant for the 
> ".dfont" system fonts on os x.
> 
> Thanks,
> Curt
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

Hey Curt,

I was wracking my head over the same thing not too long ago on OS X.

LilyPond uses a library called fontconfig to do all font lookups.  What happens 
inside fontconfig is rather opaque to LilyPond - it just looks for a font and, 
if not found, replaces it with the generic sans serif of which you speak.  The 
best way to know how fontconfig searches for fonts is through their 
documentation :

http://www.freedesktop.org/wiki/Software/fontconfig

You can also email Werner LEMBERG , a member of both the LilyPond 
and fontconfig communities, who may have some insight on how to solve your 
problem.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Help asked - lyrics & chords

2012-08-30 Thread m...@mikesolomon.org

On 30 août 2012, at 13:45, Christ van Willegen  wrote:

> Hello,
> 
> I'm trying to make a score consisting of only chords and lyrics.
> Perhaps someone would advise me to use a different program, but I
> would like to be able to scale the score to another font height
> easily. Not sure if that can be done with another program (especially
> not with a text editor, probably...)
> 
> So, I created the attached file, a children's song in Dutch. The
> 'melody' is only there to specify how long the text that is added to
> the notes takes, to line it up with the chords. Is there another way
> to do that?
> 
> I haven't been able to easily remove the staff that carries the
> 'melody'. Is there a better way to remove it altogether instead of
> removing all the individual engravers?
> 
> Thanks for any insights! If this file were to be found
> 'snippet-ready', I'll add it to the LSR!
> 
> Christ van Willegen
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user


<<
  \new ChordNames \chordmode {
\override Score . BarNumber #'transparent = ##t
d1 d1 a1 d1
d1 d1 a1 d1
d1 g1 g1 d1
d1 d1 a1 d1
  }

  \new Lyrics \lyricmode { Op4 een4 gro4 -- te4 pad4 -- de4 -- stoel,2 rood4 me
  zat4 Ka4 -- bou4 -- ter4 Spil4 -- le4 -- been2 heen4 en4 weer4 te4 wip2 -- pe
  '"Krak!"'2 zei4 de4 pad4 -- de4 -- stoel,2 met4 een4 die4 -- pe4 zucht.1
  Al4 -- le4 -- bei4 de4 been2 -- tjes,2 hoep4 -- la4 in4 de4 lucht1
}
>>

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [for Italian users] how to translate "spanner"?

2012-08-24 Thread m...@mikesolomon.org
On 24 août 2012, at 16:52, Mogens Lemvig Hansen  wrote:

> I am not a native English speaker, but aren't the segments of a bridge 
> between the vertical supports called spans?  If that's right, one could find 
> the Italian word for such segments and lift the lilypond word from there.
> 
> Regards,
> Mogens
> 
> 
> On 2012-08-24, at 5:19 AM, Felipe Castro  wrote:
> 
>>> A spanner (in this context) is something that spans.  So we could
>>> call a bridge a river spanner (although I don't believe anyone ever actually
>>> would).
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

It's a travée in French...
Travée implies more of a space between things than the thing filling the space. 
 That said, I don't see why not, but Jean-Charles would be better equipped than 
I to give an opinion on the subject.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [for Italian users] how to translate "spanner"?

2012-08-24 Thread m...@mikesolomon.org

On 24 août 2012, at 16:29, martinwguy  wrote:

> On 23 August 2012 21:36, m...@mikesolomon.org  wrote:
>> 
>> On 23 août 2012, at 21:28, Tiresia GIUNO  wrote:
>> 
>>> On Thu, 23 Aug 2012 21:07:34 +0200
>>> "m...@mikesolomon.org"  wrote:
>>>> I believe that during the talk I francofied «
>>>> spanner » into « spanneur » which, with explanation, passed.
> 
>> I'm a fan of sticking to « spanner / spanneur / spannarizza / espannaro » or 
>> whatever.  But other speakers of Spanish / French should chime in.
> 
> Rereading the thread, I'll go for "spannatore". At least that way,
> Italian readers know they are in front of a technical term with a
> meaning of its own, and it harmonizes with the unified euro effort
> outlined above.
> 
> I *still* haven't got over a scanner being "uno scanner" in Italian as
> "scannare" is "to slay someone/thing by cutting their throat" (!)
> 
>   M

There have been many times where spanners have done the coding equivalent of 
"scannare" to me - I vote for that.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


\revert Glissando #'bound-details #'left #'padding not working

2012-08-23 Thread m...@mikesolomon.org
Hey all,

I got this warning from current master:

defs-devel.ly:210:36: Avertissement : Ignoring non-music expression
\revert Glissando #'bound-details 
  #'left #'padding

This syntax used to work.  I couldn't find anything about it's being changed in 
changes.tely

Any intuition as to what's going on?

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [for Italian users] how to translate "spanner"?

2012-08-23 Thread m...@mikesolomon.org

On 23 août 2012, at 21:28, Tiresia GIUNO  wrote:

> On Thu, 23 Aug 2012 21:07:34 +0200
> "m...@mikesolomon.org"  wrote:
> 
>> Chipping in as this issue came up in a talk I gave in France a few
>> years ago.
>> 
>> It seems that it'd be good to standardize this in Romance languages
>> as much as possible.  I believe that during the talk I francofied «
>> spanner » into « spanneur » which, with explanation, passed.
>> 
>> Other verbs for « span » in French would be :
>> 
>> --enjamber
>> --recouvrir
>> --chevaucher
>> 
>> The last two imply some sort of overlap whereas the first I'd only
>> ever use to describe gothic vaults in cathedrals. Then again I'm not
>> a native speaker, so perhaps a native speaker wants to chime in.
>> There are other verbs that kinda work, but they're reflexive and
>> would be difficult to turn into nouns.
>> 
>> At any rate, I'm for vulgarizing English when appropriate.  In
>> English we say « piano », « andante » and « ciao » w/o batting an
>> eyelid.  I received an e-mail in Italian recently that used the work
>> « link » for « the thing you click on to take you to a page », so I'm
>> guessing that Italian is itself filled with anglicisms.
>> 
>> Cheers,
>> MS
> 
> 
> 
> I'm sorry I switched to Italian without thinking that other people
> could be interested. I proposed the translation "Tensore" from
> "tendere" (in French "tendre", then maybe Tenseur???) or to keep the
> english word (BTW, it looks like the Italian "Spanna", also Span in
> english, has the same origin as "Spanner")
> 
> Right now I see that this word "Tensore" is used in mathematics
> (english Tensor, french Tenseur) - I don't know...
> 
> Ciao, TG
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

Hm...tendre in French is usually used with body parts to mean sort of reaching 
out or straining.  It has a sense of motion towards something as well (tendre 
vers, tendre à).  I'd never heard of tenseur or tensor, but both of them look 
mathy.  I'm a fan of sticking to « spanner / spanneur / spannarizza / espannaro 
» or whatever.  But other speakers of Spanish / French should chime in.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [for Italian users] how to translate "spanner"?

2012-08-23 Thread m...@mikesolomon.org
On 23 août 2012, at 19:05, Federico Bruni  wrote:

> Dear italian users,
> 
> do you have any good idea about how to translate "spanner"?
> I had this doubt in the past, see end of this page:
> http://lists.linux.it/pipermail/tp/2011-February/021547.html
> 
> and I decided not to translate it.
> What do you think about it?
> 
> Taking inspiration from the latin languages:
> - Spanish uses "trazador"... maybe like "tracciatore" in italian?
> - French uses "extension"
> 
> Last year I chose "estensore".
> 
> Please let me have your feedback asap, because I think that the new stable 
> may be released during the Waltrop meeting this weekend.
> 
> Thanks in advance
> -- 
> Federico
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

Chipping in as this issue came up in a talk I gave in France a few years ago.

It seems that it'd be good to standardize this in Romance languages as much as 
possible.  I believe that during the talk I francofied « spanner » into « 
spanneur » which, with explanation, passed.

Other verbs for « span » in French would be :

--enjamber
--recouvrir
--chevaucher

The last two imply some sort of overlap whereas the first I'd only ever use to 
describe gothic vaults in cathedrals. Then again I'm not a native speaker, so 
perhaps a native speaker wants to chime in.  There are other verbs that kinda 
work, but they're reflexive and would be difficult to turn into nouns.

At any rate, I'm for vulgarizing English when appropriate.  In English we say « 
piano », « andante » and « ciao » w/o batting an eyelid.  I received an e-mail 
in Italian recently that used the work « link » for « the thing you click on to 
take you to a page », so I'm guessing that Italian is itself filled with 
anglicisms.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Waltrop meeting outline

2012-08-22 Thread m...@mikesolomon.org
On 22 août 2012, at 20:24, Marc Hohl  wrote:

> Am 19.08.2012 22:29, schrieb Janek Warchoł:
>> On Sun, Aug 19, 2012 at 3:02 PM, David Kastrup  wrote:
>>> Details are still somewhat fuzzy since I don't have all that much
>>> feedback concerning who will arrive when and leave, but there are some
>>> corner points.
>>> 
>>> Apparently Janek will be arriving in advance.  No details yet as to his
>>> exact travel time and accommodation wishes: like anybody else not having
>>> mentioned anything, I count on him bringing sleeping bag or other
>>> bedcloths.
>> I will bring a sleeping bag - shall i take a sleeping pad, too?
>> Also, do you have any spare pillows perchance?
> I can offer a sleeping bag, a big tent for four persons
> and two sleeping pads ...
> I'll check my mails tomorrow before 12:00 o'clock,
> so if anyone needs anything, feel free to write a
> short message.
> 
> Regards,
> 
> Marc
>> 
>> cheers,
>> Janek
>> 
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>> 
> 
> 
> ___
> lilypond-devel mailing list
> lilypond-de...@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-devel

I'll take the sleeping bag and sleeping pad if you can bring them - I only have 
a pillow and toothbrush.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: LilyPond hangs on os x

2012-08-18 Thread m...@mikesolomon.org

On 24 juil. 2012, at 03:51, m...@apollinemike.com wrote:

> On 6 juil. 2012, at 08:51, David Kastrup wrote:
> 
>> "m...@mikesolomon.org"  writes:
>> 
>>> Hey all,
>>> 
>>> I'm running LilyPond on the command line from Mac OS X and it is
>>> hanging right after printing the version.  I downloaded several
>>> versions (stable, unstable, previous unstable) and it happens with all
>>> of them.  This is a recent-ish development (about 5 days ago or so).
>> 
>> So what changed in your setup?
>> 
>>> Is there a tool I could use to diagnose on what function call the
>>> hangup happens?
>> 
>> Have you tried running LilyPond under gdb?  In that case, just pressing
>> C-c should get you back into the debugger, and bt should give you a
>> backtrace.
>> 
>> -- 
>> David Kastrup
>> 
>> 
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
> 
> Oddest thing...running GDB on LilyPond made LilyPond work and now it just 
> works...as if LilyPond feared GDB.  I know I do...
> 
> Cheers,
> MS
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

Lilypond still hangs periodically on OS X - whenever I do a backtrace, the last 
couple functions change from time to time but it is always in FreeType that the 
problem occurs:

#0  0x91b52b06 in read$NOCANCEL$UNIX2003 ()
#1  0x94c925a9 in __sread ()
#2  0x94c92642 in _sread ()
#3  0x94c91f27 in __srefill1 ()
#4  0x94c8f783 in __fread ()
#5  0x94c8f689 in fread ()
#6  0x007926e7 in ft_ansi_stream_io ()
#7  0x00797ead in FT_Stream_ReadAt ()
#8  0x00797f26 in FT_Stream_Read ()
#9  0x00797f81 in FT_Raccess_Get_HeaderInfo ()
#10 0x0079b85c in IsMacResource ()
#11 0x0079b2ae in FT_Open_Face ()
#12 0x0079c063 in FT_New_Face ()
#13 0x0081fa32 in FcFreeTypeQuery ()
#14 0x00819f3d in FcFileScanConfig ()
#15 0x0081a20d in FcDirScanConfig ()
#16 0x0081a32d in FcDirCacheScan ()
#17 0x00815d97 in FcConfigAddDirList ()
#18 0x00816087 in FcConfigBuildFonts ()
#19 0x000aacbc in init_fontconfig ()
#20 0x0010f43a in main_with_guile ()
#21 0x006264f0 in invoke_main_func ()
#22 0x005f4f22 in c_body ()
#23 0x006705d8 in scm_c_catch ()
#24 0x005f5451 in scm_i_with_continuation_barrier ()
#25 0x005f550d in scm_c_with_continuation_barrier ()
#26 0x0066f2db in scm_i_with_guile_and_parent ()
#27 0x0066f328 in scm_with_guile ()
#28 0x00626489 in scm_boot_guile ()
#29 0x001120ee in main ()

Perhaps the version of FreeType built and bundled w/ GUB for Mac OS X has a 
problem?

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \override Hairpin #'minimum-length

2012-08-17 Thread m...@mikesolomon.org

On 17 août 2012, at 13:06, mkuus...@siba.fi wrote:

> 
> On 16.8.2012, at 23:00, Tiresia GIUNO  wrote:
> 
>> On Thu, 16 Aug 2012 21:05:12 -0700
>> mkuus...@siba.fi wrote:
>>> Hi,
>>> 
>>> Can any of you Lilypond people tell me why the "\override Hairpin
>>> #'minimum-length …" does not actually seem to control the length of
>>> the hairpin? Am I missing something here?
>>> 
>>> 
>>> 
>>> \version "2.14.2"
>>> \relative c'' { 
>>> \once \override Hairpin #'minimum-length = #5 \afterGrace
>>> c4\<  s1\! c4 c4 c4
>>> 
>>> % here the hairpin is too short
>>> \once \override Hairpin #'minimum-length = #5 \afterGrace
>>> c4\<\ppp  s1\!\fz c4 c4 c4 }
>>> 
>>> 
>>> 
>>> regards,
>>> 
>>> Mika Kuuskankare
>>> 
>> 
>> The minimum-lenght property is set by default at 2.0 (staff spaces),
>> see:
>> http://lilypond.org/doc/v2.14/Documentation/internals/hairpin
>> 
>> In the second bar of your example, setting it to #5, it's still too
>> short, because you added dynamics as well (ppp and fz). If you want the
>> same lenght of the first hairpin you should increase the minimum-lenght
>> till #11 - or something like this.
>> 
>> Of course this will increase also the distance between the first two
>> notes.
>> 
>> Regards,
>> TG
>> 
> 
> Hi,
> 
> Yes, I realize that. I'm just wondering if the minimum-lenght property does 
> what it is supposed to do? In my second case the length of the hairpin itself 
> is much shorter than what the minimum suggests… 
> I can see that the doc says it *tries* to make a spanner at least that long… 
> can you force this?
> 
> 
> Mika Kuuskankare
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

This is not an ideal solution, but you can do an override that increases the 
requested minimum length of a crescendo by half the length of each dynamic that 
bookends it plus the padding on each end.  It'd take some Scheming, but this'd 
guarantee what you're after.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Ledger line visibility issue

2012-08-13 Thread m...@mikesolomon.org

On 13 août 2012, at 05:35, Keith OHara  wrote:

> Peter Gentry  sunscales.co.uk> writes:
> 
>> I have a score with many 
>> repeated beamed quavers and semi-quavers on ledger lines. The default 
>> layout is difficult to read as ledger lines and the staff produce an almost 
>> hypnotic effect which confuses the reader. This results in loss of 
>> concentration and rythmic stumbles. I would like to space these beamed notes 
>> out to provide white space between the notes.
> 
> You can increase the gap between ledger lines:
> 
> { \override Staff.LedgerLineSpanner #'minimum-length-fraction = #0.5
>   \repeat "unfold" 4 { 8 } }
> 
> Or, possibly it would be better in your case to enforce a minimum
> spacing, so the short-duration notes do not get spaced as closely as
> usual, whether there are ledgers or not.  Here I can only think of
> an indirect way, by requesting extra space in teh note-spacing step
> at the left of each stem:
> 
> { \override Stem #'extra-spacing-width = #'(-1.5 . 0)
>  \repeat "unfold" 4 { 8 } }
> 

Another solution I've seen in the music of Hans Tutschku is to use a staff 
above the staff.  This can be done like so:

\new Staff
 \relative c'' {
   a b c d |
   e f g a |
   b c
   \stopStaff
   \override Staff . StaffSymbol #'line-positions =
 #'(-4 -2 0 2 4 10 12 14 16 18)
   \startStaff
   d e  
   f g a b |
   c d e f |
 }

Pianists tend to understand this when sight reading.

Cheers,
MS

> 
>> I am finding the syntax difficult to grasp 
> 
> The syntax is difficult.  Another difficulty is that you need to know 
> to type such things as Staff.LedgerLineSpanner because ledger lines are
> handled at the Staff level (which makes sense of you think of possible 
> ledger lines in music with two voices).  LilyPond silently ignores
> the request if you forget the Staff (for which there is some weak excuse
> because users are free to engrave LedgerLineSpanners for each voice, if
> they need to ).  There has been talk about trying to give a helpful message
> instead of silence, but it did not look easy.
> 
> 
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Paralellizing Lilypond [was: Re: Sibelius Software UK office shutsdown]

2012-08-11 Thread m...@mikesolomon.org
On 11 août 2012, at 15:16, Graham Percival  wrote:

> On Sat, Aug 11, 2012 at 01:21:27PM +0100, Joseph Rushton Wakeling wrote:
>> ... but I think it emphasizes my real point: this puts the onus on
>> the user to split up a project into independently-compilable units.
>> I think that it's worth having Lilypond try and automatically
>> identify independent units, which could have knock-on benefits in
>> terms of minimizing rebuild times for scores.
> 
> Even though this phrase has gone out of favor, it was really
> common 5-10 years ago on the lilypond mailing lists, and I think
> it's appropriate: Patches appreciated.
> 
> - Graham
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

On this subject, I'll say that one of my hats on the development team is that 
of FrogMeister, or the person who helps people with first projects in LilyPond 
coding.  I have been tied up w/ professional obligations for a while now and 
don't read the lists as attentively as I used to but I'm always glad to lend a 
helping hand for someone who wants to start off.  So if you're interested in 
doing some coding work on LilyPond, lemme know!  All levels of expertise 
(including none at all) are welcome.

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Sibelius Software UK office shuts down

2012-08-05 Thread m...@mikesolomon.org
On 5 août 2012, at 12:37, Joseph Rushton Wakeling 
 wrote:

> On 02/08/12 17:51, Graham Percival wrote:
>> In short: if there is a concerted effort to create a "quick
>> render" output, I would be absolutely shocked if it wasn't at
>> least 10 times faster than the current output.
> 
> (1) How paralellized is the current code -- and if not much or at all, what 
> do you think the scope is for doing so?  E.g. once basic pagination is in 
> place, could all other elements be engraved in separate per-page threads?  
> Likewise, any parts of a score separated by an explicit page break could be 
> engraved by separate threads.
> 

LilyPond currently only works on a single thread and the code base is 
definitely not optimized for parallel processing.  GCC may do this 
automatically when compiling LilyPond (I'm not sure how GCC works).  There are 
many places where parallel processing could be implemented in LilyPond - 
outputting broken lines and pages, as you suggest above, is one of them.

> (2) Are there any statistics on compile time vs. input file size?  It doesn't 
> necessarily help Lilypond to be blazingly fast on a 2-page, 4-part choral 
> score if it's horrendously slow in a 100-page full-orchestra operatic score.  
> I recall that Valentin's opera was a nightmare to render both in terms of 
> time and of memory used along the way.

In 2.15 we did some profiling on this a while back and sped this up 
considerably (there was a bottleneck in the code) but we haven't done any 
speed-up here since then.  I think LilyPond line breaking is O(n log n), 
although someone more into CS than I would have to confirm this.

> 
> (3) The real speed issue is not so much from-scratch compile times but 
> recompile times -- how long _should_ it take to re-render the score if e.g. I 
> add a single staccato dot to one note?

One idea for LilyPond that has been kicked around for a while is that of .aux 
files.  LaTeX uses these and they help speed up compilation on second passes 
(they also make it more accurate).  The problem is that LilyPond currently has 
no API - it would take a few months of a few developers time to nail down a 
core API so that .aux files could be used predictably and without the creation 
of too many exceptions.  This is a high priority of mine but it is a bit too 
big for me these days and I've got my hands full w/ skyline work :-(

Cheers,
MS

> 
> Sibelius' publicity always used to make much of the fact that if Wagner had 
> wanted to add a new bar at the start of the entire Ring Cycle, using Sibelius 
> it would have taken no more than 1 second.  That kind of speed-of-tweaking 
> may be worth more than speed of first compile -- ideally, you'd be able to 
> type stuff into the editor in e.g. Frescobaldi, and see the score change in 
> front of your eyes.
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


LilyPond hangs on os x

2012-07-05 Thread m...@mikesolomon.org
Hey all,

I'm running LilyPond on the command line from Mac OS X and it is hanging right 
after printing the version.  I downloaded several versions (stable, unstable, 
previous unstable) and it happens with all of them.  This is a recent-ish 
development (about 5 days ago or so).

Is there a tool I could use to diagnose on what function call the hangup 
happens?

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: turning off partcombine

2012-06-19 Thread m...@mikesolomon.org

On 19 juin 2012, at 13:09, Janek Warchoł wrote:

> Mike,
> 
> On Tue, Jun 19, 2012 at 11:24 AM, m...@mikesolomon.org
>  wrote:
>> Is there a way to turn off partcombine so that I can change staves and then 
>> turn it back on when the voice comes back to its original staff?
> 
> What about this?
> 
> instrumentOne = \relative c' {
>  e4 e e e
>  e4 e e e
>  e4 e e e
> }
> instrumentTwo = \relative c' {
>  c4 c c c
>  \partcombineApart
>  \change Staff = "down"
>  \oneVoice
>  c c c c
>  \change Staff = "up"
>  \partcombineAutomatic
>  c c c c
> }
> 
> <<
>  \new Staff = "up" \new Voice { \partcombine \instrumentOne \instrumentTwo }
>  \new Staff = "down" { s1*3 }
>>> 
> 
> % you can wrap the commands in something convenient.
> % hth,
> % Janek
> 

Thanks!

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


turning off partcombine

2012-06-19 Thread m...@mikesolomon.org
Hey users,

Is there a way to turn off partcombine so that I can change staves and then 
turn it back on when the voice comes back to its original staff?

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


turning off partcombine

2012-06-19 Thread m...@mikesolomon.org
Hey users,

Is there a way to turn off partcombine so that I can change staves and then 
turn it back on when the voice comes back to its original staff?

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Long melisma

2012-06-16 Thread m...@mikesolomon.org
Hey all,

I have a long melisma that lasts around 200-ish notes in a score I'm working on 
- is there any way to get the lyric extender to last for a long duration 
without inundating the score with a deluge of underscores?

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Pondings

2012-04-30 Thread m...@mikesolomon.org
Hey LilyPond users,

On the LilyPond website's upper righthand corner, we'll be starting in a few 
days a "Pondings" column.  This column will house a rotating cast of 
tweet-sized messages about LilyPond-related projects.  Anyone can submit a 
Ponding, and I encourage you to do so!

Three ground rules:

1)  Keep it pertinent.  A ponding needs to be something that makes LilyPond 
look good - a concert featuring LilyPond typeset works, pedagogy about 
LilyPond, published articles/theses, conference about LilyPond, blog about 
LilyPond, a website that uses LilyPond somehow, etc..
2)  Keep it profanity-free.
3)  Keep it informational.  No calls to action (i.e. come see concert X, donate 
to tour Y) aside from "click here to read more" or "check it out".  This does 
not mean that a linked site cannot have donation buttons, ticket sales, or be 
housed on a ticket/donation site (i.e. Ticketmaster, Kickstarter).  But the 
content of the tweet and linked material should provide information and 
generally create a positive vibe around LilyPond.

I'm in charge of maintaining this corner, so send me your Pondings (anything in 
valid HTML is fine - make sure its tweet-sized) and I'll put them up on the 
site!

Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


  1   2   >