SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Customizations

Notices

SageTV Customizations This forums is for discussing and sharing user-created modifications for the SageTV application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss customizations for SageTV version 6 and earlier, or for the SageTV3 UI.

Reply
 
Thread Tools Search this Thread Display Modes
  #161  
Old 01-06-2011, 05:28 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
GetImage certainly is a LOT faster than GetFanart would be with a remote central fanart folder. that said, i did just implement a dummy image (just a transparent image with the text shotitle always drawn behind the banner) and it seems to fly by. Yes, the cache is full of banner sized transparent images, and I suppose it should check the getfanart calls periodically to update. That said, I think it might be best to move the createimage(getfanart) calls to a forked background thread and have it just periodically ran/checked.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #162  
Old 01-06-2011, 05:32 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Quote:
Originally Posted by razrsharpe View Post
ahhh i see what you're getting at now... and ya a CacheImage would be nice to bypass all the needless shuffling... you could also scale them to be the size they need to be on a 720p or 1080p display.
If you need to scale the images, then using the CreateImage is the correct usage - using the {name: scale} transform. I was referring to when you DON't need to scale them.. like for PC clients which use the D3D surfaces for scaling in hardware.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #163  
Old 01-06-2011, 05:56 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by razrsharpe View Post
phoenix_fanart_SetDefaultPoster? relative to the central fanart folder correct?
Actually you should set the full path (ie what is returned from GetFanartPoster). I'll take care of setting the value that is relative to the fanart central folder. I do check that the file is a part of the fanart central folder, if it's not, then I won't set it.

Quote:
certainly is abusing it for caching... but that's not such a terrible thing, right
I agree.
Reply With Quote
  #164  
Old 01-06-2011, 07:36 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
The next version of the phoenix api will be able to accept null for the transform. Doing that will use a 'dummy' transform that simply does nothing with the image. This allows the image to then be cached. It was the easiest way to implement what you wanted. I still have to load the buffered image because the ImageAPIs work with files, string, and sage MetaImages. But, you won't need to use use a cryptic transform, just to place the image in the cache.
Reply With Quote
  #165  
Old 01-06-2011, 08:13 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Quote:
Originally Posted by stuckless View Post
The next version of the phoenix api will be able to accept null for the transform. Doing that will use a 'dummy' transform that simply does nothing with the image. This allows the image to then be cached. It was the easiest way to implement what you wanted. I still have to load the buffered image because the ImageAPIs work with files, string, and sage MetaImages. But, you won't need to use use a cryptic transform, just to place the image in the cache.
Yeah, that should be good. If anything I was hoping to avoid the string parsing and such associated with the json, though really that shouldn't be that significant, compared to the actual image load, especially done just once per banner. Oncde cached, it'll fly.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #166  
Old 01-06-2011, 08:48 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by Fuzzy View Post
Yeah, that should be good. If anything I was hoping to avoid the string parsing and such associated with the json, though really that shouldn't be that significant, compared to the actual image load, especially done just once per banner. Oncde cached, it'll fly.
The json parsing is not that much overhead. It is some, but there are far worse offending areas of Phoenix My other option was to make the STV developer have to pass a Map but I felt that would be too much of burden from the STV... ie, you'd have Create the Map, and then add each arg, etc.

The Image Transforms are pluggable as well, so you can, in theory write your own transforms and register them... you can even provide transforms in javascript, if you wanted . You could even replace the core transforms, such as scaling, with more efficient ones.

BTW, the next release of Phoenix will have the fanart caching restored. Basically this is a short term cache that caches the initial lookup for the file in memory for a short time. I removed it when I added episode fanart because it complicated it, but it's back now. That will provide a performance gain if you are using HasFanart and then calling GetFanart.
Reply With Quote
  #167  
Old 01-06-2011, 08:53 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
I was in no way saying that json was a poor method of handling this. Far from it actually. I was more saying that the transform argument should be fully optional, and a null in there should skip over the json parsing, as opposed to razrs mentioned. {name: copy} suggestion.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #168  
Old 01-06-2011, 09:08 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by Fuzzy View Post
I was in no way saying that json was a poor method of handling this. Far from it actually. I was more saying that the transform argument should be fully optional, and a null in there should skip over the json parsing, as opposed to razrs mentioned. {name: copy} suggestion.
For now, if you pass null, then I provide a default transform, so that the process doesn't break. Later, I'll look at handling the null transform more efficiently... just too busy right now
Reply With Quote
  #169  
Old 01-06-2011, 09:57 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
No worries. Maybe if I get a chance I'll look at the code and see if there's an easy if-skip that would handle it.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #170  
Old 01-07-2011, 07:27 AM
razrsharpe razrsharpe is offline
Sage Icon
 
Join Date: Sep 2008
Location: Boston, MA
Posts: 2,111
Quote:
Originally Posted by stuckless View Post
BTW, the next release of Phoenix will have the fanart caching restored. Basically this is a short term cache that caches the initial lookup for the file in memory for a short time. I removed it when I added episode fanart because it complicated it, but it's back now. That will provide a performance gain if you are using HasFanart and then calling GetFanart.
sweet thanks that should make peoples setups with remote (unc) fanart fastish again...

when registering a transform... does it get registered forever? or only until sage restarts? Is there a way to see if a transform name already exists so you don't keep reregistering it? When registering a transform does that save the json parsing step that fuzzy is concerned about, so the json is only parsed once (when registering)?
__________________
Server 2003 r2 32bit, SageTV9 (finally!)
2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast)
2x HD300, 1x SageClient (Win10 Test/Development)
Check out TVExplorer
Reply With Quote
  #171  
Old 01-07-2011, 09:42 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by razrsharpe View Post
sweet thanks that should make peoples setups with remote (unc) fanart fastish again...

when registering a transform... does it get registered forever? or only until sage restarts? Is there a way to see if a transform name already exists so you don't keep reregistering it? When registering a transform does that save the json parsing step that fuzzy is concerned about, so the json is only parsed once (when registering)?
I would create a plugin that depends on the phoenix-api and then in your plugin start/stop I would register your image transform. That way it will get registered only when your plugin is loaded.

As for json, it is passed when you do a create image as a string. Honestly, there is so little overhead in parsing a json string (esp of this size) it's not really worth much effort (on my part). I probably waste more cpu cycles creating the hashkey for the images than the json parser does parsing the transform I could probably store a parsed version of the json data and look it up by it's json string, but again, there's probably more cpu cycles doing that, than simply reparsing the string. I think if the strings were larger and more complex it would be a little more of an issue. If i recall, the last time I benchmarked the json parser, it takes something like 5ms to parse the string. (first time is a little longer because java has to load classes,etc). If I get time, I'll rebenchmark the json parsing to see if it's changed, but it is extremely fast.
Reply With Quote
  #172  
Old 01-09-2011, 08:49 PM
razrsharpe razrsharpe is offline
Sage Icon
 
Join Date: Sep 2008
Location: Boston, MA
Posts: 2,111
Just confirmed that updating to bmt 4.9.7 (phoenix 2.3.12) on the client and server DRASTICALLY improved the browsing speed of TVE when banners are enabled. WOWOOWOWO... thanks sean for reenabling the short term caching. The first display of the banners is still slowish (faster then it was before) but after that its blazing fast....
__________________
Server 2003 r2 32bit, SageTV9 (finally!)
2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast)
2x HD300, 1x SageClient (Win10 Test/Development)
Check out TVExplorer
Reply With Quote
  #173  
Old 01-09-2011, 09:09 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by razrsharpe View Post
Just confirmed that updating to bmt 4.9.7 (phoenix 2.3.12) on the client and server DRASTICALLY improved the browsing speed of TVE when banners are enabled. WOWOOWOWO... thanks sean for reenabling the short term caching. The first display of the banners is still slowish (faster then it was before) but after that its blazing fast....
Just so you know, the short term caching is really short... it's 5 minutes. Currently, it's hard coded, but if you want it exposed as a property, I can do that fairly easy as well. I was sort of rushing to get these things in there, because i didn't have much spare time this weekend
Reply With Quote
  #174  
Old 01-09-2011, 09:39 PM
Skirge01's Avatar
Skirge01 Skirge01 is offline
SageTVaholic
 
Join Date: Jun 2007
Location: New Jersey
Posts: 2,599
I checked out the details for the latest release as soon as Sage popped up the INFO icon and immediately gave it a shot. Talk about a night and day difference! Banners are back on in my setup and I'm really happy with the scrolling speed. It's not quite instantaneous, like without them, but the very tiny delay is barely even noticeable.

Thanks for getting this implemented so quickly, stuckless!
__________________
Server: XP, SuperMicro X9SAE-V, i7 3770T, Thermalright Archon SB-E, 32GB Corsair DDR3, 2 x IBM M1015, Corsair HX1000W PSU, CoolerMaster CM Storm Stryker case
Storage: 2 x Addonics 5-in-3 3.5" bays, 1 x Addonics 4-in-1 2.5" bay, 24TB
Client: Windows 7 64-bit, Foxconn G9657MA-8EKRS2H, Core2Duo E6600, Zalman CNPS7500, 2GB Corsair, 320GB, HIS ATI 4650, Antec Fusion
Tuners: 2 x HD-PVR (HTTP tuning), 2 x HDHR, USB-UIRT
Software: SageTV 7
Reply With Quote
  #175  
Old 01-09-2011, 09:52 PM
razrsharpe razrsharpe is offline
Sage Icon
 
Join Date: Sep 2008
Location: Boston, MA
Posts: 2,111
Quote:
Originally Posted by stuckless View Post
Just so you know, the short term caching is really short... it's 5 minutes. Currently, it's hard coded, but if you want it exposed as a property, I can do that fairly easy as well.
I think exposing it as a property would be a good idea... And if i understand correctly, say i update a piece of fanart i will need to wait until the cache expires and the file system is accessed again for the new fanart to show up.

EDIT: for people that have fairly stagnant fanart setups... what might be nice is the option to never have the cache expire (except when sage restarts) and then provide an api where the user could manually reset the cache if something was changed (ie new movie added or fanart changed) either from the BMT web ui or implemented in the STV.
__________________
Server 2003 r2 32bit, SageTV9 (finally!)
2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast)
2x HD300, 1x SageClient (Win10 Test/Development)
Check out TVExplorer

Last edited by razrsharpe; 01-09-2011 at 09:55 PM.
Reply With Quote
  #176  
Old 01-10-2011, 07:12 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by razrsharpe View Post
I think exposing it as a property would be a good idea... And if i understand correctly, say i update a piece of fanart i will need to wait until the cache expires and the file system is accessed again for the new fanart to show up.

EDIT: for people that have fairly stagnant fanart setups... what might be nice is the option to never have the cache expire (except when sage restarts) and then provide an api where the user could manually reset the cache if something was changed (ie new movie added or fanart changed) either from the BMT web ui or implemented in the STV.
Yeah... if you call SetPoster/Bacground/Banner then it will clear the cache so that the changes are picked up. But yeah, if you drop a new image in the fanart area, you'd have to wait, at most, 5 minutes to see that change.

I'll do more around this later, but as i mentioned, this was a quick addition in a very busy weekend I'll add an enhancement req to update the fanart caching, so that I don't for get it.
Reply With Quote
  #177  
Old 01-10-2011, 08:19 AM
razrsharpe razrsharpe is offline
Sage Icon
 
Join Date: Sep 2008
Location: Boston, MA
Posts: 2,111
Quote:
Originally Posted by stuckless View Post
Yeah... if you call SetPoster/Bacground/Banner then it will clear the cache so that the changes are picked up. But yeah, if you drop a new image in the fanart area, you'd have to wait, at most, 5 minutes to see that change.
and doing modification to the fanart though bmt calls SetFanartXXX correct? so if you use the recommended approach to modify the fanart the cache will get reset... and only if you manually mess with it via explorer/other outside program will you have to wait for the cache to reset automatically?

Quote:
I'll do more around this later, but as i mentioned, this was a quick addition in a very busy weekend I'll add an enhancement req to update the fanart caching, so that I don't for get it.
sweet thanks again no one is clamoring for something to be done right now so thanks for addign the req
__________________
Server 2003 r2 32bit, SageTV9 (finally!)
2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast)
2x HD300, 1x SageClient (Win10 Test/Development)
Check out TVExplorer
Reply With Quote
  #178  
Old 01-10-2011, 12:08 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,580
Quote:
Originally Posted by razrsharpe View Post
and doing modification to the fanart though bmt calls SetFanartXXX correct? so if you use the recommended approach to modify the fanart the cache will get reset... and only if you manually mess with it via explorer/other outside program will you have to wait for the cache to reset automatically?


sweet thanks again no one is clamoring for something to be done right now so thanks for addign the req
BMT calls SetFanartPoster, which clears the cache. Sometimes in BMT though, you won't the see updated default poster because of the browser caching. In bmt the URL to fetch the poster remains the same no matter which poster you are returning. For this reason, you will update the default in bmt, but it won't show up immediately in the view until you clear your caches, or restart the browser, etc.
Reply With Quote
  #179  
Old 01-10-2011, 09:46 PM
bikesquid's Avatar
bikesquid bikesquid is offline
Sage Aficionado
 
Join Date: Jan 2010
Location: California's North Coast
Posts: 392
In the process of setting up a new sagetv server and want to do it right (this time).... But I can't find the instructions for installing tvexplorer for the sagetv 7.x default ui... Can anybody point me in the right direction?
Reply With Quote
  #180  
Old 01-10-2011, 10:19 PM
razrsharpe razrsharpe is offline
Sage Icon
 
Join Date: Sep 2008
Location: Boston, MA
Posts: 2,111
Quote:
Originally Posted by bikesquid View Post
In the process of setting up a new sagetv server and want to do it right (this time).... But I can't find the instructions for installing tvexplorer for the sagetv 7.x default ui... Can anybody point me in the right direction?
Here are the current instructions....

http://forums.sagetv.com/forums/show...7&postcount=88

there's a fairly annoying bug in TVE Options right now... where editing options that have text or numeric input... you basically cant navigate the ui when entering the values... I believe this doesn't happen if you install sagemc (but haven't confirmed it, and haven't yet sat down to fix it... )... all the options are still editable in the properties file... and boolean or list options still work just fine....
__________________
Server 2003 r2 32bit, SageTV9 (finally!)
2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast)
2x HD300, 1x SageClient (Win10 Test/Development)
Check out TVExplorer
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
STV Import: Comskip Playback for Default STV (v1.5.4 30/August/2008 for SageTV 5/6) JREkiwi SageTV Customizations 600 11-23-2011 07:58 AM
STV Import: TVExplorer for SageMC razrsharpe SageMC Custom Interface 704 01-23-2011 01:36 PM
STV Import: Auto Compress for version 6 Default STV (V1.4.5 1/October/2008) JREkiwi SageTV Customizations 325 10-15-2010 03:06 PM
STV Import: TVExplorer for the Default STV tmiranda Customization Announcements 0 02-15-2010 06:14 AM
STV Import: Fan Art for Default STV by TiKi (v2.2 Feb 22, 2009) Tiki SageTV Customizations 102 01-05-2010 05:16 PM


All times are GMT -6. The time now is 05:04 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.