[Series] | Season [Season]
#Use this path for testing
#download_location => '$DESKTOP/mcutils_data/fanart_images',
#Use this path for production
download_location => '[FanartPath]',
movies => {
# default max number of movie category images
max_images => 1,
categories => {
hdmovieclearart => {
# overrides default max_images above for this category
# max_images => 3,
# overrides the name of this image download name to "movie_hdca"
name => 'clearart',
},
hdmovielogo => {
name => 'logo',
},
movieart => {
name => 'fanart',
},
moviebackground => {
name => 'landscape',
},
moviebanner => {
name => 'banner',
},
movielogo => {
name => 'logo2',
},
movieposter => {
name => 'poster',
},
moviethumb => { },
name => 'thumb',
},
},
tv => {
# default max number of tv category images
max_images => 1,
categories => {
seasonthumb => { },
hdtvlogo => {
name => 'logo',
},
regex([Filename (path)], /#(^[^\\]+?\\[^\\]+?\\)#/,-1,0)[R1]
pscriptor fanarttv --image hdtvlogo --type tv -VV
pscriptor fanarttv --image hdmovielogo --type movie -VV
pscriptor fanarttv --image movieposter --type movie -VV
pscriptor fanarttv --image moviebanner --image tvbanner:3 -FF type fromsubtype
Movie (Actor_ Names) template updated to v1.2.0 which adds ratings for recommended posters
https://yabb.jriver.com/interact/index.php/topic,135179.msg940349.html#msg940349
Also, what do you mean by "Replacing hard coded values with actual ratings".First proto was just using hard coded rating values to visualize the thingy. Now it fetches ratings from the library at the same time it fetches the poster paths
Save(Finnish, v_PRIMARY_LANG)/
Save(English, v_SECONDARY_LANG)/
Set 1 to show posters instead of textual recommendationsSave(1, v_USE_RECOMMENDATIONS_IMAGES)/
Set 1 to not calculate posterpaths and ratings live. (zstats runs will update the data)Save(0, v_RECOMMENDATIONS_IMAGES_ZSTATS)/
Set 1 to use thumbnail posters for (if big images seems to slow it down). you need to have [image file]-thumb.jpg images for this so default is 0 so basic [image file] value is used Save(0, v_THUMBS)/
do FieldQuery() only every 30 days so the time consuming calculation is not done every time you enter the movie screen so there is no delay in x daysSave(30, v_RECOMMENDATIONS_SCRAPE_EXPIRY)/
If([Cast Images,0],
Save(E://.MC Images//Movies//Clean([Original Title] /([Year]/))//Cast//, v_ACTOR_IMAGE_PATH),
Save(E://.MC Images//Actors//, v_ACTOR_IMAGE_PATH)
)
I've never seen CONFIGURATION stuff beforeThat is just something I invented to help my maintenance as actor folders etc might be different for different user. so it is easier to save path to variable and create one place all these variables are set
Save(E:\.MC Images\Music\Artists\Square\, v_Square)/
Save(ListLimit(ListShuffle(ListClean(ListMix(If(IsMissing([v_Square][L1].jpg),,[v_Square][L1].jpg__[L1]),8,[AMG Artist SimilarTo]),3)),5), v_similar)
ListMix(If(IsMissing([v_Square][L1].jpg),,[v_Square][L1].jpg__[L1]),8,[AMG Artist SimilarTo]
Parse through [AMG Artist SimilarTo] list and try to find artist image for every list item. If image is found then get filename for it and add artist name after it as sub list using __ as sub list separator. So this should return you something likeE:\.MC Images\Music\Artists\Square\The Beatles.jpg__The Beatles;E:\.MC Images\Music\Artists\Square\Bob Dylan.jpg__Bob Dylan
ListMix(<img src"ListITem([L1],0,__)">,8,[v_similar])
and under it you can print artist names yet another list mix. Repeat x there to help you align the text. You can dim it later or use space instead of x when you got your alignment right. I would also do v_imagewidth variable (- length of artist name) to easily change number there and then see the result and change the value again....and again....againSave(30, v_imagewidth)/
ListMix(ListITem([L1],1,__)Repeat(x,Math([v_imagewidth] - Length([L1]))),8,[v_similar])
trim( if(isempty([amg artist similar]),,ifelse(if(isempty(ListLimit([amg artist similar], 1, 0)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 0), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 1)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 1), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 2)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 2), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 3)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 3), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 4)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 4), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 5)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 5), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 6)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 6), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 7)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 7), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 8)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 8), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 9)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 9), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 10)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 10), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 11)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 11), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 12)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 12), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 13)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 13), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 14)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 14), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 15)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 15), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 16)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 16), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 17)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 17), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 18)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 18), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 19)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 19), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 20)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 20), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 21)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 21), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 22)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 22), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 23)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 23), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 24)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 24), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 25)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 25), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 26)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 26), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 27)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 27), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 29)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 29), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 30)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 30), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 31)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 31), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 32)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 32), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 33)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 33), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 34)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 34), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 35)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 35), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 36)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 36), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 37)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 37), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 38)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 38), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 39)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 39), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 40)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 40), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 41)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 41), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 42)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 42), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 43)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 43), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 44)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 44), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 45)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 45), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 46)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 46), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 47)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 47), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 48)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 48), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 49)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 49), \, / -/ ), ?, _).jpg"size="160x160">))ifelse(if(isempty(ListLimit([amg artist similar], 1, 50)),,<img src="C:\Jiver\Artwork\Similar\replace(replace(ListLimit([amg artist similar], 1, 50), \, / -/ ), ?, _).jpg"size="160x160">))))&datatype=[list]
Album Similartrim(
if(isempty([amg album similar]),,<font face="segoe mdl2 assets"> <font face="ropa sans italic"valign="bottom">Grid View<//font>
<font color="9a9a9a"size="80"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <//font>
ifelse(if(isempty(ListLimit([amg album similar],1,0)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,0),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,1)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,1),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,2)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,2),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,3)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,3),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,4)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,4),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,5)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,5),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,6)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,6),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,7)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,7),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,8)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,8),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,9)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,9),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,10)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,10),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,11)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,11),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,12)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,12),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,13)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,13),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,14)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,14),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,15)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,15),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,16)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,16),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,17)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,17),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,18)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,18),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,19)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,19),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,20)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,20),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,21)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,21),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,22)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,22),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,23)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,23),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,24)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,24),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,25)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,25),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,26)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,26),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,27)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,27),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,28)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,28),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,29)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,29),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,30)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,30),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,31)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,31),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,32)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,32),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,33)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,33),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,34)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,34),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,35)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,35),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,36)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,36),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,37)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,37),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,38)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,38),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,39)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,39),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,40)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,40),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,41)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,40),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,41)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,41),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,42)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,42),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,43)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,43),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,44)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,44),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,45)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,45),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,46)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,46),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,47)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,47),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,48)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,48),0, {), \, / -/ ), ?, _).jpg"size="160x160">)if(isempty(ListLimit([amg album similar],1,50)),,<img src="C:\Jiver\Artwork\Albums\replace(replace(listitem(ListLimit([amg album similar],1,50),0, {), \, / -/ ), ?, _).jpg"size="160x160">)
)
))&datatype=[string]
And my artwork folder path is this:Replace(ListMix(<img src="C:\Jiver\Artwork\Similar\[L1].jpg" size="160x160">,8,[amg artist similar]),;,)
<img src="C:\Jiver\Artwork\Similar\[L1].jpg" size="160x160">
L1 being [amg artist similar item] currently in the loop. Replace will just remove list separator chars i.e ; as we only want to see imagesIf(IsMissing(C:\Jiver\Artwork\Similar\[L1].jpg),,<img src="C:\Jiver\Artwork\Similar\[L1].jpg" size="160x160">)
Replace(ListMix(If(IsMissing(C:\Jiver\Artwork\Similar\[L1].jpg),,<img src="C:\Jiver\Artwork\Similar\[L1].jpg" size="160x160">),8,[amg artist similar]),;,)
Replace(ListMix(If(IsMissing(C:\Jiver\Artwork\Similar\[L1].jpg),,<img src="C:\Jiver\Artwork\Similar\[L1].jpg" size="150x150">),8,[amg artist similar]),;,)
Replace(ListClean(ListMix(If(IsMissing(C:\Jiver\Artwork\Similar\[L1].jpg),,<font face="courier" size="92">If(Compare(Length([L1],>,23)),Mid([L1],0,20).../ / ,[L1]Repeat(/ ,Math(25-Length([L1]))))<//font>),8,[amg artist similar]),3),;,)
Unfortunately it isn't a one click process.
Older mega thread also describes the steps a bit https://yabb.jriver.com/interact/index.php/topic,119385.0.html.
As it isn't one click process it is kind of hard to write any one guide fits for all type instructions. It is also time consuming without real knowledge if it is even useful to anybody or if there is an audience at all. In my template examples I use invisible rows to configure the paths, fonts and colours as much as I can so it could be adjusted more easily for different tastes.
I suggest to ask for help here if you are stuck. Maybe paste your current file info panel setup and paths where your images are. At least for me it is most of times quicker to try to help like that than trying to write some subjective documentation what i have done
All of the logos appear to be installed here - C:\Program Files\J River\Media Center 31\Skins\Theater View\Themes\Tooltip images v1.3.0Logo images should be inside "C:\Program Files\J River\Media Center 31\Data\Tooltip\" directory.
Logo images should be inside "C:\Program Files\J River\Media Center 31\Data\Tooltip\" directory.
I think my released "no cover template" doesn't include actor photos. I can add those to next version if you like. New version will also designed to be used using 100% windows scaling Current version should look best at 80% scaling. There is also some changes how to show similar movies in the next version so maybe you should not concentrate on that right now if it doesn't work for you right now
Ah that did it thanks. I still have an issue next to the title though, it says version? I would love actor photos if you do it.Right, I use custom field version to separate different versions of same movie (director's cut etc). That way I don't pollute name fields with all the version data. My guess is that you don't have field called version and MC then just outputs it as a text. Easiest way would be just add that field to your database even if you don't personally use it. It should be then hidden when empty I think
Right, I use custom field version to separate different versions of same movie (director's cut etc). That way I don't pollute name fields with all the version data. My guess is that you don't have field called version and MC then just outputs it as a text. Easiest way would be just add that field to your database even if you don't personally use it. It should be then hidden when empty I think
BTW I'm glad that you were almost able to follow the instructions. I'll add note about image folders if there wasn't any yet. As some things are already so obvious for me I have surely missed some base tips.
Options -> library & folders -> manage library fields -> Add new field
Here is exactly what I did (I am actually starting over and I will document the steps here)...Thanks for helping document this. I'd like to help make any changes that would make this easier in MC.
Nice! So now that you have the field. If you like you could insert there eg that Theatrical Cut or Extended etc... or just leave it empty
Started to look at the actors. version 1.3 coming up nicely. Unfortunately there is some field changes which were necessary for example making similar movies to be more easy to maintain and prevent duplicates to show up if there were multiple versions of same movie
EDIT: Oh and published v1.2 doesn't yet support similar movies poster images but just outputs names
Thanks for helping document this. I'd like to help make any changes that would make this easier in MC.
@FenceMan What font is that? Looks quite cool for inforows. I could make it default one for those parts
Thanks for helping document this. I'd like to help make any changes that would make this easier in MC.
Thanks, I'll experiment with it and see if I can put it to use
Save(Finnish, v_PRIMARY_LANG)/
Save(English, v_SECONDARY_LANG)/
Save(1, v_USE_RECOMMENDATIONS_IMAGES)/
Save(0, v_RECOMMENDATIONS_IMAGES_ZSTATS)/
Save(30, v_RECOMMENDATIONS_SCRAPE_EXPIRY)/
Save(E://.MC Images//Actors//, V_ACTOR_IMAGE_PATH)/
Save(1, v_SHOW_TEXT_ROLES)/
Save(1, v_SHOW_TEXT_ACTORS)/
Save(1, v_SHOW_POSTER)/
Save(1, v_SHOW_ACTOR_MODULE)/
Save(1, v_SHOW_RECOMMENDATIONS_MODULE)/
Save(1, v_SHOW_ADDIT_AUDIO_MODULE)
Yes, I noticed that it wasn't the same as in your screenshots. Still a little on fence with the font for headers. Not sure if it is too eye catching and after while becomes too (maybe military) stylish and all I can think of is watching Rambo yet again ;D
Cast images can now also have role names or the text names can be configured to be hidden if one's images have burnt in texts. Also added option poster to show poster in "no poster theme" ::)
V1.3 Configurable items now includeCode: [Select]Save(Finnish, v_PRIMARY_LANG)/
Save(English, v_SECONDARY_LANG)/
Save(1, v_USE_RECOMMENDATIONS_IMAGES)/
Save(0, v_RECOMMENDATIONS_IMAGES_ZSTATS)/
Save(30, v_RECOMMENDATIONS_SCRAPE_EXPIRY)/
Save(E://.MC Images//Actors//, V_ACTOR_IMAGE_PATH)/
Save(1, v_SHOW_TEXT_ROLES)/
Save(1, v_SHOW_TEXT_ACTORS)/
Save(1, v_SHOW_POSTER)/
Save(1, v_SHOW_ACTOR_MODULE)/
Save(1, v_SHOW_RECOMMENDATIONS_MODULE)/
Save(1, v_SHOW_ADDIT_AUDIO_MODULE)
Correct. What is done is done. like: main front, actor images and recommendations images. Aligning everything with MC is really time consuming when dealing with changing lengths of eg descriptions but I think I got it mostly right and don't see any more movies which breaks the layout ie Movie name is too up or actor row is cropped or not visible at all. Links are unchanged. I would like create couple of more sections still but haven't figured out how to make nice video+audio+subs details section which would fit this theme also maybe section for other crew members and awards/critic ratings. I may publish what I have though if I don't get inspiration to do those in following days. Kind of need break already.
BTW. If your file naming is consistent you could scrape version data from there and save some manual filling time
.\pscriptor.pl CreateMCFields --filename D:\audio\MCUtils\new_fields.xml -VVT
FIELD NAME | DESCRIPTION |
Version | | string, holds movie version info like Director's Cut etc. |
Audio Title (external) | | list, hold audio track title info when analyze can't determine title or it doesn't exist e.g. when DVD/BD structure. If valued, is used instead of Audio Title field |
FIELD NAME | DESCRIPTION |
Actors (alt) | | string, holds "Actor name [Role]". Used to show actor image, actor name and role name. (MCUtils or ZRatings) |
IMDb Id | | string, IMDb id (MCUtils or ZRatings) |
IMDb Rating | | string, IMDb rating from OMDb (ZRatings) |
IMDb Votes | | string, IMDb irating from OMDb (ZRatings) |
IMDb Description (short) | | string, Short plot from OMDb (ZRatings) |
Rotten Tomatoes | | string, Rotten Tomatoes rating from OMDb (ZRatings) |
Awards | | string, Awards from OMDb (ZRatings) |
TMDb Id | | string, TMDb Id (MCUtils or ZRatings) |
TMDb Rating | | string, TMDb Rating (MCUtils or ZRatings) |
TMDb Popularity | | string, TMDb Popularity (MCUtils or ZRatings) |
Recommendations (raw) | | list, Recommendations list* (MCUtils) |
recommendations => [ 'Recommendations (raw)', 'tmdb', {
format => { formatname => 'fmt_recommendations', formatcode => sub {
my $p = shift;
return sprintf "%s__%s__%s", $p->{'name'}, $p->{'date'}, $p->{'id'};
}},
}],
FIELD NAME | DESCRIPTION |
zsRecommendations | | string, (Script will handle following: list of lists: "image path__imdb rating__tmdb rating". Populated when entering big screen or offline with ZStats) |
RecScrapedDate | | date, date when zsRecommendation was last updated. Used to adjust how often zsRecommendation calculations is done |
FIELD NAME | CALCULATION RULE |
Definition | IfElse( Compare([Width],>,1920), 4K, Or(Compare([Width],>,1360),Compare([Height],>,1040)), 1080p, Or(Compare([Width],>,1024),Compare([Height],>,576)), 720p, Compare(Left([FPS],2),=,25), 576p, 1, 480p ) |
Video Format (pretty) | If([HDR Format,0], ListMix([Definition]IfCase([L1],8, DolbyVision, -Dolby Vision, HDR10+, -HDR10+, HDR10, -HDR10),8,Replace([HDR Format],/,,;)), [Definition] ) |
Aspect Ratio (pretty) | IfCase(Replace([Aspect Ratio],/,,.), 3, 0.30, unknown, 0.9, portrait, 1.17, 1.00, 1.35, 1.33, 1.5, 1.37, 1.72, 1.66, 1.82, 1.78, 1.93, 1.85, 2.1, 2.00, 2.28, 2.20, 2.37, 2.35, 2.47, 2.39, 2.6, 2.55, 2.71, 2.65, 2.99, 2.76, 20, wide ) |
Video Codec (pretty) | IfCase([Video Codec],8, HEVC, HEVC, H264, AVC, VC-1,VC-1, MPEG4 Simple Profile, MPEG4, MPEG4 Advanced Simple Profile, XVID, MSMPEG4V3, DIV3, MPEG-2,MPEG2, MPEG-1,MPEG1 ) |
Recommendations (pretty) | ListMix(ListItem([L1],0,__) /(Left(ListItem([L1],1,__),4)/),,[Recommendations (raw)]) |
Recommendations (id) | ListMix(ListItem([L1],2,__),,[Recommendations (raw)]) |
RecMatcher | Number([TMDb Id])__[image file]__Decimal([IMDb Rating])__Decimal(FormatNumber([TMDb Rating],1)) |
FIELD NAME | CALCULATION RULE |
LINK_Extras_Movie | If([NoExtras],,If(Or(IsEqual([Media Sub Type],Extras),IsEqual([Media Sub Type],Movie)),EXTRAS for [Name] /(FormatDate([Date,0],year)/),)) |
LINK_Year_Movie | If(IsEqual([Media Sub Type],Movie),Movies released in FormatDate([Date,0],year),) |
LINK_Director | If(IsEqual([Media Sub Type], Movie),Directed by ListItem([Director],0),) |
LINK_Genre_Movie | If(IsEqual([Media Sub Type], Movie),Movies at genre Replace(ListSort(ListLimit([Genre],2)),;,/ /// ),) |
LINK_Star | Movies starring ListLimit([Actors],1) |
LINK_IMDb_Rating | Movies rated Math(Int([IMDb Rating])) in IMDb |
VARIABLE | DEFAULT VALUE | DESCRIPTION |
v_PRIMARY_LANG | Finnish | Primary language. Shows flag |
v_SECONDARY_LANG | English | Secondary language. Shows this flag if no primary |
v_MONO_FONT | face="Hack" | Mono font to be used. without mono font things break |
v_USE_RECOMMENDATIONS_IMAGES | 1 | Show movie recommendations images |
v_RECOMMENDATIONS_IMAGES_ZSTATS | 0 | Recommendations from offline ZStats, no realtime calc |
v_RECOMMENDATIONS_SCRAPE_EXPIRY | 30 | How often real time calc (slowish operation) is done again |
v_ACTOR_IMAGE_PATH | e://.MC Images//Actors// | Path to your actor images |
V_TOOLTIP_PATH | d://audio//MC31//Data//Tooltip// | Path to your MC tooltip folder |
v_LOGO_FILEPATH | e://.MC Images//Movies//Replace([Name],:,/ ) /([Year]/) /[[imdb id]/]//Logos//logo.png | Movie logo path, feature not really aligned and not working status |
v_ACTOR_ALT_ROLES | 1 | when set 1, actors (alt) is used: field format "actor name [role name]" file format: "actor name". when set 0, actors is used: field format "actor name [role name]" file format: "actor name [role name]". |
v_SHOW_TEXT_ROLES | 0 | Show role names using text |
v_SHOW_TEXT_ACTORS | 0 | Show actor names using text |
v_SHOW_POSTER | 0 | Show movie poster |
v_LOGO | 0 | Show movie logo. Not working status as not aligned |
v_SHOW_ACTOR_MODULE | 0 | Show Actor images module |
v_SHOW_RECOMMENDATIONS_MODULE | 0 | Show Recommendations module |
v_SHOW_VIDEO_DETAILS_MODULE | 0 | Show Video Details module |
v_SHOW_RATINGS_MODULE | 0 | Show Ratings module |
v_DEBUG_ON | 0 | Show debug information |
If your actors images are in that folder then replace my default path with yours in the configuration. See your ZRatings (or MCUtils) settings to see where it does save the images if unsure
my actor images are located at "e:\.MC Images\Actors\" so in my configuration it is:
Save(e://.MC Images//Actors//, V_ACTOR_IMAGE_PATH)/
i use / (another / to escape...) notation so it will also work in linux but in windows tou can use \
So you don't have to use same dir as i am hence the configuration option :P
Path looks good. How is your actor filenames? Expression looks at forename surname.png e.g. Sylvester Stallone.png
So with your path settings Sly's image disk location should be "C:\Program Files\J River\Media Center 31\Data\Tooltip\.MC Images\Actors\Sylvester Stallone.png". If you have also rolename in the filename then I need to do some changes.
Poster for movie in question doesn't need any path setting as it using [image file] field to get the poste file. It should be enough if you just configure v_SHOW_POSTER to value 1
Just to make sure that v1.3 is moved top of the templates so it gets activated for movies and MC is not actually using the older oneYes
Also do you get MAIN CAST header text or is that also missing in addition to actual photos?
If you know how to create a field in MC It is basically one by one copy-paste job for few minutes after you have created one. You could post images about your ZRatings field mappings so I can see if you have different names than me.I'm not sure what you mean, but you can copy and paste a tag to many files. Select a file to copy from, do the usual ctrl-c. Then select the files you want to copy to and do ctrl-shift-v and then select which tags to copy to the files.
I'm not sure what you mean, but you can copy and paste a tag to many files. Select a file to copy from, do the usual ctrl-c. Then select the files you want to copy to and do ctrl-shift-v and then select which tags to copy to the files.I'm talking about creating a new field in MC and with copy-paste I mean copy-pasting field name (and expression for calculated field) from my post into MC's "add new field UI" :)
AttachedAh BD structure doesn't have image path..... no wonder it doesn't find the poster.... I'll try to fix that.
Save( C:\Program Files, but there was nothing to do :'(this was my bad so no space needed
this one tries still a little harder to print out the image file paths
Also I still have issues with alignment but other than that and the actors it looks great.wow what is that ;D BTW as you have tmdb rating as zero, is it desired or some field difference with us? I'm using TMDb Rating but try to fall back to MC's critic rating
Barely ;D But i see the problem. Your original title is different than mine. what is your field name for original title I assume in ZRatings? If you could check from zratings the same things as attached pictures. You don't have to change it like I have but I need to know how these are set for you so we can write correct path in the confguration. So that original title field and then the path for actors.
@FenceMan
current test version shouldn't show the image as i changes the img property to amg so i can see what is tried :P
You can either find and replace from test template "amg src" ==> "img src" or try this template which doesn't have any testing on. Your pictures looks like it should work if that replace is done. if not then i'm lost what's going on (attached also my current template with fixes and no testing modifications. I feel that this should work for you...)
Also I still have issues with alignment but other than that and the actors it looks great.You do have (preferably) Hack or some other monotype font configured? zeros doesn't look Hack anyway. Courier e.g doesn't break lines but horizontal aligment will still be off with the headers.
If([v_SHOW_ACTOR_MODULE,0],
Save(ListMix(If(IsMissing([v_ACTOR_IMAGE_PATH]ListItem([L1],0,=).png),missing: [v_ACTOR_IMAGE_PATH]ListItem([L1],0,=).png,Replace([v_ACTOR_IMAGE_PATH],//,////)ListItem([L1],0,=).png__ListItem([L1],0,=)__RemoveRight(ListItem([L1],1,=),1)),8, Replace(Replace(Replace(ListLimit(If([v_ACTOR_ALT_ROLES,0],[Actors (alt)],[Actors]),8),//,\),/ /(,_-),/ /[,=)), v_ActorImages)/
[v_ActorImages]
<font face="Segoe UI" [v_LSIZE_HEADER] [v_COLOR_BODY_LARGE] alpha="50">MAIN CAST<//font><br>/
Repeat(<img src="tooltip:Misc//Separator//1x1-transparent" size="30x1"><img src="tooltip:Misc//Separator//dot" valign="bottom" size="190x2">,ListCount([v_ActorImages]))<br>/
Replace(ListMix(<img src="tooltip:Misc//Separator//1x1-transparent" size="30x1"><img src="tooltip:Misc//Separator//dot" size="2x280"><img src="ListItem([L1],0,__)" size="186x280"><img src="tooltip:Misc//Separator//dot" size="2x280">,8,[v_ActorImages]),;,)<br>/
Repeat(<img src="tooltip:Misc//Separator//1x1-transparent" size="30x1"><img src="tooltip:Misc//Separator//dot" valign="top" size="190x2">,ListCount([v_ActorImages]))/
If([v_SHOW_TEXT_ACTORS,0],
<font [v_MONO_FONT] size="55" valign="top"><br>/
Replace(ListMix(<img src="tooltip:Misc//Separator//1x1-transparent" size="30x1">ListItem([L1],1,__)Repeat(/ ,Math(20 - Length(ListItem([L1],1,__)))),8,[v_ActorImages]),;,)/
<//font>,
)/
If([v_SHOW_TEXT_ROLES,0],
<font [v_MONO_FONT] color="#9295af" size="55" valign="top"><br>/
Repeat(<img src="tooltip:Misc//Separator//1x1-transparent" size="30x1">as ,ListCount([v_ActorImages]))/
<br>/
Save(ListMix(ListItem(ListItem([L1],2,__),0,_-),8,[v_ActorImages]), v_Roles)/
Replace(Replace(ListMix(<img src="tooltip:Misc//Separator//1x1-transparent" size="30x1">If(Compare(Length([L1]),>,20),Mid([L1],0,Find(Left([L1],20),/ ,,-1))Repeat(/ ,Math(20 - Find(Left([L1],20),/ ,,-1))),[L1]Repeat(/ ,Math(20 - Length([L1])))),8,[v_Roles]),;,),\,//)/
<br>/
Replace(ListMix(<img src="tooltip:Misc//Separator//1x1-transparent" size="30x1">If(Compare(Length([L1]),>,20),If(Compare(Length(Mid([L1],Math(Find(Left([L1],20),/ ,,-1) + 1),-1)),>,20),Mid([L1],Math(Find(Left([L1],20),/ ,,-1) + 1),18)..,Mid([L1],Math(Find(Left([L1],20),/ ,,-1) + 1),-1))Repeat(/ ,Math(20 - Length(Mid([L1],Find(Left([L1],20),/ ,,-1),-1)) + 1)),Repeat(/ ,20)),8,[v_Roles]),;,)/
<//font>,
)/
,)
Barely ;D But i see the problem. Your original title is different than mine. what is your field name for original title I assume in ZRatings? If you could check from zratings the same things as attached pictures. You don't have to change it like I have but I need to know how these are set for you so we can write correct path in the confguration. So that original title field and then the path for actors.
And could you please also give one real life example actor with full path and filename.C:\Program Files\J River\Media Center 31\Data\Tooltip\Actors\Bohemian Rhapsody (2018)
How does "Save actor/crew thumbnails to this folder" value continue. You can copy paste it as textC:\Program Files\J River\Media Center 31\Data\Tooltip\Actors\$originaltitle ($Year)
Replace(Replace(ListLimit(If([v_ACTOR_ALT_ROLES,0],Replace([Actors (alt)],/ /[,=),[Actors (alt)]),8),//,\),/ /(,_-))
Save(C:\Program Files\J River\Media Center 31\Data\Tooltip\Actors\[Original Title] /([Year]/)\, V_ACTOR_IMAGE_PATH)/
Save(1, v_ACTOR_ALT_ROLES)/
Save(1, v_SHOW_ACTOR_MODULE)/
[v_ACTOR_IMAGE_PATH]/
If([v_SHOW_ACTOR_MODULE,0],
If(IsEqual(Right([v_ACTOR_IMAGE_PATH],3),A-Z),
Save(Left(ListItem([L1],0,=),1), v_SubFolder)/
Save(RemoveRight([v_ACTOR_IMAGE_PATH],3), v_ACTOR_IMAGE_PATH),
)/
Save(ListMix(If(IsMissing(Replace([v_ACTOR_IMAGE_PATH],//,////)If([v_ACTOR_ALT_ROLES,0],ListItem([L1],0,=),Replace([L1],=,/ /[)).png),MISSING FILE: Replace([v_ACTOR_IMAGE_PATH],//,////)If([v_ACTOR_ALT_ROLES,0],ListItem([L1],0,=),Replace([L1],=,/ /[)).png,Replace([v_ACTOR_IMAGE_PATH],//,////)If([v_ACTOR_ALT_ROLES,0],ListItem([L1],0,=),Replace([L1],=,/ /[)).png__ListItem(Replace([L1],/ /[,=),0,=)__RemoveRight(ListItem([L1],1,=),1)),8, Replace(Replace(Replace(ListLimit(If([v_ACTOR_ALT_ROLES,0],[Actors (alt)],[Actors]),8),//,\),/ /(,_-),/ /[,=)), v_ActorImages)
,)
[v_ActorImages]
ListMix(<img src="ListItem([L1],0,__)" size="60x90">,8,[v_ActorImages])
Now the debugging part really show nicely and troubleshooting should be much more easier though your problems are almost solved already 8)
The Good news:
- As you use all image actors meaning that also names and roles are images I can easily make setup where the image size is adjustable when only image is used. When using font the positioning is too cumbersome to support different sizes.
- You can also configure ZRatings to fetch bigger images. Mine is set to large so there is not much pixelation
- You can alter description font size and cutoff size (I have set it to max 440 chars) as well than other font sizes inside SMALL and LARGE VARIABLES sections and in Description section. Beware though that positioning of director/actor text row could go off if you do. Happy tinkering :D
Happy tinkering :D
If(IsEqual([Media Sub Type], Movie),Movies at Series Replace(ListSort(ListLimit([Series],2)),;,/ /// ),)
Everything is shared. Start navigating from first post :)
I don't see anything offending so all good :)
The scaling in the Windows display settings, I set it to 225 because leaving it at 100% the characters are really very small.Ok, that much scaling explains why everything is so large in your theaterview as there is quite small amount of vertical place. I need to think if I can figure out doing some template scaling logic to enlatge/shrinken some parts at one go and without breaking the theme look. I'll experiment with 3840x1640, OS 225%, MC 100% when i got some free time
I tried 200% and the MC situation improves but I'm starting to have a slight difficulty reading the characters.
P.S. I use the custom resolution 3840x1640
Is this font still readable for you?
I apologize to DigiBert if I interpreted his tone as ironic (we Italians use ironic tones a lot ;D); obviously I was wrong.
Still some little bugs in my version, will look into that furthe before questions.This thing comes with tail light guarantee ;D
<font size="80" color="#9496a3">if(isequal(ListCount(RemoveLeft(Load(vAlbumsByArtist[Album Artist (auto)]),Math(Find(Load(vAlbumsByArtist[Album Artist (auto)]),;)+2))),1),,Math((ListCount(RemoveLeft(Load(vAlbumsByArtist[Album Artist (auto)]),Math(Find(Load(vAlbumsByArtist[Album Artist (auto)]),;)+2))))-1)) if(isequal(ListCount(RemoveLeft(Load(vAlbumsByArtist[Album Artist (auto)]),Math(Find(Load(vAlbumsByArtist[Album Artist (auto)]),;)+2))),1),,if(isequal(ListCount(RemoveLeft(Load(vAlbumsByArtist[Album Artist (auto)]),Math(Find(Load(vAlbumsByArtist[Album Artist (auto)]),;)+2))),2),other album by [Album Artist (auto)]:,other albums by [Album Artist (auto)]:))
<img src="C:\JRiver Cover Art\Albums\[Album Artist (auto)] - Replace(Clean(ListClean(Replace(RemoveLeft(Load(vAlbumsByArtist[Album Artist (auto)]);,Math(Find(Load(vAlbumsByArtist[Album Artist (auto)]),;)+2));,[Album];,),1),3),;,.jpg" width="45" height="45">/ <img src="C:\JRiver Cover Art\Albums\[Album Artist (auto)] -/ ).jpg" width="45" height="45"><//font>
save(listsort(listclean(listclean(listclean(replace(;Load(vAlbumsByArtist[Album Artist (auto)]);, [Album];,,1), 1), 3), 4)), _albums)/
<font size="80" color="#9496a3">ifcase(ListCount([_albums]), 6, 2, ListCount([_albums]) other albums by, 1, 1 other album by, 0, No other albums by) [Album Artist (auto)]/
if([_albums], :
replace(listmix(/#<img src="C:\JRiver Cover Art\Albums\[Album Artist (auto)] - [L1].jpg" width="45" height="45">#/, 0, [_albums]),;,/ ),)<//font>
save(listsort(listclean(listclean(listclean(replace(;Load(vAlbumsByArtist[Album Artist (auto)]);, [Album];,,1), 1), 3), 4)), _albums)/
listmix(/#save(replace([_albums], [L1], _), _albums)#/, 0, :;\;//;?;*;>;<;";|)/
<font size="80" color="#9496a3">ifcase(ListCount([_albums]), 6, 2, ListCount([_albums]) other albums by, 1, 1 other album by, 0, No other albums by) [Album Artist (auto)]/
if([_albums], :
replace(listmix(/#[N]: "[L1]"
<img src="C:\JRiver Cover Art\Albums\[Album Artist (auto)] - [L1].jpg" width="45" height="45">#/, 0, [_albums]),;,char(13)),)<//font>
save(listsort(listclean(listclean(listclean(replace(;Load(vAlbumsByArtist[Album Artist (auto)]);, [Album];,,1), 1), 3), 4)), _albums)/
listmix(/#save(replace([_albums], [L1], _), _albums)#/, 0, :;\;//;?;*;>;<;";|)/
<font size="80" color="#9496a3">ifcase(ListCount([_albums]), 6, 2, ListCount([_albums]) other albums by, 1, 1 other album by, 0, No other albums by) [Album Artist (auto)]/
if([_albums], :
current album:
"[Album]"
Other albums:
replace(listmix(/#"[L1]"#/, 0, [_albums]),;,char(13)),)
replace(listmix(/#[N]: "[L1]"
<img src="C:\JRiver Cover Art\Albums\[Album Artist (auto)] - [L1].jpg" width="45" height="45">#/, 0, [_albums]),;,char(13)),)<//font>
save(listsort(listclean(listclean(replace(;listclean(trim(Load(vAlbumsByArtist[Album Artist (auto)])), 1);,;trim([Album]);,;,1), 3), 4)), _albums)/
listmix(/#save(replace([_albums], [L1], _), _albums)#/, 0, :;\;//;?;*;>;<;";|)/
<font size="80" color="#9496a3">ifcase(ListCount([_albums]), 6, 2, ListCount([_albums]) other albums by, 1, 1 other album by, 0, No other albums by) [Album Artist (auto)]/
if([_albums], :
replace(listmix(/#<img src="C:\JRiver Cover Art\Albums\[Album Artist (auto)] - [L1].jpg" width="45" height="45">#/, 0, [_albums]),;,/ / ),)<//font>
save(listsort(listclean(listclean(replace(;listclean(trim(Load(vAlbumsByArtist[Album Artist (auto)])), 1);,;trim([Album]);,;,1), 3), 4)), _albums)/
listmix(/#save(replace([_albums], [L1], _), _albums)#/, 0, :;\;//;?;*;>;<;";|)/
<font size="80" color="#9496a3">ifcase(Math(ListCount([_albums])-1), 6, 2, Math(ListCount([_albums])-1) other albums by, 1, 1 other album by, 0, No other albums by) [Album Artist (auto)]/
if([_albums], :
replace(listmix(/#<img src="C:\JRiver Cover Art\Albums\[Album Artist (auto)] - [L1].jpg" width="45" height="45">#/, 0, [_albums]),;,/ / ),)<//font>
if([_albums],
replace(listmix(/#<img src="C:\JRiver Cover Art\Albums\[Album Artist (auto)] - [L1].jpg" width="45" height="45">#/, 0, [_albums]),;,/ / ),)<//font>
if([_albums], :
replace(listmix(/#<img src="C:\JRiver Cover Art\Albums\[Album Artist (auto)] - [L1].jpg" width="45" height="45">if([L2],char(10),/ / )#/, 2, [_albums],repeat(;;;;;;;1,10)),;,),)<//font>
if([_albums],
replace(listmix(/#<img src="C:\JRiver Cover Art\Albums\[Album Artist (auto)] - [L1].jpg" width="45" height="45">#/, 0, [_albums]),;,),)<//font>
I was also able to correct the albumcount, in order to substract the already shown album :-)cool :) But really, this should not be needed with this code. I asked you for a screenshot to see why it was not working - likely the other code that populates the vAlbumsByArtist variable is doing something unexpected. Anyway, no need to worry if you got it working.
Replace(ListMix(If(IsMissing(C:\Jiver\Artwork\artists\[L1].jpg),,<img src="C:\Jiver\Artwork\artists\[L1].jpg" size="115x115">),1,[amg artist similar],1;2;3;4;5),;,)
Replace(ListClean(ListMix(If(IsMissing(C:\Jiver\Artwork\artists\[L1].jpg),,<font face="courier" size="92">If(Compare(Length([L1],>,23)),Mid([L1],0,20).../ / ,[L1]Repeat(/ ,Math(25-Length([L1]))))<//font>),1,[amg artist similar],1,2,3,4,5),3),;,)
It show my image file but when comes to text it is an syntax error.
Replace(ListClean(ListMix(If(IsMissing(C:\Jiver\Artwork\artists\[L1].jpg),,<font face="courier" size="92">If(Compare(Length([L1]),>,23),Mid([L1],0,20).../ / ,[L1]Repeat(/ ,Math(25-Length([L1]))))<//font>),1,[amg artist similar],1;2;3;4;5),3),;,)
Save(E:\.MC Images\Music\Artists\Square,v_image path)/
Save(ListLimit(ListShuffle(ListClean(ListMix(If(IsMissing([v_image path]\Clean([L1],3).jpg),,[L1]),,[amg artist similar]),3)),5),v_similar)/
If(IsEmpty([v_similar]),,
Replace(ListMix(<img src="[v_image path]\Clean([L1],3).jpg" size="115x115">,,[v_similar]),;,)/
<br>/
<font face="courier" size="92">Replace(ListMix(If(Compare(Length([L1]),>,23),Mid([L1],0,20).../ / ,[L1]Repeat(/ ,Math(25 - Length([L1])))),,[v_similar]),;,)<//font>
)
Save(E:\.MC Images\Music\Artists\Square, v_image path)/
Save(ListLimit(ListShuffle(ListClean(ListMix(If(IsMissing([v_image path]\Clean([L1],3).jpg),,[L1]),,[amg artist similar]),3)),5),v_similar)/
If(IsEmpty([v_similar]),,
use variable v_similar to print images row Replace(ListMix(<img src="[v_image path]\Clean([L1],3).jpg" size="115x115">,,[v_similar]),;,)/
linefeed <br>/
use v_similar to print artist names <font face="courier" size="92">Replace(ListMix(If(Compare(Length([L1]),>,23),Mid([L1],0,20).../ / ,[L1]Repeat(/ ,Math(25 - Length([L1])))),,[v_similar]),;,)<//font>
)
IMO It is just easier to read and construct big things using the variables when you don't have so long rows.
There's no need to initialize v_similar as the value is replaced on the next line.That's right. It was leftover from other try
Save(C:\Jiver\Artwork\Artists\square, v_image path)/
Im not sure if the square are from your path or needed to be there. My exact path for image are:C:\Jiver\Artwork\Artists\Artist Name.jpg
and then I have the file name.
I made them two fields v_image path, and v_similar. On your v_image path you have a different path so I did change with mine.Just to be clear - you must NOT create fields in MC with these names, they are temporary variables. If you did, you need to delete them.
Save(C:\Jiver\Artwork\Artists, v_image path)/
Save(ListLimit(ListShuffle(ListClean(ListMix(If(IsMissing([v_image path]\Clean([L1],3).jpg),,[L1]),,[amg artist similar]),3)),5),v_similar)/
If(IsEmpty([v_similar]),,Replace(ListMix(<img src="[v_image path]\Clean([L1],3).jpg" size="115x115">,,[v_similar]),;,)/
<br>/
<font face="sudo ui medium"size="95">/ Replace(ListMix(If(Compare(Length([L1]),>,22),Mid([L1],0,25).../ / ,[L1]Repeat(/ ,Math(25 - Length([L1])))),,[v_similar]),;,)<//font>
)))))
I will try to play with the length() and maybe to adjust properly.
lepa,Thanks. Not worrying though, just proactive note here that adjustment is needed but it is better handled later when TheaterView changes are known and stabilized :) Looking forward
Don't worry about it. We'll make sure your work is preserved.
### Don't have all your fields so created variables for example
Save(1, v_Track Pick)/
Save(71, v_Track Popularity)/
Save(4, v_Track Ranking)/
Save(5, v_Track Rating)/
Save(06-Jan-2024, v_Track Rating Date)/
Save(1, v_Track Play Count)/
Save(6 Times, v_Track Play Counter)/
Save(23-Jan-2024, v_Track Play Date)/
Save(1, v_Track Skip Count)/
Save(1 Time, v_Track Skip Counter)/
Save(28-Aug-2023, v_Track Skip Date)/
Save(69512481, v_Track Play Score)/
Save(20, v_LabelMaxLen)/
Save(20, v_ValueMaxLen)/
Save(color="#111111", v_FontColor)/
Save(bgcolor="#CECDEB", v_FontLabelBGColor)/
Save(bgcolor="#FFAED7", v_FontValueBGColor)/
Save(color="#17B4FF", v_FontColumnTitle)
Save(<img src="tooltip:MISC//Separator//1x1-transparent" size="4x4">, v_Padding)/
<font face="Hack" [v_FontColumnTitle]>/
<b>[v_Padding]TRACK [v_Padding]STATS<//b><br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Pick/
Repeat(/ , Math([v_LabelMaxLen] - 10))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [v_Track Pick]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Pick])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Popularity/
Repeat(/ , Math([v_LabelMaxLen] - 16))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [v_Track Popularity]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Popularity])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor] color="#000000">/
/ Track Ranking/
Repeat(/ , Math([v_LabelMaxLen] - 13))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor] color="#000000">/
/ [v_Track Ranking]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Ranking])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor] color="#000000">/
/ Track Rating/
Repeat(/ , Math([v_LabelMaxLen] - 12))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor] color="#000000">/
/ [v_Track Rating]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Rating])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor] color="#000000">/
/ Track Rating Date/
Repeat(/ , Math([v_LabelMaxLen] - 17))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor] color="#000000">/
/ [v_Track Rating Date]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Rating Date])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor] color="#000000">/
/ Track Play Count/
Repeat(/ , Math([v_LabelMaxLen] - 16))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor] color="#000000">/
/ [v_Track Play Count]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Play Count])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor] color="#000000">/
/ Track Play Counter/
Repeat(/ , Math([v_LabelMaxLen] - 18))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor] color="#000000">/
/ [v_Track Play Counter]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Play Counter])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor] color="#000000">/
/ Track Play Date/
Repeat(/ , Math([v_LabelMaxLen] - 15))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor] color="#000000">/
/ [v_Track Play Date]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Play Date])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor] color="#111111">/
/ Track Skip Count/
Repeat(/ , Math([v_LabelMaxLen] - 16))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [v_Track Skip Count]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Skip Count])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor] color="#000000">/
/ Track Skip Counter/
Repeat(/ , Math([v_LabelMaxLen] - 18))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor] color="#000000">/
/ [v_Track Skip Counter]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Skip Counter])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor] color="#000000">/
/ Track Skip Date/
Repeat(/ , Math([v_LabelMaxLen] - 15))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor] color="#000000">/
/ [v_Track Skip Date]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Skip Date])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor] color="#000000">/
/ Track Play Score/
Repeat(/ , Math([v_LabelMaxLen] - 16))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor] color="#000000">/
/ [v_Track Play Score]Repeat(/ ,Math([v_ValueMaxLen] - Length([v_Track Play Score])))/
<//font>/
<//font>
Save(20, v_LabelMaxLen)/
Save(20, v_ValueMaxLen)/
Save(color="#111111", v_FontColor)/
Save(bgcolor="#CECDEB", v_FontLabelBGColor)/
Save(bgcolor="#FFAED7", v_FontValueBGColor)/
Save(color="#17B4FF", v_FontColumnTitle)
Save(<img src="tooltip:MISC//Separator//1x1-transparent" size="4x4">, v_Padding)/
Those are part of language expression or yours? Or those are saved for later use in the expression? I think some information has to be updated in html properties to match the new changes. I didn't find anywhere to understand what has be changed.
Save(20, v_LabelMaxLen)/
Save(20, v_ValueMaxLen)/
Save(color="#111111", v_FontColor)/
Save(bgcolor="#CECDEB", v_FontLabelBGColor)/
Save(bgcolor="#FFAED7", v_FontValueBGColor)/
Save(color="#17B4FF", v_FontColumnTitle)
Save(<img src="tooltip:MISC//Separator//1x1-transparent" size="4x4">, v_Padding)/
<font face="Hack" [v_FontColumnTitle]>/
<b>[v_Padding]TRACK [v_Padding]STATS<//b><br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Pick/
Repeat(/ , Math([v_LabelMaxLen] - 10))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Pick]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Pick])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Popularity/
Repeat(/ , Math([v_LabelMaxLen] - 16))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Popularity]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Popularity])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Ranking/
Repeat(/ , Math([v_LabelMaxLen] - 13))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]">/
/ [Track Ranking]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Ranking])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Rating/
Repeat(/ , Math([v_LabelMaxLen] - 12))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Rating]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Rating])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Rating Date/
Repeat(/ , Math([v_LabelMaxLen] - 17))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Rating Date]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Rating Date])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Play Count/
Repeat(/ , Math([v_LabelMaxLen] - 16))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Play Count]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Play Count])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Play Counter/
Repeat(/ , Math([v_LabelMaxLen] - 18))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Play Counter]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Play Counter])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Play Date/
Repeat(/ , Math([v_LabelMaxLen] - 15))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Play Date]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Play Date])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Skip Count/
Repeat(/ , Math([v_LabelMaxLen] - 16))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Skip Count]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Skip Count])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Skip Counter/
Repeat(/ , Math([v_LabelMaxLen] - 18))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Skip Counter]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Skip Counter])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Skip Date/
Repeat(/ , Math([v_LabelMaxLen] - 15))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Skip Date]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Skip Date])))/
<//font><br>[v_Padding]<br>/
<font [v_FontColor] [v_FontLabelBGColor]>/
/ Track Play Score/
Repeat(/ , Math([v_LabelMaxLen] - 16))/
<//font>[v_Padding]/
<font [v_FontColor] [v_FontValueBGColor]>/
/ [Track Play Score]Repeat(/ ,Math([v_ValueMaxLen] - Length([Track Play Score])))/
<//font>/
<//font>
If(isempty([number plays]),<font face="ubuntu mono"size="90"valign="bottom">--<//font>,<font face="ubuntu mono"size="90"valign="bottom">PadNumber([number plays],2)<//font>
<font face="ubuntu mono"size="90"valign="bottom">fixcase(FormatDate([Last Played, 0],yyyy-MM-%d hh:mm, %A),1)<//font>
)
<font face="ubuntu mono"valign="bottom">bottom<//font>/ <font face="ubuntu mono"valign="medium">medium<//font>/ <font face="ubuntu mono"valign="top">top<//font>
@Lepa. How did you manage to have those text on the right side of image? Can you share that?Sliced album art image to three different images. Before this tightening change only two images tower was possible
Thanks for the help. I added that into a new blank expression and nothing shows up. Tried adding to an existing expression like the 'header' and still got nothing.Ah, haven't used MC's stock poster fetching for ages as it can only save poster next to file so you probably need something like this:
Example: C:\Users\jimh\AppData\Roaming\J River\Media Center 32\Library\Backup
You may also want to back up on your own before upgrading. If you don't want your templates to be overwritten, then after you restore, manually edit the version in your current templates file (with a text file editor) to be Version="100.0" or some high number. The templates file path is "C:\Users\USERNAME\AppData\Roaming\J River\Media Center 32\Library\theater view file info templates.xml" in Windows for a local library. For a library server client, this has to be done on the server. Note that if you do any editing of the templates in the MC dialog, it will revert to the current version when saved.
We're not trying to force anything on anyone. The problem exists because users modified a standard part of MC.Isn't it because something that could/should be configurable/pluggable can only be configured in this way? ie the actual problem is a gap in MC not users doing it wrong
Isn't it because something that could/should be configurable/pluggable can only be configured in this way? ie the actual problem is a gap in MC not users doing it wrongI must admit I was surprised a couple of weeks ago when I did an update my Theatre View had changed. I went hunting for the tools to put all the missing info back as I had it with the old view, but discovered I was stuck with what had been supplied which was much less than I had. To be honest I really dont care about images of the stars and related movies that seem to be completly unrelated to the film on view.
Still looking for help on these for TV SHOWS...
1. How can I remove the "Director" area completely?
2. How can I reduce or eliminate the large space where the red question mark is?
3. In the smaller red box: I want to remove "NR" and "Documentary" and "Ends at 7:39am". I want to add the "channel name" (ie CNN, or ABC, or KCRA). I want to add "record time start" and "record time end".
...fields which contains the channel name & recording times I can cook something up. I don't use MC's tv recording so don't know the fields...Where can I get them from?
<Template>
<Name>TV Show</Name>
<Search>[Media Sub Type]=[TV Show]</Search>
<Style>2</Style>
<Caption>If([AllSameSeries], <font alpha="50">Delimit(TVInfo(SeasonEpisode))<//font>[Name]Delimit(Watched(2), , / ), TVInfo(NameDisplay)Delimit(Watched(2), , / )) <font alpha="50">TVInfo(DateNoTime)<//font></Caption>
<CaptionExpanded/>
<Fields>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">GENERAL VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(TVInfo(SeasonEpisode) [Name],v_TITLE)/
Save(face="Segoe UI", v_MAIN_FONT)/
Save(face="Theater", v_THEATER_FONT)/
Save(ShortTime, v_TIME_FORMAT)/
Save(ShortDate, v_DATE_FORMAT)/
Save(width="30", v_STAR_WIDTH)/
Save(1, v_MAX_AUDIO_CODECS)/
Save(size="50", v_CAPTION_FONTSIZE)/
Save(9, v_NUM_ACTORS)/
Save(width="140", v_ACTOR_WIDTH)/
Save(spacing="3", v_ACTOR_SPACING)/
Save(9, v_NUM_SIMILAR)/
Save(width="140", v_SIMILAR_WIDTH)/
Save(spacing="3", v_SIMILAR_SPACING)/
Save(1, v_SHOW_DIRECTOR)/
Save(1, v_SHOW_REC_TITLE)/
Save(
IfElse(
Or( Compare([Width],>=,3840), Compare([Height],>=,2160) ) ,4K,
Or( Compare([Width],>=,1920), Compare([Height],>=,1080) ) ,1080p,
Or( Compare([Width],>=,1280), Compare([Height],>=,720) ) ,720p,
And( Compare([Width],>=,720), Compare([Height],>=,576) ) ,576p,
Or( Compare([Width],>=,720), Compare([Height],>=,480) ) ,480p
),
v_VIDEO_DEF)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">COLOR VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(color="#f2edf4", v_COLOR_BODY)/
Save(color="#5b799b", v_COLOR_HEADER)/
Save(color="#75889F", v_COLOR_HEADER2)/
Save(color="#f69838", v_COLOR_STARS)/
Save(color="#dce4ea", v_COLOR_TITLE)/
Save(color="#5e5e63", v_COLOR_INFOROW)/
Save(color="#808084", v_COLOR_INFOROW_SMALL)/
Save(color="#569AF0", v_COLOR_BODY_LARGE)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">SMALL VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(size="70", v_SSIZE_BODY)/
Save(size="80", v_SSIZE_DESCR)/
Save(height="45", v_SHEIGHT_RATINGS)/
Save(
If(
Compare(Length([Description]),<=,400),
[Description]/
<font alpha="0">/
Repeat(_,Math(Frac((400 - Length([Description])) // 4) * 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
<//font>,
Left([Description],390)...),
v_SMALL_DESC)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">LARGE VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(size="If(Compare(Length([v_TITLE]),>,49), 100, 120)", v_LSIZE_TITLE)/
Save(size="70", v_LSIZE_INFOROW)/
Save(size="90", v_LSIZE_HEADER)/
Save(height="35", v_LHEIGHT_TECH_ICON)/
Save(Repeat(/ ,3),v_LDELIM_ICON)/
Save([Description],v_DESCRIPTION)/
Save( [Critic Rating], v_CRITIC_RATING)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">=== SMALL ===</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Header</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_THEATER_FONT] [v_LSIZE_TITLE] [v_COLOR_TITLE] valign="bottom">/
[V_TITLE] If([Rating,0],/[ Repeat(<img src="tooltip:Misc//star-2" [v_STAR_WIDTH] valign="middle">,[Rating]) /],)/
<//font>/
<br>/
<font [v_THEATER_FONT] [v_COLOR_INFOROW] [v_LSIZE_INFOROW] valign="bottom">/
FirstNotEmpty([Access Rating],NR)/ | /
FormatNumber(Math(Decimal([Duration,0]) / 60)) min | /
Replace(ListLimit([Genre],3),;,/,/ )/
<br>/
FormatDate([Date,0],[v_DATE_FORMAT])/ | /
[Critic Rating]/
<//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Description</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_SSIZE_DESCR] [v_COLOR_BODY]>/
[v_SMALL_DESC]/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Personnel</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">If([v_SHOW_DIRECTOR],<font [v_THEATER_FONT] alpha="70" [v_SSIZE_BODY]>/
<font [v_COLOR_HEADER2]>/
DIRECTOR: /
<//font>/
<font [v_COLOR_BODY]>/
ListFormat([Director],2)/
/ <//font>,)/
If([Actors,0],
<font [v_COLOR_HEADER2]>/
STARS: /
<//font>/
<font [v_COLOR_BODY]>/
ListFormat(ListLimit([Actors],6),2)/
<//font>,
)/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Icons</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">[v_LDELIM_ICON]<img src="tooltip:Video//Definition//[v_VIDEO_DEF]If([HDR Format,0],/-hdr,)" [v_LHEIGHT_TECH_ICON] valign="middle">/
If(Find([HDR Format],Dolby),,[v_LDELIM_ICON]<img src="tooltip:Video//Definition//Dolby Vision" [v_LHEIGHT_TECH_ICON] valign="middle">)/
[v_LDELIM_ICON]<img src="tooltip:Container//[File Type]" [v_LHEIGHT_TECH_ICON] valign="middle">/
If([Aspect Ratio,0],[v_LDELIM_ICON]<img src="tooltip:Video//AspectRatio//Replace([Aspect Ratio],/,,.)" RemoveRight([v_LHEIGHT_TECH_ICON],3)Math(Number([v_LHEIGHT_TECH_ICON]) + 2)" valign="middle">,)/
If([FPS],[v_LDELIM_ICON]<img src="tooltip:Video//FPS//Replace([FPS],/,,.)" [v_LHEIGHT_TECH_ICON] valign="middle">,)/
If([Audio Codec,0],
Save([v_LDELIM_ICON]<img [v_LHEIGHT_TECH_ICON] valign="middle" src="tooltip:Audio//Codec, v_CodecPath)/
Replace(ListMix([v_CodecPath]//[L1]">IfElse(IsEqual([L1],TrueHD Atmos),[v_CodecPath]//TrueHD">,IsEqual([L1],E-AC3 Atmos),[v_CodecPath]//E-AC3">),8,Clean(ListLimit(ListClean([Audio Codec],1),[v_MAX_AUDIO_CODECS]),3)),;,),
)/
If([Audio Channels,0],[v_LDELIM_ICON]<img src="tooltip:Audio//Channels//ListItem([Audio Channels],0)" [v_LHEIGHT_TECH_ICON] valign="middle">,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">0</Item>
<Item Name="Name"> End Time</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_COLOR_HEADER2] alpha="40">/
Repeat(–,45)/
<//font><br>/
Repeat(/ ,25)/
<font [v_MAIN_FONT] [v_COLOR_TITLE] alpha="70" valign="Top">/
ENDS AT FormatDate(Math(Decimal(Now()) + (Decimal([Duration,0]) / 86400)),[v_TIME_FORMAT])/
If(IsEmpty(TVInfo(WatchedDisplay)),,<br>Repeat(/ ,25)/
Watched TVInfo(WatchedDisplay))/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">=== LARGE ===</Item>
<Item Name="ShowMode">3</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Header</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_THEATER_FONT] [v_LSIZE_TITLE] [v_COLOR_TITLE] valign="bottom">/
[V_TITLE] If([Rating,0],/[ Repeat(<img src="tooltip:Misc//star-2" [v_STAR_WIDTH] valign="middle">,[Rating]) /],)/
<//font><//b>/
<br>/
<b><font [v_THEATER_FONT] [v_COLOR_INFOROW] [v_LSIZE_INFOROW] valign="bottom">/
FirstNotEmpty([Access Rating],NR)/ | /
FormatNumber(Math(Decimal([Duration,0]) / 60)) min/ | /
Replace(ListLimit([Genre],3),;,/,/ )/
If([v_Critic_Rating,0],/ <b>|<//b> [v_Critic_Rating],)/ | /
FormatDate([Date,0],[v_DATE_FORMAT])/ | /
Ends at FormatDate(Math(Decimal(Now()) + (Decimal([Duration,0]) / 86400)),[v_TIME_FORMAT])/
If(IsEmpty(TVInfo(WatchedDisplay)),,/ | Watched TVInfo(WatchedDisplay))/
<//font><//b>/
<font size="15"><br>/ <br><//font>/
[v_LDELIM_ICON]<img src="tooltip:Video//Definition//[v_VIDEO_DEF]If([HDR Format,0],/-hdr,)" [v_LHEIGHT_TECH_ICON] valign="middle">/
If(Find([HDR Format],Dolby),,[v_LDELIM_ICON]<img src="tooltip:Video//Definition//Dolby Vision" [v_LHEIGHT_TECH_ICON] valign="middle">)/
[v_LDELIM_ICON]<img src="tooltip:Container//[File Type]" [v_LHEIGHT_TECH_ICON] valign="middle">/
If([Aspect Ratio,0],[v_LDELIM_ICON]<img src="tooltip:Video//AspectRatio//Replace([Aspect Ratio],/,,.)" RemoveRight([v_LHEIGHT_TECH_ICON],3)Math(Number([v_LHEIGHT_TECH_ICON]) + 2)" valign="middle">,)/
If([FPS],[v_LDELIM_ICON]<img src="tooltip:Video//FPS//Replace([FPS],/,,.)" [v_LHEIGHT_TECH_ICON] valign="middle">,)/
If([Audio Codec,0],
Save([v_LDELIM_ICON]<img [v_LHEIGHT_TECH_ICON] valign="middle" src="tooltip:Audio//Codec, v_CodecPath)/
Replace(ListMix([v_CodecPath]//[L1]">IfElse(IsEqual([L1],TrueHD Atmos),[v_CodecPath]//TrueHD">,IsEqual([L1],E-AC3 Atmos),[v_CodecPath]//E-AC3">),8,Clean(ListLimit(ListClean([Audio Codec],1),[v_MAX_AUDIO_CODECS]),3)),;,),
)/
If([Audio Channels,0],[v_LDELIM_ICON]<img src="tooltip:Audio//Channels//ListItem([Audio Channels],0)" [v_LHEIGHT_TECH_ICON] valign="middle">,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Description</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_COLOR_BODY] If(Compare(Length([v_DESCRIPTION]),>,420),size="109",size="110")>[v_DESCRIPTION]<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Cast Title</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] size="75" alpha="50">Cast<//font><font [v_THEATER_FONT] size="50" alpha="50"> /(TMDB/)<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Cast List - Spotlight</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_CAPTION_FONTSIZE] [v_MAIN_FONT] alpha="70"><hthumbs images="spotlight_list(TVShow//Cast//Person,Image,[v_NUM_ACTORS],1)" captions="ListMix([L1]\n/-[L2], 2, spotlight_list(TVShow//Cast//Person,Name,[v_NUM_ACTORS]), spotlight_list(TVShow//Cast//Person,Role,[v_NUM_ACTORS]))" [v_ACTOR_WIDTH] [v_ACTOR_SPACING] //><//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Recommended Title</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">If([v_SHOW_REC_TITLE],<font [v_THEATER_FONT] size="75" alpha="50">Recommended<//font><font [v_THEATER_FONT] size="50" alpha="50"> /(TMDB/)<//font>,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Recommended List - Spotlight</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_CAPTION_FONTSIZE] [v_MAIN_FONT]><hthumbs images="spotlight_list(TVShow//SimilarSeries//Series,Poster,[v_NUM_SIMILAR],1)" [v_SIMILAR_WIDTH] [v_SIMILAR_SPACING] //><//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">Series</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">0</Item>
<Item Name="Expression">spotlight_value(TVShow//Overview)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"/>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">0</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
</Fields>
</Template>
Where can I get them from?I don't know as I don't use MC for recording. Don't know if such information is saved at all by mc.
<Template>
<Name>TV Show (tzr916)</Name>
<Search>[Media Sub Type]=[TV Show]</Search>
<Style>2</Style>
<Caption>If([AllSameSeries], <font alpha="50">Delimit(TVInfo(SeasonEpisode))<//font>[Name]Delimit(Watched(2), , / ), TVInfo(NameDisplay)Delimit(Watched(2), , / )) <font alpha="50">TVInfo(DateNoTime)<//font></Caption>
<CaptionExpanded/>
<Fields>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">GENERAL VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(TVInfo(SeasonEpisode) [Name],v_TITLE)/
Save(face="Segoe UI", v_MAIN_FONT)/
Save(face="Theater", v_THEATER_FONT)/
Save(ShortTime, v_TIME_FORMAT)/
Save(ShortDate, v_DATE_FORMAT)/
Save(width="30", v_STAR_WIDTH)/
Save(1, v_MAX_AUDIO_CODECS)/
Save(size="50", v_CAPTION_FONTSIZE)/
Save(9, v_NUM_ACTORS)/
Save(width="140", v_ACTOR_WIDTH)/
Save(spacing="3", v_ACTOR_SPACING)/
Save(9, v_NUM_SIMILAR)/
Save(width="140", v_SIMILAR_WIDTH)/
Save(spacing="3", v_SIMILAR_SPACING)/
Save(0, v_SHOW_DIRECTOR)/
Save(1, v_SHOW_REC_TITLE)/
Save(
IfElse(
Or(Compare([Width],>=,3840), Compare([Height],>=,2160)),
4K,
Or(Compare([Width],>=,1920), Compare([Height],>=,1080)),
1080p,
Or(Compare([Width],>=,1280), Compare([Height],>=,720)),
720p,
And(Compare([Width],>=,720), Compare([Height],>=,576)),
576p,
Or(Compare([Width],>=,720), Compare([Height],>=,480)),
480p
),v_VIDEO_DEF)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">COLOR VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(color="#f2edf4", v_COLOR_BODY)/
Save(color="#5b799b", v_COLOR_HEADER)/
Save(color="#75889F", v_COLOR_HEADER2)/
Save(color="#f69838", v_COLOR_STARS)/
Save(color="#dce4ea", v_COLOR_TITLE)/
Save(color="#5e5e63", v_COLOR_INFOROW)/
Save(color="#808084", v_COLOR_INFOROW_SMALL)/
Save(color="#569AF0", v_COLOR_BODY_LARGE)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">SMALL VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(size="70", v_SSIZE_BODY)/
Save(size="80", v_SSIZE_DESCR)/
Save(height="45", v_SHEIGHT_RATINGS)/
Save(
If(
Compare(Length([Description]),<=,400),
[Description]/
<font alpha="0">/
Repeat(_,Math(Frac((400 - Length([Description])) // 4) * 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
<//font>,
Left([Description],390)...),
v_SMALL_DESC)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">LARGE VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(size="If(Compare(Length([v_TITLE]),>,49), 100, 120)", v_LSIZE_TITLE)/
Save(size="70", v_LSIZE_INFOROW)/
Save(size="90", v_LSIZE_HEADER)/
Save(height="35", v_LHEIGHT_TECH_ICON)/
Save(Repeat(/ ,3),v_LDELIM_ICON)/
Save([Description],v_DESCRIPTION)/
Save( [Critic Rating], v_CRITIC_RATING)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">=== SMALL ===</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Header</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] [v_LSIZE_TITLE] [v_COLOR_TITLE] valign="bottom">/
[V_TITLE]/
<//font>/
<br>/
<font [v_THEATER_FONT] [v_COLOR_INFOROW] [v_LSIZE_INFOROW] valign="bottom">/
If([Artist,0],[Artist],Unknown Channel)/ |/ /
FormatNumber(Math(Decimal([Duration,0]) / 60)) min | /
FormatDate([Date imported,0],ShortDate ShortTime)/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Description</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">[description]
</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Personnel</Item>
<Item Name="ShowMode">3</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] alpha="70" [v_SSIZE_BODY]>/
If([v_SHOW_DIRECTOR],/
<font [v_COLOR_HEADER2]>/
DIRECTOR: /
<//font>/
<font [v_COLOR_BODY]>/
ListFormat([Director],2)/ /
<//font>,
)/
If([Actors,0],
<font [v_COLOR_HEADER2]>/
STARS: /
<//font>/
<font [v_COLOR_BODY]>/
ListFormat(ListLimit([Actors],6),2)/
<//font>,
)/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Icons</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">
[v_LDELIM_ICON]<img src="tooltip:Video//Definition//[v_VIDEO_DEF]If([HDR Format,0],/-hdr,)" [v_LHEIGHT_TECH_ICON] valign="middle">/
If(Find([HDR Format],Dolby),,[v_LDELIM_ICON]<img src="tooltip:Video//Definition//Dolby Vision" [v_LHEIGHT_TECH_ICON] valign="middle">)/
[v_LDELIM_ICON]<img src="tooltip:Container//[File Type]" [v_LHEIGHT_TECH_ICON] valign="middle">/
If([Aspect Ratio,0],[v_LDELIM_ICON]<img src="tooltip:Video//AspectRatio//Replace([Aspect Ratio],/,,.)" RemoveRight([v_LHEIGHT_TECH_ICON],3)Math(Number([v_LHEIGHT_TECH_ICON]) + 2)" valign="middle">,)/
If([FPS],[v_LDELIM_ICON]<img src="tooltip:Video//FPS//Replace([FPS],/,,.)" [v_LHEIGHT_TECH_ICON] valign="middle">,)/
If([Audio Codec,0],
Save([v_LDELIM_ICON]<img [v_LHEIGHT_TECH_ICON] valign="middle" src="tooltip:Audio//Codec, v_CodecPath)/
Replace(ListMix([v_CodecPath]//[L1]">IfElse(IsEqual([L1],TrueHD Atmos),[v_CodecPath]//TrueHD">,IsEqual([L1],E-AC3 Atmos),[v_CodecPath]//E-AC3">),8,Clean(ListLimit(ListClean([Audio Codec],1),[v_MAX_AUDIO_CODECS]),3)),;,),
)/
If([Audio Channels,0],[v_LDELIM_ICON]<img src="tooltip:Audio//Channels//ListItem([Audio Channels],0)" [v_LHEIGHT_TECH_ICON] valign="middle">,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">0</Item>
<Item Name="Name"> End Time</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_COLOR_HEADER2] alpha="40">/
Repeat(–,45)/
<//font><br>/
Repeat(/ ,25)/
<font [v_MAIN_FONT] [v_COLOR_TITLE] alpha="70" valign="Top">/
ENDS AT FormatDate(Math(Decimal(Now()) + (Decimal([Duration,0]) / 86400)),[v_TIME_FORMAT])/
If(IsEmpty(TVInfo(WatchedDisplay)),,<br>Repeat(/ ,25)/
Watched TVInfo(WatchedDisplay))/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">=== LARGE ===</Item>
<Item Name="ShowMode">3</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Header</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] [v_LSIZE_TITLE] [v_COLOR_TITLE] valign="bottom">/
[V_TITLE] If([Rating,0],/[ Repeat(<img src="tooltip:Misc//star-2" [v_STAR_WIDTH] valign="middle">,[Rating]) /],)/
<//font>/
<br>/
<font [v_THEATER_FONT] [v_COLOR_INFOROW] [v_LSIZE_INFOROW] valign="bottom">/
If([Artist,0],[Artist],Unknown Channel)/ |/ /
FormatNumber(Math(Decimal([Duration,0]) / 60)) min/ | /
FormatDate([Date imported,0],ShortDate ShortTime)/
<//font>/
<font size="15"><br>/ <br><//font>/
[v_LDELIM_ICON]<img src="tooltip:Video//Definition//[v_VIDEO_DEF]If([HDR Format,0],/-hdr,)" [v_LHEIGHT_TECH_ICON] valign="middle">/
If(Find([HDR Format],Dolby),,[v_LDELIM_ICON]<img src="tooltip:Video//Definition//Dolby Vision" [v_LHEIGHT_TECH_ICON] valign="middle">)/
[v_LDELIM_ICON]<img src="tooltip:Container//[File Type]" [v_LHEIGHT_TECH_ICON] valign="middle">/
If([Aspect Ratio,0],[v_LDELIM_ICON]<img src="tooltip:Video//AspectRatio//Replace([Aspect Ratio],/,,.)" RemoveRight([v_LHEIGHT_TECH_ICON],3)Math(Number([v_LHEIGHT_TECH_ICON]) + 2)" valign="middle">,)/
If([FPS],[v_LDELIM_ICON]<img src="tooltip:Video//FPS//Replace([FPS],/,,.)" [v_LHEIGHT_TECH_ICON] valign="middle">,)/
If([Audio Codec,0],
Save([v_LDELIM_ICON]<img [v_LHEIGHT_TECH_ICON] valign="middle" src="tooltip:Audio//Codec, v_CodecPath)/
Replace(ListMix([v_CodecPath]//[L1]">IfElse(IsEqual([L1],TrueHD Atmos),[v_CodecPath]//TrueHD">,IsEqual([L1],E-AC3 Atmos),[v_CodecPath]//E-AC3">),8,Clean(ListLimit(ListClean([Audio Codec],1),[v_MAX_AUDIO_CODECS]),3)),;,),
)/
If([Audio Channels,0],[v_LDELIM_ICON]<img src="tooltip:Audio//Channels//ListItem([Audio Channels],0)" [v_LHEIGHT_TECH_ICON] valign="middle">,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Description</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_COLOR_BODY]>/
[Description]/
<//font>
</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Cast Title</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] size="75" alpha="50">Cast<//font><font [v_THEATER_FONT] size="50" alpha="50"> /(TMDB/)<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Cast List - Spotlight</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_CAPTION_FONTSIZE] [v_MAIN_FONT] alpha="70"><hthumbs images="spotlight_list(TVShow//Cast//Person,Image,[v_NUM_ACTORS],1)" captions="ListMix([L1]\n/-[L2], 2, spotlight_list(TVShow//Cast//Person,Name,[v_NUM_ACTORS]), spotlight_list(TVShow//Cast//Person,Role,[v_NUM_ACTORS]))" [v_ACTOR_WIDTH] [v_ACTOR_SPACING] //><//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Recommended Title</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">If([v_SHOW_REC_TITLE],<font [v_THEATER_FONT] size="75" alpha="50">Recommended<//font><font [v_THEATER_FONT] size="50" alpha="50"> /(TMDB/)<//font>,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Recommended List - Spotlight</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_CAPTION_FONTSIZE] [v_MAIN_FONT]><hthumbs images="spotlight_list(TVShow//SimilarSeries//Series,Poster,[v_NUM_SIMILAR],1)" [v_SIMILAR_WIDTH] [v_SIMILAR_SPACING] //><//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">Series</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">0</Item>
<Item Name="Expression">spotlight_value(TVShow//Overview)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"/>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">0</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
</Fields>
</Template>
Guessed that artist field have the channel information... if it is empty unknown channel is displayed. Date Imported is used for recording time.
Guessed that artist field have the channel information... if it is empty unknown channel is displayed. Date Imported is used for recording time.Code: [Select]<Template>
<Name>TV Show (tzr916)</Name>
<Search>[Media Sub Type]=[TV Show]</Search>
<Style>2</Style>
<Caption>If([AllSameSeries], <font alpha="50">Delimit(TVInfo(SeasonEpisode))<//font>[Name]Delimit(Watched(2), , / ), TVInfo(NameDisplay)Delimit(Watched(2), , / )) <font alpha="50">TVInfo(DateNoTime)<//font></Caption>
<CaptionExpanded/>
<Fields>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">GENERAL VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(TVInfo(SeasonEpisode) [Name],v_TITLE)/
Save(face="Segoe UI", v_MAIN_FONT)/
Save(face="Theater", v_THEATER_FONT)/
Save(ShortTime, v_TIME_FORMAT)/
Save(ShortDate, v_DATE_FORMAT)/
Save(width="30", v_STAR_WIDTH)/
Save(1, v_MAX_AUDIO_CODECS)/
Save(size="50", v_CAPTION_FONTSIZE)/
Save(9, v_NUM_ACTORS)/
Save(width="140", v_ACTOR_WIDTH)/
Save(spacing="3", v_ACTOR_SPACING)/
Save(9, v_NUM_SIMILAR)/
Save(width="140", v_SIMILAR_WIDTH)/
Save(spacing="3", v_SIMILAR_SPACING)/
Save(0, v_SHOW_DIRECTOR)/
Save(1, v_SHOW_REC_TITLE)/
Save(
IfElse(
Or(Compare([Width],>=,3840), Compare([Height],>=,2160)),
4K,
Or(Compare([Width],>=,1920), Compare([Height],>=,1080)),
1080p,
Or(Compare([Width],>=,1280), Compare([Height],>=,720)),
720p,
And(Compare([Width],>=,720), Compare([Height],>=,576)),
576p,
Or(Compare([Width],>=,720), Compare([Height],>=,480)),
480p
),v_VIDEO_DEF)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">COLOR VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(color="#f2edf4", v_COLOR_BODY)/
Save(color="#5b799b", v_COLOR_HEADER)/
Save(color="#75889F", v_COLOR_HEADER2)/
Save(color="#f69838", v_COLOR_STARS)/
Save(color="#dce4ea", v_COLOR_TITLE)/
Save(color="#5e5e63", v_COLOR_INFOROW)/
Save(color="#808084", v_COLOR_INFOROW_SMALL)/
Save(color="#569AF0", v_COLOR_BODY_LARGE)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">SMALL VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(size="70", v_SSIZE_BODY)/
Save(size="80", v_SSIZE_DESCR)/
Save(height="45", v_SHEIGHT_RATINGS)/
Save(
If(
Compare(Length([Description]),<=,400),
[Description]/
<font alpha="0">/
Repeat(_,Math(Frac((400 - Length([Description])) // 4) * 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
<//font>,
Left([Description],390)...),
v_SMALL_DESC)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">LARGE VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(size="If(Compare(Length([v_TITLE]),>,49), 100, 120)", v_LSIZE_TITLE)/
Save(size="70", v_LSIZE_INFOROW)/
Save(size="90", v_LSIZE_HEADER)/
Save(height="35", v_LHEIGHT_TECH_ICON)/
Save(Repeat(/ ,3),v_LDELIM_ICON)/
Save([Description],v_DESCRIPTION)/
Save( [Critic Rating], v_CRITIC_RATING)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">=== SMALL ===</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Header</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] [v_LSIZE_TITLE] [v_COLOR_TITLE] valign="bottom">/
[V_TITLE]/
<//font>/
<br>/
<font [v_THEATER_FONT] [v_COLOR_INFOROW] [v_LSIZE_INFOROW] valign="bottom">/
If([Artist,0],[Artist],Unknown Channel)/ |/ /
FormatNumber(Math(Decimal([Duration,0]) / 60)) min | /
FormatDate([Date imported,0],ShortDate ShortTime)/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Description</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">[description]
</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Personnel</Item>
<Item Name="ShowMode">3</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] alpha="70" [v_SSIZE_BODY]>/
If([v_SHOW_DIRECTOR],/
<font [v_COLOR_HEADER2]>/
DIRECTOR: /
<//font>/
<font [v_COLOR_BODY]>/
ListFormat([Director],2)/ /
<//font>,
)/
If([Actors,0],
<font [v_COLOR_HEADER2]>/
STARS: /
<//font>/
<font [v_COLOR_BODY]>/
ListFormat(ListLimit([Actors],6),2)/
<//font>,
)/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Icons</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">
[v_LDELIM_ICON]<img src="tooltip:Video//Definition//[v_VIDEO_DEF]If([HDR Format,0],/-hdr,)" [v_LHEIGHT_TECH_ICON] valign="middle">/
If(Find([HDR Format],Dolby),,[v_LDELIM_ICON]<img src="tooltip:Video//Definition//Dolby Vision" [v_LHEIGHT_TECH_ICON] valign="middle">)/
[v_LDELIM_ICON]<img src="tooltip:Container//[File Type]" [v_LHEIGHT_TECH_ICON] valign="middle">/
If([Aspect Ratio,0],[v_LDELIM_ICON]<img src="tooltip:Video//AspectRatio//Replace([Aspect Ratio],/,,.)" RemoveRight([v_LHEIGHT_TECH_ICON],3)Math(Number([v_LHEIGHT_TECH_ICON]) + 2)" valign="middle">,)/
If([FPS],[v_LDELIM_ICON]<img src="tooltip:Video//FPS//Replace([FPS],/,,.)" [v_LHEIGHT_TECH_ICON] valign="middle">,)/
If([Audio Codec,0],
Save([v_LDELIM_ICON]<img [v_LHEIGHT_TECH_ICON] valign="middle" src="tooltip:Audio//Codec, v_CodecPath)/
Replace(ListMix([v_CodecPath]//[L1]">IfElse(IsEqual([L1],TrueHD Atmos),[v_CodecPath]//TrueHD">,IsEqual([L1],E-AC3 Atmos),[v_CodecPath]//E-AC3">),8,Clean(ListLimit(ListClean([Audio Codec],1),[v_MAX_AUDIO_CODECS]),3)),;,),
)/
If([Audio Channels,0],[v_LDELIM_ICON]<img src="tooltip:Audio//Channels//ListItem([Audio Channels],0)" [v_LHEIGHT_TECH_ICON] valign="middle">,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">0</Item>
<Item Name="Name"> End Time</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_COLOR_HEADER2] alpha="40">/
Repeat(–,45)/
<//font><br>/
Repeat(/ ,25)/
<font [v_MAIN_FONT] [v_COLOR_TITLE] alpha="70" valign="Top">/
ENDS AT FormatDate(Math(Decimal(Now()) + (Decimal([Duration,0]) / 86400)),[v_TIME_FORMAT])/
If(IsEmpty(TVInfo(WatchedDisplay)),,<br>Repeat(/ ,25)/
Watched TVInfo(WatchedDisplay))/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">=== LARGE ===</Item>
<Item Name="ShowMode">3</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Header</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] [v_LSIZE_TITLE] [v_COLOR_TITLE] valign="bottom">/
[V_TITLE] If([Rating,0],/[ Repeat(<img src="tooltip:Misc//star-2" [v_STAR_WIDTH] valign="middle">,[Rating]) /],)/
<//font>/
<br>/
<font [v_THEATER_FONT] [v_COLOR_INFOROW] [v_LSIZE_INFOROW] valign="bottom">/
If([Artist,0],[Artist],Unknown Channel)/ |/ /
FormatNumber(Math(Decimal([Duration,0]) / 60)) min/ | /
FormatDate([Date imported,0],ShortDate ShortTime)/
<//font>/
<font size="15"><br>/ <br><//font>/
[v_LDELIM_ICON]<img src="tooltip:Video//Definition//[v_VIDEO_DEF]If([HDR Format,0],/-hdr,)" [v_LHEIGHT_TECH_ICON] valign="middle">/
If(Find([HDR Format],Dolby),,[v_LDELIM_ICON]<img src="tooltip:Video//Definition//Dolby Vision" [v_LHEIGHT_TECH_ICON] valign="middle">)/
[v_LDELIM_ICON]<img src="tooltip:Container//[File Type]" [v_LHEIGHT_TECH_ICON] valign="middle">/
If([Aspect Ratio,0],[v_LDELIM_ICON]<img src="tooltip:Video//AspectRatio//Replace([Aspect Ratio],/,,.)" RemoveRight([v_LHEIGHT_TECH_ICON],3)Math(Number([v_LHEIGHT_TECH_ICON]) + 2)" valign="middle">,)/
If([FPS],[v_LDELIM_ICON]<img src="tooltip:Video//FPS//Replace([FPS],/,,.)" [v_LHEIGHT_TECH_ICON] valign="middle">,)/
If([Audio Codec,0],
Save([v_LDELIM_ICON]<img [v_LHEIGHT_TECH_ICON] valign="middle" src="tooltip:Audio//Codec, v_CodecPath)/
Replace(ListMix([v_CodecPath]//[L1]">IfElse(IsEqual([L1],TrueHD Atmos),[v_CodecPath]//TrueHD">,IsEqual([L1],E-AC3 Atmos),[v_CodecPath]//E-AC3">),8,Clean(ListLimit(ListClean([Audio Codec],1),[v_MAX_AUDIO_CODECS]),3)),;,),
)/
If([Audio Channels,0],[v_LDELIM_ICON]<img src="tooltip:Audio//Channels//ListItem([Audio Channels],0)" [v_LHEIGHT_TECH_ICON] valign="middle">,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Description</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_COLOR_BODY]>/
[Description]/
<//font>
</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Cast Title</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] size="75" alpha="50">Cast<//font><font [v_THEATER_FONT] size="50" alpha="50"> /(TMDB/)<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Cast List - Spotlight</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_CAPTION_FONTSIZE] [v_MAIN_FONT] alpha="70"><hthumbs images="spotlight_list(TVShow//Cast//Person,Image,[v_NUM_ACTORS],1)" captions="ListMix([L1]\n/-[L2], 2, spotlight_list(TVShow//Cast//Person,Name,[v_NUM_ACTORS]), spotlight_list(TVShow//Cast//Person,Role,[v_NUM_ACTORS]))" [v_ACTOR_WIDTH] [v_ACTOR_SPACING] //><//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Recommended Title</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">If([v_SHOW_REC_TITLE],<font [v_THEATER_FONT] size="75" alpha="50">Recommended<//font><font [v_THEATER_FONT] size="50" alpha="50"> /(TMDB/)<//font>,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Recommended List - Spotlight</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_CAPTION_FONTSIZE] [v_MAIN_FONT]><hthumbs images="spotlight_list(TVShow//SimilarSeries//Series,Poster,[v_NUM_SIMILAR],1)" [v_SIMILAR_WIDTH] [v_SIMILAR_SPACING] //><//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">Series</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">0</Item>
<Item Name="Expression">spotlight_value(TVShow//Overview)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"/>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">0</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
</Fields>
</Template>
<Template>
<Name>TV Show (tzr916)</Name>
<Search>[Media Sub Type]=[TV Show]</Search>
<Style>2</Style>
<Caption>If([AllSameSeries], <font alpha="50">Delimit(TVInfo(SeasonEpisode))<//font>[Name]Delimit(Watched(2), , / ), TVInfo(NameDisplay)Delimit(Watched(2), , / )) <font alpha="50">TVInfo(DateNoTime)<//font></Caption>
<CaptionExpanded/>
<Fields>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">GENERAL VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(TVInfo(SeasonEpisode) [Name],v_TITLE)/
Save(face="Segoe UI", v_MAIN_FONT)/
Save(face="Theater", v_THEATER_FONT)/
Save(ShortTime, v_TIME_FORMAT)/
Save(ShortDate, v_DATE_FORMAT)/
Save(width="30", v_STAR_WIDTH)/
Save(1, v_MAX_AUDIO_CODECS)/
Save(size="50", v_CAPTION_FONTSIZE)/
Save(9, v_NUM_ACTORS)/
Save(width="140", v_ACTOR_WIDTH)/
Save(spacing="3", v_ACTOR_SPACING)/
Save(9, v_NUM_SIMILAR)/
Save(width="140", v_SIMILAR_WIDTH)/
Save(spacing="3", v_SIMILAR_SPACING)/
Save(0, v_SHOW_DIRECTOR)/
Save(1, v_SHOW_REC_TITLE)/
Save(
IfElse(
Or(Compare([Width],>=,3840), Compare([Height],>=,2160)),
4K,
Or(Compare([Width],>=,1920), Compare([Height],>=,1080)),
1080p,
Or(Compare([Width],>=,1280), Compare([Height],>=,720)),
720p,
And(Compare([Width],>=,720), Compare([Height],>=,576)),
576p,
Or(Compare([Width],>=,720), Compare([Height],>=,480)),
480p
),v_VIDEO_DEF)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">COLOR VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(color="#f2edf4", v_COLOR_BODY)/
Save(color="#5b799b", v_COLOR_HEADER)/
Save(color="#75889F", v_COLOR_HEADER2)/
Save(color="#f69838", v_COLOR_STARS)/
Save(color="#dce4ea", v_COLOR_TITLE)/
Save(color="#5e5e63", v_COLOR_INFOROW)/
Save(color="#808084", v_COLOR_INFOROW_SMALL)/
Save(color="#569AF0", v_COLOR_BODY_LARGE)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">SMALL VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(size="70", v_SSIZE_BODY)/
Save(size="80", v_SSIZE_DESCR)/
Save(height="45", v_SHEIGHT_RATINGS)/
Save(
If(
Compare(Length([Description]),<=,400),
[Description]/
<font alpha="0">/
Repeat(_,Math(Frac((400 - Length([Description])) // 4) * 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
<//font>,
Left([Description],390)...),
v_SMALL_DESC)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">LARGE VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(size="If(Compare(Length([v_TITLE]),>,49), 100, 120)", v_LSIZE_TITLE)/
Save(size="70", v_LSIZE_INFOROW)/
Save(size="90", v_LSIZE_HEADER)/
Save(height="35", v_LHEIGHT_TECH_ICON)/
Save(Repeat(/ ,3),v_LDELIM_ICON)/
Save([Description],v_DESCRIPTION)/
Save( [Critic Rating], v_CRITIC_RATING)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">=== SMALL ===</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Header</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] [v_LSIZE_TITLE] [v_COLOR_TITLE] valign="bottom">/
[V_TITLE]/
<//font>/
<br>/
<font [v_THEATER_FONT] [v_COLOR_INFOROW] [v_LSIZE_INFOROW] valign="bottom">/
If([Artist,0],[Artist],Unknown Channel)/ |/ /
FormatNumber(Math(Decimal([Duration,0]) / 60)) min | /
FormatDate([Date imported,0],ShortDate ShortTime)/
If(IsEmpty(TVInfo(WatchedDisplay)),,/ | Watched TVInfo(WatchedDisplay))/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Description</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">[description]
</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Personnel</Item>
<Item Name="ShowMode">3</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] alpha="70" [v_SSIZE_BODY]>/
If([v_SHOW_DIRECTOR],/
<font [v_COLOR_HEADER2]>/
DIRECTOR: /
<//font>/
<font [v_COLOR_BODY]>/
ListFormat([Director],2)/ /
<//font>,
)/
If([Actors,0],
<font [v_COLOR_HEADER2]>/
STARS: /
<//font>/
<font [v_COLOR_BODY]>/
ListFormat(ListLimit([Actors],6),2)/
<//font>,
)/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Icons</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">
[v_LDELIM_ICON]<img src="tooltip:Video//Definition//[v_VIDEO_DEF]If([HDR Format,0],/-hdr,)" [v_LHEIGHT_TECH_ICON] valign="middle">/
If(Find([HDR Format],Dolby),,[v_LDELIM_ICON]<img src="tooltip:Video//Definition//Dolby Vision" [v_LHEIGHT_TECH_ICON] valign="middle">)/
[v_LDELIM_ICON]<img src="tooltip:Container//[File Type]" [v_LHEIGHT_TECH_ICON] valign="middle">/
If([Aspect Ratio,0],[v_LDELIM_ICON]<img src="tooltip:Video//AspectRatio//Replace([Aspect Ratio],/,,.)" RemoveRight([v_LHEIGHT_TECH_ICON],3)Math(Number([v_LHEIGHT_TECH_ICON]) + 2)" valign="middle">,)/
If([FPS],[v_LDELIM_ICON]<img src="tooltip:Video//FPS//Replace([FPS],/,,.)" [v_LHEIGHT_TECH_ICON] valign="middle">,)/
If([Audio Codec,0],
Save([v_LDELIM_ICON]<img [v_LHEIGHT_TECH_ICON] valign="middle" src="tooltip:Audio//Codec, v_CodecPath)/
Replace(ListMix([v_CodecPath]//[L1]">IfElse(IsEqual([L1],TrueHD Atmos),[v_CodecPath]//TrueHD">,IsEqual([L1],E-AC3 Atmos),[v_CodecPath]//E-AC3">),8,Clean(ListLimit(ListClean([Audio Codec],1),[v_MAX_AUDIO_CODECS]),3)),;,),
)/
If([Audio Channels,0],[v_LDELIM_ICON]<img src="tooltip:Audio//Channels//ListItem([Audio Channels],0)" [v_LHEIGHT_TECH_ICON] valign="middle">,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">0</Item>
<Item Name="Name"> End Time</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_COLOR_HEADER2] alpha="40">/
Repeat(–,45)/
<//font><br>/
Repeat(/ ,25)/
<font [v_MAIN_FONT] [v_COLOR_TITLE] alpha="70" valign="Top">/
ENDS AT FormatDate(Math(Decimal(Now()) + (Decimal([Duration,0]) / 86400)),[v_TIME_FORMAT])/
If(IsEmpty(TVInfo(WatchedDisplay)),,<br>Repeat(/ ,25)/
Watched TVInfo(WatchedDisplay))/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">=== LARGE ===</Item>
<Item Name="ShowMode">3</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Header</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] [v_LSIZE_TITLE] [v_COLOR_TITLE] valign="bottom">/
[V_TITLE] If([Rating,0],/[ Repeat(<img src="tooltip:Misc//star-2" [v_STAR_WIDTH] valign="middle">,[Rating]) /],)/
<//font>/
<br>/
<font [v_THEATER_FONT] [v_COLOR_INFOROW] [v_LSIZE_INFOROW] valign="bottom">/
If([Artist,0],[Artist],Unknown Channel)/ |/ /
FormatNumber(Math(Decimal([Duration,0]) / 60)) min/ | /
FormatDate([Date imported,0],ShortDate ShortTime)/
If(IsEmpty(TVInfo(WatchedDisplay)),,/ | / Watched TVInfo(WatchedDisplay))/
<//font>/
<font size="15"><br>/ <br><//font>/
[v_LDELIM_ICON]<img src="tooltip:Video//Definition//[v_VIDEO_DEF]If([HDR Format,0],/-hdr,)" [v_LHEIGHT_TECH_ICON] valign="middle">/
If(Find([HDR Format],Dolby),,[v_LDELIM_ICON]<img src="tooltip:Video//Definition//Dolby Vision" [v_LHEIGHT_TECH_ICON] valign="middle">)/
[v_LDELIM_ICON]<img src="tooltip:Container//[File Type]" [v_LHEIGHT_TECH_ICON] valign="middle">/
If([Aspect Ratio,0],[v_LDELIM_ICON]<img src="tooltip:Video//AspectRatio//Replace([Aspect Ratio],/,,.)" RemoveRight([v_LHEIGHT_TECH_ICON],3)Math(Number([v_LHEIGHT_TECH_ICON]) + 2)" valign="middle">,)/
If([FPS],[v_LDELIM_ICON]<img src="tooltip:Video//FPS//Replace([FPS],/,,.)" [v_LHEIGHT_TECH_ICON] valign="middle">,)/
If([Audio Codec,0],
Save([v_LDELIM_ICON]<img [v_LHEIGHT_TECH_ICON] valign="middle" src="tooltip:Audio//Codec, v_CodecPath)/
Replace(ListMix([v_CodecPath]//[L1]">IfElse(IsEqual([L1],TrueHD Atmos),[v_CodecPath]//TrueHD">,IsEqual([L1],E-AC3 Atmos),[v_CodecPath]//E-AC3">),8,Clean(ListLimit(ListClean([Audio Codec],1),[v_MAX_AUDIO_CODECS]),3)),;,),
)/
If([Audio Channels,0],[v_LDELIM_ICON]<img src="tooltip:Audio//Channels//ListItem([Audio Channels],0)" [v_LHEIGHT_TECH_ICON] valign="middle">,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Description</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_COLOR_BODY]>/
[Description]/
<//font>
</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Cast Title</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] size="75" alpha="50">Cast<//font><font [v_THEATER_FONT] size="50" alpha="50"> /(TMDB/)<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Cast List - Spotlight</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_CAPTION_FONTSIZE] [v_MAIN_FONT] alpha="70"><hthumbs images="spotlight_list(TVShow//Cast//Person,Image,[v_NUM_ACTORS],1)" captions="ListMix([L1]\n/-[L2], 2, spotlight_list(TVShow//Cast//Person,Name,[v_NUM_ACTORS]), spotlight_list(TVShow//Cast//Person,Role,[v_NUM_ACTORS]))" [v_ACTOR_WIDTH] [v_ACTOR_SPACING] //><//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Recommended Title</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">If([v_SHOW_REC_TITLE],<font [v_THEATER_FONT] size="75" alpha="50">Recommended<//font><font [v_THEATER_FONT] size="50" alpha="50"> /(TMDB/)<//font>,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Recommended List - Spotlight</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_CAPTION_FONTSIZE] [v_MAIN_FONT]><hthumbs images="spotlight_list(TVShow//SimilarSeries//Series,Poster,[v_NUM_SIMILAR],1)" [v_SIMILAR_WIDTH] [v_SIMILAR_SPACING] //><//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">Series</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">0</Item>
<Item Name="Expression">spotlight_value(TVShow//Overview)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"/>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">0</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
</Fields>
</Template>
Sliced album art image to three different images. Before this tightening change only two images tower was possible
There you go :)
<Template>
<Name>TV Show Test V3</Name>
<Search>[Media Sub Type]=[TV Show]</Search>
<Style>2</Style>
<Caption>If([AllSameSeries], <font alpha="50">Delimit(TVInfo(SeasonEpisode))<//font>[Name]Delimit(Watched(2), , / ), TVInfo(NameDisplay)Delimit(Watched(2), , / )) <font alpha="50">TVInfo(DateNoTime)<//font></Caption>
<CaptionExpanded/>
<Fields>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">GENERAL VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(TVInfo(SeasonEpisode) [Name],v_TITLE)/
Save(face="Segoe UI", v_MAIN_FONT)/
Save(face="Theater", v_THEATER_FONT)/
Save(ShortTime, v_TIME_FORMAT)/
Save(ShortDate, v_DATE_FORMAT)/
Save(width="30", v_STAR_WIDTH)/
Save(1, v_MAX_AUDIO_CODECS)/
Save(size="50", v_CAPTION_FONTSIZE)/
Save(9, v_NUM_ACTORS)/
Save(width="140", v_ACTOR_WIDTH)/
Save(spacing="3", v_ACTOR_SPACING)/
Save(9, v_NUM_SIMILAR)/
Save(width="140", v_SIMILAR_WIDTH)/
Save(spacing="3", v_SIMILAR_SPACING)/
Save(0, v_SHOW_DIRECTOR)/
Save(1, v_SHOW_REC_TITLE)/
Save(
IfElse(
Or(Compare([Width],>=,3840), Compare([Height],>=,2160)),
4K,
Or(Compare([Width],>=,1920), Compare([Height],>=,1080)),
1080p,
Or(Compare([Width],>=,1280), Compare([Height],>=,720)),
720p,
And(Compare([Width],>=,720), Compare([Height],>=,576)),
576p,
Or(Compare([Width],>=,720), Compare([Height],>=,480)),
480p
),v_VIDEO_DEF)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">COLOR VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(color="#f2edf4", v_COLOR_BODY)/
Save(color="#5b799b", v_COLOR_HEADER)/
Save(color="#75889F", v_COLOR_HEADER2)/
Save(color="#f69838", v_COLOR_STARS)/
Save(color="#dce4ea", v_COLOR_TITLE)/
Save(color="#5e5e63", v_COLOR_INFOROW)/
Save(color="#808084", v_COLOR_INFOROW_SMALL)/
Save(color="#569AF0", v_COLOR_BODY_LARGE)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">SMALL VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(size="70", v_SSIZE_BODY)/
Save(size="80", v_SSIZE_DESCR)/
Save(height="45", v_SHEIGHT_RATINGS)/
Save(
If(
Compare(Length([Description]),<=,400),
[Description]/
<font alpha="0">/
Repeat(_,Math(Frac((400 - Length([Description])) // 4) * 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
Repeat(_,Math((400 - Length([Description])) // 4))/
<//font>,
Left([Description],390)...),
v_SMALL_DESC)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">LARGE VARIABLES</Item>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">Save(size="If(Compare(Length([v_TITLE]),>,49), 100, 120)", v_LSIZE_TITLE)/
Save(size="70", v_LSIZE_INFOROW)/
Save(size="90", v_LSIZE_HEADER)/
Save(height="35", v_LHEIGHT_TECH_ICON)/
Save(Repeat(/ ,3),v_LDELIM_ICON)/
Save([Description],v_DESCRIPTION)/
Save( [Critic Rating], v_CRITIC_RATING)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">=== SMALL ===</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Header</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] [v_LSIZE_TITLE] [v_COLOR_TITLE] valign="bottom">/
[V_TITLE]/
<//font>/
<br>/
<font [v_THEATER_FONT] [v_COLOR_INFOROW] [v_LSIZE_INFOROW] valign="bottom">/
If([Artist,0],[Artist],Unknown Channel)/ |/ /
FormatNumber(Math(Decimal([Duration,0]) / 60)) min | /
FormatDate([Date,0],ShortDate)/
If(IsEmpty(TVInfo(WatchedDisplay)),,/ | Watched TVInfo(WatchedDisplay))/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Description</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">[description]
</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Personnel</Item>
<Item Name="ShowMode">3</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] alpha="70" [v_SSIZE_BODY]>/
If([v_SHOW_DIRECTOR],/
<font [v_COLOR_HEADER2]>/
DIRECTOR: /
<//font>/
<font [v_COLOR_BODY]>/
ListFormat([Director],2)/ /
<//font>,
)/
If([Actors,0],
<font [v_COLOR_HEADER2]>/
STARS: /
<//font>/
<font [v_COLOR_BODY]>/
ListFormat(ListLimit([Actors],6),2)/
<//font>,
)/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Icons</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">
[v_LDELIM_ICON]<img src="tooltip:Video//Definition//[v_VIDEO_DEF]If([HDR Format,0],/-hdr,)" [v_LHEIGHT_TECH_ICON] valign="middle">/
If(Find([HDR Format],Dolby),,[v_LDELIM_ICON]<img src="tooltip:Video//Definition//Dolby Vision" [v_LHEIGHT_TECH_ICON] valign="middle">)/
[v_LDELIM_ICON]<img src="tooltip:Container//[File Type]" [v_LHEIGHT_TECH_ICON] valign="middle">/
If([Aspect Ratio,0],[v_LDELIM_ICON]<img src="tooltip:Video//AspectRatio//Replace([Aspect Ratio],/,,.)" RemoveRight([v_LHEIGHT_TECH_ICON],3)Math(Number([v_LHEIGHT_TECH_ICON]) + 2)" valign="middle">,)/
If([FPS],[v_LDELIM_ICON]<img src="tooltip:Video//FPS//Replace([FPS],/,,.)" [v_LHEIGHT_TECH_ICON] valign="middle">,)/
If([Audio Codec,0],
Save([v_LDELIM_ICON]<img [v_LHEIGHT_TECH_ICON] valign="middle" src="tooltip:Audio//Codec, v_CodecPath)/
Replace(ListMix([v_CodecPath]//[L1]">IfElse(IsEqual([L1],TrueHD Atmos),[v_CodecPath]//TrueHD">,IsEqual([L1],E-AC3 Atmos),[v_CodecPath]//E-AC3">),8,Clean(ListLimit(ListClean([Audio Codec],1),[v_MAX_AUDIO_CODECS]),3)),;,),
)/
If([Audio Channels,0],[v_LDELIM_ICON]<img src="tooltip:Audio//Channels//ListItem([Audio Channels],0)" [v_LHEIGHT_TECH_ICON] valign="middle">,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">0</Item>
<Item Name="Name"> End Time</Item>
<Item Name="ShowMode">2</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_COLOR_HEADER2] alpha="40">/
Repeat(–,45)/
<//font><br>/
Repeat(/ ,25)/
<font [v_MAIN_FONT] [v_COLOR_TITLE] alpha="70" valign="Top">/
If(IsEmpty(TVInfo(WatchedDisplay)),,<br>Repeat(/ ,25)/
Watched TVInfo(WatchedDisplay))/
<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">=== LARGE ===</Item>
<Item Name="ShowMode">3</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Header</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] [v_LSIZE_TITLE] [v_COLOR_TITLE] valign="bottom">/
[V_TITLE] If([Rating,0],/[ Repeat(<img src="tooltip:Misc//star-2" [v_STAR_WIDTH] valign="middle">,[Rating]) /],)/
<//font>/
<br>/
<font [v_THEATER_FONT] [v_COLOR_INFOROW] [v_LSIZE_INFOROW] valign="bottom">/
If([Artist,0],[Artist],Unknown Channel)/ |/ /
FormatNumber(Math(Decimal([Duration,0]) / 60)) min/ | /
FormatDate([Date,0],ShortDate)/
If(IsEmpty(TVInfo(WatchedDisplay)),,/ | / Watched TVInfo(WatchedDisplay))/
<//font>/
<font size="15"><br>/ <br><//font>/
[v_LDELIM_ICON]<img src="tooltip:Video//Definition//[v_VIDEO_DEF]If([HDR Format,0],/-hdr,)" [v_LHEIGHT_TECH_ICON] valign="middle">/
If(Find([HDR Format],Dolby),,[v_LDELIM_ICON]<img src="tooltip:Video//Definition//Dolby Vision" [v_LHEIGHT_TECH_ICON] valign="middle">)/
[v_LDELIM_ICON]<img src="tooltip:Container//[File Type]" [v_LHEIGHT_TECH_ICON] valign="middle">/
If([Aspect Ratio,0],[v_LDELIM_ICON]<img src="tooltip:Video//AspectRatio//Replace([Aspect Ratio],/,,.)" RemoveRight([v_LHEIGHT_TECH_ICON],3)Math(Number([v_LHEIGHT_TECH_ICON]) + 2)" valign="middle">,)/
If([FPS],[v_LDELIM_ICON]<img src="tooltip:Video//FPS//Replace([FPS],/,,.)" [v_LHEIGHT_TECH_ICON] valign="middle">,)/
If([Audio Codec,0],
Save([v_LDELIM_ICON]<img [v_LHEIGHT_TECH_ICON] valign="middle" src="tooltip:Audio//Codec, v_CodecPath)/
Replace(ListMix([v_CodecPath]//[L1]">IfElse(IsEqual([L1],TrueHD Atmos),[v_CodecPath]//TrueHD">,IsEqual([L1],E-AC3 Atmos),[v_CodecPath]//E-AC3">),8,Clean(ListLimit(ListClean([Audio Codec],1),[v_MAX_AUDIO_CODECS]),3)),;,),
)/
If([Audio Channels,0],[v_LDELIM_ICON]<img src="tooltip:Audio//Channels//ListItem([Audio Channels],0)" [v_LHEIGHT_TECH_ICON] valign="middle">,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Description</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_MAIN_FONT] [v_COLOR_BODY]>/
[Description]/
<//font>
</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Cast Title</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><font [v_THEATER_FONT] size="75" alpha="50">Cast<//font><font [v_THEATER_FONT] size="50" alpha="50"> /(TMDB/)<//font></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Cast List - Spotlight</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_CAPTION_FONTSIZE] [v_MAIN_FONT] alpha="70"><hthumbs images="spotlight_list(TVShow//Cast//Person,Image,[v_NUM_ACTORS],1)" captions="ListMix([L1]\n/-[L2], 2, spotlight_list(TVShow//Cast//Person,Name,[v_NUM_ACTORS]), spotlight_list(TVShow//Cast//Person,Role,[v_NUM_ACTORS]))" [v_ACTOR_WIDTH] [v_ACTOR_SPACING] //><//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Recommended Title</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression">If([v_SHOW_REC_TITLE],<font [v_THEATER_FONT] size="75" alpha="50">Recommended<//font><font [v_THEATER_FONT] size="50" alpha="50"> /(TMDB/)<//font>,)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"> Recommended List - Spotlight</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">2</Item>
<Item Name="Expression"><b><font [v_CAPTION_FONTSIZE] [v_MAIN_FONT]><hthumbs images="spotlight_list(TVShow//SimilarSeries//Series,Poster,[v_NUM_SIMILAR],1)" [v_SIMILAR_WIDTH] [v_SIMILAR_SPACING] //><//font><//b></Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name">Series</Item>
<Item Name="ShowMode">1</Item>
<Item Name="Type">1</Item>
<Item Name="Style">0</Item>
<Item Name="Expression">spotlight_value(TVShow//Overview)</Item>
<Item Name="Expanded">1</Item>
</Field>
<Field>
<Item Name="HideWhenEmpty">1</Item>
<Item Name="Name"/>
<Item Name="ShowMode">0</Item>
<Item Name="Type">1</Item>
<Item Name="Style">0</Item>
<Item Name="Expression"/>
<Item Name="Expanded">1</Item>
</Field>
</Fields>
</Template>
Hi Lepa, Is there anyway to do this with the built in cover art? It seems it wouldn't be possible to split the cover art images sine they are embedded in the file. Is there any other way to have two rows of text justified next to a file's embedded cover art image? thxno there isn't. Currently also other image operations like radius or opacity needs to be done outside MC