Working with the two PCs of our jukebox is different from the single-PC situation of the minimal jukebox. This page describes the important differences.
The first stage of adding CDs follows the procedure described for the minimal jukebox. The resulting music files are on the server PC but the resulting jukebox database is on the main PC. To transfer the database to the server PC, I use the AJC Directory Synchroniser.
AJC directory synchroniserI've configured the Directory Synchroniser project to compare the actual contents of files rather than just their datestamps — the reason for this being that as the database has been totally re-created, there exist identical files with different datestamps. The Synchroniser preview helpfully reports exactly which files are different from their previous versions, and it offers a line-by-line summary of the differences it encounters in any file. I find this feature very useful as a means of detecting unintended changes.
The jukebox user interface is constantly being improved, mainly by making changes to the Database Converter, the fixed HTML pages, the CGI programs, etc. For editing I use a simple text editor, UltraEdit-32. Previously I also used the fully-featured HTML editor Dreamweaver, but nowadays I find it simpler to insert the code roughly by hand and tidy it up using Firebug. For simplicity I've left those programs out of the lists and diagrams of software elsewhere on this site.
After editing comes testing. Testing the Database Converter is simply a matter of re-running it. Testing the results of that run, and the CGI programs etc, is easily done using Firefox on my PC.
Finally I transfer the software to the jukebox using the Directory Synchroniser (see previous section).
Occasionally there's a need to operate the server PC in the conventional way rather than using the remote controls. There's no monitor, keyboard, or mouse, so I use RealVNC to access the server PC using the monitor, keyboard, and mouse of my main PC. I double-click on an icon to open a window containing the other PC's desktop. It couldn't be simpler.
The server is designed so that, if it starts misbehaving, it can easily and reliably be reset to a known state by switching it off and on again. That facility has actually never been needed, but it's a useful feature, especially when I'm absent. For restart purposes the server PC is configured to run necessary programs automatically at start-up: the Apache and RealVNC servers (as Windows services), and Winamp (from the Startup folder).
The two PCs are connected by a conventional ethernet network. It's not actually necessary for the server PC to access any files on my main PC, so in the interests of security, the network settings prohibit any such access. Similarly it's not necessary for the server PC to access the Internet, so the firewall settings in the ADSL router block all traffic from the server PC to the Internet.