Right now, I demand the right that I may - or may not - be listening to...
Fileserver RPC (home)
[player not loaded]
3:27pm on Fri, 31st Aug 2007
[player not loaded]
10:05pm on Sat, 14th May 2016
Clubbed To Death (Kurayamino Variation) by Rob Dougan (from Furious Angels) [stopped]
1:00am on Sat, 21st Apr 2012
This remote control project started because I wanted to be able to just plug the power into my main RPC and it play music automtically - if it doesn't detect the office network it automatically goes into jukebox mode. However, if it plays a tune I don't like I'd still need to connect a monitor and mouse, wait for the monitor to warm up etc. so that I can skip to the next track.
The first stage was to simulate mouse clicks (a new command, *mouseclick <x> <y> <b>) and map aliases to certain locations - so *play hits the play icon etc. More than enough if I was using the machine as a radio substitute in the kitchen/bathroom (although I need a waterproof keyboard though really ;) Then by adding a telnet server that allows commands to be executed, it allowed remote control from most machines. Having already written software that provides a desktop front-end to things that usually requires you to telnet into a server I knocked up a quick desktop application that would provide CD-like controls. And finally I set up a web server (the freeware WebJames, after first using a review copy of Netplex) so I can not only control the MP3 player (DigitalCD) from a 4MB 25MHz A310, I can see the player's window and even click on the icons to control it! This is written in a combination of Perl (to handle the HTML and CGI stuff) and BASIC (to handle the screen grabbing, sending the picture through to InterGIF for conversion etc.). DigitalCD has since been updated to provide a remote control style API which means I have created a new CGI as part of my home server project.
I then added a small program to upload the current track name to my website, using EasySockets to send the data to the web server via a custom CGI. I used to use !FTPc's BASIC library to upload a file with the data in it, but that fell over after a few hours continuous usage; telneting to port 80 is slightly more secure as I don't have to use the real username and password for my webspace to send the data (other security measures have been added instead), and the program now takes less memory and processor time.
Apart from uploading the current track to the web server most of this stuff is annoying when you're trying to use the desktop for regular usage (things slow or even stop), and a bit pointless - if you're using the desktop, you can control the player directly. So it's really only useful if I'm using a StrongARM RiscPC pretty much as a dedicated MP3 jukebox. So I now have a home fileserver RiscPC I built from spares, running Web, telnet and Samba servers. I've also put in code to support a speech synth so that the machine will tell you what the current track is and what operation it's doing, which should be fun when I get my PDA hooked into the network using IRDA.