I debated whether to post this here or in the Nutcracker forum since Nutcracker and xLights have merged, but I figured it would be of more interest to the xLights users than users just using the Nutcracker portion.
I started working on a patch to xLights/Nutcracker to add a new feature and wanted to get some comments to see what people thought of the idea.
First, here's a little background.
I have an external LED sign that uses the ALPHA sign protocol to allow displaying of text and/or graphics via a RS232 or RS485 interface. I want to use this in my show as my 'tune to' sign as well as to display things like the name of the current song being played, etc.. I'd never expect xLights/Nutcracker to talk directly to the sign, but I can easily display messages on it via a Perl script I have.
As a MythtV developer, one of the features I added to MythTV was what I called 'system events' and 'system event handlers'. Basically, this feature allowed a MythTV user to setup one or more system event handler scripts for events that would be generated by the various MythTV applications at various times. For instance, one user has setup a handler script to automatically dim the lights in his living room when he starts watching a recording or video. Other users use the RECORDING_STARTED event to notify them via email or text message whenever a certain show records.
I'd like to extend this event handler concept to xLights/Nutcracker to allow me to update my LED sign during the show, but I can also see other uses for this ability as well.
Basically I'm looking at something like the following set of events for now but it could be extended later if it made sense:
PLAYLIST_STARTED [PlaylistName]
PLAYLIST_FINISHED [PlaylistName]
PLAYLIST_ITEM_STARTED [SequenceName]
PLAYLIST_ITEM_FINISHED [SequenceName]
LIGHTS_OFF
As an example, if you were running Linux and configured your event handler script to be /usr/local/bin/xLights_event_handler, then xLights would run commands such as this during a show:
/usr/local/bin/xLights_event_handler PLAYLIST_STARTED PlaylistName
/usr/local/bin/xLights_event_handler PLAYLIST_ITEM_STARTED Carol_of_the_Bells.xseq
/usr/local/bin/xLights_event_handler PLAYLIST_ITEM_FINISHED Carol_of_the_Bells.xseq
/usr/local/bin/xLights_event_handler PLAYLIST_ITEM_STARTED Little_Town.xseq
/usr/local/bin/xLights_event_handler PLAYLIST_ITEM_FINISHED Little_Town.xseq
/usr/local/bin/xLights_event_handler PLAYLIST_FINISHED PlaylistName
/usr/local/bin/xLights_event_handler LIGHTS_OFF
In my case, the handler script would know that when it saw "Carol_of_the_Bells.xseq" start that it needed to display a certain message on the LED sign, etc.. The LIGHTS_OFF action might tell my LED sign to power itself off or send an X10 event via my firecracker serial dongle to remove power from the LED sign.
So, the reason for my post. Does anyone else think that this kind of feature would be useful in their shows?