|
SageMC Custom Interface This forum is for discussing the user-created SageMC custom interface for SageTV. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
||||
|
||||
New arbitrary metadata discussion
Okay, so now that Sage has released their new "arbitrary metadata" API, I think it's a good idea to discuss using this API, so we can try and keep it's use fairly standardized. Stuckless & EP already started things rolling back in the "Central FanArt Folder Improvements" thread, but I think this deserves it's own thread. In addition to a standardized list of fields, we might want to consider some additional Java API calls to deal with various fields.
1. User rating - Field name "StarRating" or "UserRating". Used to store user's personal ratings of media objects. I'd prefer "UserRating" to EP's proposal, it's a tad more generic, but it doesn't seem like a huge deal. Proposed value was integer 0-10. I suspect we will want to represent it on-screen with a series of 5-star icons, with stars being empty, half-full, or full. 2. MediaProviderDataID - stores unique ID's from scraping sources for the media object. Stuckless' proposal of a string, using semi-colons to separate providers and colons to separate the provider name and the provider ID works for me. 3. MediaType - TV|Movie|Music - were we planning on saving this into a custom field, or was this just for the scrapers' use? 4. MediaTitle - proposed by stuckless- I'm not 100% sure on the use of this. Again, was this just for the scraper to use, or was it intended as a metadata field? 5. SeasonNumber, EpisodeNumber - absolutely, these both make complete sense. 6. EpisodeTitle - Makes sense 7. OriginalAirDate - Makes sense Now on to a couple of items I'd like to see in there... 8. ParentalRating - Used to store parental rating information. On IMDB, parental ratings are given for many countries in a list. I'd like to see us store this whole thing with an API for pulling the rating for the correct country when needed. Useful for folks who want a "cheap-easy" way of filtering content for their kids, and for displaying ratings as part of movie/TV information. 9. Additional genres/categories- For me, 2 categories isn't always enough. This also comes into play if you wanted to use a category for filtering content, which could eat one of your two category-slots. For me, 3 categories would be sufficient, though others might wish for more. One thing I've already got working is gathering groups of media files that match a category, whether it is stored in the primary or second category slot. I think most folks would prefer this in general... thoughts? 10. AddedToLibraryDate - used for figuring out what constitutes "New Releases". SageMC could use the core-provided hook for adding this field automatically. That's what I've got for now. Cheers Ikarius
__________________
SageTV 6.6.2, SageMC+CenterSage Theme Server: Intel Core2 Q6600, 8gb memory, 3x 1tb WD EACS drives, software RAID5 2tb capacity, 4gb Flash boot drive, Ubuntu 8.0.4 Server edition Capture: 1x HD-PVR -> Motorola DTC6200 Clients: 1x STX-HD100 1x STX-HD200, Windows & OSX Clients |
#2
|
||||
|
||||
Here's the current working list of custom metadata fields. If there are any additional ones people want we can discuss them in this thread and update this post.
Movies: MediaType=Movie Quote:
Code:
MediaType=Movie Title=Juno (2007) MediaTitle=Juno Actor=Ellen Page;Michael Cera;Jennifer Garner;Jason Bateman;Allison Janney;J.K. Simmons;Olivia Thirlby;Eileen Pedde;Rainn Wilson;Daniel Clark; ActorRoles=Juno MacGuff;Paulie Bleeker;Vanessa Loring;Mark Loring;Bren MacGuff;Mac MacGuff;Leah;Gerta Rauss;Rollo;Steve Rendazo; Director=Jason Reitman; Writer=Diablo Cody; Genres=Comedy;Drama; Description=Faced with an unplanned pregnancy, an offbeat young woman makes an unusual decision regarding her unborn child. Rated=PG-13 UserRating=8 ReleaseDate=1 September, 2007 MediaProviderDataID=imdb:0467406;theMovieDB:7326 TagLine=A comedy about growing up... and the bumps along the way. Year=2007 RunTime=96 min Awards=Won Oscar. Another 49 wins & 35 nominations AlsoKnownAs=Juno (Canada: French title); Television: MediaType=TV Quote:
Code:
MediaType=TV Title=The Office (US) 2x01 - The Dundies MediaTitle=The Office (US) Actor=Steve Carell;John Krasinski;Jenna Fischer;Rainn Wilson;Paul Lieberstein;Melora Hardin;Creed Bratton;Mindy Kaling;Kate Flannery;Ed Helms;Phyllis Smith;Angela Martin;B.J. Novak;Oscar Nuņez;Brian Baumgartner;Leslie David Baker;Craig Robinson;David Denman; ActorRoles=Michael Scott;Jim Halpert;Pam Beesly;Dwight Schrute;Toby Flenderson;Jan Levinson-Gould;Creed Bratton;Kelly Kapoor;Meredith Palmer;Andy Bernard;Phyllis Lapin;Angela Kinsey;Ryan Howard;Oscar Martinez;Kevin Malone;Stanley Hudson;Darryl Philbin;Roy Anderson; Guest=Mindy Kaling;Paul Lieberstein;Kate Flannery;Angela Kinsey;David Denman;Leslie David Baker;Oscar Nunez;Brian Baumgartner;Karly Rothenberg; Director=Greg Daniels; Writer=Mindy Kaling; Genres=Comedy; Description=It's time for the ""Dundies,"" Dunder Mifflin's annual awards banquet (held at the neighborhood Chili's), and the staff must endure the excruciating performance of their inept emcee, boss Michael Scott. Rated=TV-14 UserRating=7.5 ReleaseDate=2005-09-20 MediaProviderDataID=theTVDB:73244 SeasonNumber=2 EpisodeNumber=1 EpisodeTitle=The Dundies Last edited by evilpenguin; 03-20-2009 at 04:39 PM. |
#3
|
||||
|
||||
Quote:
Quote:
Quote:
Last edited by evilpenguin; 03-19-2009 at 01:52 PM. |
#4
|
||||
|
||||
It's kind of a shame (since it so close to what Sage already has) but I'd really like to see a Actor/Role saved. Maybe an array each of actors, and the role they play, eg:
Actors = [ "Shatner, William", "Nemoy, Leonard"...] Roles = [ "Captain James Kirk", "Spock"...] I've always found Sage's current "PeopleList"s rather limiting in their usefullness. One feature I always wanted to see was a way to lookup other movies an actor was in. |
#5
|
|||
|
|||
This one caught my eye:
10. AddedToLibraryDate - used for figuring out what constitutes "New Releases". SageMC could use the core-provided hook for adding this field automatically. Ideally you'd want to be able to sort this via more filters. So at the top you would have "New Releases" then as a filter option you could choose between "Cinema" release date, "DVD" release date or added to "Database Date".
__________________
Server - Win7 64bit, 2.4Ghz Intel Core 2 Duo, TBS 6284 PCI-E Quad DVB-T2 Tuner, 3 x HD200 & 1 x HD300 extenders |
#6
|
||||
|
||||
Ben, not a bad idea, but I'll suggest a refinement. It's already been proposed that we have an "OriginalAiringDate" for TV episodes. I'd propose we rename that to "ReleaseDate", and it be the Original Airing date in the case of a TV show, or the theatrical release date in the case of a movie. Then we have either that or the date where something was added to the library, and only two dates to choose between for using.
Stanger- hmm, gonna have to mull over that one a while. I too would like to be able to pick an actor/director and see what else they have been involved with... though my ideal idea would be to see what movies I have with them as well as what movies they've been in according to IMDB, which is almost too much scraping to bear, and a lot of info to get on a TV screen. It's something to keep in mind, though.
__________________
SageTV 6.6.2, SageMC+CenterSage Theme Server: Intel Core2 Q6600, 8gb memory, 3x 1tb WD EACS drives, software RAID5 2tb capacity, 4gb Flash boot drive, Ubuntu 8.0.4 Server edition Capture: 1x HD-PVR -> Motorola DTC6200 Clients: 1x STX-HD100 1x STX-HD200, Windows & OSX Clients Last edited by Ikarius; 03-19-2009 at 03:02 PM. |
#7
|
|||
|
|||
Quote:
You do have a nice way with words
__________________
Server - Win7 64bit, 2.4Ghz Intel Core 2 Duo, TBS 6284 PCI-E Quad DVB-T2 Tuner, 3 x HD200 & 1 x HD300 extenders |
#8
|
||||
|
||||
Quote:
Quote:
Edit: Turns out I'm already capturing the roles and didn't' realize it Code:
+ Success (11) - $$actorPicture$$ = (actors/26028.jpg||actors/26026.jpg||actors/26025.jpg||actors/26024.jpg||actors/26027.jpg||actors/26023.jpg||actors/81293.jpg||actors/80016.jpg||actors/77760.jpg||actors/77759.jpg||actors/77758.jpg||) - $$actors$$ = (Edward James Olmos||Mary McDonnell||Katee Sackhoff||Jamie Bamber||James Callis||Tricia Helfer||Kate Vernon||Michael Trucco||Michael Hogan||Kandyse McClure||Grace Park||) - $$roles$$ = (William "Husker" Adama||Laura Roslin||Kara "Starbuck" Thrace||Lee "Apollo" Adama||Gaius Baltar||Six||Ellen Tigh||Samuel T. Anders||Saul Tigh||Anastasia Dualla||Sharon 'Boomer' Valerii||) - $$actorsCombined$$ = (Edward James Olmos||http://www.theTVDB.com/banners/actors/26028.jpg||Mary McDonnell||http://www.theTVDB.com/banners/actors/26026.jpg||Katee Sackhoff||http://www.theTVDB.com/banners/actors/26025.jpg||Jamie Bamber||http://www.theTVDB.com/banners/actors/26024.jpg||James Callis||http://www.theTVDB.com/banners/actors/26027.jpg||Tricia Helfer||http://www.theTVDB.com/banners/actors/26023.jpg||Kate Vernon||http://www.theTVDB.com/banners/actors/81293.jpg||Michael Trucco||http://www.theTVDB.com/banners/actors/80016.jpg||Michael Hogan||http://www.theTVDB.com/banners/actors/77760.jpg||Kandyse McClure||http://www.theTVDB.com/banners/actors/77759.jpg||Grace Park||http://www.theTVDB.com/banners/actors/77758.jpg||) Last edited by evilpenguin; 03-19-2009 at 03:20 PM. |
#9
|
|||
|
|||
Yeah, I thought that might be an issue.
__________________
Server - Win7 64bit, 2.4Ghz Intel Core 2 Duo, TBS 6284 PCI-E Quad DVB-T2 Tuner, 3 x HD200 & 1 x HD300 extenders |
#10
|
||||
|
||||
Not quite sure why this is in the SageMC forum, I'm pretty sure metadata isn't a SageMC exclusive.
How about having the Tags so that they can be directly parsed for display. ie: Season\ Number Episode\ Title Quote:
John |
#11
|
||||
|
||||
I put it in SageMC as I believe there's more active STV development under SageMC than under the default STV. Other developers are welcome to join the discussion, but I suspect that we'll be implementing some APIs to make things work "better" with the custom metadata in SageMC. Perhaps that's the wrong way to go, and we should add a fresh "extra metadata" API that's not tied to SageMC- discussion is welcome.
On Parental Ratings - ouch, that's an interesting point. Of course, I have several friends who've tried using the core sagetv parental controls, and they've expressed a bit of frustration with the base implementation.
__________________
SageTV 6.6.2, SageMC+CenterSage Theme Server: Intel Core2 Q6600, 8gb memory, 3x 1tb WD EACS drives, software RAID5 2tb capacity, 4gb Flash boot drive, Ubuntu 8.0.4 Server edition Capture: 1x HD-PVR -> Motorola DTC6200 Clients: 1x STX-HD100 1x STX-HD200, Windows & OSX Clients |
#12
|
||||
|
||||
Has anyone given some thought to using this new metadata to improve the Intelligent Recordings? This should probably be directed at both developers and Sage themselves*. But, I think just about everyone can agree that the IR aspect of Sage is sorely lacking.
To give a perfect example, I recorded a Pay-Per-View event the other weekend using Sage. To do this, I needed to add the channel to the lineup and tell it when to record. The only thing the guide shows is "Pay-Per-View" as the title; no description, no actors, nothing. Now, IR has recorded two additional "Pay-Per-View" showings, which I hadn't paid for, so I got a nice "do this to order" message for 3 hours. Kinda funny, actually. But, I think this new metadata could work wonders for improving IR. *I hate to bring up the "T" word, but Tivo does have IR nailed and I'd love to see Sage get closer. That actually brings up a thought: I believe Tivo has the "Suggestions" methodology patented, so this might NEED to be done by an STV developer to avoid a lawsuit. I'm going to reach for the stars for just a moment here--beyond what I'm really thinking about above--and throw this out: Imagine that this metadata could pull info from Twitter, blogs, RSS, Facebook and other social networking sites and see what people we know, listen to, trust, respect, read about (etc), are watching and recommending and then, if we wanted, record those things. Talk about a great way to get the word out and find out about new programming! |
#13
|
||||
|
||||
Quote:
One of the strengths of SageTV is that the core API is UI-agnostic. That's what makes SageMC possible in the first place. So it seems sensible that any third-party extensions to the core API should follow that same policy of UI-agnosticism as much as possible to avoid fragmenting the developer community.
__________________
-- Greg |
#14
|
||||
|
||||
Quote:
Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#15
|
||||
|
||||
I'd like to think that these names are more for standardized internal book keeping rather than for display purposes. Not so much for localization, rather I certainly hope that STV dev's do something prettier than just print out a table of property name and value
|
#16
|
||||
|
||||
Quote:
Quote:
Having the tags as directly displayable, doesn't remove the ability of an STV dev to do something pretty, or to do any localization. John |
#17
|
||||
|
||||
Quote:
Although I don't know see it relates to this. Maybe I'm just not understanding why you want it. Can you give me your use case for wanting the property names to be the same as the display names? |
#18
|
||||
|
||||
Quote:
I don't envision that many, if any of them would ever need to be edited, but as there is no limit to the values that could be used, it's logical to display them directly. John |
#19
|
||||
|
||||
I can see that. Considering its just a 2 second change for my code I'll let you STV guys hash it out.
|
#20
|
||||
|
||||
Quote:
How about this for a compromise... since I really don't want to make "key" names used as display labels. Currently, I'm storing a list of Sage Properties and Extended Properties, so I can easily add some additional fanart/metadata apis that will return the array of extra metadata fields, and allow you to call GetMetadataLabel(key) and GetMetadataDescription(key) for each key. For now, the labels and descriptions are not localized, but that is certainly something that we can add later, and it will be transparent to the stv, since it will get encapsulated within the GetMetadataLabel(key) api call.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
DST discussion | mikejaner | SageTV Software | 53 | 03-18-2010 07:08 PM |
Clean out old metadata created by My Movies before creating new metadata for SageTV? | Texas-Hansen | SageTV Customizations | 0 | 02-12-2009 10:31 AM |
EPG discussion | korben_dallas | General Discussion | 1 | 12-14-2004 05:30 PM |