lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: invoking Lilypond from a script


From: Kris Shaffer
Subject: Re: invoking Lilypond from a script
Date: Sun, 24 Apr 2005 20:28:51 -0500

Thanks for the input, guys.  The dirname and basename were exactly
what I needed, working with cd in the shell.  I had some trouble
getting AppleScript to interface properly with Bash in executing
these, so I reverted to perl (where I'm much more comfortable) to do
the actual work.  (I'm sure there's a way to get AppleScript to do it,
but I knew how to do it in perl, and the AppleScript documentation
I've found is terrible--though it's easy to make a simple graphical
app)  So the end result:  A droplet in the Finder which uses
AppleScript to call perl to call the shell to call Lilypond!  But it
works!  The result is a very simple app.  If you want to take a look,
it is at www.shaffermusic.com/apps.html.  Thanks again for your help.

Kris Shaffer

On 4/8/05, Erik Sandberg <address@hidden> wrote:
> On Friday 08 April 2005 19.29, Kris Shaffer wrote:
> > Thanks for making such a great product.  I love using Lilypond.  I am
> > currently working on an applescript app for Mac OS X that will allow a
> > .ly file to be dragged to a Lilypond icon to create the PDF score
> > without using the command line.  My hopes is that it will help make
> > Lilypond more accesible to traditional Mac users.  However, when I
> > call Lilypond (v. 2.2.5) from the appescript (i.e. do shell script
> > "/sw/bin/lilypond [filename.ly]"), it outputs the score to / instead
> > of the directory the source file is in.  I'm wondering if there is a
> > reason why it would not automatically export to the originating
> > folder, as it does when I invoke it in the terminal.  Perhaps the
> > Applescript calling the shell script is the problem?  Let me know if
> > you know of a reason this may be behaving unexpectedly, or if you need
> > more information from me.  Otherwise, I will add some extra code and
> > variables to get around the issue.  Thanks.
> 
> lilypond writes files to the current working directory. If you are in a
> console, and you cd to e.g. /tmp/foo, and write
> lilypond /bar/blah/x.ly
> then the output will be located in /tmp/foo/. This is simply the convention
> most Unix-style software use.
> 
> You could either run lilypond with a different working directory, or you could
> specify the output by passing -o to lilypond. You may be interested in
> looking at the commands dirname and basename.
> 
> Erik
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]