Sunday 31 January 2010

The Work Keeps Going

So, when I should really be working on my coursework project, I've been putting a bit more time into AllDay DJ. In the short time I have been doing this, I've managed to pull a fair bit off. Below is the list of features I've added this week:

Sweep Point
In previous version of AllDay DJ sweepers and voice tracks were dumbly played over the intro for songs. Now it's possible to have such a sweeper fully produced then sweep on the dry bit (like those "we play music like this... Donkey FM!" jingles). How? Just set the sweep point.

Networking
A large number of stations are doing it - taking programming from another station. The command cart system has been built in AllDay DJ to allow simple networking between a "server" station and a number of clients. The result: you get a nifty program from down the road with your own adverts and jingles.

Even better - it's a plain text protocol. This makes building extras for the system easy. All command start with ADDJ 3.0 to indicate the protocol (ADDJ) and version (3.0) and then consist of single words plus parameters. Proof, I suppose, that I listen to my lecturers about designing network protocols.

Command Cart System
It's not only networking that has benefited from work in this area. It's now possible to take an IRN feed and have it go in any sound card on your system and out any other. Very useful! The only issue now is endurance testing it - there's only so many times I can put up listening to a dummy news feed (really some music).

Keyboard Shortcuts
No need to fumble with that mouse any more! Some sensible shortcuts have now been build into AllDay DJ and work no matter what AllDay DJ window is in focus. Not bad for a Java application. The plan is to work on an extra mini-keyboard at some point with will have all the major keys in one place.

Scheduling
This is mostly done - music and jingle scheduling works on the well loved "deck" model and repetition rules can be enforced. As for adverts - erm... I've never had to schedule any in my life! Ideas for what would be required here are always considered good.

So... wrapping up: Remember - this is all cross-platform. I've been developing on a Windows XP system and testing on a headless Linux server (well, running vnc4server - there's no monitor plugged in). Also, it's all sitting on top of the reliable and easily backed up PostgreSQL database system. No bespoke binary rubbish here!

No comments:

Post a Comment