[RELEASE] TV Guide - with XMLTV and streaming support

  Thread Rating:
  • 10 Votes - 4.5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
timpinkawa Offline
Junior Member
Posts: 11
Joined: Feb 2012
Reputation: 1
Post: #106
spoyser Wrote:In the getProgramList() you can make use of a member variable dictionary to cache the program lists to memory giving virtually instant (< 0.1sec) retrieval of the program list (although obviously this could potentially use a lot of memory, in the UK 14 days of 50 channels is about 18000 programs which increases memory usage of XBMC by about 12MB, so not a big deal for this size of data)

I would advise some caution on this. With US Digital Cable, mc2xml generates files with slightly over 200,000 programs (default settings).
find quote
spoyser Online
Donor
Posts: 395
Joined: Oct 2011
Reputation: 21
Post: #107
timpinkawa Wrote:I would advise some caution on this. With US Digital Cable, mc2xml generates files with slightly over 200,000 programs (default settings).

Absolutely agree with you on that, although based on my (very) rough estimate with every channel cached that would still only be about 150MB of memory.

In addition the way I have implemented it, a channel only gets cached if _retrieveProgramListFromDatabase is called for it so not all channels will necessarily get cached anyhow.

You could also limit the dictionary to say 100 channels, removing the 1 when the 101 item gets added.

I would suggest at least giving it a try to see how it performs, like I said with the UK dataset the access rate is instant (after the initial retrieval/caching), in fact it is even faster than the EPG built into my STB!
find quote
spoyser Online
Donor
Posts: 395
Joined: Oct 2011
Reputation: 21
Post: #108
Looks like buggalo.py is missing from the latest download (twinther-script.tvguide-v1.2.2-13-g32d41b3) :-(
find quote
twinther Offline
Fan
Posts: 308
Joined: Sep 2004
Reputation: 10
Location: Denmark
Post: #109
(2012-03-12 17:44)spoyser Wrote:  Looks like buggalo.py is missing from the latest download (twinther-script.tvguide-v1.2.2-13-g32d41b3) :-(

Yeah, it's a separate module now, you can get it here:
http://mirrors.xbmc.org/addons/eden/scri...e.buggalo/

Br.
Tommy
find quote
twinther Offline
Fan
Posts: 308
Joined: Sep 2004
Reputation: 10
Location: Denmark
Post: #110
I have uploaded a test release with the changes I have been working on. The new version is 1.2.90 and will become 1.3.0 once it is stable enough. The easiest way to get it is to install my beta repository from here: http://tommy.winther.nu/xbmc/
You can also download the zip from there as well, if you do that remember to install the Buggalo Exception Collector as well.

The major changes in this version are:
- Added French translation
- Use script.module.buggalo for error reporting
- Cache EPG data to local SQLite database (based on work by timpinkawa)
- Added option to edit channel order and visibility
- Automatically detects changes in settings and reloads EPG data as needed
- Improved XMLTV parsing (thanks timpinkawa)
- Added initial channel surfing support
- Press Info for OSD, navigate with Up, Down, Left, Right, Channel + and -
- Press ContextMenu to minimize video and show EPG
- Added support for mouse wheel scrolling (will probably crash XBMC - see trac:12797)

I think it's time for some screenshots again...
[Image: script.tvguide-1.3.0a.png]
[Image: script.tvguide-1.3.0b.png]
[Image: script.tvguide-1.3.0c.png]
[Image: script.tvguide-1.3.0d.png]
[Image: script.tvguide-1.3.0e.png]
find quote
rogerzees Offline
Junior Member
Posts: 39
Joined: Feb 2011
Reputation: 15
Post: #111
Hello twinther,wow what a pro update

++++++++ Added initial channel surfing support
+++Press Info for OSD, navigate with Up, Down, Left, Right, Channel + and -
+++Press ContextMenu to minimize video and show EPG
+++Added support for mouse wheel scrolling

Like it a lot!

Some issues: when you change channel order you must exit the addon
or the channel page stays hidden

Trying to change the size of preview window and x,y
what is the id= number?
(This post was last modified: 2012-03-16 18:11 by rogerzees.)
find quote
twinther Offline
Fan
Posts: 308
Joined: Sep 2004
Reputation: 10
Location: Denmark
Post: #112
good to hear Smile
I think the problem with the channel page stays hidden is due to lost focus. I'll fix it, but a workaround is to navigate once in the epg view and you should be able to open the channels page again.

The preview window is actually just the <control type="videowindow"> that is scaled down using the <animation> tag, so it's a little tricky to get positioned correctly. The default skin scales it to 25% and with center at 1250x690.

Br.
Tommy
find quote
twinther Offline
Fan
Posts: 308
Joined: Sep 2004
Reputation: 10
Location: Denmark
Post: #113
If any of you are experiencing errors with the 1.2.90 version and you previously used a version from git then please delete the source.db in [~]/.xbmc/userdata/addon_data/script.tvguide and try again. You may not have the most recent database schema otherwise.
Br.
Tommy
find quote
rogerzees Offline
Junior Member
Posts: 39
Joined: Feb 2011
Reputation: 15
Post: #114
thanks for the info,twinther


When tweaking the preview window to bigger and moved it to upper left corner
now the preview seems to be submerge behind the epg

is there any way to make the preview window float above the epg?


the bug that came back:
when loading a new xml,you must quit to get it to load.


memo:
when combining a xmltv files check the encodings
encoding="utf-8" and encoding="ISO-8859-1" do not mix
find quote
twinther Offline
Fan
Posts: 308
Joined: Sep 2004
Reputation: 10
Location: Denmark
Post: #115
(2012-03-17 22:34)rogerzees Wrote:  is there any way to make the preview window float above the epg?
Unfortunately not that I know of. The EPG program buttons are added dynamically, which means they are rendered on top of everything else. I don't think it's possible to remove/add the video window to make it appear on top.
The only thing I can think of the might workaround this is to display the videowindow inside a dialog window, but I don't think I will pursue that.


(2012-03-17 22:34)rogerzees Wrote:  the bug that came back:
when loading a new xml,you must quit to get it to load.
Yeah, XBMC loads the xml when it opens the window. The popup windows will render the changes in the xml each time you open it, but the main window is only loaded once.

Br.
Tommy
find quote
Balthazar Offline
Member
Posts: 95
Joined: Oct 2010
Reputation: 0
Location: Salina, KS
Tongue  RE: [RELEASE] TV Guide
Post: #116
(2012-03-17 11:04)twinther Wrote:  If any of you are experiencing errors with the 1.2.90 version and you previously used a version from git then please delete the source.db in [~]/.xbmc/userdata/addon_data/script.tvguide and try again. You may not have the most recent database schema otherwise.
Br.
Tommy

Thanks for the tip, I apologize if you got multiple error reports, they probably came from me Tongue

I have to say, this addon has really come a long way in a short time. It is great and so much easier than setting up tvheadend and the pvr version of XBMC just to watch live TV. Thank you guys for such a great program. I really like the new video window when you back out to the EPG and the animations. Really slick.

Is there anyway to re-implement the 12-hour display that was previously in timpinkawa's version? That really increased the wife-freindliness factor Wink
find quote
MaxMustermann Offline
Member
Posts: 73
Joined: Sep 2009
Reputation: 33
Post: #117
Hey,

thanks for this great addon. It is very useful for watching satellite tv on windows without pvr builds. I installed 1.2.90 yesterday from git and get this error on addon start:

Code:
17:27:50 T:924   ERROR: C:\Programme\XBMC\portable_data\addons\script.tvguide\source.py:91: DeprecationWarning: object.__init__() takes no parameters
                                              super(SourcePlayer, self).__init__(core = xbmc.PLAYER_CORE_AUTO)
17:27:50 T:924  NOTICE: Settings changed: False
17:27:50 T:672  NOTICE: Artwork Downloader: ## Service - Run at startup: False
17:27:50 T:672  NOTICE: Artwork Downloader: ## Service - Delayed startup: -- minutes
17:27:50 T:672  NOTICE: Artwork Downloader: ## Service - Run as service: False
17:27:50 T:672  NOTICE: Artwork Downloader: ## Service - Time: 00:00
17:27:50 T:924  NOTICE: [script.tvguide] Scheduling program notifications
17:27:53 T:632  NOTICE: -->Python Interpreter Initialized<--
17:27:59 T:180  NOTICE: -->Python Interpreter Initialized<--
17:28:02 T:1152   ERROR: ADDON: extension 'downloader\' is not currently supported for service addon
17:31:35 T:1540   ERROR: Previous line repeats 13 times.
17:31:35 T:1540  NOTICE: -->Python Interpreter Initialized<--
17:31:36 T:1540   ERROR: C:\Programme\XBMC\portable_data\addons\script.tvguide\source.py:91: DeprecationWarning: object.__init__() takes no parameters
                                              super(SourcePlayer, self).__init__(core = xbmc.PLAYER_CORE_AUTO)
17:31:36 T:1540  NOTICE: Settings changed: False
17:31:36 T:1540   ERROR: Traceback (most recent call last):
17:31:36 T:1540   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.buggalo\lib\buggalo.py", line 68, in wrap_in_try_except
17:31:36 T:1540   ERROR:     fn(*args, **kwargs)
17:31:36 T:1540   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\gui.py", line 138, in onInit
17:31:36 T:1540   ERROR:     SourceInitializer(self).run()
17:31:36 T:1540   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\gui.py", line 81, in run
17:31:36 T:1540   ERROR:     self.sourceInitializedHandler.onSourceInitialized(source)
17:31:36 T:1540   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\gui.py", line 585, in onSourceInitialized
17:31:36 T:1540   ERROR:     self.onRedrawEPG(0, self.viewStartDate)
17:31:36 T:1540   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\gui.py", line 467, in onRedrawEPG
17:31:36 T:1540   ERROR:     channels = self.source.getChannelList(self.onSourceProgressUpdate)
17:31:36 T:1540   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\source.py", line 267, in getChannelList
17:31:36 T:1540   ERROR:     if self.settingsChanged or self._isChannelListCacheExpired():
17:31:36 T:1540   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\source.py", line 700, in _isChannelListCacheExpired
17:31:36 T:1540   ERROR:     fileModified = datetime.datetime.fromtimestamp(os.path.getmtime(self.xmlTvFile))
17:31:36 T:1540   ERROR:   File "C:\Programme\XBMC\system\python\Lib\genericpath.py", line 54, in getmtime
17:31:36 T:1540   ERROR:     return os.stat(filename).st_mtime
17:31:36 T:1540   ERROR: WindowsError: [Error 123] Die Syntax f��en Dateinamen, Verzeichnisnamen oder die Datentr娥rbezeichnung ist falsch: 'smb://NAS/Playlists/TV/EPG/epg.xml'
17:32:40 T:1004  NOTICE: ES: Client  from 127.0.0.1 timed out
17:40:55 T:932  NOTICE: Previous line repeats 1 times.
17:40:55 T:932  NOTICE: -->Python Interpreter Initialized<--
17:40:56 T:932   ERROR: C:\Programme\XBMC\portable_data\addons\script.tvguide\source.py:91: DeprecationWarning: object.__init__() takes no parameters
                                              super(SourcePlayer, self).__init__(core = xbmc.PLAYER_CORE_AUTO)
17:40:56 T:932  NOTICE: Settings changed: False
17:40:56 T:932   ERROR: Traceback (most recent call last):
17:40:56 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.buggalo\lib\buggalo.py", line 68, in wrap_in_try_except
17:40:56 T:932   ERROR:     fn(*args, **kwargs)
17:40:56 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\gui.py", line 138, in onInit
17:40:56 T:932   ERROR:     SourceInitializer(self).run()
17:40:56 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\gui.py", line 81, in run
17:40:56 T:932   ERROR:     self.sourceInitializedHandler.onSourceInitialized(source)
17:40:56 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\gui.py", line 585, in onSourceInitialized
17:40:56 T:932   ERROR:     self.onRedrawEPG(0, self.viewStartDate)
17:40:56 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\gui.py", line 467, in onRedrawEPG
17:40:56 T:932   ERROR:     channels = self.source.getChannelList(self.onSourceProgressUpdate)
17:40:56 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\source.py", line 267, in getChannelList
17:40:56 T:932   ERROR:     if self.settingsChanged or self._isChannelListCacheExpired():
17:40:56 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.tvguide\source.py", line 700, in _isChannelListCacheExpired
17:40:56 T:932   ERROR:     fileModified = datetime.datetime.fromtimestamp(os.path.getmtime(self.xmlTvFile))
17:40:56 T:932   ERROR:   File "C:\Programme\XBMC\system\python\Lib\genericpath.py", line 54, in getmtime
17:40:56 T:932   ERROR:     return os.stat(filename).st_mtime
17:40:56 T:932   ERROR: WindowsError: [Error 123] Die Syntax f��en Dateinamen, Verzeichnisnamen oder die Datentr娥rbezeichnung ist falsch: 'smb://NAS/Playlists/TV/EPG/epg.xml'
17:40:59 T:932   ERROR: Exception in python script callback execution
17:40:59 T:932   ERROR: Traceback (most recent call last):
17:40:59 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.buggalo\lib\buggalo.py", line 70, in wrap_in_try_except
17:40:59 T:932   ERROR: onExceptionRaised(extraData)
17:40:59 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.buggalo\lib\buggalo.py", line 97, in onExceptionRaised
17:40:59 T:932   ERROR: data = _gatherData(type, value, traceback, extraData)
17:40:59 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.buggalo\lib\buggalo.py", line 167, in _gatherData
17:40:59 T:932   ERROR: return simplejson.dumps(data)
17:40:59 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.simplejson\lib\simplejson\_​_init__.py", line 230, in dumps
17:40:59 T:932   ERROR: return _default_encoder.encode(obj)
17:40:59 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.simplejson\lib\simplejson\e​ncoder.py", line 202, in encode
17:40:59 T:932   ERROR: chunks = list(chunks)
17:40:59 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.simplejson\lib\simplejson\e​ncoder.py", line 426, in _iterencode
17:40:59 T:932   ERROR: for chunk in _iterencode_dict(o, _current_indent_level):
17:40:59 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.simplejson\lib\simplejson\e​ncoder.py", line 400, in _iterencode_dict
17:40:59 T:932   ERROR: for chunk in chunks:
17:40:59 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.simplejson\lib\simplejson\e​ncoder.py", line 382, in _iterencode_dict
17:40:59 T:932   ERROR: yield _encoder(value)
17:40:59 T:932   ERROR:   File "C:\Programme\XBMC\portable_data\addons\script.module.simplejson\lib\simplejson\e​ncoder.py", line 48, in py_encode_basestring_ascii
17:40:59 T:932   ERROR: s = s.decode('utf-8')
17:40:59 T:932   ERROR:   File "C:\Programme\XBMC\system\python\Lib\encodings\utf_8.py", line 16, in decode
17:40:59 T:932   ERROR: return codecs.utf_8_decode(input, errors, True)
17:40:59 T:932   ERROR: UnicodeDecodeError
17:40:59 T:932   ERROR: :
17:40:59 T:932   ERROR: 'utf8' codec can't decode byte 0xfc in position 24: invalid start byte
17:41:59 T:1004  NOTICE: ES: Client  from 127.0.0.1 timed out

Is there something wrong with my epg.xml? Should I send it to you?

Greetz,
Max
find quote
twinther Offline
Fan
Posts: 308
Joined: Sep 2004
Reputation: 10
Location: Denmark
Post: #118
(2012-03-18 18:40)Balthazar Wrote:  Is there anyway to re-implement the 12-hour display that was previously in timpinkawa's version? That really increased the wife-freindliness factor Wink

Sure, I have changed it to use the date/time formats from XBMC, so it's based on which region you have configured in XBMC.


MaxMustermann, I had to remove the support for smb:// paths temporarily, but I will try to add it again if possible.
find quote
rogerzees Offline
Junior Member
Posts: 39
Joined: Feb 2011
Reputation: 15
Post: #119
Hello Twinther,using latest beta 11.2.90-9 and everything running smooth

Did success to use a larger window by making tvguide-program-grey.pngs transparent
the ability to toggle ContextMenu to hide EPG and goto fulscreen is great.

Some small issues:
i have chosen not yet to have a logo folder,but som how xbmc finds some logos
see the pic, maybe somehow from video addons cache?

Sometimes if you stop a channel when full screen its goes black,to see the epg again
you must press back.

When playing a channel in fullscreen the (o) codecinfo dont work
but using fulscreen button on my remote and then press o the it shows the codecinfo
does it mean that the screen isnt in focus?

[Image: 14l3egy.jpg]
find quote
Balthazar Offline
Member
Posts: 95
Joined: Oct 2010
Reputation: 0
Location: Salina, KS
Post: #120
(2012-03-20 22:45)twinther Wrote:  
(2012-03-18 18:40)Balthazar Wrote:  Is there anyway to re-implement the 12-hour display that was previously in timpinkawa's version? That really increased the wife-freindliness factor Wink

Sure, I have changed it to use the date/time formats from XBMC, so it's based on which region you have configured in XBMC.


MaxMustermann, I had to remove the support for smb:// paths temporarily, but I will try to add it again if possible.

This might be a stupid question, but when you say you have changed it to use date/time formats from XBMC, do you mean in the current version in your repo (1.2.90) or in an upcoming version? Mine still uses the 24-hour format. Also I have had to recently start exiting out of XBMC once a day to get it to reload program data. Not a big deal, but I usually just leave my HTPC running 24/7. It used to just reload automatically.
find quote
Post Reply