Here is the first cut of my epg module. Please feel free to test this and give feedback.
This guide uses an XMLTV file as a data source and is modelled on the windows media centre guide. read the readme file for more details.
NOTE: This module is very immature and has only been tested on one machine. If you have trouble getting it to work let me know via this thread and I _might_ look into it when I have time.
The source will be posted at some point (really) and I hope someone can finish the bits I don't have time for unfortunately it does 99% of what I want now so the motivation drops somewhat.
Edit: I just noticed a few more issues:
1) There seems to be a problem with the character encoding as you can see in the image above.
** This was actually a problem with EPG Collector that I was seeing **
2) The epg is supposed to refresh every minute on a timer, this isn't working.
3) Does not handle programmes from the same channel with overlapping times. (not sure how exactly to deal with this, needs more analysis)
GuideR v0.1 EPG module
Moderator:Dreamer
- Attachments
-
- GuideR.zip
- (304.07KiB)Downloaded 777 times
Last edited by sgs on Sun Jun 29, 2014 12:54 pm, edited 3 times in total.
Re: GuideR v0.1 EPG module
Btw if you're reading this rel, I had trouble with the DDMODAPI_CHL_GET_POINTER2 call. I used the code from the MFC module test helpers function:
but when I dereference the chl_Channels pointer I get an access violation.
any idea what I might be doing wrong?
My second idea was to read the channel list path using DDMODAPI_GET_ENVIRONMENT but TEnvironment.CHLPath is always empty even when I set an explicit file path in the preferences. This may be user error though?
Code: Select all
TCHL *chl;
TChlChannel *chl_Channels;
int MAX_CHANNELS = 8000;
MAX_CHANNELS = SendMessage(hDDwnd, WM_MODULE_MSG, DDMODAPI_CHL_GET_POINTER2, (long) &chl);
chl_Channels = (TChlChannel *)(chl + sizeof(TCHL));
for( int i = 0; i < MAX_CHANNELS; ++i)
{
const TChlChannel& c = chl_Channels[ i];
if (c.dwFreq != 0)
{
...
}
}
any idea what I might be doing wrong?
My second idea was to read the channel list path using DDMODAPI_GET_ENVIRONMENT but TEnvironment.CHLPath is always empty even when I set an explicit file path in the preferences. This may be user error though?
Re: GuideR v0.1 EPG module
I've been experimenting with making the epg transparent, ideally I would like to be able to render to the video surface and be able to apply effects (e.g, blurring) to the video.
As a halfway measure I found that I can take advantage of the Aero glass feature of Windows 7, the following is a modified version of GuideR.
The epg window has no border and stars maximized, this means that you cannot resize the window, it covers the entire screen.
This will only work in Windows 7 as far as I know and Aero glass must be enabled. Also, the video renderer must be in windowed (non overlay/non exclusive) mode.
I have my window colour set to white which makes it clear, using a different colour will obviously tint the entire window.
The interface can be hard to read depending on the background because I haven't had time to tweak the colours/opacity. The text surrounding the epg needs a semi opaque background to give consistent contrast.
I will try to see if I can get the epg window as a child of the video window and anchor it to the video window, this would make it better when DD is non full screen, however I think that the full screen epg is ok even when DD is not full screen.
The feature to refresh the epg every minute has been fixed also in this version.
As a halfway measure I found that I can take advantage of the Aero glass feature of Windows 7, the following is a modified version of GuideR.
The epg window has no border and stars maximized, this means that you cannot resize the window, it covers the entire screen.
This will only work in Windows 7 as far as I know and Aero glass must be enabled. Also, the video renderer must be in windowed (non overlay/non exclusive) mode.
I have my window colour set to white which makes it clear, using a different colour will obviously tint the entire window.
The interface can be hard to read depending on the background because I haven't had time to tweak the colours/opacity. The text surrounding the epg needs a semi opaque background to give consistent contrast.
I will try to see if I can get the epg window as a child of the video window and anchor it to the video window, this would make it better when DD is non full screen, however I think that the full screen epg is ok even when DD is not full screen.
The feature to refresh the epg every minute has been fixed also in this version.
- Attachments
-
- GuideR_Transparent.zip
- (301.51KiB)Downloaded 679 times
Re: GuideR v0.1 EPG module
I have noticed another bug, if the number of available channels is less than or equal to the number of channels that can be displayed (6), then the channels will not be displayed after scrolling past the first or last channels.
Re: GuideR v0.1 EPG module
It's been a while since I looked at this but I have a bit more time now so hope to clean up a couple of things and post the source.
Keen to know if anyone is actually using this or just general feedback.
Keen to know if anyone is actually using this or just general feedback.
Return to “Test versions of modules & device interfaces and other tools”
Who is online
Users browsing this forum: No registered users and 1 guest