Jump to content

My Theme - Prometheus


BeppoMonkeyBoy

Recommended Posts

BeppoMonkeyBoy

 

  1. There is an issue using the new style config menus, when you change the view type, focus is then redirected back to the media but the menu is still open and you cannot navigate to it. I preferred the look of the original menu system.
  2. When you have the view set to thumbs it is difficult to see which is the selected item, you dim the unselected posters but the logoart and text are still at 100% brightness.
  3. Not sure on the chapter selection fly out, for one the background is too see through so a lot of the details screen is still visible. Secondly not a fan of this fly out, would be worth playing with the possibility of the chapter selection replacing the cast list in a horizontal scroll.
  4. Not a fan of having synopsis when using poster view, I like a full screen of posters, i'll get the synopsis when I enter into the details screen. Would be nice to have an option to remove it.

Thanks so far for a great looking theme, I use it as my main theme.

 

 

Just fixed 2. this morning so i wouldn't forget, its a 2 second fix.. but you'll have to wait till the next beta release.

Link to comment
Share on other sites

Cheesegeezer

70 was my test number, so i could see about sorting the returned collection in some way, it's actually pretty fast at the moment, just playing around with the api stuff, as I only started messing with it to get the series rating information, but started to think bigger.

Did you manage to get it working. Thats pretty cool mate!!

Link to comment
Share on other sites

BeppoMonkeyBoy

Did you manage to get it working. Thats pretty cool mate!!

 

The series rating? or the next up sorting?

 

I did get series rating to work through the API calls :)

  • Like 1
Link to comment
Share on other sites

Cheesegeezer

The series rating? or the next up sorting?

 

I did get series rating to work through the API calls :)

Yeah was on about series rating. I personally think this should be a core function and not a theme based exposed property.

 

@@ebr can you look into exposing this as currently only final items show rating for both imdb and RT.

Link to comment
Share on other sites

BeppoMonkeyBoy

I did it like this. :) you pass it the series Guid

      public Single UseAPIQuery_GetSeriesRating(Guid guid)
        {
            Single sngRating = 0;
            Guid guidUserId = Kernel.CurrentUser.Id;

            string strurl = string.Format("{0}Users/{1}/Items/{2}", this.strMediaBrowserUrl(), guidUserId, guid);

            MediaBrowser.Model.Dto.BaseItemDto objBaseMediaItem;

            try
            {
                using (var objstream = MediaBrowser.Library.Kernel.ApiClient.GetSerializedStream(strurl))
                {
                    objBaseMediaItem = DeserializeFromStream<MediaBrowser.Model.Dto.BaseItemDto>(objstream);
                }

                //MediaBrowser.Library.Logging.Logger.ReportInfo("Prometheus: 'Get Series Rating API URL:'" + strurl);
                //MediaBrowser.Library.Logging.Logger.ReportInfo("Prometheus: 'Get Series Rating:'" + objBaseMediaItem.Name + " - " + objBaseMediaItem.CommunityRating.ToString());
                return sngRating = Convert.ToSingle(objBaseMediaItem.CommunityRating);
            }
            catch
            {
               // MediaBrowser.Library.Logging.Logger.ReportInfo("Prometheus: Series Rating 'Error:'");
            }

            return sngRating;
        }
Edited by BeppoMonkeyBoy
Link to comment
Share on other sites

I can fix that with one line of code in the core and you guys can stop re-retrieving the whole object.

  • Like 1
Link to comment
Share on other sites

Cheesegeezer

I did it like this. :) you pass it the series Guid

 

      public Single UseAPIQuery_GetSeriesRating(Guid guid)        {            Single sngRating = 0;            Guid guidUserId = Kernel.CurrentUser.Id;            string strurl = string.Format("{0}Users/{1}/Items/{2}", this.strMediaBrowserUrl(), guidUserId, guid);            MediaBrowser.Model.Dto.BaseItemDto objBaseMediaItem;            try            {                using (var objstream = MediaBrowser.Library.Kernel.ApiClient.GetSerializedStream(strurl))                {                    objBaseMediaItem = DeserializeFromStream(objstream);                }                //MediaBrowser.Library.Logging.Logger.ReportInfo("Prometheus: 'Get Series Rating API URL:'" + strurl);                //MediaBrowser.Library.Logging.Logger.ReportInfo("Prometheus: 'Get Series Rating:'" + objBaseMediaItem.Name + " - " + objBaseMediaItem.CommunityRating.ToString());                return sngRating = Convert.ToSingle(objBaseMediaItem.CommunityRating);            }            catch            {               // MediaBrowser.Library.Logging.Logger.ReportInfo("Prometheus: Series Rating 'Error:'");            }            return sngRating;        }
Not too disimilar to what i'm using

 


        internal static ArrayListDataSet GetRecommendedSet()
        {
            RecommendationDto rdto = null;
            Logger.ReportInfo("IRIDIUM - Attempting to Get Recommended Items for this folder");
            try
            {
                RecommendedSet.Clear();
                Guid id = Kernel.CurrentUser.Id;
                Guid folderId = Application.CurrentInstance.CurrentItem.Id;
                const string category = "1";
                const string limit = "5";

                //BecauseYouWatchedName = dto.BaselineItemName;
                rdto = APIQuery.GetRecommendedItems(id, folderId).FirstOrDefault();
                if (rdto != null)
                {
                    BecauseYouWatchedName = rdto.BaselineItemName;
                    //Logger.ReportInfo("************ IRIDIUM - RecommendedTypes = {0}", dto.RecommendationType.ToString());

                    foreach (BaseItemDto i in rdto.Items)
                    {
                        {
                            Item item = GetGenericItem(i);
                            if (item != null)
                            {
                                RecommendedSet.Add(item);
                            }
                        }
                    }
                }

                //Random rand = new Random();
                //int r = rand.Next(RecommendedSet.Count);
                //return RecommendedSet[r] as ArrayListDataSet;
                
            }
            catch (Exception fuckinShite)
            {
                Logger.ReportError("IRIDIUM - Error Retrieving Movie Recommendations List {0}", fuckinShite.ToString());
            }
            return RecommendedSet;
        }
;)
Link to comment
Share on other sites

Cheesegeezer

I can fix that with one line of code in the core and you guys can stop re-retrieving the whole object.

Yup thats perfect. I knew it would be an easy fix. Let us know when its done and what property you have exposed. Cheers

Link to comment
Share on other sites

The property already is there, it just isn't getting filled in on Series.  It is Item.ImdbRating and Item.CriticRating (although, I'm not sure the latter will exist for series).

Link to comment
Share on other sites

Cheesegeezer

The property already is there, it just isn't getting filled in on Series.  It is Item.ImdbRating and Item.CriticRating (although, I'm not sure the latter will exist for series).

Well thats even better, no changes required for themers which is good. If RT doesnt exist thats no biggy, you can only use what info you have.

Link to comment
Share on other sites

 

  1. Not a fan of having synopsis when using poster view, I like a full screen of posters, i'll get the synopsis when I enter into the details screen. Would be nice to have an option to remove it.

Thanks so far for a great looking theme, I use it as my main theme.

 

 

 

I totally second this!!!!!!

 

:D

Link to comment
Share on other sites

yardameus

Thanks, I have to say theme dev is hard but that's mostly due to lack of support or experience with mcml, hopefully once MBT supports theme's it will be a lot easier to work with. Has to be noted that Cheesegeezer, is a very helpful resource.

 

I realize however I'm going to have to update my screen shots, so i can get more feedback from what I'm currently doing, I like my new menu's (I say new but its basically chocolates with a few tweaks), but navigating to them can be a bit of a git at the moment.

 

I have added a new button to my current dev build (not released it yet.) which shows a pop-up of all (well 70) of your next up items, I find this really useful, plus its a good excuse for me to play with API calls, (just need to work out how to sort the list so its more intuitive), I'm going to make it so you can turn this off too, as a lot of people probably just use the new next up feature with TV views, but my own system is a bit more customized (I use views but not the grouping), plus this list is accessible from all screens (except the final details screen), also planing a similar button for resume-able items.

I was messing around with this last night, and I was having trouble navigating to the config menu (or any of the menus for that matter).  I was going to completely re-install the theme today and try it again (just to clear out any accidental leftovers from previous versions.)

Link to comment
Share on other sites

BeppoMonkeyBoy

Posted a new version (15.3.19.1759), I'm a bit nervous about this one as i've added a few api calls to various bits so it might require a lot more testing...

 

this version includes my next up button, and some new view options, (like turning off the infobox on poster and coverflow, at the moment you have to set the option go out of the view and then back in.. still working though the bugs, pus i want to make the poster scroller resize, not sure how to do that at the moment due to the way ive done it.)

 

also fixed a bunch of menu nav issues, because "if in doubt use the mouse" isn't very helpful, there are a load more changes, but i'v been doing them gradually over the last few days, so i can't remember them all :)

  • Like 1
Link to comment
Share on other sites

BeppoMonkeyBoy

New Screenshots, feedback is always welcome, I m aware that I need to make the poster view fill out the space left when you hide the infobox, I'm working on it, (turning the infobox off on coverflow works too)

post-3989-0-79514900-1426869590_thumb.png

post-3989-0-66965200-1426869598_thumb.png

post-3989-0-10257600-1426869616_thumb.png

post-3989-0-20723600-1426869629_thumb.png

  • Like 2
Link to comment
Share on other sites

Overseer

This reminds me that I need to rip Buffy, Angel and X-Files to the server for the wife.

 

Do you have Switch User function on your plate? Even though your theme isn't done its the only one I'm using now.

Link to comment
Share on other sites

BeppoMonkeyBoy

This reminds me that I need to rip Buffy, Angel and X-Files to the server for the wife.

 

Do you have Switch User function on your plate? Even though your theme isn't done its the only one I'm using now.

 

The switching user function is already done though the little menu, just like chocolate does, my current build which i will update later today (tonight), will have a few bug fixes, (namely the context menu doing odd things), a a few layout changes, also dumped a load of resources from the project that I don't use anymore, so the file is a lot smaller, I'm in the process of revamping the details page, as I've never been happy with how the chapters look, and i need to rejig a few things to support extras, and possibly my actor details screen, (which is not implemented yet.)

Link to comment
Share on other sites

BeppoMonkeyBoy

I did up a new version last night BTW, a few tweaks and bug fixes, I did add a like/dislike option to the context menu, and I cleared up the in theme mediainfo icons, which as of the latest MBC update are now correctly pulled from the theme, thanks to to guy who posted the link in the iridium thread to his icon sets, as i like them more than the ones that I was trying to implement :D, I'll have to search out his name to give him credit.

 

I'm currently tweaking with the chapters fly out as its been noted that it's a bit ugly, mostly because its design is straight from chocolate, and doesn't fit in with my layout, I have basically finished what i what i was intending to do with it, but I need a bit of work in terms of hiding the chapters layout, once you are done with it.

 

Interesting thing of note, I've noticed since the move to MBC when using the record button, or ctrl+r I think it is, it used to refresh the metadata from the correct sources, MBC appears to just reload the item (which is ok if the refresh has gone on in the background on the server, the the item in MBC just needs to be refreshed), in the last few build i've messed with this, and in my theme, it fires off a refresh to the MBS, (not-over writing images), and then reloads the item, not sure if you find this useful (I do as i like the ratings in all my views and sometimes it take a few days to appear on thetvdb).

Link to comment
Share on other sites

... in the last few build i've messed with this, and in my theme, it fires off a refresh to the MBS, (not-over writing images), and then reloads the item, not sure if you find this useful (I do as i like the ratings in all my views and sometimes it take a few days to appear on thetvdb).

 

The core already does this.

Link to comment
Share on other sites

BeppoMonkeyBoy

The core already does this.

 

It didn't seem to do it at all, I added in a call to the api to force a refresh on the item id, and then call the normal item refresh, only then did it update, I tested this by manually changing ratings to 1 and then doing a refresh. in chocolate it simply says "refreshing {item}.." then it stays the same... in Prometheus, it pulls it back correctly.

Link to comment
Share on other sites

BeppoMonkeyBoy

I did try and write a server plugin to periodically request updates to items that don't have ratings data but i couldn't get it to work correctly, so for most I've been doing it manually, the library scan doesn't seem to do any house keeping tasks like that, so i assumed i was missing something.

Link to comment
Share on other sites

Adding the redundant call probably just made it take enough time for the change to take effect.  The problem is the refresh call is asynchronous.  The core waits one second before refreshing but that may or may not be enough time.  However, the server will also notify us when the item has been refreshed which will also trigger us to reload it.

 

But, I can guarantee you the core is sending the refresh call. 

Link to comment
Share on other sites

BeppoMonkeyBoy

Looking at this using fiddler.. Chocolate calls

 

http://192.168.74.133:8096/mediabrowser/Items/d3e95b4de58f2746bbf9972151d99f5d/Refresh?format=Json

 

which is indeed asking for the data to refresh, but in my setup its not pulling down ratings changes,

 

I'm asking it to do it like this.. Granted its still doing the core request just after..

 

http://192.168.74.133:8096/mediabrowser/Items/d3e95b4d-e58f-2746-bbf9-972151d99f5d/Refresh?Recursive=true&ImageRefreshMode=FullRefresh&MetadataRefreshMode=FullRefresh&ReplaceAllImages=false&ReplaceAllMetadata=true&format=Json

 

I'm thinking of making this something that can turned off, since it might be something that only works for me and is unnecessary for everyone else.

 

Link to comment
Share on other sites

Yes the core is only making the default call to the server - so whatever happens with just a default refresh.

Link to comment
Share on other sites

Maleficarum

Not too disimilar to what i'm using

 

catch (Exception fuckinShite)
            {
                Logger.ReportError("IRIDIUM - Error Retrieving Movie Recommendations List {0}", fuckinShite.ToString());
            }
            return RecommendedSet;
        }

 

Nice exception naming Mr Cheese :)

Link to comment
Share on other sites

BeppoMonkeyBoy

Nice exception naming Mr Cheese :)

 

Some of my logging, says things like "Well that's not very smart", and "Ah sod it then." but I've started to clean it up a bit in case I decide to release the source code at some point, or even let other people contribute to the project.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...