Python and MythTV (a MythTV Front-End)

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
jswu Offline
Junior Member
Posts: 20
Joined: Mar 2004
Reputation: 0
Post: #21
i was having a problem with the buttons along the top (power off, home, reboot, credits) - it seemed the button images were mis-matched to the commands. anyway, it problem was in the home.xml in the mediacenter skin that came with one of the xbmc-mythtv archives. i cleaned it up to fix the problem. madtw, if it is not already fixed, i can email you the xml file if you want it.
find quote
madtw Offline
Senior Member
Posts: 174
Joined: Mar 2004
Reputation: 0
Post: #22
sure, send me the home.xml file that you modified and also the build version of xbmc that you are using. the home.xml that i included in the latest release of xbmc mythtv was from the 2004-03-28 build. if you used an older or newer version then that might explain why things didn't work as expected. i'm not sure how to release my skin changes on an ongoing basis...
find quote
dooze Offline
Junior Member
Posts: 9
Joined: Apr 2004
Reputation: 0
Post: #23
i'm running a mythtv backend with a dvb-t receiver, and i've been using xbmc to play the .nuv files back manually - i just found this project, you can imagine my delight. Smile

however, whilst the "mytvsettings.py" script executes fine (i've set up all the appropriate options), the "mytv.py" script always terminates with a "typeerror: unsupported operand type(s) for +: 'int' and 'tuple' ". i'm running a cvs build from 9/4/04, i've also tried a cvs build from 1/4/04 with the same problem.

looking at the debug log, the problem looks to be in the mysql.py library. i get some debug just prior to the error, specifically:

file "q:\python\lib\mysql.py", line 655, in __getstringandseekpos
 tmpstring = self.msg[self.position:self.position + length]

i'm a coder by day, i've had a go at tracking it down but haven't had much luck, i'm not familiar with pyton and there doesn't seem to be any elegant way of debugging it in xbmc. any ideas you guys have would be appreciated!

meanwhile i think i'll start to study up on python, if i can get this thing going i can see myself wasting hours helping to extend it. Smile the default mythtv front-end isn't exactly fault-tolerant, it's a pain to boot via linux, and i've found xbmc's playback to be far better anyway.
find quote
madtw Offline
Senior Member
Posts: 174
Joined: Mar 2004
Reputation: 0
Post: #24
i had a quick look at the code that causes the typeerror exception to be raised. struct.unpack() returns a list instead of a scalar value. if you add [0] after each call to struct.unpack(), hopefully it will work.

i was fairly new to python when i ported the code in mysql.py from a perl module and didn't really test all scenarios as thoroughly as i would've liked. my main goal was to get database access working for what i needed.

given that all the struct.unpack calls were incorrect in that function, i wouldn't be surprised if you hit some other problems in the untested code. you can enable debug in the mysql module by adding "debug=1" to the parameter list when the mysql.connection() object is constructed in mytv.py.

let me know if you run into any other problems so i can fix the module...
find quote
dooze Offline
Junior Member
Posts: 9
Joined: Apr 2004
Reputation: 0
Post: #25
that worked a treat! thanks very much. i was also getting a problem in mytv.py at the start of "displayshow" where "channel" is set, i don't have "callsign"s set up for the channels and i was getting a string concatenation error. i've patched my local copy to ignore callsigns for now. thanks again! Big Grin
find quote
dooze Offline
Junior Member
Posts: 9
Joined: Apr 2004
Reputation: 0
Post: #26
here's a simple little patch for gui.py so it stretches the background to the right size on pal systems:

def ( self, title, width=-1, height=-1 ):
if width == -1:
width = self.getwidth()

if height == -1:
height = self.getheight()

self.width = width
self.height = height

this way it uses the default size of the screen rather than hard-coded values.
find quote
madtw Offline
Senior Member
Posts: 174
Joined: Mar 2004
Reputation: 0
Post: #27
thanks for the feedback... i made the changes you mentioned. at the moment there is a lot of hard coding for ntsc. if you have any other pal friendly changes, pass them on and i'll try to include them.

i just installed the 2004-04-13 build of xbmc. you can grab the latest changes from here.

this version is much smaller because the xbmc release i got had a bunch of the .png files extracted in the skin directory. that means i can probably remove the explicit pathing to the files from my scripts in the long term if the files get included in textures.xpr but for now i just removed the files from my release.

once the functionality is rich, i'll try to figure out how to make the script more skin friendly.
find quote
mcfennek Offline
Junior Member
Posts: 7
Joined: Apr 2004
Reputation: 0
Post: #28
hi madtw,

i'm trying to get your myth-support to work, but i'm having a lot of trouble. the 0.2pre4 version won't even start - getting the exception:

system error: null result without error in pyobject_call
in file ..., line 1 "import gui"

the 0.2pre3 version starts up fine, but when i try to play a recorded show, xbmc either dies or just plays wired sounds. no exception in the python output. i think my settings (including smb are ok).

i'm working on a new version of xmbc (compiled yesterday) and i tried all kinds of tv formats (including 480x480). i'm working on pal.

would be happy for any help!!!!

thanks,

michael
find quote
mcfennek Offline
Junior Member
Posts: 7
Joined: Apr 2004
Reputation: 0
Post: #29
ok - i played around with the .nuv files. even as a plain smb share, i cannot play those files. i get the same syntoms as with the mythtv support - i either just hear some scratching noises, or xbnc hangs. can anybody which format to use?

i tried pal 384x288, 384x576, 480x480. i also tried rtjpeg and mpeg4 codec. i didn't play around with the audio codec yet....

also i still get the same null error when i try to use the 0.2pre4 version of mytv.

please help,

michael
find quote
mcfennek Offline
Junior Member
Posts: 7
Joined: Apr 2004
Reputation: 0
Post: #30
when i do not use the libraies (gui, nmb, smb...), but copy all in one file eg mytv.py it works fine. no idea why i cannot access the libraries.....

michael
find quote
Post Reply