LCDSirReal changelog:

Changes in v1.1:

  • Lowered network update frequency to cut down on CPU usage
  • Added more speaker setups, and allow the user to specify wanted setup in configuration
  • Heightened both CPU/MEM and network displays to allow for a more readable font
  • Changed TSRemote ‘ERROR’ message to the more informative ‘NO DLL’

Changes in v1.2:

  • If Teamspeak isn’t running, shows WinAMP play time and average bitrate, and button 4 will re-display the current song title
  • Allow the user to choose date and time formatting
  • Compatible with the WinAMP spam plugin for Foobar2000: … opic=42941
  • In TS2 current channel users list, users that are Away or Muted are shown in parenthesis
  • Log spam-control; prevents WinAMP/Foobar2K from clogging up the log queue
  • Allow user to select time zones for world clock
  • FIX: Don’t attempt to restart LCDMon.exe if Windows is shutting down

Changes in v2.0:

Partial rewrite and code refactoring. Stripped unneeded symbols from executable. The (already absurdly small) executable is now even smaller.

  • FIX: Speaker switch could fail to switch on some setups
  • Module switching: Use CTRL+softbutton to change module in a slot
  • User-selectable module display
  • Allow both speaker setups to be user selectable
  • Added FPS module; FRAPS integration
  • Added NET module; shows network statistics

Changes in v2.1:

Starting with this version, I need users reporting a problem to include the ‘errors.txt’ file (if it exists). It will be created in the same directory as LCDSirReal.exe is located when an error is detected.

  • Changed FRAPS runtime checking to be less intrusive
  • Added errors.txt error logging file
  • Not detecting LCDMon.exe as running still allows attempt to use LCD
  • If mail checking isn’t available in the OS (Win2K and lower), don’t use it
  • Added ‘include’ command in lcdsirreal.txt
  • Changed TS2 interface thread priority class from IDLE to LOWEST

Changes in v2.2:

  • Don’t log the most common TS2 communication errors; fills up log
  • Tweaked thread synchronization method for LCD updates
  • Added more error messages around LCDMon.exe launching
  • One single processor machines, keep the TS2 interface thread at normal priority
  • If net I/O initialization failed, retry at intervals

Changes in v2.3:

  • Calculate daylight savings time status on initialization
  • Immediately terminate LCDSirReal when system shutdown detected
  • Use alternate method of detecting PID’s on Windows XP and above
  • Tweaked TS2 mutex timeout
  • Removed even more redundant TS2 errors from the log
  • Improved shutdown sequence handling

Changes in v2.4:

A few notes about the iTunes support.

First, the iTunes COM API uses a LOT of memory. While LCDSirReal itself is only a few KB bigger, loading the iTunes API will require several megabytes (although LCDSirReal will not load the API until iTunes is started). Of course, if you’re running iTunes, that probably won’t bother you as iTunes itself uses some 40+MB.

Second, iTunes 7 (as of this writing) doesn’t support global media keys. Meaning, PLAY, STOP, NEXT and PREVIOUS TRACK keys only work if iTunes is in the foreground. Again, if you use iTunes you are probably already using one of the many small applications that exist to solve this. There now exists one more: Change “tun_mediakeys” to nonzero in lcdsirreal.txt, and LCDSirReal will send media key presses to iTunes if iTunes is in the background.

  • Added startup mode selection to slot modules
  • Added support for SpeedFan
  • Fixed the ‘repeating speaker’ TS2 display bug
  • Added support for iTunes
  • Rewrote net statistics to use TDI instead of WMI (less CPU usage, less memory footprint)

Changes in v2.5:

  • Refresh list of active network interfaces every two seconds
  • RIP module: Allow termination of unresponsive programs
  • Mail indicator for more than six emails shown as “(icon)x(number)”
  • Fixed network I/O numbers at transfer speeds exceeding 4MB/sec

Changes in v2.6:

Microsoft Vista does not provide any means for a third-party program to change the speaker configuration. As a result, the SPK module is limited to showing the volume and mute state. Also, the new Vista sound API’s are very CPU intensive, so to save CPU cycles the SPK module will only update once per second.

  • Recognizes Logitech 1.03+ software installation paths
  • Reduced CPU usage for TS2 module
  • Fixed WinAMP module crash on long song names
  • NET works in Vista (Fallback to NDIS 6 for network data if TDI fails)
  • Generate GUI calls if FRAPS is started after LCDSirReal, to allow it to patch itself into LCDSirReal’s process
  • World Clock now works in Vista (Use text indices)
  • Volume bar and mute state works in Vista (MS removed old API’s)

Changes in v2.7:

Unicode allows me to present things like weekday names the way they’re meant to in places like Greece and Russia. It also opens the way for TeamSpeak names with those fonts, when TeamSpeak starts delivering UTF-8 encoded user names. It also changes the way LCDSirReal looks. Hopefully, no less readable, although in my opinion the new fonts are less appealing than the old ones. However, not having the bitmapped fonts embedded makes the executable smaller. Not that it really needed to be.

Now you don’t even need a G15 to see what LCDSirReal looks like! If the G15 can’t be detected or isn’t currently available, LCDSirReal now shows a little window with it’s display in it. If you close the window, LCDSirReal terminates. If the G15 comes online, the window is automatically hidden. While the window is visible, you can left click the slots to simulate the respective softbuttons. You can right-click to force a slot to cycle it’s contents. If you need to, you can force this window to be visible always; specify a nonzero value for the option “testwindow”.

  • Added Unicode support
  • The TS2 speakers display now uses the large font
  • Farenheit conversion option for SpeedFan data
  • Delay for X ms before removing the name of the person talking on TeamSpeak
  • Look for lcdsirreal.txt in .exe location too
  • Create “system.txt” file containing system information on startup
  • net_adapter option allows you to limit network data to a single interface
  • Now shows a window when the G15 is unresponsive or not present
  • If the configuration file changes, reloads the configuration
  • RIP module shows executable name if there is no window title

Changes in v2.7.6:

Some of the things changed between 2.7.0 and 2.7.6 include:

  • Fixed crash on single core CPU’s when rendering CPU graph
  • Fixed module switching using CTRL+softbutton for leftmost slot
  • Fixed compatiblity issue with Warhammer Online
  • Added customization for the CPU bar
  • Reintroduced 1 x (mailicon) display
  • Don’t spam system.txt when user has set an interface to ignore
  • …and probably more stuff that I don’t recall

Changes in v2.7.7:

  • Long clicking NET now resets netio subsystem as well as counters, may help some
  • More aggressive reloading of failing NDIS drivers, may help with Vista network drivers that stop reporting statistics after resume
  • The stopwatch can now work in with or without laptimes, see lcdsirreal.txt under “stopwatch_laps”
  • Long-clicking the AMP or TUN module now toggles between always showing the title and normal display
  • AMP title display now supports Unicode
  • Volume bar now updates in realtime on Vista
  • Found a way to switch speakers on Vista (requires Administrative privileges)
  • Performance enhancements under Vista

2.7.7 implements speaker switching on Vista. Note that Microsoft doesn’t provide a way for applications to do this, so undocumented and unsupported methods must be used. Also, it requires Administrative rights. This is the only function in LCDSirReal that needs admin rights, so you don’t need to run LCDSirReal as administrator unless you want to use the speaker switching. Finally, since the methods I use are unsupported they may or may not work with different audio drivers. You’ll have to test and see.

Changes in 2.7.8:

  • SPK module uses polling if callbacks fail (Vista only; fixes speaker mode display with substandard audio drivers)
  • Long-clicking the SPK module now restarts it
  • SPK module now follows the default device on Vista
  • Look for configuration files in My Documents\LCDSirReal
  • Write system.txt and errors.txt to My Documents\LCDSirReal

Changes in 2.7.9:

  • Fix race condition in startup code
  • Fix handling of very long WinAMP titles
  • Identify unknown speaker configurations by channel count (Vista only)
  • Corrected LCDSirReal CPU usage display (wasn’t being divided with the number of CPU cores before)
  • CPU module wasn’t reading the mode selectors on config reload
  • Added option to have a long-click simulated for a module in config (add a ‘*’ after the three letter acronym)

Changes in 2.8.0:

  • Fixed a bug with the fallback speaker setup decoding in Vista
  • Changed speaker switching to be more reliable in the face of misidentified setups
  • Added 5.1surround and 7.1surround to the list of known configurations
  • Fixed iTunes support so it handles Unicode

Changes in 2.8.1:

  • Compatible with FRAPS 3.00
  • AMP module only shows title changes when module is active
  • Text area shouldn’t start repeating if it’s very short texts
  • Compatible with TS3 beta 12

Changes in 2.8.2:

  • Adds support for the CoreTemp application
  • Adds little stuff like icon and application version information
  • Fixes the embedded LCDSirReal homepage URL

Changes in 2.8.3:

  • Adds support for the GPU-Z application
  • You can now prevent the test window from appearing even if the keyboard is unresponsive, see lcdsirreal.txt for more info

Changes in 2.8.5:

  • No longer by default restart LCDMon.exe (settings lcdmon_starting now defaults to 0)
  • No longer tries HID fallback by default (see the use_hid setting in lcdsirreal.txt)
  • Updated to work with the latest TS3 beta