Self-Compile - Where to find timeline code?
#1
Question 
Hi,
I'm making a few tweaks to code, mainly just to satisfy my own requirements as we use XBMC as our main TV viewer with TVHeadend as the back-end, so my family have a few demands on how it all works!

One major change I need to make, we use the Timeline view (via a shortcut on the remote), and I need it to display the channels regardless of if there is EPG information or not (basically so the Timeline view is always in the same order).

Where in the code can I find the Timeline that has that IF condition?
I know in the normal channel view it just shows "No information available" when no EPG information exists for that channel at that time, so looking backwards I know thats via string id 19055:
Code:
strings.xml:  <string id="19055">No information available</string>


So searching backwards I've found:
Code:
xbmc/pvr/PVRGUIInfo.cpp:      m_strBackendDiskspace = g_localizeStrings.Get(19055);
xbmc/pvr/PVRManager.cpp:      musictag->SetTitle(epgTagNow ? epgTagNow->Title() : g_localizeStrings.Get(19055));
xbmc/pvr/PVRManager.cpp:      videotag->m_strTitle = epgTagNow ? epgTagNow->Title() : g_localizeStrings.Get(19055);
xbmc/GUIInfoManager.cpp:      return tag ? tag->Title() : g_localizeStrings.Get(19055);
xbmc/GUIInfoManager.cpp:      return tag->GetEPGNow() ? tag->GetEPGNow()->Title() : g_localizeStrings.Get(19055);
xbmc/GUIInfoManager.cpp:      return tag->GetEPGNext() ? tag->GetEPGNext()->Title() : g_localizeStrings.Get(19055);
xbmc/GUIInfoManager.cpp:      return item->GetPVRChannelInfoTag()->GetEPGNow() ? item->GetPVRChannelInfoTag()->GetEPGNow()->Title() : g_localizeStrings.Get(19055);
xbmc/epg/EpgInfoTag.cpp:      g_localizeStrings.Get(19055) :


But I'm struggling to find where the Timeline view gets built and the EPG data assembled for that view.

Can anyone give any hints/ideas where I need to be looking for the condition so I can make a few tweaks and override it so it forces the display even when no EPG data is found.
Reply
#2
Hi Andy,

I don't know the code really well but there is a key for guide, its E on the keyboard.

The other thing I would like to see is when you press this key it returns to the timeline at the channel you are currently watching...

I'll be interesting in helping these changes

Neil
Reply
#3
Are you looking for the GUIEPGGridContainer? This builds the timeline view.
Reply
#4
Aha, could well be what I'm after. Will do some digging and see if its what I'm after. Thanks for the hint.

Neil: If I figure out the modifications I'll see if I can send them back to the repository/suggest a patch that could be used, I agree the highlight what you're watching on timeline would be good too.
Andy - http://twitter.com/andyb2000 http://www.thebmwz3.co.uk/
HTS Tvheadend development (via http://github.com/andyb2000) On Ubuntu with ST STV0299 DVB-S2, Conexant CX24116/CX24118, Philips TDA10046H DVB-T (Freesat and Freeview in the UK)

XBMC via OpenElec on Dell XPS210
Reply
#5
Hmm, still struggling to find this code, anybody got any suggestions where I'm obviously missing?
Andy - http://twitter.com/andyb2000 http://www.thebmwz3.co.uk/
HTS Tvheadend development (via http://github.com/andyb2000) On Ubuntu with ST STV0299 DVB-S2, Conexant CX24116/CX24118, Philips TDA10046H DVB-T (Freesat and Freeview in the UK)

XBMC via OpenElec on Dell XPS210
Reply
#6
What exactly are you looking for?
Reply
#7
Hi,
I'm trying to find the part of code that assembles the Timeline view, as in there somewhere I'm assuming it decides if a channel has valid EPG data or not and will hide/skip/return without displaying that channel.

This is basically because I want the timeline to always show all channels, regardless of if they have valid EPG or not (this makes it simpler for the family to understand the timeline without having channels jump in and out of the list)
Andy - http://twitter.com/andyb2000 http://www.thebmwz3.co.uk/
HTS Tvheadend development (via http://github.com/andyb2000) On Ubuntu with ST STV0299 DVB-S2, Conexant CX24116/CX24118, Philips TDA10046H DVB-T (Freesat and Freeview in the UK)

XBMC via OpenElec on Dell XPS210
Reply
#8
Check out CGUIEPGGridContainer::OnMessage.
Reply
#9
Please get some pull requests setup if you manage to figure this out.
its these little niggles that could make all our lives a little quieter (read; wife) when using xbmc with livetv.
Reply
#10
Thanks everyone. I'm getting there!
Bit of extra debugging code and I'm finding
Code:
10:55:02 T:3044513536   DEBUG: OnMessage Checking channel tag HL�^H^A^A0�
10:55:02 T:3044513536   DEBUG: OnMessage Channel number 6
10:55:02 T:3044513536   DEBUG: OnMessage Checking channel tag HL�^H^A^A0�
10:55:02 T:3044513536   DEBUG: OnMessage Channel number 6
10:55:02 T:3044513536   DEBUG: OnMessage Checking channel tag HL�^H^A^B0�
10:55:02 T:3044513536   DEBUG: OnMessage Channel number 8
10:55:02 T:3044513536   DEBUG: OnMessage Checking channel tag HL�^H^A^B0�
10:55:02 T:3044513536   DEBUG: OnMessage Channel number 8
10:55:02 T:3044513536   DEBUG: OnMessage Checking channel tag HL�^H^A^B0�
10:55:02 T:3044513536   DEBUG: OnMessage Channel number 8
10:55:02 T:3044513536   DEBUG: OnMessage Checking channel tag HL�^H^A^B0�
10:55:02 T:3044513536   DEBUG: OnMessage Channel number 8

As you can see, Channel 7 was missed, and guess what. Thats one of the channels that currently has no EPG data. So I'm getting there, GUIEPGGridContainer.cpp looks to be where its at, so thank you FernetMenta.

Will keep updating!
Andy - http://twitter.com/andyb2000 http://www.thebmwz3.co.uk/
HTS Tvheadend development (via http://github.com/andyb2000) On Ubuntu with ST STV0299 DVB-S2, Conexant CX24116/CX24118, Philips TDA10046H DVB-T (Freesat and Freeview in the UK)

XBMC via OpenElec on Dell XPS210
Reply
#11
I've given up as don't understand the code very well/enough to figure out why I can't get this to work!

I've submitted a request:
http://trac.xbmc.org/ticket/12539
Andy - http://twitter.com/andyb2000 http://www.thebmwz3.co.uk/
HTS Tvheadend development (via http://github.com/andyb2000) On Ubuntu with ST STV0299 DVB-S2, Conexant CX24116/CX24118, Philips TDA10046H DVB-T (Freesat and Freeview in the UK)

XBMC via OpenElec on Dell XPS210
Reply
#12
But I think that what you are looking is at

Code:
void CGUIWindowPVRGuide::UpdateViewTimeline(void)
Under:
pvr/windows/GUIWindowPVRGuide.cpp

Amit
Reply

Logout Mark Read Team Forum Stats Members Help
Self-Compile - Where to find timeline code?0