Sage plugin for LCD Smartie

This is a plugin that makes it possible to display Sage status info on LCD displays with LCD Smartie.
It uses the External Status Monitor Interface created by nielm to get info from Sage.

To use this plugin start with downloading and installing the Status Monitor Interface. You can find more information about this here: http://www.sage-community.org/index.cgi/wiki/GetStatusPlugin#preview. You can also read this thread in the Sage forum: http://forums.sagetv.com/forums/showthread.php?t=8757.

Be sure that this plugin works before continue, try to connect to it with telnet as suggested at the above links and make sure that you get the information you expect.

After that it is time to download and install LCD Smartie. Use version 5.3 rc3 or later. LCD Smartie and more information about using it can be found here: http://lcdsmartie.sourceforge.net/.

When LCD Smartie is installed and verified to be working with your display it is time to install this plugin. Exit LCD Smartie and copy Sage.dll and Sage.ini to the plugin directory of LCD Smartie install directory. Open Sage.ini and check you configuration. If LCD Smartie is running on the same computer as Sage and the Sage monitor plugin above is configured as default you dont need to change anything in this ini-file. If you are using different computers for Sage and LCD Smartie bee sure to read the information about how to configure sage.properties for SageStatusPlugin at the link above to accomplish this. Then change the settings in this ini-file. The files can be found at the bottom of this page.

When all is installed open the setup window in LCD Smartie and enter something like this:


 

This should make Smartie look like this:

The commands for this plugin is $dll(sage.dll, command, param1, param2) where the commands with parameters is as follows:

Command Description param1 param2
1 Type/Rec devname 0 = Playing, 1... = Recording number 0 = As text, 1 = Returns 0 for not playing and alternates between 0 and 1 when playing
2 Show 0 = Playing, 1... = Recording number -
3 Episode 0 = Playing, 1... = Recording number -
4 Artist - -
5 Channel 0 = Playing, 1... = Recording number 0 = Both, 1 = Channel number, 2 = Channel name
6 StartTime 0 = Playing, 1... = Recording number Formatting ex yyyy-mm-dd hh:nn:ss
7 EndTime 0 = Playing, 1... = Recording number Formatting ex yyyy-mm-dd hh:nn:ss, if param2 contains # the first part can be l for length and ls for length in seconds
8 Curpos - Formatting ex h:nn:ss, if param2 contains # the first part can be s for pos in seconds
9 State - -
0 Num rec devs - -

See http://www.delphibasics.co.uk/RTL.asp?Name=FormatDateTime for information about date/time formatting.

Examples

Command 7, EndTime: Can be used for giving the show end time and param2 should then contain the formatting of the time as follows $dll(sage.dll, 7, 0, hh:nn:ss). It can also be used to get show length. Format your command like this $dll(sage.dll, 7, 0, l#hh:nn:ss). And last to get the show length in seconds from start: $dll(sage.dll, 7, 0, ls#)

Command 8, CurPos: Gives the current position in the file either as hours, minutes and seconds from the start with $dll(sage.dll, 8, 0, hh:nn:ss) or in seconds from the start $dll(sage.dll, 8, 0, s#)

To get a progress bar with the current position use the command $Bar(0$dll(sage.dll,8,0,s#), 0$dll(sage.dll,7,0,ls#), 40) where the last parameter (40) is the length of your display. Notice the 0 before the $dll command, this is to avoid errors when nothing is playing.

Command 1, Type: If param1 is 0 this command tells what sage is doing. If param2 is 0 the command returns a string with information. If param2 is 1 it returns 1 if Sage is playing something and 0 if it is not. This can be used to tell LCD Smartie if some screen should be visible.

Lock screen

To get LCD Smartie to only show Sage information if Sage actually is running go to the Actions tab. Enter the command: if  $dll(sage.dll, 1, 0, 1) > 0 then GotoScreen(2) if your Sage screen is number 2. Then goto the Screens tab and disable the Sage screen and enable another screen (for example a screen with time information). Set Time to show for the Sage screen to at least 5 seconds or more to avoid flashing.

Downloads:

version 1.0.3.1:
LCDSmartieSagePlugin1.0.3.1.zip
LCDSmartieSagePluginSource1.0.3.1.zip

Donations:

LCDSmartiePlugin is free to use but I would very much appreciate a small donation if you find it useful.