Monday, June 6, 2011

0.9.4 Status

Hey Everyone:

I wanted to put out another post to say that I am still here and working.  I am currently waiting for Thumbgen to release a new version with a specific new Token.  Once this is released, I will be able to efficiently automate the blu-ray user scores and also automate getting the actual Aspect Ratio (Will use the decimal ratio1.78:1 instead of the fractional16:9 that thumbgen pulls up automatically in the MediaInfo, for example.) from Blu-ray.com and IMDB, depending on the media type.  I don't have a way to implement it quite yet because I am waiting on that Token from Thumbgen, but I am making the assumption this will only be able to happen when you have Blu-ray.com is used as a collector.  I will go into it more once I have it coded.

I am really excited about this release and am looking forward to providing you guys with a new version.  Bare with me, and I will get it out as soon as I can!
TICKET INFORMATION:
http://thumbgen.lighthouseapp.com/projects/57477/tickets/177-collector-url#ticket-177-1
Current Ticket Status: Accepted.
FORUM INFORMATION:
http://forum.wdlxtv.com/viewtopic.php?f=25&t=21&start=66

Have a great week everyone!
Jim

Monday, May 23, 2011

Frequently Asked Questions

What is a moviesheet?
  • A moviesheet is a JPG image generated by inserting screenshots and movie data into a template, to be displayed before opening a movie file.
 
Why would you want to use a moviesheet?
  • So in my case, instead of using disc based media (DVD's, etc) I keep all of my purchased movies on a hard drive bank, called a Network Attached Storage [NAS] drive. I then use a player [WDTV Live Plus with the B-Rad's WDLXTV firmware loaded on it] to browse and then play the movie files from my NAS on to my TV. Usually, when you are selecting a movie file, it would look something like this. Let's be honest - this is way boring. So, with the proper amount of configuration, instead of displaying the box and the movie name - it shows all the information you could possibly want to know about the movie.  A few examples of moviesheets are available at the end of this blog post.

How do I use those nifty Video and Audio quality badges that I see in your screenshots, in my movie sheets?
In Thumbgen's "Comments:" field, you may add any of the following (on its own line) to produce the quality rating for video - Shown in a 5 star scale.  Any of the following are valid input to create a video quality badge.

  • p 3/5
  • P 3/5
  • Picture 3/5
  • picture 30/100
  • p 3.4/8
  • p 3.75/10.8
Using the same naming conventions, you can do the same thing for the "Audio" quality badge.  Eventually, I have plans to Automate this, so that the template will get the badge for you automatically when you load the template, if you desire.


The background of the template doesn't match the background of my player.  How can I fix this? 
You have two options:
  • Change your player to match the templates - Because all players are different in the configuring the background, I will leave you to research how to do this for your specific player.  What you will need however, is the image file that is used for the background of the templates.  You can find this at \\Templates\Common\RedVelvet.jpg.
  • Change the templates to match your player - First off, you will need to get a copy of the 1280x720 image that your player uses.  The easiest way to go about changing the template background from here would be to rename your image "RedVelvet.jpg" and then copy it into the \\Thumbgen\Common\ directory.  Alternatively, you can copy your background image into the Common directory.  Then, go through the 3 "template.xml", and find the Template -> ImageDrawTemplate -> Elements -> ImageElement, with the name of "Background".  Change the "Source Path" value of this node to "%PATH%\..\Common\[YOUR PICTURE NAME].jpg"
I really like your templates and I would like to stay current with your updates.  How can I keep in touch?
  • Feel free to add me on Facebook.  I post updates and other information and give alerts when I put new builds out.  Find me at my Facebook Profile.  Also, you may check back at the main page of this blog to see whats new.
 How can I help improve the quality of these sheets?
  • I am definitely open to new suggestions for the code.  If you have a good idea that could make my sheets more usable to you, then I would LOVE to hear about it. Please leave a comment here or email me at jhspyhard@hotmail.com, with "SHEET IDEA" as the subject line.
  • Bugs?! Where's my fly swatter!?  I've done my best to release the highest quality code possible, but it is of course almost impossible to release completely bullet-proof code.  If you find a bug or something that doesn't seem correct, please let me know so I can correct it. Please leave a comment here or email me at jhspyhard@hotmail.com, with "SHEET BUG" as the subject line. Let me know which sheet you were using when you found the error and you may want to include a ThumbGen metadata file so that I can recreate your problem easily.

Version 0.9.3a

Another nice update.
Download JHSMoviesheets 0.9.3.

Features added to the templates during this release.
  1. JHS Movie Sheets
    • Auto Empty Values - Added code to use a value of "n/a" if the Thumbgen value for that text field is empty. 
    • Reposition of Studio Graphic - I had changed this value before, I am changing it one more time.  Hopefully this will be the last time I will need to worry about it.
  2. JHS Season Sheets
    • Copy/Paste Problem- A bug introduced in 0.9.2, where the graphic used for the disc box is a season box.
    • Code Consolidation - Removed unused / redundant methods; Reused the getStatBoxPosition( ) function instead of the custom getSeasonStatBoxPosition( ).
    • Auto Empty Values - Added code to use a value of "n/a" if the Thumbgen value for that text field is empty.
    • SPECIFIC TO 0.9.3A - Removed rogue debug "Test" popup dialog.
  3. JHS EpisodeSheets
    • Auto Empty Values - Added code to use a value of "n/a" if the Thumbgen value for that text field is empty.
    • Sporadic Failure of Studio Graphic - I am not sure why this happened off and on, but I am pretty sure I have a fix for it.  Removed the separator value from the Template Settings node.
    •  Reposition of Studio Graphic - I had changed this value before, I am changing it one more time.  Hopefully this will be the last time I will need to worry about it.
  4. Generic
    • Added Line Numbers To Debug Output - Added the code line number, after the method name from which the debug statement was called from the source code.

Friday, May 6, 2011

New Features, Bug Fixes - Version 0.9.2

Hey everyone.  This update is gonna be huge!

Download JHSMovieSheets v0.9.2 

Features added to the templates during this release.
  1. JHS Movie Sheets
    • Tokens Centralized - Put the Thumbgen tokens that the JHSMovieSheets suite uses, into its own file.
    • General Code Optimizations and Documentation - Removed unused functions + code.
    • Studios Image Automation - Shows you the first available studio image in your repository, from your list of studios.
  2. JHS Season Sheets
    • Tokens Centralized - Put the Thumbgen tokens that the JHSMovieSheets suite uses, into its own file.
    • General Code Optimizations and Documentation - Removed unused functions + code.
    • Automatic Episode Name Newline Spacing - If an episode name takes up too much space to fit on a single line, the episode numbering will automatically be adjusted to accommodate the extra line.
    • Dynamic Season / Disc Boxes - Added dynamic resizing capability to Season / Disc statistic boxes.
  3. JHS EpisodeSheets
    • Tokens Centralized - Put the Thumbgen tokens that the JHSMovieSheets suite uses, into its own file.
    • General Code Optimizations and Documentation - Removed unused functions + code. 
    • Dynmaic Season / Episode Boxes - Added dynamic resizing capability to Season / Episode statistic boxes. 
    • Added Studio Graphic and Image Automation -  Shows you the first available studio image in your repository, from your list of studios. 
    • Added A Guest Cast Auto Value - If no value exists for this, "n/a" is automatically displayed.
    • Inconsistent Image Quality Badge Image - Fixed this bug.
  4. Generic
    • Development Run/Compile Time Debug Output Capability - This provides a template developer a hook to get data at run time to view variables as they are processed, without having to short-circuit your method.  (You would be more or less, pausing execution) This is HUGELY helpful when designing the C# methods.

The new-line capability was especially tricky to get working.  The first approach I tried was counting the number of times that a certain character could be typed on a single line without going to a new line.  I then divided that number by 254 (the line width for episode names) to produce the width of the character.  However, I recognized pretty quickly this approach had problems.  Not only do you have up to .0005 rounding error, but also the end of line error since the individual characters won't divide into 254 evenly every time.  For example, if you have a line length of 30 and a character's ACTUAL width is 9, you can put 3 of those characters on a single line without it resetting to the next line. However, the calculated width would be 10 (30 width / 3 total), so you can see how error can be introduced that way.  When I decided that this error was producing too many false positives for new lines, I discovered that I can use Window's system libraries by using an XSL import statement (SO COOL!!) I started using the MeasureString( ) method to get the pixel count.  From the preliminary testing I have done, it looks pretty spot on, with no (or at least, a WHOLE lot less) false positives.

Anyways, it was fun creating this and I hope you guys have as much fun using it as I did making it.

Jim

Monday, April 25, 2011

JHS Season Sheets

Hey everyone!


Today I going to give examples of and describe the features and usage of the JHS Season sheets as of v0.9.1.

My season sheets are designed to be used with episode based seasons.

PRIOR MENTIONED FEATURES:
It contains many of the same features as the Movie Sheets do. I will give a brief list of these items and if you wish to know more about them, you may browse to my Movie Sheet Blog Post to read up further on their specifics and usage.
  • Dynamic Media Info Boxes - This is exactly the same as the movie sheets with one exception.  Since the season sheet is typically being assigned to a folder, as opposed to a file, in your file system, there is no file size (FSZ) info box for this sheet. Given the maximum amount of data, you have the possibility to have 5 boxes instead of 6.
  • Hidden Tags - Exact same feature from the MovieSheets (Subtitles; Tagline).
  • Picture and Sound Quality Ratings - Exact same feature from the MovieSheets.

FEATURES NEW TO THE SEASON SHEET

  • Episode List - This represents a list of episodes, and it is installed where the two smaller pictures were in the movie sheet.  Currently, there is room for 21 single line episodes.  Bear in mind if you have episode names take up more than one line, that number will go down. When you do have episode names that are really long and do take up more than one line, you have to be able to compensate for that and move the next episode number to a new line.  You do this using the "nl" command inside of your Episode Lists input in Thumbgen. For example:
Episodes List:     [1,2,3,4,5,10]
Episode Names: [Episode A, Episode B, Some Extraneously Long Episode Name That Won't Fit, Episode D, Episode E, Episode F]

Will be displayed like this in the template:
  1  Episode A
  2  Episode B
  3  Some Extraneously Long Episode Name That
  4  Won't Fit
  5  Episode D
10  Episode E
      Episode F

Notice that the Episode List value didn't change even though Long Episode name wrapped around to the next line.  I have come up with a way to make this work using the following syntax:

Episodes List:     [1,2,3,nl,4,5,10]
Episode Names: [Episode A, Episode B, Some Extraneously Long Episode Name That Won't Fit, Episode D, Episode E, Episode F]

Will be displayed like this in the template:
  1  Episode A
  2  Episode B
  3  Some Extraneously Long Episode Name That
      Won't Fit
  4  Episode D
  5  Episode E
10  Episode F

Currently, adding this newline when an episode name is too long, is a manual process. Eventually, I would like to have this be done automatically for you. Another thing to notice here is the formatting for the numbers that are less than 10.  I have put in custom code to right justify this text.

The following two boxes are static.  If no value is provided, then they still remain visible.  I will change this in a future release in order to make them similar to the Media Info Boxes so that they disappear and center the remaining box when no input is present.

  • Season Number Info Box - This box shows the season. [BUG ALERT: There is something going on here in which I have not figured out yet, where regardless of what integer you put into the Thumbgen Season field, it ALWAYS seems to display the season you use in the file name, i.e. S02E16_File_Name.m2ts - regardless of what you put in the season box, season will ALWAYS display '2'.  If this turns out to be a Thumbgen flaw, I may introduce a work-around through the comments box at some point in the future.
  • Disc Number Info Box - This box shows the value of disc(s) which this season resides on.  Because this is not a Thumbgen field, you must use the comments box to introduce this field using the following syntax on its own line:
[disc || d ]  <DISC_VALUE>

Valid Input:
disc 10
d 1-4
d DISC!

Other than that, there is no Studio graphic in this one at this time.  This is another change I would like to make in the future, since that space next to the subtitles isn't being used anyway. That covers all the specially added and the not-obvious features for the Season Sheets.





Sunday, April 24, 2011

BugFix Version 0.9.1

Download JHSMovieSheets v0.9.1


General:
 * n/a
MovieSheets:
 * n/a
SeasonSheets:
* Fixed a bug with the new line character, "nl", in the %EPISODESLIST% list if it is placed between two numbers that are < 10. This bug caused the sheet not to render with a Improper Format pop-up warning.
EpisodeSheets:
* n/a

Hey everyone.  If you have no idea what the "nl" value is, or what the hell this crazy developer is talking about, no worries. I am planning on sitting down tomorrow afternoon and doing a full features run-down on both the Episodes and Seasons sheets.  All shall be revealed!

I hope everyone has a great week!

Saturday, April 23, 2011

JHSMovieSheets FINALLY available for Download.

 Hey guys,
I know there have been a lot of visits to my blog of people wanting to check out my sheets.  No one has left any comments yet, but I assume you are looking to download a copy of my templates. The move to our new location was pretty crazy and work has been even crazier the last couple of months, so my apologies to everyone who came and thought my sheets were cool but couldn't download them.

So, without further adieu or excuses, I present JHSMovieSheets v0.9.0.  Here are the newest features I have put into this one.

General:
 * Re-factoring of the overall code.  Total size is now down from 40 MB of hard drive space, to 12 MB.  This is one of the main things that was holding me back from uploading these before.  Huzzah!
MovieSheets:
 * I installed a function to traverse through the list of Studios and use the first one in the list which has a studio icon.  Bare in mind that the icon path MUST  be \\Thumbgen\Templates\Common\Studios\ and the studio icons MUST have a .png file extension.  Otherwise, the studio icon will be left blank.
SeasonSheets: n/a
EpisodeSheets: n/a

I still want to go through and detail what the SeasonSheets and EpisodeSheets offer and provide you guys with some examples.  Next time, but I swear I won't let 3 months go by without posting.  Thanks for sticking with me and I hope you enjoy the sheets! :)

Jim

Wednesday, January 12, 2011

New Features To Be Added

I spent some time this last weekend downloading some other templates and finding out what stuff is out there that would be a good addition to my sheets. One thing I found that I really liked was Common coding components. Currently, with the Movie sheets, the Season sheets and the Episode sheets, I have 3 sets of the same images in many cases that I am using for the template design. Next time I find some spare time, I am going to take a page from Buhric's book and re-factor my code to include a 'Common' folder then have all three of my templates pull from there. This should cut the size of the Movie sheets folder down by 2/3. Worth my time, I think. Obviously this is a coding best practice anyway.  But, as I am fairly new to coding with XSLT, I didn't know it was something that could be done.  It will be done!

Speaking of Buhric, as I was browsing through his template's code, I found a method that allows him to look through the list of studios provided by ThumbGen and produce and returns the image for the first one on the list that HAS an image in the Studios folder. With my sheets now, this is a manual process and it would really cool to implement a version of this for my sheets.  It would save me a whole lot of time.

Another change I would like to make would be to increase the size of the studio graphics in the template. They seem to be a tad too small, in relationship to the other graphics in the media format row.

Another thing that I saw that I really liked was some US_Certification images that were fairly standardized. The ones that I have now are squares that I created that honestly don't look as nice as they could. I borrowed those from an original version of the Cylent Showcase, that wasn't overrun with the Aussie versions since the template I originally started with had the US certs removed. About moving the Cert image to the end of the media format row and put it between the studio and the subtitles box.

I signed up for a MediaFire account so for those of you who wish for a copy of my template, after I finish the above round of changes, I will put them up and drop a link here in the blog. I have a move coming up later this month, but hopefully I will still have time to finish these changes and get the templates up before then.

This evening or tomorrow, I will do a post talking about my Episode and Season sheets, with samples :]

Hope everyone is having a great Wednesday!
Jim

Friday, January 7, 2011

Background Distribution

I wanted to give a shout out and say thanks to Stephen at BallastMedia.com for giving me the OK to use / distribute his wonderful background that I use with my movie sheet templates, in addition to the background on my media player at home.

Thanks dude!

Thursday, January 6, 2011

JHS Movie Sheets V0.9.0

BACKGROUND:
First I will provide a little background.  These movie sheets are designed to be used with ThumbGen application.  This highly configurable and powerful application allows you to create a 'movie sheet', a JPEG image containing IMDB information on a movie, up to four screen shots and many other pieces of information.  If you own a streaming media player such as the WDTV Live, this application is an absolute must-have.

The basic templates are standard XML based.  On its own, this doesn't allow you much dynamic flexibility inside of the movie sheets.  Another aspect of the templates are the XSLT component.  XSLT allows you to perform on-the-fly dynamic changes to the movie sheets based on information provided to you.  Each template.xml file has its own template.xslt counter-part to perform the substitutions.


ABOUT:
Now, high level information about my movie sheet templates. My template was originally based upon Cylent's Multiplex Showcase Info variant.  I believe it was a Australian version, because the original didn't come with US certifications. I liked the cleanliness of that particular movie sheet layout, but at the same time, it provided a lot of pertinent information.  I only have been creating the full SHEET templates at this point.  In the future, I may make a version of the template for WALL and STD modes as well, but I don't like the idea because it will get rid of visual real estate and make it look sloppy.

I had originally used a different template for my TV Season and Episode sheets.  They turned out much more cluttered and sloppy than I preferred.  So, I redesigned them using my JHS sheets as my default template.  I will touch on these in a future post.

FEATURES:
  • Dynamic Media Info Boxes - There are six total data points that the Media Info section can display.  [Video Bitrate (VBR); Video Framerate (VFR); Video Aspect Ratio (VAR); Audio Bitrate (ABR); Number of Audio Channels(ACH); File Size (FSZ)] The great thing about this is you can have any variation of these. For instance, if you have values in VFR, ABR and FSZ, but not in VBR, VAR or ACH.  The tool will automatically display the three boxes that have values.  These displayed boxes and values will be centered on the main picture. I made this to ignore the 'VBR' (Variable) value that is sometimes placed in Video Bitrate and Audio Bitrate fields. The template will act like it is an empty value and not display it.
  • Different Color Themes for Media Info Boxes and Episode/Season and Season/Discs boxes - I thought the older color schemes, which had a palette of soft pastel colors, well... sucked.  So I changed those out for more distinguishable colors:  Red for Video, Blue for Audio, Green for File Size, Orange for TV Series Info. These colors easily distinguishable from each other and work well together.
  • Hidden Tags - Subtitles and tag line labels and quotation marks will disappear when there is no value for them.
  • Dynamic Run Time - IMDB has its stock listed run time, but I prefer to show the duration of the movie file if possible. If ThumbGen is able to determine the video file's length, it will display that in the run time field.  Otherwise, it will use the run time value retrieved by the collector.

  • Picture and Sound Quality Ratings - This is another feature that took me a while to figure out how to implement, but turned out very good.  I do custom parsing on the Comments field.  It can be used as follows:
p 3/5
P 3/5
Picture 3/5
picture 30/100
p 3.4/8
p 3.75/10.8

You can do the exact same thing with 'Audio' as well.  Both are mutually exclusive.  You can have a picture quality rating by itself, or an audio quality rating by itself or both together.  Regardless of the fraction used, the output score will be shown on a 5 star visual rating scale. 
I tend to use these for my Blu-ray movies.  I will manually pull the scores from Blu-ray.com and assign them to the movies, then save them in the TG Metadata for future use. When no PQ or AQ values are explicitly found, the rating pictures, as well as the labels, will disappear.  This is very handy for keeping the standard DVD movie sheets clean.

I have plans to go over more features soon.  Check back as this is a work in progress. Whenever I find somewhere to host them, I will make the templates available for download.

High Quality Blu-ray
Low Quality Blu-ray
An example of standard DVD sheet, without subtitles
Blu-ray sheet showing full media info and quality ratings
DVD sheet showing partial media info

Welcome to the JHS Blog

Thanks for visiting my blog.  Here, I will be detailing what I have done so far with my templates, as well as ideas for future features.  I will post lots of screen shots, and try to find somewhere to host the templates so that you may download them if you wish.  Please feel free to comment with any additional ideas you may have.

Jim