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

Re: getting started: Mac OS, Carbon, Dylan



On Thursday, March 21, 2002, at 08:08 PM, Scott Ribe wrote:

How to get started developing a Carbon app (for use on OS 9 for now)?
Do I have to figure out how to use melange to interface to the Mac Toolbox
myself? Or is there some work I can start with? What about some samples for
dealing with Carbon?

There is a Carbon wrapper in /gd/src/platform/carbon/ from cvs or the tarball. It's incomplete but it covers most of the carbon-event, control, menu, file and QuickDraw managers.
A working sample app is contained in platform/carbon/carbon-event-handling.

I know it would be way too much to expect a framework
as extensive as say PowerPlant, but I'm hoping I don't have to do quite
everything myself.

carbon-event-handling shows a carbon-event based app. Carbon events are much higher-level than the old Mac event model and are usable for small applications without too much wrapping.
platform/carbon/simple is an old application framework based on 'MOOF' which wasn't updated when the Carbon library was updated from Classic.
And I'm still working on carbon-duim...

FYI, here's a rough outline of what I need to do:

- read files off a remote disk (LAN connection, AppleShare is fine)

This isn't implemented yet. You can share the disk then read from '/Volumes/YourRemoteVolume' as a horrible temporary hack.

- communicate with PostgreSQL running on the same computer

I think we have a PSQL wrapper in /pub/gd/contributions. If not, it should be easy to generate one using melange.

- communicate between to Dylan apps on different computers--simple comms,
using vanilla sockets should be no problem

I think we have a vanilla sockets implementation in contrib. If not, it's easy enough to do using melange.

- present simple forms to the user, maybe a half-dozen or so items (text,
popup, checkbox)

Dialogs we can do. :-) There's a periodic table demo in platforms/carbon.

- display TIFF images, iow use QuickTime

Copybits and GWorlds are implemented, QT isn't. melange, melange... :-)

I'm working on a fully automatic system for hacking the Carbon headers into a form melange can handle. Peter Housel has upgraded melange and I just need to finish a Perl script and write a fun-dev c-ffi naming module to finish up.I'm hoping to have this done soon, but there will be some 68k-aligned structs that may need special code written to handle them.

- Rob.