Re: outside-staff-priority with slur and hairpin

2009-09-18 Thread Trevor Daniels


Jonathan Wilkes wrote Friday, September 18, 2009 6:51 AM


--- On Thu, 9/17/09, Trevor Daniels t.dani...@treda.co.uk wrote:


Have you not read the Learning Manual? The
Notation Reference assumes you have. This is
explained in considerable detail in section 4.4.3.


Sorry, I wasn't very clear.  I wanted to know why I can't just set
Hairpin to #1 and the Slur to #2 for 'outside-staff-priority.  And 
I

forgot to search the LM before posting.

Yes, I've read (but not memorized) the LM, and I see that 
overriding the 'outside-staff-priority for DynamicLineSpanner 
works  while using
the same override for Hairpin does not.  Yet nothing in the 
section you
refer to states that DynamicLineSpanner is the *only* way to 
change

'outside-staff-priority for a dynamic.


You make a valid point here.  One one hand it should be obvious that
you have to change the property in the correct object, but OTOH it 
is

not obvious what the correct object is when spanners are involved.
This is mentioned in the LM, but at some distance from the section 
on

grobs and interfaces.  At the end of 4.5.1 there's a table of object
names that need to be tweaked to move various objects, including
dynamics.  I'll add a forward reference to that.

Perhaps there should also be a gentle introduction to spanners in 
the LM.
These are discussed in the Notation Reference (section 5.4.6), but 
that

is a little fierce for starters.  I'll think about that.


There's a paragraph in LM 4.3.1 that says [regarding properties of
objects]:

Before we tackle this, let us remember that object properties are 
grouped in what are called interfaces – see Properties
found in interfaces. This is simply to group together those 
properties that may be used together to tweak a graphical object 
  – if one of them is allowed for an object, so are the others. 
Some objects then use the properties in some interfaces, others  
use them from other interfaces. The interfaces which contain the 
properties used by a particular grob are listed in the IR at
the bottom of the page describing that grob, and those properties 
may be viewed by looking at those interfaces.


So when it says properties are allowed for an object, what 
exactly does
that mean?  Also, what does it mean to say the properties used by 
a

particular grob?

I'm not a programmer, so some of this is a little difficult to 
grasp, but

by the logic of that paragraph what I'm getting is that
'outside-staff-priority is a property that is allowed for Hairpin 
objects
(because I know 'transparent works on Hairpins and is part of the 
grob
interface), is used by Hairpin objects (because grob-interface is 
listed

at the bottom of the IR for Hairpin), but still cannot be used to
make the Hairpin go below the Slur in my example.


This is not easily explained.  An object has -access- to all the 
properties
listed in the interfaces it supports, but it does not necessarily 
honor them.


The difficulty is that there is no general rule that can be used to 
discover
which properties have an effect on a particular grob and which do 
not.
In this case one has to know that hairpins are spanners (because 
they
start and end at different musical moments), and spanners are 
positioned

by the appropriate spanner object.

Thanks for your comments - they are what I need to help me to 
understand

how the LM might be improved.

Trevor



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


Frescobaldi and rumor are in Debian now

2009-09-18 Thread rosea grammostola

Hi,


Frescobaldi (Debian testing) and Rumor (unstable) are in Debian now!



\r


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


midi2ly (continued)

2009-09-18 Thread Martin Tarenskeen
Hi,

I posted earlier my problems with midi2ly.
midi2ly is no longer supported, sorry was the reaction I got.

So I decided to try to fix the problems I was having, while at 
the same time learning to program some Python.

The main problem I wanted to fix first:
Midifile format-1 files often (always ?) have the time signature (and 
tempo) information in the very first track, but without any notes.
midi2ly reads this track, but does not print it because it contains no 
notes. Result: a tune in 3/4 time will still be printed in 4/4 time.

I worked out 2 different workarounds:

1. midi2ly will print the first track even if it contains no notes, to 
make sure the other tracks are printed in the correct time signature.
Looks ugly, but is working.

2. I have added a new command line option --time (or -T) that allows the 
user to override the timesignature in track 1 with a global time 
signature for all tracks. ( Problem: time-changes ) This will give a 
prettier looking score, because the empty track 1 will not be printed in 
this case.

While working on it I did some more work on the command line options:

-P --partial=DURlet's you specify an upbeat value. 
Does fix some problems with some midifiles
--skip  If selected use 's' for rests, 
default is 'r' (was 's')
-w --warranty   Was not working. fixed easily   
-s, -d  I have added a default value for
note-on and duration quantization. I have 
choosen a value of '16'

Other things I changed:

- I re-used the variable program_version in more places in the script
- I use the input file name as title in a header block
- I use the comment tag also as tagline in a header block

TODO: lot's of things like polyphony in one staff (buggy), barchecks 
and barscounts when time signature changes, and probably more. 

I believe, while it is still far from perfect, my version is better that 
what we currently have. But because this is my very first work 
using Python and still feel insecure with this friendly language, I 
think other people should first give it a try, and - if they have the 
expertise - take a look at the Python code.

After that the good things can go to the GIT. ( I'm not very good with 
that git stuff either ) 

attached: my version of midi2ly. Please try and enjoy (or not ... don't 
overwrite your current version of midi2ly just yet ;-)

-- 

Martin Tarenskeen
#!/usr/bin/python
#
# midi2ly.py -- LilyPond midi import script
# 
# source file of the GNU LilyPond music typesetter
#
# (c) 1998--2009  Han-Wen Nienhuys han...@xs4all.nl
# Jan Nieuwenhuizen jann...@gnu.org



'''
TODO:
* test on weird and unquantised midi input (lily-devel)
* update doc and manpage and translations

* simply insert clef changes whenever too many ledger lines
[to avoid tex capacity exceeded]
* do not ever quant skips
* better lyrics handling
* [see if it is feasible to] move ly-classes to library for use in
other converters, while leaving midi specific stuff here

* split notes that cross barlines, use ties
* find a more elegant solution to use the time and tempo events from
the first, often noteless, trackA in midifile format 1 files. 
* better handling of polyphony in one staff.
* make barcheck and barcount work even after meter changes
* split midifile format-0 files into separate tracks ??
* test and debug using more, complex example MIDI files
'''

import os
import sys



This generic code used for all python scripts.

The quotes are to ensure that the source .py file can still be
run as a python script, but does not include any sys.path handling.
Otherwise, the lilypond-book calls inside the build
might modify installed .pyc files.



program_version = '2.13.3'
program_name = sys.argv[0]

authors = ('Jan Nieuwenhuizen jann...@gnu.org',
   'Han-Wen Nienhuys han...@xs4all.nl')

for d in ['/usr/share/lilypond/%s' % ( program_version ),
  '/usr/lib/lilypond/%s' % ( program_version )]:
sys.path.insert (0, os.path.join (d, 'python'))

# dynamic relocation, for GUB binaries.
bindir = os.path.abspath (os.path.dirname (sys.argv[0]))
for p in ['share', 'lib']:
datadir = os.path.abspath (bindir + '/../%s/lilypond/current/python/' % p)
sys.path.insert (0, datadir)



import midi
import lilylib as ly
global _;_=ly._


## CONSTANTS


LINE_BELL = 60
scale_steps = [0, 2, 4, 5, 7, 9, 11]
global_options = None

clocks_per_1 = 1536
clocks_per_4 = 0

time = 0
reference_note = 0
start_quant_clocks = 0

duration_quant_clocks = 0
allowed_tuplet_clocks = []






errorport = sys.stderr

def identify ():
sys.stdout.write ('%s (GNU LilyPond) %s\n' % (program_name, 
program_version))

def warranty ():

Re: Fine-tuning of markup positions

2009-09-18 Thread Robin Bannister
MarcHohl wrote:

 Is there a different approach I can use?


If the three-part \fill-line is so dominant, 
I suppose you have to cope using ordinary lines. 

But \concat and \with-dimensions might make this easier to twiddle:  
  maintain total \hspace by hand.  



matrix = \markup {
 \override #'(baseline-skip . 2.2)
 \center-column { 
   \concat {

 \with-dimensions #'(0 . 0) #'(0 . 0) a
 \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) b 
 \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) c 
   }

   \concat {
 \with-dimensions #'(0 . 0) #'(0 . 0) d
 \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) e 
 \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) f 
   }

   \concat {
 \with-dimensions #'(0 . 0) #'(0 . 0) g
 \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) h 
 \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) i 
   }

 }
}


Cheers,
Robin


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


Re: Fine-tuning of markup positions

2009-09-18 Thread Marc Hohl

Robin Bannister schrieb:
MarcHohl wrote:   

 Is there a different approach I can use?


If the three-part \fill-line is so dominant, I suppose you have to 
cope using ordinary lines.
But \concat and \with-dimensions might make this easier to twiddle:
maintain total \hspace by hand. 


matrix = \markup {
 \override #'(baseline-skip . 2.2)
 \center-column {\concat {
 \with-dimensions #'(0 . 0) #'(0 . 0) a
 \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) b  \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) c}
   \concat {
 \with-dimensions #'(0 . 0) #'(0 . 0) d
 \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) e  \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) f}
   \concat {
 \with-dimensions #'(0 . 0) #'(0 . 0) g
 \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) h  \hspace #3
 \with-dimensions #'(0 . 0) #'(0 . 0) i}
 }
}


Works just great, thank you!

Marc


Cheers,
Robin





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


cancelling \RemoveEmptyStaffContext

2009-09-18 Thread Kieren MacMillan

Hello all,

If I have an \include file which contains a

  \context { \RemoveEmptyStaffContext }

and I want to use the \include file [for the rest of its contents]  
but *not* have the \RESC, how can I cancel it in the file where  
I've got the \include?


Thanks,
Kieren.


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


Re: cancelling \RemoveEmptyStaffContext

2009-09-18 Thread Reinhold Kainhofer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am Freitag, 18. September 2009 15:07:22 schrieb Kieren MacMillan:
 Hello all,

 If I have an \include file which contains a

\context { \RemoveEmptyStaffContext }

 and I want to use the \include file [for the rest of its contents]
 but *not* have the \RESC, how can I cancel it in the file where
 I've got the \include?

I haven't tried this out, but it might work to revert the changes that RESC 
does to the Staff context:

\context {
  \Staff
  \consists Axis_group_engraver
  \remove Hara_kiri_engraver
  \revert Beam #'auto-knee-gap
  \revert VerticalAxisGroup #'remove-empty
}


After all, \RESC is just a shortcut for certain changes to the \Staff context::
RemoveEmptyStaffContext = \context {
  \Staff
  \remove Axis_group_engraver
  \consists Hara_kiri_engraver
  \override Beam #'auto-knee-gap = #'()
  \override VerticalAxisGroup #'remove-empty = ##t
}


Cheers,
Reinhold
- -- 
- --
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKs5m4TqjEwhXvPN0RAo1SAJoCoxtTS9xGswmCh3nkLlHDMM/b6wCgpjil
8iJWDq1V2+jQLcA6BCOZ82g=
=I9WC
-END PGP SIGNATURE-


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


Re: cancelling \RemoveEmptyStaffContext

2009-09-18 Thread Kieren MacMillan

Hi Reinhold,

it might work to revert the changes that RESC does to the Staff  
context:


\context {
  \Staff
  \consists Axis_group_engraver
  \remove Hara_kiri_engraver
  \revert Beam #'auto-knee-gap
  \revert VerticalAxisGroup #'remove-empty
}

After all, \RESC is just a shortcut for certain changes to the  
\Staff context::

RemoveEmptyStaffContext = \context {
  \Staff
  \remove Axis_group_engraver
  \consists Hara_kiri_engraver
  \override Beam #'auto-knee-gap = #'()
  \override VerticalAxisGroup #'remove-empty = ##t
}


I ended up discovering that on my own just now — but thanks for the  
confirmation!
Is there any way that *doesn't* require knowing what's in \RESC, so  
that my scores are future-proofed?


Thanks,
Kieren.

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


Re: cancelling \RemoveEmptyStaffContext

2009-09-18 Thread Mats Bengtsson
Kieren, the solution that I sent to you (and where I mistakenly forgot 
to Cc the mailing list) was wrong. What I had in mind was that it should 
work to add the lines

\layout{
 RemoveEmptyStaffContext= \context {
 \Staff
 }
}

above your \include line, i.e. before the parser first sees the 
\RemoveEmptyStaffContext.


As far as I can understand, the trick that Reinhold proposed that 
reverts the setting, will only work if you apply them below the \include 
line, right?


   /Mats

Kieren MacMillan wrote:

Hello all,

If I have an \include file which contains a

  \context { \RemoveEmptyStaffContext }

and I want to use the \include file [for the rest of its contents] but 
*not* have the \RESC, how can I cancel it in the file where I've got 
the \include?


Thanks,
Kieren.


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


--
=
Mats Bengtsson
Signal Processing
School of Electrical Engineering
Royal Institute of Technology (KTH)
SE-100 44  STOCKHOLM
Sweden
Phone: (+46) 8 790 8463 
   Fax:   (+46) 8 790 7260
Email: mats.bengts...@ee.kth.se
WWW: http://www.s3.kth.se/~mabe
=



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


Re: cancelling \RemoveEmptyStaffContext

2009-09-18 Thread Neil Thornock
Unless you're dealing with a great number of previously-existing
files, I would put this type of information in its own file (maybe
with other layout prefs) and then create two versions of that file.

I'm sure you know the trick, and it is cumbersome, but it only need be
done once.

Otherwise, that's the limit of my Pond'ering at this point!
Neil

On Fri, Sep 18, 2009 at 8:58 AM, Kieren MacMillan
kieren_macmil...@sympatico.ca wrote:
 Hi Reinhold,

 it might work to revert the changes that RESC does to the Staff context:

 \context {
  \Staff
  \consists Axis_group_engraver
  \remove Hara_kiri_engraver
  \revert Beam #'auto-knee-gap
  \revert VerticalAxisGroup #'remove-empty
 }

 After all, \RESC is just a shortcut for certain changes to the \Staff
 context::
 RemoveEmptyStaffContext = \context {
  \Staff
  \remove Axis_group_engraver
  \consists Hara_kiri_engraver
  \override Beam #'auto-knee-gap = #'()
  \override VerticalAxisGroup #'remove-empty = ##t
 }

 I ended up discovering that on my own just now — but thanks for the
 confirmation!
 Is there any way that *doesn't* require knowing what's in \RESC, so that my
 scores are future-proofed?

 Thanks,
 Kieren.

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




-- 
Neil Thornock, D.M.
Assistant Professor of Music
Composition/Theory
Brigham Young University
http://neilthornock.net


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


Re: cancelling \RemoveEmptyStaffContext [SOLUTION]

2009-09-18 Thread Kieren MacMillan

Hi Mats,


it should work to add the lines
\layout {
 RemoveEmptyStaffContext = \context {
 \Staff
 }
}
above your \include line, i.e. before the parser first sees the  
\RemoveEmptyStaffContext.


And the winner is... Mats!  =)
As desired, this cancels the effect of \RESC *without* any need to  
know what \RESC does in the first place — thanks!



the trick that Reinhold proposed that reverts the setting,
will only work if you apply them below the \include line, right?


Yes... but that's a moot point now.  ;)

Cheers,
Kieren.

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


\stemUp etc can inhibit key signature change

2009-09-18 Thread Richard Sabey

I'm laying out a piece of piano music which is monophonic, but with the notes 
passing frequently from hand to hand. For the performer's convenience I notate 
it on two staves. For my own convenience, I'm coding it as if there is only one 
strand of music, and I use \change Staff as necessary. I use the stem-direction 
commands \stemDown, \stemUp and \stemNeutral on occasion, to distinguish 
left-hand from right-hand notes when they are on the same stave.

However, changes of key signature do not always affect both staves. It seems 
that using stem-direction commands causes this buggy behaviour, and not using 
them causes changes of key signature to affect both staves just as they should.

I am using Lilypond 2.12.2.

%% begin example lilypond file
\include english.ly

global =
{
\key a \major
s1
\key c \major
s1
}

pianoMusic =
{
\relative a, { \change Staff = lh \stemDown a4 \stemUp e' \change Staff = 
rh cs' e }
\relative c { \change Staff = lh \stemNeutral c g' \change Staff = rh 
e' c' }
}

pianoMusicLH =
{
\clef bass
}

\score
{

% Note that \pianoMusic works only if it is put in lh (which is the staff 
in which the piano music starts).
\new PianoStaff

\new Staff = rh  \global 
\new Staff = lh  \global \pianoMusic \pianoMusicLH 



\layout { }
} % score
%% end example lilypond file

  
_
Share your photos with Windows Live Photos – Free.
http://clk.atdmt.com/UKM/go/134665338/direct/01/___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


lily2image

2009-09-18 Thread Patrick Schmidt
Hi Jon and Patrick,

I found your script lily2image in the archives 
(http://article.gmane.org/gmane.comp.gnu.lilypond.general/41125) and tried it 
out. Unfortunately I got a bus error:

patrick-schmidts-computer:~ PLS$ lily2image -r=72 -f=png 
/Users/PLS/Music/LilyPond/Test/Minimalbeispiele/tie.ly 
Output format is png...
Resolution set to 72 DPI...
lilypond --format=png -dresolution=72 tie.ly
GNU LilyPond 2.13.3
/Users/PLS/bin/lily2image: line 559:  7239 Bus error   lilypond 
--include=$HOME --format=png -dresolution=$resolution $srcfile
lilypond failed - lily2image aborting

netpbm is installed. I installed it via sudo port install netpbm so I should 
have netpbm version 10.26.61. (Mac OS X 10.4.11)

Maybe you have an idea of what could have gone wrong. (I also tried it with 
LilyPond 2.13.4. Same result.)

Thanks for any hint.
patrick
-- 
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01


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


Re: Frescobaldi and rumor are in Debian now

2009-09-18 Thread Wilbert Berendsen
Op vrijdag 18 september 2009, schreef rosea grammostola:
 Frescobaldi (Debian testing) and Rumor (unstable) are in Debian now!

Nice!


best regards,
Wilbert Berendsen

-- 
Frescobaldi, LilyPond editor for KDE: http://www.frescobaldi.org/
Nederlands LilyPond forum: http://www.lilypondforum.nl/


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


Re: lily2image

2009-09-18 Thread Jonathan Kulp
Hi Patrick,

It looks like you don't have your machine set up for command-line usage on
Mac (there's a page in Application Usage about this:

http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Setup-for-MacOS-X#Setup-for-MacOS-X

If you've already done this then I'm not sure what the problem is. Do you
normally run LP from the command line on Mac?

Jon

On Fri, Sep 18, 2009 at 12:04 PM, Patrick Schmidt p.l.schm...@gmx.dewrote:

 Hi Jon and Patrick,

 I found your script lily2image in the archives (
 http://article.gmane.org/gmane.comp.gnu.lilypond.general/41125) and tried
 it out. Unfortunately I got a bus error:

 patrick-schmidts-computer:~ PLS$ lily2image -r=72 -f=png
 /Users/PLS/Music/LilyPond/Test/Minimalbeispiele/tie.ly
 Output format is png...
 Resolution set to 72 DPI...
 lilypond --format=png -dresolution=72 tie.ly
 GNU LilyPond 2.13.3
 /Users/PLS/bin/lily2image: line 559:  7239 Bus error   lilypond
 --include=$HOME --format=png -dresolution=$resolution $srcfile
 lilypond failed - lily2image aborting

 netpbm is installed. I installed it via sudo port install netpbm so I
 should have netpbm version 10.26.61. (Mac OS X 10.4.11)

 Maybe you have an idea of what could have gone wrong. (I also tried it with
 LilyPond 2.13.4. Same result.)

 Thanks for any hint.
 patrick
 --
 GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
 Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01


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




-- 
Jonathan Kulp
http://www.jonathankulp.com
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: outside-staff-priority with slur and hairpin

2009-09-18 Thread Jonathan Wilkes


--- On Fri, 9/18/09, Trevor Daniels t.dani...@treda.co.uk wrote:

 From: Trevor Daniels t.dani...@treda.co.uk
 Subject: Re: outside-staff-priority with slur and hairpin
 To: Jonathan Wilkes jancs...@yahoo.com, lilypond-user@gnu.org
 Date: Friday, September 18, 2009, 10:22 AM
 
 Jonathan Wilkes wrote Friday, September 18, 2009 6:51 AM
 
  --- On Thu, 9/17/09, Trevor Daniels t.dani...@treda.co.uk
 wrote:
  
  Have you not read the Learning Manual? The
  Notation Reference assumes you have. This is
  explained in considerable detail in section
 4.4.3.
  
  Sorry, I wasn't very clear.  I wanted to know why
 I can't just set
  Hairpin to #1 and the Slur to #2 for
 'outside-staff-priority.  And I
  forgot to search the LM before posting.
  
  Yes, I've read (but not memorized) the LM, and I see
 that overriding the 'outside-staff-priority for
 DynamicLineSpanner works  while using
  the same override for Hairpin does not.  Yet
 nothing in the section you
  refer to states that DynamicLineSpanner is the *only*
 way to change
  'outside-staff-priority for a dynamic.
 
 You make a valid point here.  One one hand it should
 be obvious that
 you have to change the property in the correct object, but
 OTOH it is
 not obvious what the correct object is when spanners are
 involved.
 This is mentioned in the LM, but at some distance from the
 section on
 grobs and interfaces.  At the end of 4.5.1 there's a
 table of object
 names that need to be tweaked to move various objects,
 including
 dynamics.  I'll add a forward reference to that.
 
 Perhaps there should also be a gentle introduction to
 spanners in the LM.
 These are discussed in the Notation Reference (section
 5.4.6), but that
 is a little fierce for starters.  I'll think about
 that.
 
  There's a paragraph in LM 4.3.1 that says [regarding
 properties of
  objects]:
  
  Before we tackle this, let us remember that object
 properties are grouped in what are called interfaces – see
 Properties
  found in interfaces. This is simply to group together
 those properties that may be used together to tweak a
 graphical object   – if one of them is allowed
 for an object, so are the others. Some objects then use the
 properties in some interfaces, others  use them from
 other interfaces. The interfaces which contain the
 properties used by a particular grob are listed in the IR
 at
  the bottom of the page describing that grob, and those
 properties may be viewed by looking at those interfaces.
  
  So when it says properties are allowed for an
 object, what exactly does
  that mean?  Also, what does it mean to say the
 properties used by a
  particular grob?
  
  I'm not a programmer, so some of this is a little
 difficult to grasp, but
  by the logic of that paragraph what I'm getting is
 that
  'outside-staff-priority is a property that is allowed
 for Hairpin objects
  (because I know 'transparent works on Hairpins and is
 part of the grob
  interface), is used by Hairpin objects (because
 grob-interface is listed
  at the bottom of the IR for Hairpin), but still cannot
 be used to
  make the Hairpin go below the Slur in my example.
 
 This is not easily explained.  An object has -access-
 to all the properties
 listed in the interfaces it supports, but it does not
 necessarily honor them.
 
 The difficulty is that there is no general rule that can be
 used to discover
 which properties have an effect on a particular grob and
 which do not.
 In this case one has to know that hairpins are spanners
 (because they
 start and end at different musical moments), and spanners
 are positioned
 by the appropriate spanner object.

I think this is the most difficult part of using Lilypond that I've 
come up against.  Currently I'm using the IR as a kind of quick 
reference manual- if I need to tweak something like how long a hairpin 
should be, I just go to Hairpin and find what seems like the right 
property.  But as your explanation (and others on this list) point to, there's 
a lot more to take into consideration to get the right 
property (e.g., 'font-size vs. 'zigzag-width for the width of the trill 
continuation glyph).

-Jonathan

 
 Thanks for your comments - they are what I need to help me
 to understand
 how the LM might be improved.
 
 Trevor
 
 





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


Text editor

2009-09-18 Thread Ralph Palmer
Greetings -

While I continue to try to emacs to work on my Ubuntu installation, I have a
related question.

ConTEXT, my favorite text editor for LilyPond and ABC on my WinXP machine,
has recently gone open source. Has anyone successfully ported (is that the
correct term? Compiled for?) ConTEXT to Linux? If so, would you be willing
to help me get ConTEXT going on my Ubuntu machine? My programming skills are
minimal. If we're successful, I'd be happy to share the process with others.

Ralph
-- 
Ralph Palmer
Montague City, MA
USA
palmer.r.vio...@gmail.com
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Text editor

2009-09-18 Thread Neil Puttock
2009/9/18 Ralph Palmer palmer.r.vio...@gmail.com:

 ConTEXT, my favorite text editor for LilyPond and ABC on my WinXP machine,
 has recently gone open source. Has anyone successfully ported (is that the
 correct term? Compiled for?) ConTEXT to Linux? If so, would you be willing
 to help me get ConTEXT going on my Ubuntu machine? My programming skills are
 minimal. If we're successful, I'd be happy to share the process with others.

Your best bet is probably to install Wine and run it under emulation.
Though I'm not familiar with ConTEXT, I've just downloaded it and it
seems to work fine with Wine.

If you don't have Wine installed, you can get it via Synaptic or
directly from the shell by typing the following:

sudo apt-get install wine

Then it's just a matter of downloading the ConTEXT .exe and
right-clicking on it to select `Open with Wine Windows Program
Loader'; this will install it just like a Windows program.

Regards,
Neil


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


Re: outside-staff-priority with slur and hairpin

2009-09-18 Thread Trevor Daniels


Jonathan Wilkes wrote Friday, September 18, 2009 7:12 PM


--- On Fri, 9/18/09, Trevor Daniels t.dani...@treda.co.uk wrote:


The difficulty is that there is no general rule that can be
used to discover
which properties have an effect on a particular grob and
which do not.
In this case one has to know that hairpins are spanners
(because they
start and end at different musical moments), and spanners
are positioned
by the appropriate spanner object.


I think this is the most difficult part of using Lilypond that 
I've

come up against.  Currently I'm using the IR as a kind of quick
reference manual- if I need to tweak something like how long a 
hairpin

should be, I just go to Hairpin and find what seems like the right
property.  But as your explanation (and others on this list) point 
to,

there's a lot more to take into consideration to get the right
property (e.g., 'font-size vs. 'zigzag-width for the width of the 
trill continuation glyph).


Most of the time your approach will work, which is why I
chose to outline it in the Learning Manual, but there are a
number of situations where it breaks down.  Fortunately
these tend to arise only when tackling fairly esoteric typesetting
problems, so only the more experienced users are affected by
them.  But some of them, like using DynamicLineSpanner, are
more common, and these should be covered in the Learning
Manual, IMO.  BTW, I've added a new para to the LM to avoid
the particular problem you encountered.  It should appear in
the docs to 2.13.4.  And I intend to add an intro to spanners too,
but that might miss the next release as it will take a little 
longer.


Trevor




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


markers indicating a semitone bowing markers....

2009-09-18 Thread paul Malcolm

I am a new user to Lilypond and Im a Viola player.
Typesetting music for string players is my interest. 

1)
What I would like to do is use a circumflex to mark a 
semitone. This is widely used by string teachers but I 
cannot see how to do it in Lilypond. For example e f  would
 be written (roughly)  e^f but it would be nicer 
than this where the little hat, or circumflex, is evenly over 
the two notes e and f. 
Is there a command in lilypond to do this ?

2)
i also found the upbow and downbow markers, but 
I could not find other bowing annotations, like where 
on the 
bow one should play, that is, middle heel point etc ...
Are there commands in lilypond for this ? 

3)
Finally there is another common marking used by 
string players to indicate holding a particular finger 
down while others are being played. 
This is typically a line underneath the stave that 
continues for the 
duration that the finger must be held down and is 
labelled with a number to indicate which finger
 is being 
held down. 
This is perhaps complicated but is there a 
means to do this in Lilypond ?

Paul 



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