I have a Samsung VFD, and I'd like GBPVR to drive it (e.g. display current channel, current program, current track, current picture &c, recording y/n, time/date &c.).
I'm currently using Smartie, but that's a pain for anything more complex than a clock, doesn't directly integrate with GBPVR, and when my PC wakes from standby, it trashes the VFD display :-(
I've downloaded some code from www.codeproject.com which has the necessary to drive the VFD, and I've oo'd it and built some interfaces & helper classes, but the issue then is GBPVR integration.
'sub' - would you be willing to provide support for these displays?
As I see it, the primary requirement on GBPVR would be to
a) load the device-specific driver .dll (I have an HD44780 version from the codeproject source)
b) provide text relating to the current activity (e.g. current channel).
Configuration can come later, if people want it.
Anyone else - would you be interested in this?
That sounds like a great idea! Right now I'm using jaLCDs to display things like time, cpu usage, temperatures and how much space there's left on my pvr drive (very handy information). It supports plugins, so maybe that's an easier solution?
I also think its a good idea. I could probably add some new sort of event plugin which would allow you to implement plugin DLLs for driving these types of displays. The key method would be something like:
public void Notify(EventTypes eventType, string eventText)
So when I start playing a song I'd call something like plugin.Notify(EventTypes.MusicNowPlaying, "blah blah blah". That way you guys can write support for the specific types of screens.
I could send notifications of channel, video name, music name etc.
Ok, expanding on that. For the next release, if you implement a .net DLL that contains a class that implements the following interface and drop it in the plugins directory, it will be notified of GB-PVR events.
<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">using System;
public enum EventTypes
/// This interface is implement by GB-PVR plugins which need to be
/// notified about current audio/video track playing etc
public interface IEventNotification
void Notify(EventTypes eventType, string eventText);
More than one of these can be called in quick succession, so your plugin will need to keep track of the various events it is interested in. For example, when I start playing an audio track, I'm likely to notify you plugin twice for CurrentAudioTrack followed by CurrentTrackDuration
Let me know if you want specific event types that arn't listed here.
You'll just have to use your imagination to picture the original tabing in the code sample above.
I have some framework code for this, but I'm away on holiday for the next week. If no-one else beats me to it, I'll put a plugin together for the HD44780 when I get back.
Have you made any progress on the plugin for the HD44780 yet? If not, would you be willing to share the code you have so far?
I tried jaLCDs, but it's been a frustrating experience...
Since there appear to be no takers, and I have a VFD idling in my HTPC case, I decided to make a very simple LCD plugin. To not restrict it to my particular VFD, I have chosen an existing 'LCD driver' to base this plugin on. Despite my reservations about jaLCDs, it's the only thing out there that somewhat meets my requirements.
Anyway, I have something very simple going now (my first venture into the world of C#...), but I quickly noticed that I would like more events:
- can you add an event to indicate playback has stopped?
- can you add the full path of the audio track, so I can extract ID3 info (if you already have this info, you could also pass that in stead of just the track name)?
- you list the track duration, but have not actually included it in EventTypes
I'm afraid I have very little time to spend on this, but as soon as I have something worth sharing, I'll let you know.
whats the status of VFD/LCD in GBPVR (i just got one), does gbpvr show info on them yet?
if not, sub i know your busy, but could you put this near the top of your massive todo list. nice to show ("Recording [tvshowname]" or something
Everything I needed to do is in place, now its up to someone with a VFD/LCD to write a plugin using the IEventNotification interface described above. I dont own one, so cant write this plugin myself.