INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: How are users adapting video libraries to use scrapers and artist/series images?  (Read 4858 times)

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

For the last couple years i have been using 'fill properties from filenames' to fill fields for my videos: tv, movie, music, documentary, etc.
I use the same fields for all videos because the name of the field was irrelevant.
Regardless of the field name i can view all videos in an organized logical manner.

The following are the three things i paste into fill properties.
-Blu-ray
[Source]\[Media Sub Type]\[Series]\[Season]\[Name] ([Album]_[Year])\BDMV
-ifo
[Source]\[Media Sub Type]\[Series]\[Season]\[Name] ([Album]_[Year])\VIDEO_TS
-Other Video
[Source]\[Media Sub Type]\[Series]\[Season] ([Album]_[Year])
[Name]_

This has worked very well until recently.
The problem i am having is that i want to start using the new scrapers and artist/series images.
I can easily copy my existing fields to new ones like episode, artist, etc, but this makes things complicated for new videos that i import.
Instead of doing three 'fill properties from filename' for my entire library i will have to do 3 for movies and 3 for tv shows, 3 for music videos, etc.

If 'fill properties from filename' was an option on auto import, i could set it up once and stop worrying about it.
Will this ever be an option?

I'm wondering what other people have done to accommodate recent MC changes, or if there is an easy fix for my situation.
Any help is appreciated.

Thanks
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608

If 'fill properties from filename' was an option on auto import, i could set it up once and stop worrying about it.
Will this ever be an option?

It is.

How To: Use Tag On Import Rules for Fun and Profit

It isn't quite as slick as Fill Properties from Filename, but you can accomplish the same thing with a little elbow grease and maybe some help from MrC.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

Thanks Glynor.
I have already though about your suggestion.
I was playing around will listitem() to retrieve fields from the filename delimited by "\".
The album and year in my file names make this difficult.
I was thinking about changing [Season]\[Name] ([Album]_[Year]\VIDEO_TS to [Season]\_[Name]_[Album]_[Year]\VIDEO_TS,
then using "_" as a delimiter for a second list.
I don't really consider this to be an easy fix so i think i will use it as a last resort.
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608

The built-in Carnac auto-parsing is amazingly crafty.  If you have the flexibility to change what and how the information is encoded in your filenames before you import them, you might be able to restructure it so that Carnac picks up most of that by itself without needing to use complex Tag On Import rules.

For example, if you import a file with a date section encoded like this 20120124 (for today), Carnac will see it and automatically set both [Date] and [Year] properly.

If you import a file that is longer than 1 hour or so (and conforms to a few other criteria), it will import automatically as [Media Sub Type]=Movie.  You don't need to set this explicitly.  Likewise, imports that are shorter than one hour will import as [Media Sub Type]=TV Show.

Likewise, Carnac is very good at parsing Season and Episode numbers.  For TV Shows, it looks for patterns like the common s02e14 (for Season 2, Episode 14) and variants (2x14, 02e14, and similar patterns work).  When it sees these, it automatically uses the string preceeding it as the [Series] tag.  That's so a filename tagged like this:  Dexter - s05e10.mkv will automatically import correctly.

You might be able to reconfigure your file naming to use these features of Carnac to make your job a bit easier.
Then, fix the "edge cases" with Tag on Import rules.  It will also be easier to do so, probably, if you explicitly label some parts of your file names, to make the RegEx easier to write.

In other words, instead of a folder just being the "Season" by itself, label it Season [Season].  You'll also have better luck if you don't combine complex things (or make sure they are labeled or have clear delimiters) into the same "part" of the filename or path.

But, again, MrC would be the one to ask for help with this stuff.  I haven't gotten into that rotten stuff yet.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.

Pulling apart [Name] ([Album]_[Year]) into [Name], [Album], and [Year] is easy enough to do.

Just take the return from listitem and use that as the first argument to regex:

  Name:  regex(LISTITEM, /#(.+?)\s+\((.+)_(\d{2,4})\)#/, 1)
  Album: regex(LISTITEM, /#(.+?)\s+\((.+)_(\d{2,4})\)#/, 2)
  Year:   regex(LISTITEM, /#(.+?)\s+\((.+)_(\d{2,4})\)#/, 3)

Replace LISTITEM with your listitem() expression.

Alternatively, you can just do it all in Regex():

   regex([Filename],
      /#(.+)\\(.+?)\\(.+?)\\(.+?)\\(.+?)\s+\((.+)_(\d{2,4})\)\\(?:BDMV|VIDEO_TS)#/, 5)

Just changing the capture value (shown is 5) with 1 through 7 gives you the components.

This is just an example.  If you're interested, we'll work through the remainder.
Logged
The opinions I express represent my own folly.

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

Thanks MrC.
ill give your expressions a try as soon as i have some extra time.
Logged

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

Question for MrC, or anyone else who may know.

In the expression you gave me
Quote
/#(.+)\\(.+?)\\(.+?)\\(.+?)\\(.+?)\s+\((.+)_(\d{2,4})\)\\(?:BDMV|VIDEO_TS)#/, 5)
why is .+? used in some places and .+ used in other other places?
why is .+? used for my name field but .+ used for my album field?

As far i i can tell the ? is used to match 0 or 1 occurrence of the positive sign. ie as few times as possible.
so shouldn't it be placed after every .+

i still haven't had a chance to use the expression, right now im just trying to understand it a little more.

thanks
Logged

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.

A ? by itself means the preceding thing is optional.

But a ? after a .* or a .+ changes the preceding greedy .* or .+ into a non-greedy operation; this means "consume as little as possible" instead of "consume as much as possible".

Part of the reason for doing this is performance - in that it helps the RE engine do its job more efficiently (in that it doesn't have to backtrack so much, trying all possibilities).  Another reason for doing it is necessity - you may want to match some character the first time it occurs rather than later.  For example, consider:

  some_thing_to_consider

If we match initially using .*_ it is not clear how much will be consumed by the .* (some, some_thing, some_thing_to).  By using .*? we can say, consume as little as possible such that the match succeeds.  An RE portion .*?_ will now match only "some_", leaving the rest to be matched for whatever RE may follow.

When you have very strict structures such as your "NAME (ALBUM_YEAR)", the ( ) and _ act as anchors, forcing possible matches into well-defined locations.  Since the RE engine tries hard to match, the RE sub-expression "\\.+ \(.+_.+\)\\" can really only occur likely in one place, so the .+ isn't terribly ambiguous.

When you use REs, you want to be as strict as possible, whenever possible, such that your possible inputs match correctly first and foremost, and then efficiently whenever possible.
Logged
The opinions I express represent my own folly.

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

Thanks for the great explanation MrC.

An update of my progress.

I edited the regex expression and I changed the way I organized my dvd rips.
Here are my new fill properties from filenames.

[Video Type]\[Media Sub Type]\[Series]\[Season] ([Album]_[Year])\[Episode]_\VIDEO_TS

[Video Type]\[Media Sub Type]\[Series]\[Season] ([Album]_[Year])\[Episode]_\BDMV

[Video Type]\[Media Sub Type]\[Series]\[Season] ([Album]_[Year])
[Episode]_

Tag on import works for all videos at the same time by using the following

[Video Type] =
Code: [Select]
regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,4)
[Media Sub Type] =
Code: [Select]
regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,5)
[Series] =
Code: [Select]
IfElse(IsEqual([Filename (path)],\TV Show\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,6),IsEqual([Filename (path)],\Other\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,6),IsEqual([Filename (path)],\Movie\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,6),1,)[Artist] =
Code: [Select]
IfElse(IsEqual([Filename (path)],\Music Video\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,6),IsEqual([Filename (path)],\Adult\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,6),1,)
[Season] =
Code: [Select]
IfElse(IsEqual([Filename (path)],\TV Show\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,7),1,)[Name] =
Code: [Select]
IfElse(IsEqual([Filename (path)],\Movie\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,7),IsEqual([Filename (path)],\Other\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,7),IsEqual([Filename (path)],\Adult\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,7),1,)
[Album] =
Code: [Select]
regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,8)
[Year] =
Code: [Select]
regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,9)
[Episode] =
Code: [Select]
IfElse(IsEqual([Filename (path)],\TV Show\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,10),1,)[Installment] =
Code: [Select]
IfElse(IsEqual([Filename (path)],\Adult\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,10),IsEqual([Filename (path)],\Other\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,10),IsEqual([Filename (path)],\Movie\,8),regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,10),1,)

Now autoimport tags tv shows as series-->season-->episode, movies as series-->name-->installment, etc.

I have 5 drives with videos so i have to paste this into auto import for all of them.
Its slow to do but very nice when done.

So far i have done 2 of the drives and all fields show up perfect. The exact same as using fill properties from filename.

Not sure why but regex couldn't find media sub type with (.+?) so i had to change it to (.+)

If all continues to work i will move on to new decisions like what to do with dvd rips of tv shows vs tv shows with individual episodes.


Thanks for all of the help so far.
Logged

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.

I have some cleanups and simplifications for you.  But first a question.  Can you help me understand why [Episode]_ is on a line by itself below?  What does this signify?

Quote
[Video Type]\[Media Sub Type]\[Series]\[Season] ([Album]_[Year])
[Episode]_
Logged
The opinions I express represent my own folly.

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

The [Episode]_ is underneath for using 'fill properties from filename' on avi's, mpg's, mkv's, etc.
I use directory only for blurays and ifo's, but use directory and filename for other video.
I have the underscore to accommodate the junk i usually have on the right side of it that i don't want to see in MC.

some examples of filenames:
Y:\Media-Y\Video\Other-Video\TV Show\30 Days\02 (30 Days 02_2006)\01 - Immigration_.avi
Y:\Media-Y\Video\Other-Video\TV Show\30 Days\01 (30 Days 01_2005)\01 - Minimum Wage_.avi
Y:\Media-Y\Video\Other-Video\Movie\- No Series\It's Pat (It's Pat_1994)\Part 1_It's Pat.avi
Y:\Media-Y\Video\Other-Video\Movie\Transformers\Transformers 1 (Transformers 1_2007)\Part 1_Transformers 1.avi
Y:\Media-Y\Video\Other-Video\Movie\Transformers\Transformers 1 (Transformers 1_2007)\Part 2_Transformers 1.avi
Y:\Media-Y\Video\Other-Video\Other\Adam Curtis\The Century Of The Self (The Century Of The Self_2002)\01 - Happiness Machines_.mp4
Y:\Media-Y\Video\Other-Video\Other\Adam Curtis\The Century Of The Self (The Century Of The Self_2002)\02 - The Engineering of Consent_.mp4
Y:\Media-Y\Video\Other-Video\Music Video\Nine Inch Nails\Halo 12 - Closure (Nine Inch Nails - Halo 12 - Closure_1997)\1-3 - NIN at Dance Party USA_.avi
Y:\Media-Y\Video\Other-Video\Music Video\Pearl Jam\Unplugged (Pearl Jam - Unplugged_1992)\Part 1_Pearl Jam - Unplugged.divx

I found another thing that may simplify what I'm doing.
Instead of pasting 10 expression into each auto import box, i can paste them into 10 calculated fields.
Then in auto import i can do:
Series = [Calculated field 1], Artist = [Calculated field 2], etc.

This way if i change/update my regex expression i only have to change them one time instead of 5(once for each drive).

I'm very interested in whatever advice is on its way.
Thanks
Logged

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.

More promised comments (which I'd inadvertently posted into another thread, but move here):

Consider:

Quote
IfElse(IsEqual([Filename (path)],\TV Show\,8),
  regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,6),
IsEqual([Filename (path)],\Other\,8),
  regex([Filename],/#(.+):\\(.+?)\\(.+?)\\(.+?)\\(.+)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,6),
IsEqual([Filename (path)],\Movie\,8),
1,)

The purpose of regex() is pattern matching, so why not include your TV Show, Other, or Movie as part of the RE itself, and get rid of the IfElse-IsEqual steps testing Filename (path).  Just test Filename, something like this fragment:

  regex([Filename], /#\\(?:TV Show|Movie|Other)\\(.+?)\\....

There is some capturing of the initial drive letter and early folders.  No need to capture them individually, or even match against them.  You can match against the later stuff (mid-string) and just ignore the leading stuff.

The [Episode] auto-tag rule has a Regex() that has a reference to capture 10.  There is no such capture, only 1-9 in MC's Regex().  So you'll want to avoid going beyond 9 captures.  When you don't care about the contents, use (?:) instead of ().  These are cloisters (i.e. grouping-only), and not captures... the stuff inside is not remembered for later use.

There are some long sequences of (.+)\\  and since you don't really care about any intermediary captures, we can simplify a bit by using a quantifier count.  Rather than do:

   (.+)\\(.+)\\(.+)\\(.+)

we can do something like:

   (?:[^\\]+\\){3}(.+)

which means 3 of the preceding "atom" (thing or capture group, in this case a cloister).  So the RE above looks for a span of 1 or more non-backslashes followed by a backslash, and it requires exactly 3 of them, and then accepts anything afterwards.  By changing the 3 into a 2, a 4, a 6, you can capture various sub-directories in a shorthand version.  In this example, the 4th subdir would be captured.  Since it is not anchored anywhere (could match at the beginning, middle, or end, depending upon additional RE code added) the segment above can be used in various ways.

There are some more optimizations, but I'll postpone until you're ready for more comment.
Logged
The opinions I express represent my own folly.

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

I will try out all new optimizations and post my progress.
Weekend approaches so it likely won't be soon.
Thanks again
Logged

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

Another Question MrC.

I haven't had a chance to to your last advice but i have pondered it a little.

If use
series = regex([Filename], /#\\(?:TV Show|Movie|Other)\\(.+?)\\....
on all of my videos, will it not fill in some strange value for my other media sub types?

I don't want a series field applied to music videos.
I suppose something like "NA" or "- No Series" would be ok, but my preference is for it to be blank.

The nice thing about IfElse() is that i can specify the else to be nothing. Is this possible with regex only?

Thanks
Logged

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.

In this case, you would use Regex() in test-only mode (3rd parameter set to 0), and then use the [R#] capture value, setting # to 1-9 as desired.

IfElse(regex([Filename], /#\\(?:TV Show|Movie|Other)\\(.+?)\\....#/, 0),
  [R#])

Note that I've left the RE incomplete, but I think you'll get the idea.
Logged
The opinions I express represent my own folly.

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608

MrC... Is there a good beginner/intermediate book on regex that you can recommend?

I'd love to be able to use this kind of thing, but I really get lost quickly.  I think the strings used for regex just make my eyes blur simply because it looks like gobbledegook visually.  I have trouble even breaking it down into components.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.

Here's the standard:

http://www.amazon.com/Mastering-Regular-Expressions-Jeffrey-Friedl/dp/0596528124/ref=sr_1_1?ie=UTF8&qid=1327710263&sr=8-1

This covers REs as used in various languages such as Perl, PHP, Java, .NET, RUby, etc., including their differences.  It is overkill for MC's usage of the fairly limited TR1 REs, but still very useful.

There are loads of tutorials, etc. online, and even the online man(ual) page for perl's REs (aka PCRE; Google man perlre), but that is far too complex and is by far a mondo-superset of what's available in TR1.

Some folks describe some useful references in the beta thread: "RegexSearch(...) - What can be done with it?".

Really it is best to start out simply, getting a grasp on the basics such as matching simple strings, and then adding metacharacters such as dot, *, and ^ and $, and then branch out to ?, +, grouping (capture and then cloister) and additional quantifiers such as {n,m}.

Most folks get frightened by the terse meta-character symbolic nature of REs, making them like some foreign language... Wait, it is a foreign language!

PM me your address - I'll send you my copy of the book above.
Logged
The opinions I express represent my own folly.

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

Thanks MrC
I am liking the new regex expression.
There is no need for test mode and I am happy for this.
I didn't even know what regex was until 2 days ago, so the simpler the better.


A Summary for anyone who may be reading this in confusion....

My videos are all organized in a consistant folder structure.
ie. the same number of folders regardless of weather its tv, movie, music, etc.
This folder structure is a modification of what I explained here
http://yabb.jriver.com/interact/index.php?topic=56096.0

Here is my folder structure for dvds, blu-rays, and other video shown with tv show fields

Video\[Video Type]\[Media Sub Type]\[Series]\[Season] ([Album]_[Year])\[Episode]_\VIDEO_TS

Video\[Video Type]\[Media Sub Type]\[Series]\[Season] ([Album]_[Year])\[Episode]_\BDMV

Video\[Video Type]\[Media Sub Type]\[Series]\[Season] ([Album]_[Year])\[Episode]_

Video type is either DVD, DVD-Audio, Other-Video, Blu-ray, or DVD-Shrunk
If a movie isn't in a series i use "- No Series" as its value/folder name
I use the album field because panes with album thumbnails is my preferred view.



This is the latest version of the regex expression that MrC made for me:
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\(TV Show|Movie|Other|Music Video|Home Video)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,1)This expression retrieves 7 different values.
By changing the last number to 1,2,3,4,5,6,7 it retrieves the respective value.
MC only applies the expession to the videos that match the expressions included media sub types.
So if it includes (TV Show|Movie|Other|Music Video|Home Video) the its applied to TV Shows, Movies, Other, Music, Video, Home Videos.
If it includes (TV Show|Movie) its only applied to TV Shows, and Movies.
If a files media sub type isn't included, its field is left blank.

I made 7 new calculated fields like so...


Regex Match 1 [Regex Video Type]
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\(TV Show|Movie|Other|Music Video|Adult|Home Video)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,1)
Regex Match 2 [Regex Media Sub Type]
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\(TV Show|Movie|Other|Music Video|Adult|Home Video)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,2)
Regex Match 3 [Regex Series]
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\(TV Show|Movie|Other|Home Video)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,3)Regex Match 3 [Regex Artist]
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\(Music Video|Adult)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,3)
Regex Match 4 [Regex Season]
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\TV Show\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,4)Regex Match 4 [Regex Name]
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\(Movie|Other|Music Video|Adult|Home Video)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,4)
Regex Match 5 [Regex Album]
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\(TV Show|Movie|Other|Music Video|Adult|Home Video)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,5)
Regex Match 6 [Regex Year]
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\(TV Show|Movie|Other|Music Video|Adult|Home Video)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,6)   
Regex Match 7 [Regex Episode]
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\TV Show\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,7)Regex Match 7 [Regex Installment]
Code: [Select]
regex([Filename],/#\\Video\\(.+?)\\(Movie|Other|Music Video|Adult|Home Video)\\(.+?)\\(.+?)\s+\((.+)_(\d{1,4})\)\\(.+?)_#/,7)
Then In Auto Import Tag options I entered the following for each drive
It took a while. The Import/Export but would be nice here.

[Video Type]: [Regex Video Type]
[Media Sub Type]: [Regex Media Sub Type]
[Series]: [Regex Series]
[Artist]: [Regex Artist]
[Season]: [Regex Season]
[Name]: [Regex Name]
[Album]: [Regex Album]
[Year]: [Regex Year]
[Episode]: [Regex Episode]
[Installment]: [Regex Installment]



I then deleted all videos and hit the auto import button.
It took a few minutes, but 1800 videos were re-imported perfectly tagged.

In theater/category views I have a sub view for each media sub type and view like this
TV Show-->Series-->Season-->Episode
Movie-->Series-->Name-->Installment
Home Video-->Series-->Name-->Installment
Other-->Series-->Name-->Installment (This is for documentaries)
Music Videos-->Artist-->Name-->Installment


In standard view I use one view for all videos.
It is a pane view with album thumbnails.
I use lists to combine multiple fields.
These are how the panes are ordered
Video Type|Year|Media Sub Type|Series/Artist|Season/Name|Episode/Installment


I think im set for now MrC, but suggestions for improvements are always welcome.

Im sure things will change more when i start using MC's new scraper, but i will be sure
to add updates in case anyone else finds this useful.
Logged

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.

Very nice summaries and explanations.  I'm sure this will help others cross the regex() waters more confidently!
Logged
The opinions I express represent my own folly.

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

My video library is now configured with tag fields that 'get movie & tv info' needs.
Now i have some changes to make to the content of these fields.

I use series for movies when applicable.
Until now i have included the series in the name field as well as in its own field.
When a movie was part of a series its name was [Series] - [Name].
This was so movies in a series would be grouped together when i chose 'All Series'.
'get movie & tv info' didn't like this, which is understandable.

To fix this i removed the series portion from the name and now all is good.

I can continue to view my movies as i have in the past by using this expression.
Code: [Select]
if(isequal([Media Sub Type],Movie,1),if(isequal([Series],- No Series,1),[Name],[Series] - [Name]),)
It shows movies in a series as [Series] - [Name], and it shows movies with no series as [Name].

Now 'get movie & tv info' is happy and so am I.
Logged

syndromeofadown

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 812

How are people using 'get movie and tv info' with DVD rips of tv shows?

I have close to 100 ifo's in my library for tv shows, and I have a couple hundred more waiting to be ripped.

Currently their episode field is Disc 1, Disc 2, etc.
Understandably, 'get movie and tv info' doesn't like this because it wants an episode number.

Another problem is that many shows are released in volumes that contain multiple series.
This means it is possible that one disc can contain multiple series numbers on it.
I see no solution to this so won't bother attempting a work around.


I think the solution to using DVD rips is
to rename "disc 1" to "01; 02; 03; 04; 05; 06" and rename "Disc 2" to "07; 08; 09; 10; 11; 12".
Then view by list.

With this done 'get movie and tv info' will find info for the first episode in the list and stop there.
I would like to be able to get info for all episodes contained on the disc.
Is anyone currently have a way to do this?

Note that using makeMKV is not the solution im looking for.

Any help is a appreciated.
Logged
Pages: [1]   Go Up