andy vt's tools & blog

automating lazy

zip LcdWriter for SageTV & Media Center

Downloads: 2,530 File Size:
Posted By: babgvant Views: 6,750
Date Added: Fri, Jun 11 2010

Updated 01/31/13: Fix an issue with how recording sessions are tracked in WMC

Updated 08/05/12: Add volume knob support for Moneual 312/320 cases (thanks Johann Schlamp!). Add support for triple-tap (currently enabled for WMC keymap) from IRemoteControl implementations.

Updated 02/05/12: Better support for JRiver MediaCenter (stil client only) and improvements to the native writer for nMEDIAPC PRO-LCD displays.

Updated 10/14/11: Add support for Jriver Media Center (client only). 

Updated 06/13/11: Add support for Intel Media Series HTPC_HEADER and fix a bug where recording sessions were counted 2x in some situations 

Updated 08/03/2010: Fix issue when triggering Standby/Hibernate 

Updated 07/27/2010: Added profiles for WinDVD/PowerDVD 10, mouse clicks, and hibernate option

Updated 06/27/2010: Added COM port detection and X64 fixes

LcdWriter does all the usual things that a lcd writer should do; displaying the current media file, and it's play state (play, stop, pause, etc).

In Media Center it also implements other state information that no other (at least to my knowledge) state display writer does; the currently recording show and disc writing status.

LcdWriter supports the following displays:

  • Hitachi HD44780 - most parallel port displays are this type (you must use the service for this display)
  • Displays supported by LCD Smartie via a LCD Smartie wrapper driver - just select the LcdSmartie writer and tell LcdWriter where to find the LCD Smartie driver dll
  • Multimedia Remote Solution Model MMX Ver. 1.1.1 from VL Systems used in the Moneual 320 - Remote is supported as well

LcdWriter also works with SageTV.  To receive playback information neilm's GetStatus pluggin is required, recording information uses neilm's SageTV webserver.  Besides the usual writing duties in the SageTV implemenation LcdWriter can also reset the display timer (for those who use agressive power management setttings), monitors the SageTV service via the webserver on resume from standby to ensure that it comes back up properly, and can set "Away" mode during recordings.  For those who want these features, this version also includes a "NullWriter" which doesn't require an actual VFD.

.Net 2.0 is required. It is intended for Vista, but should work on XP as well. If you have a previous version installed, you must manually uninstall it before installing this version.

Session priority (e.g. playing music while watching a slide show creates two sessions, priority indicates which will be displayed on the lcd) is managed through the config tool. Select the session and "Raise" or "Lower" its priority using the buttons. Some sessions (like Global and Home) support custom text. Select the session, and change the "Display Value" to the desired text.

The icons that are displayed for the play states are configurable.

 If no writer device is present, select the NullWriter to keep the display active.

Sage Config:

Click save when you're done.

For displays with remotes, edit key maps by right clicking on the LcdWriterHost icon in the system tray (you must use this application for remote based displays, the service will not work).

For Developers:

This version can be made to work with other display types (this is the part you would write), implement ILcdWriter in your writer class, put it in the install directory the select it from the Writers Tab (not shown above).

    public interface ILcdWriter : IDisposable
        void Clear();
        void Init();
        void Render();
        void RenderString(byte row, string buffer);
        void ReviseString(int index, string buffer);
        void SetString(int index, string buffer, bool scroll, string sep, long rate, int repeat);
        void SetIcons(LcdIconCollection icons);
        int GetColumns();
        int GetRows();
        void Standby();


No comments exist for this file.
@2008 andy vt
Powered by Community Server (Non-Commercial Edition), by Telligent Systems