Good catch. It won't "see" a filename such as the ones you've been trying.
The Regex currently accepts the follwing types;
- ER S13E04 - Parenthood.avi
- ER.S13E04.Parenthood.avi
- ER 13x04 - Parenthood.avi
- ER.13x04.Parenthood.avi
or a combination of the above. The key thing you're missing in your naming scheme is what's in bold. As for the filetype, it will accept anything that's perceived as video by Windows (which in most instances includes avi, mkv, wmv, mpeg, xvid etc - although this can depend upon the codec installed). The Regex currently in use is this one;
(?<series>.+?)(?:\.|\s|S)(?<season>\d{1,2})(?:E|x)(?<episode>\d{1,2})(?:\.|\s|S)(?<episodetitle>.+?)\.(?:.{3}$)
the following is also in code, but currently not being called;
(?<series>.+?)(?:\.|\s|S)(?<season>\d{1,2})(?<episode>\d{2})(?:\.|\s|S)(?<episodetitle>.+?)\.(?:.{3}$)
I'll change these to allow for blanket S13E04 or 13x04 naming. If you have other "interesting" names you could always try putting together a Regex for it (I find Expresso to be quite good). If there are enough different ones to warrant it I'll put Regex's in the user.config as another String[].
As for the code itself, it handles null images for Show and Season, but I autogenerate images for the episodes on a per episode basis (if not found online) hence there is no null handling there - perhaps there should be though. It looks for the images in the CommonApplicationData\senseIT\myTV\cache\episodes folder, named as (tvepisodes.id).jpg so if you put images in there named like so it should not crash.