PDA

View Full Version : [WINDOWS] Adding native LCD and VFD display support to XBMC for Windows source code?


sanssome
2008-11-18, 00:37
Can someone point me to where in the source tree the VFD LCDproc code exists? I know this is working on Linux and I'm interesting in building a patch to support my Hiper's Futaba VFD and possibly build something rather generic that relies on PD code already out there to interface to other VFDs as well.

WiSo
2008-11-21, 11:30
I really have no experience with the LCD code but you might wanna have a look at LCD.cpp and LCDfactory.cpp in XBMC\xbmc\utils.

zyxel13
2008-12-04, 04:31
Hi sanssome,

following the links to 2 files containg functional code and demo for the Futaba Display.

http://www.grsnet.net/Scaleo_VFD_source.zip
http://www.grsnet.net/VFDControl.zip

Here more Infos for the Display and the Buttons:
http://www.mythtv.org/wiki/index.php/Futaba

It would be great if xbmc windows would be able to drive a vfd display and
use the control buttons (play,stop, ffw, fbw, etc) located on the front of many cases.

Cheers,
Konstantin

DragonFly
2009-01-02, 17:18
Whoa! It would be great if you can develop a plugin for this VFD. I currently own a SCALEO E with the same VFD display.

Have a chat with Mrz (see http://xbmc.org/forum/showthread.php?t=32797) who has written a plugin for the iMon VFD

andye26
2009-01-07, 20:30
Hi
Does your display work with LCD smartie?
If so I can give you a modified version of xbmc which will allow you to get film title and duration, music title and duration ,picture filename and resolution.

Works well but has issues with videos with no video info but best I can manage with my very limited knowledge.

Andy

Nindae
2009-01-09, 22:09
Hi,
I'm also an owner of a SCALEO E and have ivestigated the possabilities to output text on the front display.
I found an interface written i c# by a german guy ( can't remeber his name ).
To create a quick test application I used the multicast messages which xbmc sends out. Messages are sent when play back are started, stoped and track is changed.
My test app is listening for the multicast messages and outputs the Artist - Track title on the display.
So basicaly this is a stand alone application which consumes output from XBMC.
I don't have any time to follow up this first test shot, but if you are interested in my exaple let me know.

DragonFly
2009-01-10, 18:33
I'm really interested in your app and progress, Nindae!

It would be nice to have the VFD display something diffrent than just "SCALEO E"

A (fully) working VFD can be very usefull to browse your music collection and play something without powering on your (large power consuming) TV. This works in Mediaportal and it would be great if this could eventualy work on XBMC.

zyxel13
2009-01-15, 20:29
Hi
Does your display work with LCD smartie?
If so I can give you a modified version of xbmc which will allow you to get film title and duration, music title and duration ,picture filename and resolution.

Works well but has issues with videos with no video info but best I can manage with my very limited knowledge.

Andy

Hi Andy,
sorry for the Delayed anwer.
Never tryed LCD Smartie, but i just downloaded it and will try it.
What did y changed in the XBMC code to make it working ????

Cheers,
Konstantin

zyxel13
2009-01-15, 20:37
Hi,
I'm also an owner of a SCALEO E and have ivestigated the possabilities to output text on the front display.
I found an interface written i c# by a german guy ( can't remeber his name ).
To create a quick test application I used the multicast messages which xbmc sends out. Messages are sent when play back are started, stoped and track is changed.
My test app is listening for the multicast messages and outputs the Artist - Track title on the display.
So basicaly this is a stand alone application which consumes output from XBMC.
I don't have any time to follow up this first test shot, but if you are interested in my exaple let me know.


Hello Nindae,

yes I would like to try you application if Possible.

Thanky
Konstantin

andye26
2009-01-15, 21:43
Konstantin
All I did was create a new http command called getlcd (modified version of getcurrentlyplaying) which outputs a small web page with information more suitable for a lcd.
The plugin for lcdsmartie just reads the text from some lines on this web page.

Andy

DragonFly
2009-01-21, 18:15
Sanssome, have a look at this German thread: http://www.mce-community.de/forum/index.php?showtopic=31834&st=0&p=206499&#entry206499

This is development for the VFD on MCE

Gamester17
2009-01-21, 22:02
Using "LCDHype" software could possible be another method(?), see:
http://xbmc.org/forum/showthread.php?t=43925

and:
http://lcdhype.condense.de
http://lcdhype.condense.de/index.php?s=&showforum=58
http://www.casemodding.de.vu/

LCDHype LCD Driver SDK C++ Version 1.4
http://lcdhype.condense.de/index.php?showtopic=1049

LCDHype Plugin SDK C++ Version 1.3
http://lcdhype.condense.de/index.php?showtopic=1051

Not sure if it is fully open source though? ???

DragonFly
2009-01-23, 03:23
As far as I know the formentioned dm-140gink is not yet supported by programs like LCDhype, LCDsmartie etc

Swifty
2009-01-23, 15:50
Maybe we are looking at this the wrong way round for LCD/VFD under windows..
Instead of getting 3rd party applications and then hoping they have support for X,Y,Z display - Couldn't we create a fake MSAS and feed it XBMC info?

That way any LCD/VFD that supports windows media center (I'm guessing most peoples displays in their HTPC's case) would work with its native windows driver..

MSAS - http://msdn.microsoft.com/en-us/library/aa468224.aspx

Swifty
2009-01-27, 11:06
Update: Found someone who created a similar thing for SageTV - The source is freely available to download from here; http://dragonglobal.biz/download/files/SageMCEDisplay.zip

It basically does what I'd mentioned before and creates a fake MSAS then pulls its info from Sage, the LCD/VFD drivers that are compatible with Windows MCE look to the MSAS automatically for their data so no excplicit support of each display is required.

I've emailed the author asking if its ok to modify his code for XBMC, but after looking at the source it seems a little over my head.. If anyone else wants to take a stab at it they may have more sucess than me.
In the mean time I'll continue tinkering with it and see what I can come up with.

Herak
2009-02-13, 16:57
Konstantin
All I did was create a new http command called getlcd (modified version of getcurrentlyplaying) which outputs a small web page with information more suitable for a lcd.
The plugin for lcdsmartie just reads the text from some lines on this web page.

Andy

any chance you could post this code, i've writen a plugin for lcd smartie which uses a very similar feature to this, and it would be easy to alter it to work with xbmc.

It would be great if you could get the code accepted in to the projects so we can all benefit.

indy5
2009-03-03, 00:46
Is this something that should be requested through a trac ticket? I also have this futaba lcd and would like make use of it in xbmc.

DragonFly
2009-03-25, 13:54
Any progress made? Does someone actually have it working?

champ222
2009-04-17, 13:29
any chance you could post this code, i've writen a plugin for lcd smartie which uses a very similar feature to this, and it would be easy to alter it to work with xbmc.

It would be great if you could get the code accepted in to the projects so we can all benefit.

Any update on this? and LCD smartie plugin for xbmc would be great. the lcd is the final thing to sort on the htpc....

andye26
2009-04-18, 00:20
Hi
Is there any place I can upload the 2 modified files?
It would be good if it can be added to the source (until there is a better solution for windows), But dont think my code if up to xbmc standard.
If anyone wants to tweak if or think its good enough for the source feel free to add it.

Code may be clunky but works ok for me

After code is compiled download webtxt plugin from lcdsmartie homepage then add the following 2 lines to lcd smartie

$dll(webtxt,1,http://127.0.0.1/xbmcCmds/xbmcHttp?command=getlcd,01#3)

$dll(webtxt,1,http://127.0.0.1/xbmcCmds/xbmcHttp?command=getlcd,01#2)

Regards
Andy

SScorpio
2009-04-28, 02:56
Andy, Mediafire.com (http://www.mediafire.com) looks like the normal place people upload zips.

Also do you have a copy of the Webtxt plugin for LCD Smartie? It looks like the site that was hosting it had it's domain expire and then renewed by a squatter.

SScorpio
2009-05-01, 07:50
I just completed writing a simple LCD Smartie plugin for XBMC.

The LCD on my case is 2x16 so the plugin is currently tweaked to those dimensions, but it would be trivial to make it support other sizes.

You can download a copy of the compiled plugin and source code from: http://sscorpio.com/xbmc-lcdsmartie.zip I was only able to get a .NET 1.1 DLL to interface to LCD Smartie, so I was forced to use VB.NET as it was the only VS.NET 2003 disk I have available at the moment. If someone wants to port it to C#, be my guest.

Currently the plug displays the following.
Current time and date when XBMC is not playing anything or it is not running.
Movie: Movie Title, and Time/Duration
TV: Show Name - SeasonXEpisode - Episode Title, and Time/Duration
Audio: Artist - Album - Track Title, and Time/Duration
Picture: Filename

My ultimate goal is to have the plugin support a configuration file that the user would be able to enter configuration like the existing LCD.xml file that would change what is displayed.

The problem I have is that I am using the stock HTTPAPI interface which does not appear to have access to every single variable. If people could try out the plugin and let me know if it works for them, and then also list other things they would like to output I could start compiling a list and see what I will and won't be able to do.

indy5
2009-05-05, 01:37
I just completed writing a simple LCD Smartie plugin for XBMC.

The LCD on my case is 2x16 so the plugin is currently tweaked to those dimensions, but it would be trivial to make it support other sizes.

You can download a copy of the compiled plugin and source code from: http://sscorpio.com/xbmc-lcdsmartie.zip I was only able to get a .NET 1.1 DLL to interface to LCD Smartie, so I was forced to use VB.NET as it was the only VS.NET 2003 disk I have available at the moment. If someone wants to port it to C#, be my guest.

Currently the plug displays the following.
Current time and date when XBMC is not playing anything or it is not running.
Movie: Movie Title, and Time/Duration
TV: Show Name - SeasonXEpisode - Episode Title, and Time/Duration
Audio: Artist - Album - Track Title, and Time/Duration
Picture: Filename

My ultimate goal is to have the plugin support a configuration file that the user would be able to enter configuration like the existing LCD.xml file that would change what is displayed.

The problem I have is that I am using the stock HTTPAPI interface which does not appear to have access to every single variable. If people could try out the plugin and let me know if it works for them, and then also list other things they would like to output I could start compiling a list and see what I will and won't be able to do.

I am having some trouble getting lcdsmartie to recognize this xbmc.dll plugin. I have placed the xbmc.dll into the lcdsmartie plugin directory, but it doesn't seem to load into the interface. Is there something I must do to a lcdsmartie configuration file?

I am running version 5.4 of lcdsmartie.

Thanks for your help

andye26
2009-05-05, 01:48
Enter the following 2 lines after placing xbmc.dll into the plugins folder
$dll(xbmc,1,1,anytextyouwant)
$dll(xbmc,1,2,anytextyouwant)

Not sure if that is SScorpio latest ver tho. Latest build has a few fixes.

Great plugin does exactly what it says on the tin

Andy

indy5
2009-05-05, 01:51
Enter the following 2 lines after placing xbmc.dll into the plugins folder
$dll(xbmc,1,1,anytextyouwant)
$dll(xbmc,1,2,anytextyouwant)

Not sure if that is SScorpio latest ver tho. Latest build has a few fixes.

Great plugin does exactly what it says on the tin

Andy

Sorry for my ignorance, where do I enter these 2 lines?

andye26
2009-05-05, 02:12
Enter the 2 lines on the screens page in lcd smartie
Under screens settings

Andy

SScorpio
2009-05-05, 04:40
I just updated the zip file with a new version, though the link is the same so you will always get the latest version by downloading from that link. The code is a little cleaner and there is a bug fix that corrects an issue that occurs when the playing video or audio file doesn't contain any information.

There is now also a xbmc.dll.config file. Currently only the server address and port values are used by the program. So you can now change what port your XBMC webserver is running on without needing to do a custom compile.

My future plans are to have the other items in the config file control what is being displayed just like the existing lcd.xml file that is included with XBMC.

indy5
2009-05-05, 05:17
Does this work for the Futaba DM-140GINK? I haven't been able to get mine to display anything.

SScorpio
2009-05-05, 07:09
This plugin is run through LCD Smartie so any LCD/VFD that it supports will work. The LCD Smartie homepage lists Futaba VFDs as supported, but they don't list model numbers.

Download the latest version of LCD Smartie, extract it, then run it. Once it's running select setup and then select the futabavfd_lcd.dll from the display plugin dialog. You should immediately see the default LCD Smartie screens appear on your display. If not I can't help you as it's an LCD Smartie issue and has nothing to due with my plugin. Just be aware that the majority of the LCD Smartie display plugins require you to install the normal drivers/software for your display.

DragonFly
2009-05-05, 18:07
SScorpio, what kind of LCD/VFD are you actually using?

The topic starter uses a Hiper VFD, which (I think) is a Futaba DM-140GINK, the same used in my SCALEO E. However this VFD is controlled through USB and LCDsmartie only supports Parallel or Serial interfaces as far as I can figure out............

spiff
2009-05-05, 18:10
SScorpio, a well thought true, well formulated request could do wonders wrt extending the httpapi :)

andye26
2009-05-05, 18:35
Hi
Im using an origenae usb VFD controlled by irtrans software and it works ok with LCD smartie.

Andy

indy5
2009-05-05, 19:02
Is there something that I would need to enter into the "Startup Parameters" to indicate that the Futaba VFD is connected via USB? The default parameter is LPT1.

andye26
2009-05-05, 19:26
Just select you display under display settings plugin.
I think that allows lcd smartie to talk to your display via the drivers for your display.

I select Irtrans plugin and localhost and thats it.
When I installed Irtrans software for my display it asked me what type of display I had eg com parallel or usb.

Andy

indy5
2009-05-05, 20:07
Just select you display under display settings plugin.
I think that allows lcd smartie to talk to your display via the drivers for your display.

I select Irtrans plugin and localhost and thats it.
When I installed Irtrans software for my display it asked me what type of display I had eg com parallel or usb.

Andy

Under the display plugin, that currently reads "FutabaVFD_LCD.dll" does this have to match the actual windows driver that is install on my machine, or is this just a lcdsmartie dll file?

SScorpio
2009-05-05, 20:25
SScorpio, what kind of LCD/VFD are you actually using?

The topic starter uses a Hiper VFD, which (I think) is a Futaba DM-140GINK, the same used in my SCALEO E. However this VFD is controlled through USB and LCDsmartie only supports Parallel or Serial interfaces as far as I can figure out............

I'm using a Samsung VFD that uses the IRTrans sofware. I did a little more searching and it appears that the DM-140GINK is not supported by LCD Smartie http://forums.lcdsmartie.org/viewtopic.php?t=1765&highlight=futaba

Supposedly Mediaportal supports the Dm-140GINK; however, the documentation from the company regarding the VFD is severely lacking.

It would be possible to request a plugin be developed: http://forums.lcdsmartie.org/viewforum.php?f=3

SScorpio
2009-05-05, 20:30
Under the display plugin, that currently reads "FutabaVFD_LCD.dll" does this have to match the actual windows driver that is install on my machine, or is this just a lcdsmartie dll file?

That is the LCD Smartie plugin. If you have a Futaba.dll or FutabaVFD.dll you could try copying it to the display directory of LCD Smartie. When I was originally trying to get the iMon Software working I had to copy the DLL there.

indy5
2009-05-05, 21:10
Maybe we are looking at this the wrong way round for LCD/VFD under windows..
Instead of getting 3rd party applications and then hoping they have support for X,Y,Z display - Couldn't we create a fake MSAS and feed it XBMC info?

That way any LCD/VFD that supports windows media center (I'm guessing most peoples displays in their HTPC's case) would work with its native windows driver..

MSAS - http://msdn.microsoft.com/en-us/library/aa468224.aspx

At this point, and in relation to the original poster's question in this thread, should we be pursuing a different avenue? I think this is a great idea to try and make use of Windows' built in support for displaying information outlined above. If any of the devs out there believe this is doable, I will submit a ticket for a feature request.

SScorpio
2009-05-05, 21:57
At this point, and in relation to the original poster's question in this thread, should we be pursuing a different avenue? I think this is a great idea to try and make use of Windows' built in support for displaying information outlined above. If any of the devs out there believe this is doable, I will submit a ticket for a feature request.

I second that MSAS support would be better than trying to use 3rd party software, I was just trying to get something working for myself and though tit would also work for other people for the time being.

I did a little research on a MSAS emulator and I found a discussion on the SageTV forums. Jere who does ShowAnalyzer started on a project to develop a SageTV MSAS emulator. He has his C++ source posted if anyone wants to see them and try to see if they can get anything working.

http://www.dragonglobal.org/download/ Scroll to the bottom of the page and look for SageMCEDisplay.

indy5
2009-05-06, 00:34
I just opened a ticket, to see if anyone is interested in developing this...

http://xbmc.org/trac/ticket/6497

styx06
2009-05-06, 23:15
I just updated the zip file with a new version, though the link is the same so you will always get the latest version by downloading from that link. The code is a little cleaner and there is a bug fix that corrects an issue that occurs when the playing video or audio file doesn't contain any information.

There is now also a xbmc.dll.config file. Currently only the server address and port values are used by the program. So you can now change what port your XBMC webserver is running on without needing to do a custom compile.

My future plans are to have the other items in the config file control what is being displayed just like the existing lcd.xml file that is included with XBMC.

Hi SScorpio...sounds like you developed exactly what I was looking for. One problem though: when adding the plugin to LCD Smartie and then enabling it via the text lines, LCD Smartie hangs completely (can only ctrl+alt+del out of it).

I am using LCD Smartie version 5.4 and did change the config file to the correct IP. Any thoughts?

andye26
2009-05-07, 00:20
I noticed it slows LCD smartie down a bit when the webserver is not up but still runs ok.
Try setting it up and launch xbmc.

Andy

SScorpio
2009-05-07, 00:20
Hi SScorpio...sounds like you developed exactly what I was looking for. One problem though: when adding the plugin to LCD Smartie and then enabling it via the text lines, LCD Smartie hangs completely (can only ctrl+alt+del out of it).

I am using LCD Smartie version 5.4 and did change the config file to the correct IP. Any thoughts?

What happens when you try to go to this address in your web browser? http://<yourip:port>/xbmcCmds/xbmcHttp?command=GetCurrentlyPlaying

Also, do you have the .NET v1.1 Framework installed?

styx06
2009-05-07, 00:35
Thanks for the quick replies. Webserver is enabled (I also use it to browse music via my iPod) and entering the adress returns mp3 information playing in the browser...so that should be okay.

I did not have .NET 1.1 installed, only 2.0. I'll try installing it and let you know...

styx06
2009-05-07, 01:10
alas, no succes...still a complete freeze of LCD Smartie. So:
- Webserver runs
- htttp://<ip>/xbmcCmds displays correct info
- .NET v1.1 is installed.

Any other suggestions?

andye26
2009-05-07, 01:17
I take it the built in functions of lcd smartie work ok with your display?
If so try 5.5 beta http://czi.uni.cc/LCDSmartie/Smartie-tricolor.zip just copy it over your previous install.

Andy

styx06
2009-05-07, 15:22
For other plugins LCD Smartie works fine (am using Speedfan plugin for example). I'll try the 5.5 beta version tonight...

SScorpio
2009-05-07, 15:41
The plugin isn't doing anything exotic. If you PM me your email I'll send you over a small hello world plugin to verify that LCD Smartie is loading .NET plugins for you.

styx06
2009-05-07, 21:51
Andye26 - tried your 5.5 beta version too, but also no succes. Am awaiting SScoprio's hello world script to check .NET capability...
thanks

siklosi
2009-05-29, 13:55
I had same problem and after installing .NET 1.1 it started working. I also had only newer versions of .NET but not 1.1 and that was a problem

EDIT: Well... It worked just once, and after that it stopped working and I tried everything I can think of to make it work without success :(

styx06
2009-06-03, 00:08
yeah i know...i uninstalled all .NET versions, installed only 1.1 and everything worked ok.
Now I installed up to .NET 3.5 again and apparently the pluging freezes again.

Bummer, cause I do need .NET versions above 1.1 for other apps too...

SScorpio
2009-06-03, 01:19
I'm running it on a clean install of Vista Home Basic x86 with all of the .NET frameworks and patches installed. And on Vista Ultimate x64 with all of the .NET frameworks and it does not have any issues. Which OSes are you running on?

styx06
2009-06-03, 09:47
I'm running Windows XP SP3...

SScorpio
2009-06-05, 18:03
I have confirmed that LCD Smartie is having an issue with the plugin under a fresh install of XP SP3 that is fully updated with everything from Windows Update.

I actually used this VM to develop the plugin so the issue is the interface between LCD Smartie and the plugin. I'm going to attempt to perform some tweaks and see if I can fix the crashing.

styx06
2009-06-05, 19:12
That would be awesome. Am actually reverting back to only .NET 1.1 for the moment just to use your plugin...still does exactly what I'm looking for...

Could you by any chance also implement the function returning a 1 or a 0 depending on the fact if something's playing or not (to steer LCD Smartie actions)?

thanks again!

Schenk2302
2009-06-17, 13:01
Hi,

running fine here on Windows 7, just two requests.

1. Could you make german umlauts (ä,ö,ü,ß) to display?
2. Is it possible to show the section you're going to get in (like movies, tv, music etc.)?

Thanks in advance

Schenk

SScorpio
2009-06-17, 15:56
Hi,

running fine here on Windows 7, just two requests.

1. Could you make german umlauts (ä,ö,ü,ß) to display?
2. Is it possible to show the section you're going to get in (like movies, tv, music etc.)?

Thanks in advance

Schenk


I'll have to test it with an extended character set. I believe I am currently only working in standard ASCII rather than UNICODE but I'll see if I can get this working.

What do you mean the section you're going to get in? If you could give me a detailed step by step description of what you'd like I can let you know if I can do it.


Finally an update on the XP compatibility issue. If you have .NET 3 (possibly 2) or higher the plug-in is crashing when I reference the standard .NET XML handling which I use to read the configuration file.

This behavior is only happening when the plug-in is ran via LCD Smartie, and I haven't been successful in getting the exception that is occurring to be outputted by the plug-in which makes correcting the issue difficult.

I am debating the move to a normal INI file style configuration rather than the newer XML style that is used in most .NET apps.

Schenk2302
2009-06-18, 14:46
What do you mean the section you're going to get in? If you could give me a detailed step by step description of what you'd like I can let you know if I can do it.


Hi and thanks for the answer. i mean if you're in the home screen from xbmc it would be cool to see the section in the display like movies, music, pictures etc. so i could you use my display to navigate and don't have to turn on my beamer for listening to music.

thanks again

Schenk

SScorpio
2009-06-18, 16:57
Do you just want to see the main section headers? If so I guess this could be possible. Displaying the media lists is beyond what I'm trying to accomplish with the plugin though.

If you are looking for TV off control, you might want to look at the iPhone, PSP, or web interfaces which will allow you to control XBMC from your phone. This would allow you to have fully control of the playback with a much better UI that what you can get on a VFD.

Schenk2302
2009-06-18, 18:26
[QUOTE=SScorpio;354217]Do you just want to see the main section headers? QUOTE]

just this would be very nice !!!

if you manage to show the files too, that would be great

Thanks in advance

Schenk

styx06
2009-07-13, 11:27
Any news SScorpio? Am still eagerly awaiting the updated version :)

dfmos
2009-07-15, 21:48
Any chance of LCD vfd support for xbmc [Windows]

For Vista/windows 7 media centre, the LCD vfd screen support is excellent when the manufacturers lcd media centre driver is installed.

Would XBMC be able to use the same driver as windows media centre, as it would be easier instead of trying to get xbmc to support every type of lcd display screen available on the market.

Swifty
2009-07-16, 15:24
dfmos, this is probably the preferred approach as it wouldn't require any specific display support by XBMC (as long as the display works with MCE)
See my earlier post regarding one way this could be achieved (it already has for SageTV)

There is working source for the SageTV version here; http://dragonglobal.biz/download/files/SageMCEDisplay.zip

Unfortunatley I've not had much time to look at it myself, but I fear it's a little beyond my programming expertise at the moment anyway.

CuFk
2009-07-31, 17:45
Hey!

I'm trying to get this to work with the plugin but as soon as I hit "Apply" i get an error message that says my system is missing "MSVCR71.dll".

What's MSVCR71.dll doing?

Cheers!

styx06
2009-09-10, 12:18
bump :)

Still one of the main features missing for XBMC. Also, LCD smartie tends to crash once in a while, so far from ideal right. Any dev up for the challenge??

WiSo
2009-09-10, 21:36
Nope, afaik non of the Windows devs have LCDs or plan to implement it yet.