Kodi Community Forum
[RELEASE] PseudoTV Addon: Virtual EPG and TV Channel Surfing Script - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Program Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=151)
+----- Forum: PseudoTV / PseudoTV Live (https://forum.kodi.tv/forumdisplay.php?fid=231)
+----- Thread: [RELEASE] PseudoTV Addon: Virtual EPG and TV Channel Surfing Script (/showthread.php?tid=90738)



- mudwater - 2011-04-20

Like the add-on but the guide is unreadable for me way to small, using the charmicheal skin which I like alot. Any chance of redoing the guide so its readable. Text is tiny.


- zepfan - 2011-04-20

mudwater Wrote:Like the add-on but the guide is unreadable for me way to small, using the charmicheal skin which I like alot. Any chance of redoing the guide so its readable. Text is tiny.

That ones made by the skin maker ( i think ). You could try asking him.


- mwkurt - 2011-04-20

Jason,

Is there any way that PseudoTV can be made to make XBMC quit after the playlists are updated at a specific time?
Would like this to be incorporated if possible as it would allow me to leave my htpcs on when I leave for work, have PseudoTV update the playlists then quit XBMC, then have my pc sleep and be ready for viewing with fresh playlists when I get home from work.
The behaviour now is almost there but it starts playing a channel automatically after an update, which I don't really want if I am not there.

Thanks for reading,

Mark


- MarcosQui - 2011-04-20

zepfan, in version 1.1.0, I no longer see the logos of the channels, has some error? (yes, I enabled the option to display the logos)

.


- zepfan - 2011-04-20

I'd ask Jason, but none are included by default and when you update the ones stored in the folder are replaced. That's why Jason added the option to select a outside folder.


- MarcosQui - 2011-04-20

But the logos are present in the addon folder - resources/images - do not understand. Huh


- Jason102 - 2011-04-20

mwkurt Wrote:Is there any way that PseudoTV can be made to make XBMC quit after the playlists are updated at a specific time?

I've been thinking about a good way to update in the background (or something similar) and haven't been able to come up with a good solution. The problem with updating and quiting at a certain time is that you can now never watch PseudoTV at that time, on the weekends for example. Plus you would have to start the script at just the right time (presumable within some small range) to get this to work.

I guess I could make an option to update and quit on the next startup, but I'm not sure that's a good solution either. Ideally, they would update while you're actually using the script. Again, this presents several issues:
- JSON calls take some time so if you quit the script at the wrong time then you wouldn't have control over the system until it completed.
- If the update completes and then you add to your video library, the next start of the script won't reflect those new shows / movies.
- If your computer takes the majority of processor usage in order to just decode and display the movie, the addition of a background task might cause skipping in the video.
- Multithreading in Python inside of XBMC is very touchy and doesn't really like to be used...I'm afraid of stability problems if I start doing entire tasks in the background.

I'm not really sure what the best solution would be. Perhaps if there was some way to invoke the script at a certain time automatically then it would generate and quit, but I don't know of a way to do that.

jtucker1972 says that he has a solution for TV time, so I'm going to see what he has and decide if it will work for PseudoTV.

MarcosQui Wrote:But the logos are present in the addon folder - resources/images - do not understand.

The script does come with a selection of channel logos. These used to match the presets that were used to fill in your channels. Since this functionality has been replaced by an automatic set of channels plus the channel configuration tool, the channel logos don't match to anything anymore. However, you can still name one of your playlists the name of a logo and it will be used. Or you can change the directory of the channel logo folder and make your own logos to match your channels.


- MarcosQui - 2011-04-20

Thank you for the explanation.

So one way to show the logos automatically (comedy, romance and etc ...) as it was in version 1.0.0 is no exist more, right?


- mwkurt - 2011-04-20

Jason102 Wrote:I've been thinking about a good way to update in the background (or something similar) and haven't been able to come up with a good solution. The problem with updating and quiting at a certain time is that you can now never watch PseudoTV at that time, on the weekends for example. Plus you would have to start the script at just the right time (presumable within some small range) to get this to work.

I guess I could make an option to update and quit on the next startup, but I'm not sure that's a good solution either. Ideally, they would update while you're actually using the script. Again, this presents several issues:
- JSON calls take some time so if you quit the script at the wrong time then you wouldn't have control over the system until it completed.
- If the update completes and then you add to your video library, the next start of the script won't reflect those new shows / movies.
- If your computer takes the majority of processor usage in order to just decode and display the movie, the addition of a background task might cause skipping in the video.
- Multithreading in Python inside of XBMC is very touchy and doesn't really like to be used...I'm afraid of stability problems if I start doing entire tasks in the background.

I'm not really sure what the best solution would be. Perhaps if there was some way to invoke the script at a certain time automatically then it would generate and quit, but I don't know of a way to do that.

jtucker1972 says that he has a solution for TV time, so I'm going to see what he has and decide if it will work for PseudoTV.

Didn't know if it was feasable or even doable, thought I would ask. I'll probably set up a cron job using windows scheduler and/or Event Ghost to wake up the pc, open XBMC just before a scheduled refresh of the playlist. After the refresh, I'll close XBMC the pc will go back to sleep. I plan on having all of this happen during the day when everyone is at work. The good thing about Windows Scheduler, I think, is that you can just schedule on weekdays.
It would have been so much easier if there was a setting in PseudoTV that would close XBMC automatically after a refresh. One less thing to worry about.
Don't know what the impact would be with a refresh running in the background. Three of my pc's are Emachines 1402s and they only have a single core 1.7MHz processor. A lot of other use single core atoms. I would expect some sort of disruption in play which is why I thought of doing it while away for the day.
At any rate, I love what you guys are doing and the WAF is pretty good now.

Thanks,
Mark


- primetime34 - 2011-04-21

I have two questions about PseudoTV (which I'm loving btw)

1. On the channel configuartion, I can't see the option to put in serial mode or where to set the playlist...the font must be white because it is sitting on a white background and I can't see those options...I just have to guess. BTW, I'm using Aeon MQ2

2. Is there some way to change the default skin to another skin or am I already using the Aeon MQ2 skin because that is my xbmc skin?


- Sranshaft - 2011-04-21

primetime34 Wrote:I have two questions about PseudoTV (which I'm loving btw)

1. On the channel configuartion, I can't see the option to put in serial mode or where to set the playlist...the font must be white because it is sitting on a white background and I can't see those options...I just have to guess. BTW, I'm using Aeon MQ2

2. Is there some way to change the default skin to another skin or am I already using the Aeon MQ2 skin because that is my xbmc skin?

If I recall correctly, the PseudoTV skin for Aeon MQ2 is included in the Aeon MQ2 skin. You'll need to contact the skin's author and ask him to fix the problem with the channel config.

There currently isn't any way to switch PseudoTV skins unless you wish to use the default skin shown in the previews on the first page of this thread. If you want to use that one just delete the PseudoTV.*.xml files in the the Aeon MQ2\720p folder. The rest are tightly bound to their respective XBMC skins.


- Jason102 - 2011-04-21

To select serial mode open the channel configuration tool, select the desired channel, select TV Show as the channel type, pick the show you want, and check the Serial Mode box.

Similarly, to select a playlist the channel type should be Custom, then just use the box to select the playlist that you want.

As Sranshaft says, you can't really select the skin that you want. XBMC itself actually selects the skin directory based on your current overall skin, I don't control that.


- MarcosQui - 2011-04-21

Jason102, you can add a path to the images pstvButtonFocus.png and pstvButtonNoFocus.png so that you can use my own?

In my skin I use different images included in the script.

Thanks.


- jtucker1972 - 2011-04-21

Jason102 Wrote:jtucker1972 says that he has a solution for TV time, so I'm going to see what he has and decide if it will work for PseudoTV.

Yes. It is very tricky. I will share what I have implemented for my next release.

1. I created a separate thread class
2. I copied all the required functions to build the "prestaged" file lists to this threaded class.
3. Within each function I added a check to see if an thread exit flag had been set to exit.
4. If so I call an abort function in the thread class to exit the thread
5. I use a separate SharedSetings.py to store the thread exit variable. I import it into the other python modules which need to be able to trigger the thread to exit
6. In the end function, I set the exit thread function to exit the thread.

The trick is to have enough "exit points" in the thread functions to capture the exit trigger before the main thread exits. Otherwise you get the error on exit.

One other cadveat. I first build the file lists to a temp folder and then copy them to the prestage folder after all channel file lists have been built. This way, if the thread exits before it finishes, there is always a full list of prestage channel file available.

That's my approach which is the best I could come up with.


- Jason102 - 2011-04-22

Any idea how much processor impact there is?