SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Customizations > SageMC Custom Interface
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageMC Custom Interface This forum is for discussing the user-created SageMC custom interface for SageTV.

Reply
 
Thread Tools Search this Thread Display Modes
  #21  
Old 03-06-2009, 07:16 PM
jaminben jaminben is offline
Sage Icon
 
Join Date: Sep 2007
Location: Norwich, UK
Posts: 1,754
Send a message via MSN to jaminben
While we're at it could we also grab Season Banner Wide. I've noticed that not all shows have these but if we could use some of them why not
__________________
Server - Win7 64bit, 2.4Ghz Intel Core 2 Duo, TBS 6284 PCI-E Quad DVB-T2 Tuner, 3 x HD200 & 1 x HD300 extenders

Last edited by jaminben; 03-06-2009 at 08:57 PM.
Reply With Quote
  #22  
Old 03-06-2009, 08:46 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
For the initial API implementation, I want it to be compatible with the existing fanart support in SageMC. So i've implemented a GetBackground() as per documentation, but are Banners supported at all? and if so, what's the file format for a banner (and other supported artifacts)?

Also, is there any point in implementing a GetPoster, since the Poster is currently the thumbnail in Sage?

Thanks
Reply With Quote
  #23  
Old 03-06-2009, 08:56 PM
jaminben jaminben is offline
Sage Icon
 
Join Date: Sep 2007
Location: Norwich, UK
Posts: 1,754
Send a message via MSN to jaminben
Quote:
Originally Posted by stuckless View Post
For the initial API implementation, I want it to be compatible with the existing fanart support in SageMC. So i've implemented a GetBackground() as per documentation, but are Banners supported at all? and if so, what's the file format for a banner (and other supported artifacts)?

Also, is there any point in implementing a GetPoster, since the Poster is currently the thumbnail in Sage?
As far as I'm aware their is no support for banners, season banners etc and file format is just .jpg. EP will proberly know more. I wouldn't bother with the poster as its not needed and is the same as folder.jpg.
__________________
Server - Win7 64bit, 2.4Ghz Intel Core 2 Duo, TBS 6284 PCI-E Quad DVB-T2 Tuner, 3 x HD200 & 1 x HD300 extenders
Reply With Quote
  #24  
Old 03-06-2009, 09:18 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
So, Initially I was thinking that I'd build the first release as compatible with SageMC, but do you think that we should just build the API to match the proposed central folder support and just use that as a starting point, including support for Banners, etc. It would mean that SageMC would have to be changed to use the new Api.

ie, I have a build now that works (in theory) as per the SageMC model, but it only has a single API call, GetBackground(), since that's all SageMC supports. It currently does the logic of determining which background to return based on media type, central location, etc. (There's a lot more logic in there than I originally thought)
Reply With Quote
  #25  
Old 03-07-2009, 03:19 AM
jaminben jaminben is offline
Sage Icon
 
Join Date: Sep 2007
Location: Norwich, UK
Posts: 1,754
Send a message via MSN to jaminben
My understanding is it doesn't matter too much where the fanart is stored as this can be specified by a SageMC dev in the code just as long as when we call GetBackground() it knows how to search for the background. So for now I'd stick with whats working in SageMC and use the central background folder system. I don't really understand how you can tell the API where this Central Folder is, but for testing purposes I could incorporate your new API call into my grouped TV series import or the Movie Info Screen import to see how things work out rather than roll it out across the whole of the SageMC platform.

It would also be handy if when we called the background using say GetShowTitle(Airing) your API could also clean the title for unwanted characters. An example of this would be Terminator: The Sarah Conner Chronicles. This isn't such a big deal as I can do this within Studio but thought it might be better done outside of Sage/Studio.
__________________
Server - Win7 64bit, 2.4Ghz Intel Core 2 Duo, TBS 6284 PCI-E Quad DVB-T2 Tuner, 3 x HD200 & 1 x HD300 extenders

Last edited by jaminben; 03-07-2009 at 03:22 AM.
Reply With Quote
  #26  
Old 03-07-2009, 07:31 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
My understanding is it doesn't matter too much where the fanart is stored as this can be specified by a SageMC dev in the code just as long as when we call GetBackground() it knows how to search for the background. So for now I'd stick with whats working in SageMC and use the central background folder system. I don't really understand how you can tell the API where this Central Folder is...
I have it pulling the central fanart folder from the sagemc configuration.

Quote:
It would also be handy if when we called the background using say GetShowTitle(Airing) your API could also clean the title for unwanted characters.
Yeah... that what I was thinking as well. The current code accepts a MediaFile|Airing|Show and it will call getTitle() and clean those titles within the API... Again my focus is to create a single line API call that can go from STV object to an image path. All decisions, cleaning, etc, are handing in the API.

I may have something that I can release today depending on how things go.... I'd consider the first couple of releases to be "beta" so that we can work out the kinks
Reply With Quote
  #27  
Old 03-07-2009, 07:40 AM
jaminben jaminben is offline
Sage Icon
 
Join Date: Sep 2007
Location: Norwich, UK
Posts: 1,754
Send a message via MSN to jaminben
Quote:
Originally Posted by stuckless View Post
Again my focus is to create a single line API call that can go from STV object to an image path. All decisions, cleaning, etc, are handing in the API.
Sounds good

Quote:
Originally Posted by stuckless View Post
I may have something that I can release today depending on how things go.... I'd consider the first couple of releases to be "beta" so that we can work out the kinks
Sweet, I look forward to seeing it in action
__________________
Server - Win7 64bit, 2.4Ghz Intel Core 2 Duo, TBS 6284 PCI-E Quad DVB-T2 Tuner, 3 x HD200 & 1 x HD300 extenders
Reply With Quote
  #28  
Old 03-07-2009, 04:50 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Sounds great, I think matching the current functionality is perfect for the initial release. I'm sure Mike would be more than happy to delete those 100+ lines of Studio code and replace it with one function call

RE: Poster vs. Folder.jpg - I figure if we're going to do this, lets do it right. Folder.jpg doesn't really mean anything and could either refer to a poster or a thumbnail. I vote we move away from Sage's naming conventions and just call the images what they are: background, banner, poster. We can let Sage worry about the individual video thumbnails as they've already got a good system for it and that'd be a lot of extra stuff to keep track of.

Do you want to get your code up on your google code page and I'll make a copy and start adding the extra features I'm talking about.

Last edited by evilpenguin; 03-07-2009 at 05:02 PM.
Reply With Quote
  #29  
Old 03-07-2009, 05:01 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
While we're discussing this, lets chat about the improvements Sage is working on for metadata as this impacts all of us.

Here's what I got from Sage (Keep in mind they're trying to get this in, but there's no guarantee's its possible. So don't get your hopes up quite yet.)...
Quote:
This is using the MediaFileMetadataParser interface, right? If so, there's a
2 part solution which should probably be fairly easy for us to add.

First thing is there'd be a new property which lists the 'extra' metadata
fields which should be retained in a Map from whatever is extracted during
the parsing phase. (it does store them all; but then only uses some of them
to create the actual Airing/Show/MediaFile objects that correspond) Normally
it then cleans out the Map to reduce memory usage; but this new property
would indicate to leave certain ones in there. And those would no longer be
redundant or unused; which is why the clearing is done in the first place.
(so it wouldn't retain Title for example, since that's stored elsewhere)

Second thing is we'll add 2 new API calls, GetMediaFileMetadata(MediaFile
mf, String name) and SetMediaFileMetadata(MediaFile mf, String name, String
value) which would then allow extraction of any of these extra properties
and also setting them through the API as well. Maybe even a
GetMediaFileMetadataNames(MediaFile mf) to get a list of all the additional
ones used by a MediaFile.
Which boils down to 2-3 new API calls...
Code:
GetMediaFileMetadata(MediaFile mf, String name)
GetMediaFileMetadataNames(MediaFile mf)
SetMediaFileMetadata(MediaFile mf, String name, String value)
(Sage said that there might be an issue getting SetMediaFileMetadata() working, but they seem to think the other two are pretty doable.)

And a new property
Code:
custom_metadata_properties=
So for what i'm working on for jaminben, I'd be making .properties files that look like this...
Code:
Title=Scrubs S05E22 - My Dj Vu, My Dj Vu
Actor=Zach Braff;Donald Faison;Sarah Chalke;Christa Miller;Aloma Wright;Robert Maschio;Sam Lloyd;Neil Flynn;Ken Jenkins;Judy Reyes;John C. McGinley;
Guest=Greg Wittman;Randall Winston;Carole Goldman;John David Conti;Matt Bush;Yvonne Arias;Keith Allan;Joe Rose;Jay Kenneth Johnson;
Director=Linda Mendoza;
Writer=Mike Schwartz;
Description=J.D. feels that the same things happen over and over again at the hospital. Dr. Cox returns to work, but Elliot believes that he has lost his usual confidence. Elliot calls Dr. Cox on his behavior. Carla gets fed up with Turk, because he still can do a lot of stuff, but she can't since she is now pregnant.
Rating=TV-PG
SeasonNumber=5
EpisodeNumber=22
SeriesTitle=Scrubs
EpisodeTitle=My Dj Vu, My Dj Vu
OriginalAirDate=1/01/2001
StarRating=7
So on the studio side to use these new metadata values we'd need to modify custom_metadata_properties like this to let it know what extra metadata properties we want it to keep track of...
Code:
custom_metadata_properties=SeasonNumber;EpisodeNumber;SeriesTitle;EpisodeTitle;OriginalAirDate;StarRating
And then we could access the values from within the API like this...
Code:
GetMediaFileMetadata(MediaFile|Airing|Show, "SeasonNumber")
Which you could wrap in if (... != "") to check for existence.

Last edited by evilpenguin; 03-07-2009 at 05:06 PM.
Reply With Quote
  #30  
Old 03-07-2009, 05:09 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
ep, i will put the code into a google code project, but I'm currently doing some testing with ben at the moment. Once we get the initial version stabilized, then i'll release the code, jar, and javadoc. So far we are aobut 50% there

I think that once the initial release it out there, we should finalize a "central" fanart folder structure that accounts for all the things that we need/want. Once that is done, i can quickly add that implementation into the API, so that the api will begin to use the new folder structure. It sounds like to me, that we haven't quite finialized the central folder structure yet.

As for the naming conventions... I agree.

Maybe if the testing with Ben and myself goes well this weekend... We can have something ready by monday??
Reply With Quote
  #31  
Old 03-07-2009, 05:12 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Quote:
Originally Posted by stuckless View Post
Maybe if the testing with Ben and myself goes well this weekend... We can have something ready by monday??
Sounds good. Besides, I'm just using Sage development today as an excuse to not clean my apartment so I guess I can wait
Reply With Quote
  #32  
Old 03-07-2009, 05:18 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
ep, the new Metadata calls that Sage is puttin in, seems very good, and muchly needed. Thanks for posting that.

I think that from your post, you are suggesting that we standardize on the field names for metadata, such as using "SeasonNumber", "EpisodeNumber", etc... which I think is a good idea.

Did Sage give an indication if the new api calls were in 6.5 or what release it would be in?
Reply With Quote
  #33  
Old 03-07-2009, 05:24 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Quote:
Originally Posted by stuckless View Post
ep, the new Metadata calls that Sage is puttin in, seems very good, and muchly needed. Thanks for posting that.

I think that from your post, you are suggesting that we standardize on the field names for metadata, such as using "SeasonNumber", "EpisodeNumber", etc... which I think is a good idea.

Did Sage give an indication if the new api calls were in 6.5 or what release it would be in?
It all really depends on how difficult it is to add them. They said if it was easy it could make it into the next beta, but if it ends up being harder then they'd have push it back further. Either way, its on they're radar which is a good thing.
Reply With Quote
  #34  
Old 03-07-2009, 05:28 PM
jaminben jaminben is offline
Sage Icon
 
Join Date: Sep 2007
Location: Norwich, UK
Posts: 1,754
Send a message via MSN to jaminben
All sounds very exciting Especially the custom_metadata_properties

Going back to the naming of images, I assume your going to include a season & image numbering system to allow for multiple images with various seasons? These could then be sorted with either stuckless's java code or from within studio using the new sage api's.

Something like:

Lost background1.jpg
Lost background2.jpg

Lost S01 poster1.jpg
Lost S01 poster2.jpg
Lost S03 poster4.jpg
__________________
Server - Win7 64bit, 2.4Ghz Intel Core 2 Duo, TBS 6284 PCI-E Quad DVB-T2 Tuner, 3 x HD200 & 1 x HD300 extenders
Reply With Quote
  #35  
Old 03-07-2009, 06:15 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Quote:
Originally Posted by jaminben View Post
Going back to the naming of images, I assume your going to include a season & image numbering system to allow for multiple images with various seasons? These could then be sorted with either stuckless's java code or from within studio using the new sage api's.
From an ease of development standpoint I think we should use folders so we can parse paths without regular expressions.

Basically, he's my proposal...
Base Folders:
Code:
CentralFolder\TV
CentralFolder\Movies
CentralFolder\Music
Television:
Code:
TV\SeriesTitle\seriesInfo.data (Text file containing base series information Description, Genre, etc)
TV\SeriesTitle\Backgrounds\(All Base Backgrounds Images)
TV\SeriesTitle\Posters\(All Base Posters Images)
TV\SeriesTitle\Banners\(All Base Banners Images)
TV\SeriesTitle\Actors\(All Base Actor Images)
TV\SeriesTitle\Season #\Backgrounds\(All Season Specific Backgrounds Images)
TV\SeriesTitle\Season #\Posters\(All Season Specific Posters Images)
TV\SeriesTitle\Season #\Banners\(All Season Specific Banners Images)
TV\SeriesTitle\Season #\Actors\(All Season Specific Actor Images)
Movies:
Code:
Movies\MovieTitle\Backgrounds\(All Background Images)
Movies\MovieTitle\Posters\(All Poster Images)
Movies\MovieTitle\Banners\(All Banner Images)
Movies\MovieTitle\Actors\(All Actor Images)
Music: ??? - I don't really have any music so I don't have a clue how to organize this
Reply With Quote
  #36  
Old 03-07-2009, 06:25 PM
jaminben jaminben is offline
Sage Icon
 
Join Date: Sep 2007
Location: Norwich, UK
Posts: 1,754
Send a message via MSN to jaminben
Quote:
Originally Posted by evilpenguin View Post
Code:
TV\SeriesTitle\seriesInfo.data (Text file containing base series information Description, Genre, etc)
TV\SeriesTitle\Backgrounds\(All Base Backgrounds Images)
TV\SeriesTitle\Posters\(All Base Posters Images)
TV\SeriesTitle\Banners\(All Base Banners Images)
TV\SeriesTitle\Actors\(All Base Actor Images)
TV\SeriesTitle\Season #\Backgrounds\(All Season Specific Backgrounds Images)
TV\SeriesTitle\Season #\Posters\(All Season Specific Posters Images)
TV\SeriesTitle\Season #\Banners\(All Season Specific Banners Images)
TV\SeriesTitle\Season #\Actors\(All Season Specific Actor Images)
Thats how I would prefer to see it organized, but I'll go with the flow.
__________________
Server - Win7 64bit, 2.4Ghz Intel Core 2 Duo, TBS 6284 PCI-E Quad DVB-T2 Tuner, 3 x HD200 & 1 x HD300 extenders
Reply With Quote
  #37  
Old 03-07-2009, 06:42 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
A question about TV shows that are no longer in the SageTV recordings. ie, let's say you record some shows, but then later you rename them and simply put them in your video library as "TVSHOW/Title - S01E03.avi". They are no longer TV recordings as far as far sage is concerned, so would their Fanart be in TV or Movies? If TV, how would you know the difference between a TV video and a Movie video (scrape filename??)

I think today, SageMC would still treat them as movie vidoes (even though they are TV shows) and their fanart would be in Movies.
Reply With Quote
  #38  
Old 03-07-2009, 07:00 PM
jaminben jaminben is offline
Sage Icon
 
Join Date: Sep 2007
Location: Norwich, UK
Posts: 1,754
Send a message via MSN to jaminben
Quote:
Originally Posted by stuckless View Post
A question about TV shows that are no longer in the SageTV recordings. ie, let's say you record some shows, but then later you rename them and simply put them in your video library as "TVSHOW/Title - S01E03.avi". They are no longer TV recordings as far as far sage is concerned, so would their Fanart be in TV or Movies? If TV, how would you know the difference between a TV video and a Movie video (scrape filename??)

I think today, SageMC would still treat them as movie vidoes (even though they are TV shows) and their fanart would be in Movies.
Using EP's tool they wouldn't, you can scrape the file and it will place it back into the tv recordings list even though the file is located outside the recording drive. It will also use the old images as it would think its a TV recording again.Then if we create a new grouped TV screen which can filter seasons you could have a new screen which is dedicated to TV shows.

I was looking at something like this, Series Wide Banners Layout is what I liked best or even Series List Posters Layout.
__________________
Server - Win7 64bit, 2.4Ghz Intel Core 2 Duo, TBS 6284 PCI-E Quad DVB-T2 Tuner, 3 x HD200 & 1 x HD300 extenders

Last edited by jaminben; 03-07-2009 at 07:09 PM.
Reply With Quote
  #39  
Old 03-07-2009, 07:59 PM
wayner wayner is offline
SageTVaholic
 
Join Date: Jan 2008
Location: Toronto, ON
Posts: 7,491
Guys - one other issue to keep in mind (if you haven't already) is movies that you record from TV. It seems that if you record a movie and the Fanart for the movie is in Mediabackgrounds\Movies then that Fanart will not be used as SageMC is looking for it in Mediabackgrounds\TV - at least that was the case a few weeks ago.
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA
Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA
Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server
Reply With Quote
  #40  
Old 03-07-2009, 08:13 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
SageTV knows which TV recordings are Movies, that's why you can sort by them in the schedule, so I don't think that would be a problem.
Reply With Quote
Reply


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

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
HD200 FanArt vexhold SageMC Custom Interface 6 12-22-2008 09:45 AM
Digital in Central Florida melgish Hardware Support 0 04-04-2008 08:50 AM
Central European Character problems alanwww1 SageTV Software 0 12-15-2007 12:20 PM
SageTV 2.1 improvments and fixes? tankd0g SageTV Software 2 12-09-2004 10:27 PM


All times are GMT -6. The time now is 06:39 PM.


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