Re: MacOS X standalone lilypond app revisited

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: MacOS X standalone lilypond app revisited

Han-Wen Nienhuys
Matthias Neeracher wrote:

> I used the extended weekend for some Cocoa hacking and came up with  the
> following prototype:
>
> http://homepage.mac.com/neeracher/LilypondApp_30May05.tgz
>
> This is an application that combines the functionality of  Lilypond.app,
> ClickEdit.app, and Preview.app in one application. By  default, it will
> just run lilypond out of your fink installation, but  it can also be run
> as a fully bundled standalone if you copy  {bin,etc,lib,share} from the
> official Lilypond.app into this app and  drop in the following slightly
> modified script into Contents/Resources :
>
>
> Let me know whether you think this is an approach worth pursuing further

Hi,

after some further thought, here are my ideas:

  - I would like to drop the current Platypus based approach,
integrating LilyPond.app and ClickEdit.app

  - Integrating Preview.app is nice, but it should be optional for those
who are not on 10.4 (me, for instance :-)

Am I correct in assuming that you handle textedit:// urls inside the app
itself (without using Launch services).

  - I'd like to make the mac release 1st class citizen (ie. it gets
built for every release). I do that myself to catch release
showstoppers, and because I have upload access at lilypond.org.

  - For reasons of maintainability, I prefer python over Objective C.
Python's dynamic nature makes it a very natural match with Objective C.

Given cocoa's nice MVC structure, I expect that it would be easy to
replace the ObjC code with Python. Python with pyobjc comes as a
standard install with 10.3 and later, I believe.

One of the other nice things of python is that we'd be able to run the
support scripts (both the wrapper for the standalone binary and
convert-ly) inside LilyPond.app.

What do you think?

--
  Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: MacOS X standalone lilypond app revisited

Matthias Neeracher

On Jun 3, 2005, at 2:38 AM, Han-Wen Nienhuys wrote:

Matthias Neeracher wrote:

I used the extended weekend for some Cocoa hacking and came up with  the following prototype:
This is an application that combines the functionality of  Lilypond.app, ClickEdit.app, and Preview.app in one application. By  default, it will just run lilypond out of your fink installation, but  it can also be run as a fully bundled standalone if you copy  {bin,etc,lib,share} from the official Lilypond.app into this app and  drop in the following slightly modified script into Contents/Resources :
Let me know whether you think this is an approach worth pursuing further

after some further thought, here are my ideas:

 - I would like to drop the current Platypus based approach, integrating LilyPond.app and ClickEdit.app

 - Integrating Preview.app is nice, but it should be optional for those who are not on 10.4 (me, for instance :-)

Yes, that should be feasible, especially since PDFKit is used from a separate nib.

Am I correct in assuming that you handle textedit:// urls inside the app itself (without using Launch services).

Yes. Again, this could be split so on pre-10.4, this goes through LaunchServices, on 10.4 internally.

 - For reasons of maintainability, I prefer python over Objective C. Python's dynamic nature makes it a very natural match with Objective C.

I've never written any Python Cocoa code (I'm more of a Perl, Ruby, and Tcl programmer), but I've had a look at the ClickEdit source and it seems quite a natural match indeed. The drawback over Objective C, I assume, is that integration with InterfaceBuilder is not as tight.

Given cocoa's nice MVC structure, I expect that it would be easy to replace the ObjC code with Python. Python with pyobjc comes as a standard install with 10.3 and later, I believe.

One of the other nice things of python is that we'd be able to run the support scripts (both the wrapper for the standalone binary and convert-ly) inside LilyPond.app.

What do you think?

This all sounds quite plausible. I'll take a stab at implementing it over the weekend.

Matthias


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: MacOS X standalone lilypond app revisited

Nicolas Sceaux
In reply to this post by Han-Wen Nienhuys
Han-Wen Nienhuys <[hidden email]> writes:

>   - For reasons of maintainability, I prefer python over Objective
> C. Python's dynamic nature makes it a very natural match with
> Objective C.
>
> Given cocoa's nice MVC structure, I expect that it would be easy to
> replace the ObjC code with Python. Python with pyobjc comes as a
> standard install with 10.3 and later, I believe.
>
> One of the other nice things of python is that we'd be able to run the
> support scripts (both the wrapper for the standalone binary and
> convert-ly) inside LilyPond.app.

A little technical question: do you write the Python code inside
XCode, or in another IDE, eg emacs?
(I'm waiting for my power book to be shipped, so soon I'll be
interested in LilyPond.app...)

nicolas


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: MacOS X standalone lilypond app revisited

Han-Wen Nienhuys
Nicolas Sceaux wrote:
>>One of the other nice things of python is that we'd be able to run the
>>support scripts (both the wrapper for the standalone binary and
>>convert-ly) inside LilyPond.app.
>
>
> A little technical question: do you write the Python code inside
> XCode, or in another IDE, eg emacs?
> (I'm waiting for my power book to be shipped, so soon I'll be
> interested in LilyPond.app...)

I write inside emacs. I want to minimize the number of new things that I
have to learn.

--
  Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: MacOS X standalone lilypond app revisited

Ed Baskerville
I'm late to this thread (as usual)... (I'm in the middle of a little  
piano trio tour around New England, so writing code is getting pushed  
to the side.)

I guess I should have mentioned earlier that I've been continuing  
some work in this vein. Since it sounds like this OS X-native stuff  
is going to become part of LilyPond proper, I'm interested in  
feedback on whether I should abandon my attempt at a shareware app  
and try to get some of my work into LP itself.

I have some code that runs LilyPond source from a text field through  
LilyPond and displays it using PDFKit (or a custom subclass of  
NSImageView if you're on Panther). I was next going to implement the  
textedit:// links handling...which I guess Matthias has done.

It's not in a distributable form right now, but I can try to have  
something by the end of the week that you all can take a look at.

My approach to this is a little different from the existing stuff, in  
that I try to run LilyPond in the background as the user types (after  
a 2-second delay), using temporary files. That way, to see your  
output you don't have to explicitly say "Engrave"--instead, it just  
shows up, as quickly as it can. For final output files, there will be  
an explicit command/button/etc.

I also have a little QuickTime music player in the same preview  
window for playing MIDI files.

All this done in Objective-C. Note that there's no reason that  
convert-ly, etc. couldn't be run from inside Objective-C using  
NSTask, and that was certainly a feature I planned to include.

What do you all think? Shall I continue this independently, or are  
you interested in getting it integrated into the mainline free, open  
source Lily code?

--Ed

On Jun 5, 2005, at 6:51 AM, Han-Wen Nienhuys wrote:

> Nicolas Sceaux wrote:
>
>>> One of the other nice things of python is that we'd be able to  
>>> run the
>>> support scripts (both the wrapper for the standalone binary and
>>> convert-ly) inside LilyPond.app.
>>>
>> A little technical question: do you write the Python code inside
>> XCode, or in another IDE, eg emacs?
>> (I'm waiting for my power book to be shipped, so soon I'll be
>> interested in LilyPond.app...)
>>
>
> I write inside emacs. I want to minimize the number of new things  
> that I have to learn.
>
> --
>  Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen
>
>
> _______________________________________________
> lilypond-devel mailing list
> [hidden email]
> http://lists.gnu.org/mailman/listinfo/lilypond-devel
>



_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: MacOS X standalone lilypond app revisited

Han-Wen Nienhuys
Ed Baskerville wrote:
> What do you all think? Shall I continue this independently, or are  you
> interested in getting it integrated into the mainline free, open  source
> Lily code?

Of course, you're most welcome to contribute to any app that we put out.
However, it will be free software - which means that shareware will be
impossible.

--
  Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: MacOS X standalone lilypond app revisited

Ed Baskerville
As long as I know that you're interested, I may be willing to make  
this free software. There will of course be integration details to  
iron out, but nothing too complicated. I'll have something to show  
this week, and mull it over for a little while after that.

--Ed

On Jun 6, 2005, at 4:27 PM, Han-Wen Nienhuys wrote:

> Ed Baskerville wrote:
>
>> What do you all think? Shall I continue this independently, or  
>> are  you interested in getting it integrated into the mainline  
>> free, open  source Lily code?
>>
>
> Of course, you're most welcome to contribute to any app that we put  
> out. However, it will be free software - which means that shareware  
> will be impossible.
>
> --
>  Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen
>



_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel