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: http://www.hydrogenaudio.org/forums/ind … 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.
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
changelog
LCDSirReal changelog:
Changes in v1.1:
Changes in v1.2:
Changes in v2.0:
Partial rewrite and code refactoring. Stripped unneeded symbols from executable. The (already absurdly small) executable is now even smaller.
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.
Changes in v2.2:
Changes in v2.3:
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.
Changes in v2.5:
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.
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”.
Changes in v2.7.6:
Some of the things changed between 2.7.0 and 2.7.6 include:
Changes in v2.7.7:
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:
Changes in 2.7.9:
Changes in 2.8.0:
Changes in 2.8.1:
Changes in 2.8.2:
Changes in 2.8.3:
Changes in 2.8.5: