2007-02-15, 02:32
Hi, after seeing Staley87's script to autoresume playback after a reboot (ResumeX), I decided to make my own based on some of his code. Well I've got it mostly working, but I have a small problem. In the section of the code where it writes all the current files in the playlist to data.xml, instead of the filenames it adds what's below.
Data.xml:
I can't figure out why it's doing it like that. Here's the code that writes that file:
Any help would be much appreciated. Thanks.
Data.xml:
Code:
<data>
<window>10020</window>
<volume>100.0</volume>
<time>8.78000041703</time>
<plspos>0</plspos>
<plsize>45</plsize>
<plistfile0><xbmc.PlayListItem object at 0x0118E050></plistfile0>
<plistfile1><xbmc.PlayListItem object at 0x0118E050></plistfile1>
<plistfile2><xbmc.PlayListItem object at 0x0118E050></plistfile2>
<plistfile3><xbmc.PlayListItem object at 0x0118E050></plistfile3>
<plistfile4><xbmc.PlayListItem object at 0x0118E050></plistfile4>
<plistfile5><xbmc.PlayListItem object at 0x0118E050></plistfile5>
<plistfile6><xbmc.PlayListItem object at 0x0118E050></plistfile6>
<plistfile7><xbmc.PlayListItem object at 0x0118E050></plistfile7>
<plistfile8><xbmc.PlayListItem object at 0x0118E050></plistfile8>
<plistfile9><xbmc.PlayListItem object at 0x0118E050></plistfile9>
<plistfile10><xbmc.PlayListItem object at 0x0118E050></plistfile10>
<plistfile11><xbmc.PlayListItem object at 0x0118E050></plistfile11>
<plistfile12><xbmc.PlayListItem object at 0x0118E050></plistfile12>
<plistfile13><xbmc.PlayListItem object at 0x0118E050></plistfile13>
<plistfile14><xbmc.PlayListItem object at 0x0118E050></plistfile14>
<plistfile15><xbmc.PlayListItem object at 0x0118E050></plistfile15>
<plistfile16><xbmc.PlayListItem object at 0x0118E050></plistfile16>
<plistfile17><xbmc.PlayListItem object at 0x0118E050></plistfile17>
<plistfile18><xbmc.PlayListItem object at 0x0118E050></plistfile18>
<plistfile19><xbmc.PlayListItem object at 0x0118E050></plistfile19>
<plistfile20><xbmc.PlayListItem object at 0x0118E050></plistfile20>
<plistfile21><xbmc.PlayListItem object at 0x0118E050></plistfile21>
<plistfile22><xbmc.PlayListItem object at 0x0118E050></plistfile22>
<plistfile23><xbmc.PlayListItem object at 0x0118E050></plistfile23>
<plistfile24><xbmc.PlayListItem object at 0x0118E050></plistfile24>
<plistfile25><xbmc.PlayListItem object at 0x0118E050></plistfile25>
<plistfile26><xbmc.PlayListItem object at 0x0118E050></plistfile26>
<plistfile27><xbmc.PlayListItem object at 0x0118E050></plistfile27>
<plistfile28><xbmc.PlayListItem object at 0x0118E050></plistfile28>
<plistfile29><xbmc.PlayListItem object at 0x0118E050></plistfile29>
<plistfile30><xbmc.PlayListItem object at 0x0118E050></plistfile30>
<plistfile31><xbmc.PlayListItem object at 0x0118E050></plistfile31>
<plistfile32><xbmc.PlayListItem object at 0x0118E050></plistfile32>
<plistfile33><xbmc.PlayListItem object at 0x0118E050></plistfile33>
<plistfile34><xbmc.PlayListItem object at 0x0118E050></plistfile34>
<plistfile35><xbmc.PlayListItem object at 0x0118E050></plistfile35>
<plistfile36><xbmc.PlayListItem object at 0x0118E050></plistfile36>
<plistfile37><xbmc.PlayListItem object at 0x0118E050></plistfile37>
<plistfile38><xbmc.PlayListItem object at 0x0118E050></plistfile38>
<plistfile39><xbmc.PlayListItem object at 0x0118E050></plistfile39>
<plistfile40><xbmc.PlayListItem object at 0x0118E050></plistfile40>
<plistfile41><xbmc.PlayListItem object at 0x0118E050></plistfile41>
<plistfile42><xbmc.PlayListItem object at 0x0118E050></plistfile42>
<plistfile43><xbmc.PlayListItem object at 0x0118E050></plistfile43>
<plistfile44><xbmc.PlayListItem object at 0x0118E050></plistfile44>
<playing>G:\music\Strapping Young Lad\City\01 - Velvet Kevorkian.mp3</playing>
</data>
I can't figure out why it's doing it like that. Here's the code that writes that file:
Code:
elif not os.path.exists(DATAFILE) and xbmc.Player().isPlayingAudio():#If data not found, and xbmc is playing something
#Get some variables
self.window = xbmcgui.getCurrentWindowId()
self.volume = xbmc.getInfoLabel("Player.Volume")
self.volume = re.sub("dB", '', self.volume)
self.volume = 100.00 + float(self.volume)/60.00*100.00
self.time = xbmc.Player().getTime()
self.plist = xbmc.PlayList(0)
self.plsize = self.plist.size()
self.place = self.plist.getposition()
self.playing = xbmc.Player().getPlayingFile()
#Write Data.xml
f = open(DATAFILE, "wb")
f.write("<data>\n")
f.write("\t<window>"+str(self.window)+"</window>\n")
f.write("\t<volume>"+str(self.volume)+"</volume>\n")
f.write("\t<time>"+str(self.time)+"</time>\n")
f.write("\t<plspos>"+str(self.place)+"</plspos>\n")
f.write("\t<plsize>"+str(self.plsize)+"</plsize>\n")
if self.plsize != "-":
for i in range (0 , self.plsize):
f.write("\t<plistfile"+str(i)+">"+str(self.plist[i])+"</plistfile"+str(i)+">\n")
f.write("\t<playing>"+str(self.playing)+"</playing>\n")
f.write("</data>\n")
f.close()
#Make music fade out
z = 100
while z > 50:
z = z - 2.5
xbmc.executebuiltin("XBMC.SetVolume("+str(z)+")")
time.sleep(.075)#seconds
xbmc.Player().stop()
xbmc.executebuiltin("XBMC.SetVolume(100)")
#Shutdown
#xbmc.shutdown()
Any help would be much appreciated. Thanks.