From d71a70316a53a1b33d1b95d8e2864c968764a775 Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Sun, 23 Aug 2009 15:17:32 +0000 Subject: [PATCH] * improved predefined media info bindings --- .../filebot/format/EpisodeBindingBean.java | 30 ++++++++++++------- .../rename/EpisodeBindingDialog.properties | 2 +- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/source/net/sourceforge/filebot/format/EpisodeBindingBean.java b/source/net/sourceforge/filebot/format/EpisodeBindingBean.java index d6fc81fe..9d521d03 100644 --- a/source/net/sourceforge/filebot/format/EpisodeBindingBean.java +++ b/source/net/sourceforge/filebot/format/EpisodeBindingBean.java @@ -71,36 +71,44 @@ public class EpisodeBindingBean { @Define("vc") public String getVideoCodec() { - return getMediaInfo(StreamKind.Video, 0, "Encoded_Library/Name", "CodecID/Hint", "Codec/String"); + // e.g. XviD, x264, DivX 5, MPEG-4 Visual, AVC, etc. + String codec = getMediaInfo(StreamKind.Video, 0, "Encoded_Library/Name", "CodecID/Hint", "Format"); + + // get first token (e.g. DivX 5 => DivX) + return new Scanner(codec).next(); } @Define("ac") public String getAudioCodec() { - return getMediaInfo(StreamKind.Audio, 0, "CodecID/Hint", "Codec/String"); + // e.g. AC-3, DTS, AAC, Vorbis, MP3, etc. + String codec = getMediaInfo(StreamKind.Audio, 0, "CodecID/Hint", "Format"); + + // remove punctuation (e.g. AC-3 => AC3) + return codec.replaceAll("\\p{Punct}", ""); } @Define("cf") public String getContainerFormat() { - // container format extension - String extensions = getMediaInfo(StreamKind.General, 0, "Codec/Extensions"); + // container format extensions (e.g. avi, mkv mka mks, OGG, etc.) + String extensions = getMediaInfo(StreamKind.General, 0, "Codec/Extensions", "Format"); - // get first token - return new Scanner(extensions).next(); + // get first extension + return new Scanner(extensions).next().toLowerCase(); } - @Define("hi") - public String getHeightAndInterlacement() { + @Define("vf") + public String getVideoFormat() { String height = getMediaInfo(StreamKind.Video, 0, "Height"); - String interlacement = getMediaInfo(StreamKind.Video, 0, "Interlacement"); + String scanType = getMediaInfo(StreamKind.Video, 0, "ScanType"); - if (height == null || interlacement == null) + if (height == null || scanType == null) return null; // e.g. 720p - return height + Character.toLowerCase(interlacement.charAt(0)); + return height + Character.toLowerCase(scanType.charAt(0)); } diff --git a/source/net/sourceforge/filebot/ui/panel/rename/EpisodeBindingDialog.properties b/source/net/sourceforge/filebot/ui/panel/rename/EpisodeBindingDialog.properties index de3a7db2..aab978e0 100644 --- a/source/net/sourceforge/filebot/ui/panel/rename/EpisodeBindingDialog.properties +++ b/source/net/sourceforge/filebot/ui/panel/rename/EpisodeBindingDialog.properties @@ -14,7 +14,7 @@ expr[a5]: episode expr[b1]: vc expr[b2]: ac expr[b3]: cf -expr[b4]: hi +expr[b4]: vf expr[b5]: resolution # file expressions