Last Build Date: Sat, 04 Mar 2006 14:59:10 -0000
Sat, 04 Mar 2006 14:59:10 -0000
We've now migrated the version control repository over to Subversion and disabled CVS access. The main reason for this is due to the intended renaming of files, i.e the main benefits of Subversion. If it's particularly onerous to use SVN instead of CVS, email me and I'll reenable CVS, but I'd prefer everyone comes up to speed on Subversion.
Wed, 01 Mar 2006 16:27:41 -0000
I've managed to put some time into upgrading the project files to Xcode 2.2 and gcc 4.0. If you are using these tools, use the Application/Calliope.xcodeproj file, otherwise continue to use the Calliope.pbproj file. Work as also commenced on upgrading the application controller DrawApp to no longer override NSApplication. At the moment, Calliope.nib has most of it's connections to objects broken, but they will be replaced soon. Prior to doing much more work, I've initiated conversion to Subversion, which will aid renaming classes etc.
Wed, 03 Sep 2003 05:01:52 -0000
Ok, I finally got all the code committed to the repository and did an initial pass over the code to get all source files to compile, although it doesn't yet link. The work remaining to get code linking is to replace the pswraps (draw.psw) with efficiently coded drawing functions using AppKit drawing routines. To get the app fully running, there are several classes that need conversion from older PSops functions to NSBezierPath routines.
Fri, 08 Aug 2003 22:30:59 -0000
This is interim documentation from an email I tried to send to Nick Bailey (several times).
Calliope is written in Objective C to the OpenStep API specification.
In addition it uses the MusicKit (also written in ObjC) for representing musical information internally and as a means to play output. The OpenStep specification was a platform independent version of the NeXTStep API and has remained basically the same on MacOS X and has an open source implementation GnuStep http://www.gnustep.org. Getting the code running on one system means the other is supported with trivial or no changes.
Stephen Brandon and myself ported Calliope to Windows and MacOS X Server 1.2. MacOS X server 1.2 is an earlier version of MacOS X, using display postscript rather than the Quartz (display PDF) imaging model, although the two systems are semantically very similar. The code that I
have put up at http://sourceforge.net/projects/calliopemusic does not compile out of the box on MacOS X, so while we are close, we haven't yet
achieved our goal of running Calliope on MacOS X. I also doubt it will compile out of the box on GnuStep (more on this below). It should however compile as is on NeXTs running OpenStep 4.2.
However, the reason for leading the development project and opening the source code is to achieve a port to MacOS X and GnuStep (running on
Linux and other Unixes and possibly Windows). I haven't completed uploading all of the source yet (I need to verify everything is more or
less in the right directory first), but this will be completed very soon. The main task is to replace the postscript drawing code with newer drawing models such as NSBezierPath. This will need a fair bit of
work, but is not an excessive project. My time is somewhat limited, but indeed, I hope to begin tackling it using as many volunteers as we can
The MusicKit has already been ported to MacOS X, Linux and Windows and is very stable.
So by porting Calliope to either MacOS X or GnuStep by simply modernizing the drawing code will achieve portability to MacOS X, Linux, BSD's and other
unixen. Portability of Calliope to Windows is also quite feasible as there is a Windows version of GnuStep, although I believe that work needs to be done to get the GnuStep drawing model running on Windows, although I haven't checked recently how much progress has been made on this front.
In addition to porting, Calliope needs a good overhaul and an oil change, but is basically sound. Adding newer input and output formats, web publishing etc is all quite feasible, the MusicKit now supports MusicXML, so output to that format
should be relatively straightforward.
William is in the process of putting together a web site which should aid discussion as the port goes forward. I'll post further news when I complete