The Mudcat Café TM
Thread #65590   Message #2002314
Posted By: Mick Pearce (MCP)
20-Mar-07 - 02:12 PM
Thread Name: Tech:Running Digital Tradition in Linux/Vista/Win7
Subject: RE: Tech: Running the Digital Tradition in Linux/Vista

I've neary finished a browser for the DT that's in Java. It uses the Apache Derby database and the Toastscript Postscript renderer for printing. The tunes are held in abc and I am (for the moment) using abcm2ps to generate postscript and abc2midi to generate midi, both of which dependencies I'll remove eventually. Searching has more options than the (Windows) DT program and the print quality is rather better. The program also has the capability to add your own songs, or indeed create your own song databases like the DT, with the ability to generate full or incremental updates from them.

The main thing is that the program is almost all in Java and should run under all systems which support Java - Windows, Mac and Linux. (The two other programs I'm using - abcm2ps and abc2midi - are both available in versions for all these platforms). It's running under Windows XP/Pro on my machine and I'm just about to test it under Linux (Fedora 6 to be exact, but I expect it to run on that with no problems, as indeed it should under any version of Linux).

I haven't sorted out the details yet, but if anyone's interested I'll make the browser freely available soon. (I might make a small charge for the version that allows you to add your own songs or create your own databases).

The whole thing is quite small (I think that last time I looked the database was about 6Mb compressed, Apache Derby is about 2Mb. My own program is quite small - a few hundred K I think. The largest other component is the Fonts file for Toastscript - a bit over 1Mb; it was the fonts question that made me post!).

I'm just in the process of loading the 2002 DT into it (I originally had the previous version, as I'd already converted the tunes from SongWright to abc some time ago. I've ported the SongWright to abc conversion program from VB - I had everything in Access before - to Java and I'm trying to sort out some details of the H- headers in SongWright to get the chords aligned with the correct notes; the Windows DT version doesn't do that correctly all the time).

Although I chose to use Apache Derby (an all Java database), the program could work, substantially unchanged, with MySQL, SQLServer, and ODBC (the minor differences are in the types to store large character strings and the database connection command - these are both really minor issues), by loading a different database driver when the program starts. At present it uses Derby's internal user authentification but it should be usable with LDAP in a wider environment. (Derby can run as a server to multiple copies of the browser.)