Help - Search - Members - Calendar
Full Version: foo_logitech_lcd
Hydrogenaudio Forums > Hosted Forums > foobar2000 > 3rd Party Plugins - (fb2k)
Pages: 1, 2, 3
ectotropic
A component to display visualisations and track information on a variety of Logitech LCD screens.

Features:
  • Support for monochrome LCDs (G13, G15 & Z-10)
  • Support for colour LCDs (G19)
  • 11 different visualisations (4 spectrum analysers, 4 oscilloscopes, 3 VU meters)
  • Fully customisable track info
  • Massively customisable
See included Readme.txt for more information.

I'm open to suggestions for improvements - let me know if there is anything you would like to see - no matter how crazy! tongue.gif

In action:




Requires:
  • foobar v9.5.2 or greater
  • One of the following products:
    • Logitech G13 Gamepad
    • Logitech G15 Keyboard
    • Logitech G19 Keyboard
    • Logitech Z-10 Speakers (see notes)
    • Dell XPS Laptops with built in G15 LCD (see notes)
  • Latest drivers: Logitech Gamepanel/LCD Manager v3+ required (Logitech Support & Downloads)

Version 0.4.0
  • [FIXED] Multiple crashes
  • [FIXED] Dynamic track information
  • [FIXED] Font occasionally not being correctly set
  • [FIXED] All options now update instantly
  • [FIXED] Block Stereo Spectrum block count not being correctly used
  • [TWEAKED] Track info pages - scrolling should be much improved
  • [TWEAKED] Progress bar drawing
  • [REMOVED] Excess (unused) code

Download:
foo_logitech_lcd v0.4.0

To install, simply place the DLL in the components directory of foobar (by default this is "C:\Program Files (x86)\foobar2000\components" in 64bit Windows and "C:\Program Files\foobar2000\components" in 32bit Windows)

Previous Versions:
v0.3.6 v0.3.5 v0.3.1 v0.3.0
v0.2.6 v0.2.5 v0.2.1 v0.2.0
v0.1.2 v0.1.1 v0.1.0


Notes:
  • Owners of Logitech Z-10 Speakers or Dell Laptops note that these require newer software than the available drivers provide. While it is possible to update the software by using downloads not specifically intended for the given hardware (see below) - you should understand that there is a chance this could cause problems with your software and/or hardware. If you are in anyway unsure, you should not attempt to do this - though some people have done so with no issues what-so-ever. To update the software for these devices (entirely at your own risk):
    • Install the latest version of the hardware drivers as available on the manufacturers website
    • Install the latest G15 Keyboard software (i.e. Gamepanel) as available from the Logitech website
  • As of v0.3.0 this component supersedes foo_g15lcd. Both cannot be installed together (they will conflict with each other, if you already have foo_g15lcd installed please remove that dll before installing this).
  • Up till version v0.3.0 the Visual Studio 2008 dlls are required
  • The G13 Gamepad and Dell Laptops have not yet been verified as working
  • Additional products may also work
    • Any Logitech hardware that uses the Logitech LCD Manager software should be compatible
    • If you find a product that works and is not listed, please report it
  • Auto-update and the Check For Update buttons in the Logitech software do not appear to work
attenbran
I have a Logitech G15 with the latest drivers (just downloaded and installed them now) and I get the following error...

Failed to load DLL: foo_logitech_lcd.dll, reason: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.

In the Logitech LCD Manager under programs it does show "Foobar2K LCD Display", but I still keep getting the error. Any ideas?
ectotropic
Sorry your having problems sad.gif

That error comes from foobar/Windows not foo_logitech_lcd.dll itself. Most likely cause then is that something the dll depends on is missing from your system.

Only thing that comes to mind (other than foobar itself and the logitech drivers) is that you may need the Visual Studio 2008 dlls, you can get them from MS:

Visual Studio 2008 redist x86
Visual Studio 2008 redist x64

If that doesn't work the only other dependency I can possibly think of is GDI+, but that is installed with XP and beyond by default. If you happen to be running Win2K then you can grab the GDI+ files from MS as well. But if you are running 2K I'm not sure how well or even if the Logitech LCDs are supported.

Let me know how you get on - if neither of those work it'd be helpful to know what software versions you are running, what OS (and how up to date it is) and whether or not you can run foo_g15lcd component.

Hope that helps. ermm.gif
attenbran
Sorry I forgot to include that info. sad.gif I'm running Foobar2000 0.9.6.7 on XP Pro SP3.

Seems MS Visual Studio was the problem. I ran the link you included above (Visual Studio 2008 redist x86) and it now works beautifully, thanks.

I'm going to mess around with the settings a bit now.
ectotropic
np - glad that fixed it - I should have known people would need those dlls - my bad!

Ah well, I've edited the main post to add those dlls as required for anyone else who has trouble.

Hope you like it now that you can run it! tongue.gif

If you have any more problems just give me a shout.
attenbran
Something interesting that I just noticed. In my first post I said that in my Logitech LCD Monitor your program showed up. But I just noticed now that after running MS Visual Studio and getting it all to work, I now have two. One called “Foobar2K LCD Display” (this is the one that was there before) as well as “Foobar2000 LCD Display and Visualization”. Both are enabled and they don’t seem to be conflicting, but any idea why there would be two?

Also I’m trying to get line 1 to show the total time as well as time remaining. It shows me the total time but I can’t seem to get the time remaining to work. This is the syntax I have in the line “[%title%][ -- %length% | %playback_time_remaining%]”

In the help for this syntax it says “Available only in contexts where playback related data is displayed, such as status bar. Not available when duration of currently playing track is not known.” So maybe it won’t work here, but it would be really nice if there was a way to add it. Any ideas? I have also tried the following syntax’s but none of them work either. smile.gif

%playback_time%
%playback_time_seconds%
%playback_time_remaining_seconds%
ectotropic
QUOTE
Both are enabled and they don’t seem to be conflicting, but any idea why there would be two?

Yeah - the new one is for foo_logitech_lcd the old one is for foo_g15lcd, having them both in the game panel software just shows that they have been run. Anything that runs through the LCD API gets added to that list and I don't think any of them get deleted. You can remove them yourself by right clicking on them. There would only be a conflict if you had both foo_logitech_lcd.dll and foo_g15lcd.dll in the foobar components directory at the same time.

QUOTE
Also I’m trying to get line 1 to show the total time as well as time remaining.

I think you've tried all the things that might work - so I guess it doesn't, but I can put some code in to make it work pretty easily, though it may take a little while. In the mean time I've updated the plugin so now you can display the time information next to the progress bar (if it's on) - a bit like foo_g15lcd. See first post.
attenbran
Thanks! smile.gif
odyssey
Can you support the Logitech diNovo mediapad LCD? (and hopefully without the bloated SetPoint software)
ectotropic
QUOTE
Can you support the Logitech diNovo mediapad LCD?

Not sure about that I'm afraid - a quick search revealed little information on how to program for the mediapad which I would need to know if I was to be able to do it.

If anyone can point me in the direction of an SDK, documentation, or some open source software that uses the mediapad then I'll be happy to have a go at including support in this component - though I can't make any promises even then.

Is the mediapad Windows SideShow enabled? If so then that might be a way to support it for Vista at least - though the SideShow API is horrendous.

So - happy to try, unlikely to happen. Sorry.
odyssey
Try contacting the user "Stryder" here, he might have some useful documentation. At least he has made an application that can link foobar2000 and the MediaPad here, but I was not really able to make it work and having a native solution would indeed be much cooler.
Newsworthy
Ectotropic, thanks heaps for writing this component. I just have an issue I need your help with... Here's the error I get when I load Foobar:

QUOTE
Failed to load DLL: foo_logitech_lcd.dll
Reason: The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.

I have just in the last 12 hours done a clean install of Windows 7 RC, and have installed new drivers for the G15 keyboard, fresh install of Foobar and installed the x64 Visual Studio program you recommended. Any help for a completely hopeless debugger?

Thanks mate. smile.gif
ectotropic
Welcome to DLL hell! Don’t you just love it? mad.gif

Naïvely I thought that the x64 version of those dlls would also install any x86 components required. Sigh. Would have been good if they did, but it would seem they don’t. Ok, so the x64 dlls are not actually required – I’ve removed the link from the first post – install the other dlls and you should be fine.

Sorry bout that – I should learn to read the MS help pages a bit better tongue.gif
Newsworthy
Thanks for the answer, works great now. Many thanks. smile.gif
razor99
Yess I was waiting for something like this smile.gif

At first it didnt work, i tried installing the visual studio for 64bit (I have vista 64bit) but that didnt work. Then I also installed the 32bit of visual studio and it worked smile.gif
Really love it and looking forward to more releases smile.gif

P.S. I didn't saw it in the todo but maybe add something that you can see the image of a track(if it has)
hammurabi
Thx ectotropic, this plugin is great.

No issues, so far. (Vista x64, Orange G15)

A couple of feature requests though.

>Any chance of an option to change the time the song info is shown on a song change. It's a bit too "brief" for my liking.
>What about lyric support. That would be awesome.

Actually, just noticed something. When the album name is long enough to be scrolling, it takes a little while to load.
Around 3 secs for "Good News For People Who Love Bad News".
ectotropic
Thanks for the support guys - glad people are using (and like!) the plugin. Hopefully it will only get better biggrin.gif

QUOTE (razor99 @ Jun 16 2009, 17:40) *
add something that you can see the image of a track

Actually that was on my list of things to add - just forgot to actually put it in the readme. D'oh! (Note it will be for colour displays only).

QUOTE (hammurabi @ Jun 17 2009, 10:28) *
Any chance of an option to change the time the song info is shown on a song change. It's a bit too "brief" for my liking.
What about lyric support. That would be awesome.

Being able to Change the time the track info is shown is another thing on my list that never made it to the readme!
Lyric support is tricky, but something I had considered. I'm certainly going to try but no guarantees.

QUOTE (hammurabi @ Jun 17 2009, 10:28) *
When the album name is long enough to be scrolling, it takes a little while to load.

I had noticed this as well - but no idea why it happens sad.gif However the text support is going to get completely rewritten (to allow for better control and better support of colour LCDs), so hopefully that will fix it.

Going to try and get as many requested changes as possible in for v0.2.0 (currently in the works), but it's a major overhaul so any of the more difficult options will be pushed back to later versions.
flyav
Hey ectotropic,

just want to let you know you have done a great job. Just got my Logitech Z-10 today and the first plugin i installed is that foo_g15lcd but later i found its control is limited. Somehow i found yours and i like it very much, great job!

Just some suggestion: is there any possible way to customize font style and size? I'd love being able to use some nicer font like Calibri and customize the size precisely, instead of only being able to choose from Large, Medium, and Small.

Also another crazy idea: it'd be great if you can somehow manage to put in album art displayed in the LCD, it would be awesome for those G19 users using colour screen.

Anyway keep up the good work, i think your work certainly benefits a lot foobar2000 and G15, G19, Z-10 owners out there.
ectotropic
QUOTE
just want to let you know you have done a great job.

Cheers! Always nice to hear! Good to hear from someone with a Z-10 as I don't have access to one and was curious if it was working. Glad to hear it is.

QUOTE
is there any possible way to customize font style and size?

All I'll say is look out for v0.2 (coming sometime this week) tongue.gif

QUOTE
it'd be great if you can somehow manage to put in album art displayed in the LCD

This is something I'm looking into - it will be supported at some stage, just not sure when (I had hoped to add it for v0.2, but it's likely going to be pushed back to a later version as other changes have proved bigger than I had anticipated).

Anyway, ideas/thoughts/comments/questions appreciated, keep them coming!
razor99
I think I found a bug.
I always have the Oscilloscope on. I use the "explode"(not sure how it's called, but it's centered and it draws lines in all directions from the center). After a while I get a line that goes from the bottom left to the center. It is just always there then, doesn't matter what song.
Also the other Oscilloscope visualisations get messed up. The circle(not sure how it's called again:p) gets a lot of lines to the bottom left. Also the sinus and the dots get a lot of extra lines.

I am not sure exactly when I get it, I think it's just random.

Sorry for my rubbish explanation, hope you understand it tongue.gif
ectotropic
QUOTE
I think I found a bug.
sad.gif

QUOTE
"explode"...not sure how it's called...The circle..not sure how it's called again
I call them StarBurst and Circle.

QUOTE
After a while I get a line that goes from the bottom left to the center...Also the other Oscilloscope visualisations get messed up.
Hmmm - that's odd, can't think off the top of my head what would cause that. Couple of questions; what LCD are you using? (Colour or Monochrome), by "after a while" what do you mean? (Hours? Minutes? Seconds?) Have you noticed any pattern to it at all? (Even just if you used another application before it happened or anything) Also, does it happen every time? (ignoring any times where you only use it briefly).

QUOTE
Sorry for my rubbish explanation, hope you understand it tongue.gif

I think you did a pretty good job of explaining it! smile.gif

razor99
I use color (I also changed the color to red) on my G19.
I think it's after hours, but I am not sure when it happens. I can't reproduce it, it just gets there. And ofcourse I am not looking at the screen all the time so I can't tell when it goes.
And It also doesnt happen everytime. It's very weird tongue.gif

I also use foobar 0.9.6, I can try upgrading it but don't think it will help much.

It isn't a big thing so I don't mind if it isn't fixed tongue.gif
ectotropic
v0.2 is now out! tongue.gif It’s a major update with lots of changes which has taken a lot longer than I anticipated (and is missing much of what I had wanted to add).

Biggest changes are to the config dialog, track info and coloured visualisations. Config dialog is completely rewritten, track info now allows for selection of any font and has an Expert Mode which does not set the number of lines you can use (you decide), coloured visualisations now support gradients.

As ever, more information in the readme – any questions you know where to find me! smile.gif


Razor99, I was going to say I would have a look at that error when I had finished with v0.2, but then I got the bug happening to me as I was doing final testing on that version so I had a look at it then and I think I managed to fix it. One of those bugs that you look at and wonder how anything every worked!

Anyway let me know if you still get it or not.
hammurabi
Thx for 0.2.0, ectotropic.

I'm liking the new config page. However, one issue so far.

I cant change fonts...


Vista x64.

Any ideas?
razor99
I have the same thing as hammurabi. Now the text is very small tongue.gif

And I also noticed that some visualisations use quite a lot CPU when gradient.
StarBurst for example uses 2% CPU when both colors are the same (0% cpu when vis are off). And with 2 different colors it uses around 25 to 30% CPU. I don't know if that's normal but it's quite a lot for a visualisation I think tongue.gif

Edit: ow forgot, I have a 2.5ghz dual core. So not a crappy 200mhz CPU because then it would make sense tongue.gif

But I have to say, the gradient looks very cool smile.gif

(And haven't got the bug yet, but only played for half an hour)
ectotropic
sad.gif

Bugs, bugs, bugs! Bah! My shoddy programming skills showing up again! tongue.gif

Ok - I think I have an idea as to what the font thing could be, I'll try and get a test build up for you guys ASAP. Odd though it may sound do either of you have a printer installed? (If the answer is no then actually installing one might fix it! Though I hope to have a proper fix for it soon).

As for the performance, I was aware that with gradients enabled it would be much slower I had not realised just how much slower! That's certainly a lot of CPU for not much eye candy. I had planned to do some optimisation sometime (so far most things are about as inefficient as they can get), but sounds like I need to do a lot and soon. That's fine though, I like optimising! biggrin.gif

Watch this space - new bug fix build(s) coming soon...
ectotropic
Attempted fix of the Font issue: Removed - proper version now available

Let me know if it works. If it does not work then the console should now show an error message which would be useful to know.
razor99
Thanx for the quick fix but I think its still not right sad.gif
I can open the fonts menu and select one now, but then I just get a black screen. (before I saw the song info)

So now I can see the visualisations but no song info, even the progress bar disappears.
And also no errors in the console.

(I don't have a printer on my PC but I have a Microsoft XPS document writer printer installed, not sure what is is though tongue.gif)
ectotropic
One bug down, one more to go sad.gif

First thing to do is to check the font colour - it may have changed, which would affect all the items on that page. Even if it has not changed, try setting it to a different colour and see if that makes a difference.

Seems I really need to get an install of XP or Vista so I can test this component on a different OS.
razor99
oh I am so stupid tongue.gif It changed to color to black. And black text on a black blackground isn't very easy to see tongue.gif
Now I changed the color and it works! smile.gif

Sorry for the misunderstandings smile.gif
ectotropic
lol - np - just glad it works. smile.gif

That just leaves the performance issues now... (sadly they will take a bit longer to fix)
tai
I installed the component; it runs in foobar and i can modify the settings, but there is no change in my LCD or the LCD manager program. Somehow the program just isn't 'communicating' with the LCD program. I'm not sure if I'm doing something wrong or if it's a bug.

I'm using 0.9.5.6, XP SP3 x86, Z10 with latest drivers, i have the C++ package. I previously used foo_g15 but i removed that and the settings before trying this plugin.
ectotropic
That's not so good!

Hmmm sounds a little odd. I take it that foo_g15lcd did work?

Can you check the console for me? (View -> Console) If you start foobar then open the console immediately there may be errors from the component there which would help me work out what is going wrong. Just post/pm me all the text from the console and I'll see if there is anything that can explain what is happening.

In the mean time you might want to try the latest version of foobar (if you can) - I doubt it will help, but you never know.
Ethangar
Hey ectotropic,

Really nice work. You actually went ahead and did many of the things I wanted to do with foo_g15lcd.

How did you break this down in source? You mentioned GDI+, so I was wondering if this used one of the .NET wrappers for the Logitech stuff.

ectotropic
Thanks!

I'm not totally sure what it is you want to know, but I'll try my best to provide an answer!

The component is completely written in (unmanaged) C++, using the logitech SDK with a little ATL/WTL and some boost but mostly GDI and other low level Windows API stuff. No .Net, no MFC - all done the hard way tongue.gif However the version I'm working on ditches GDI in favour of OpenGL which speeds things up immensely and provides many new possibilities for future visualisations.

The mention of GDI+ is due to the (new) logitech "EZ LCD" SDK which depends on it - the "EZ LCD" stuff is quite a big departure from the previous SDK way of doing things (not necessarily in a good way). TBH I'd rather not depend on GDI+ (for many reasons) and I'm slowly moving towards dropping the "EZ LCD" SDK completely - instead using the low level API directly. As it stands only the text output makes any real use of the SDK, all the graphics stuff effectively bypasses it. However, rewriting the text handling is a pretty big job so it's not something I expect done soon (though it is required for some other functionality I'd like to add).

As mentioned in the readme I do intend to release the source code at some stage, but it will likely only be once the code has become more stable (i.e. when most the functionality I want to add is there) - plus it's a real mess right now rolleyes.gif

Does that help/make sense?
Ethangar
Yep, makes total sense (and answered my question).
ectotropic
New version available which should address the performance issues that were showing up before, also adds preliminary support for album art on colour displays (somewhat limited as it stands - note that like track info it requires a track change to pick up any edits made).

razor99 (or anyone with a colour LCD) can you let me know if you still see CPU usage levels as high as they were before?
razor99
I tried it and the performance is indeed better now smile.gif
It's around 8% CPU for foobar2000.exe with gradient, and the same when the 2 colours are equal.

So I think it improved for gradient but got worse for equal colors. (Not sure though) But equal colors isn't that important because gradient is much cooler (H)
I tested on StarBurst.
ectotropic
Thanks for the help - much appreciated.

That roughly corresponds to the numbers I was getting using the emulator, so looks like it is pretty accurate - I had been hoping it was a bit more expensive to use the emulator, guess not. Oh well. sad.gif

Still - least it's below 10% now! tongue.gif Plus, now it's using OpenGL I think there's a lot I can do to speed it up more (just take a while).
xScaryKidx
I downloaded this and put the .dll in the components-folder and then I restarted foobar2000 and this popped up...

"Failed to load DLL: foo_logitech_lcd.dll
Reason: The application has failed to start because its side-by-side configuration is incorrect. Check the log for more information."

Anyone who knows how I can get it to work?
I've got an Logitech G19 and I use Vista x64 and foobar2000 0.9.6.8, if that helps.

Thanks in advance!
willardjuice
QUOTE (xScaryKidx @ Jul 4 2009, 12:46) *
I downloaded this and put the .dll in the components-folder and then I restarted foobar2000 and this popped up...

"Failed to load DLL: foo_logitech_lcd.dll
Reason: The application has failed to start because its side-by-side configuration is incorrect. Check the log for more information."

Anyone who knows how I can get it to work?
I've got an Logitech G19 and I use Vista x64 and foobar2000 0.9.6.8, if that helps.

Thanks in advance!


QUOTE (First Post)
If it fails to run, then you might also need:

* Visual Studio 2008 dlls
* Latest Logitech drivers – available here (To install these drivers on Windows 7 it may be necessary to run the *installer* in Windows Vista compatibility mode)


smile.gif
xScaryKidx
Willardjuice: I've already installed that one... sad.gif

Odd, I installed VisualC++ 2008 SP1 Redist for x64 to begin with... and I didn't work, after that I installed the same redist for x86 and now it works...
Yirkha
Not odd, the needed CRT runtime architecture depends on the application (hence x86, foobar2000 is a 32-bit application), not OS (x64).
vordavoss
QUOTE (tai @ Jun 28 2009, 20:53) *
I installed the component; it runs in foobar and i can modify the settings, but there is no change in my LCD or the LCD manager program. Somehow the program just isn't 'communicating' with the LCD program. I'm not sure if I'm doing something wrong or if it's a bug.


I've got the same problem running Vista64 SP2. The console says:

foo_logitech_lcd: Failed to initialise LCD EzLCD object [HRESULT: -2147467259]. Plugin will be unavailable.
foo_logitech_lcd: Could not initialise LCD, plugin will not be available.
ectotropic
sad.gif

That error originates in the Logitech EZ LCD Wrapper (i.e. not my code) - and means that for some reason the wrapper was not able to initialise. Sadly the error code is somewhat generic meaning I can't actually tell what's causing the problem. However it might help if you could answer the following questions:

Have you got the latest drivers installed? (See first post - right clicking on the tray icon and selecting "About" should show v3.02 or later) Did they install correctly (no errors)?
Did you have foo_g15lcd installed? Did you remove it properly?
Does other LCD enabled software work? Does/did foo_g15lcd work?
What version of foobar are you using and what LCD product do you have?
Finally is your Vista user account an administator/power user account? (It may not be relevant, but I got a feeling it might be)

FWIW: Normally I'd probably give you a debug DLL to try (it displays more information) but due to updates in the works, that's not possible right now, however the next version (which will be done sometime in the coming week) will remove the wrapper from the plugin which may help matters, even if not I've overhauled the error checking system which might give some more pointers, but that's not going to provide an immediate fix.
vordavoss
Thank you for the answer, I discovered that I actually didn't have the latest version of Logitech's software despite it's auto update telling me so... rolleyes.gif I manually updated to the latest version and now it works cool.gif

Thanks for a great plugin and sorry to bother you for nothing smile.gif
ectotropic
lol

np

Just glad you got it working in the end! Any more problems/comments/suggestions just give me a shout! tongue.gif
cimnine
Hey, I've waited since my G19 got shipped for this plugin - you're some kind of god for me now wink.gif ...

Would it be possible to extract the album art out of the ID3-Tag and use it as BG?

And another idea: It'd be nice if I could see which track's playing right now while displaying the visualisations, too.

~Chris
ectotropic
Flattery will get you everywhere biggrin.gif

Both ideas are things I want to do - but are more difficult than they might appear.

Might take a little while but I'm certainly going to give them a go smile.gif
jojo1028
Hi,

Just wanted to thank you for this very nice plug-in, working like a charm on my old G15. cool.gif

Keep up the great work ! emot-toot.gif

P.S. : i found a bug , i've downloaded v0.2.6 but in the components panel of foobar's preferences, it says v 0.2.5 ..... lalala.gif tongue.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.