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
|