]> granicus.if.org Git - handbrake/commitdiff
Merging trunk to cl branch.
authorsr55 <sr55.hb@outlook.com>
Sat, 2 Feb 2013 15:12:19 +0000 (15:12 +0000)
committersr55 <sr55.hb@outlook.com>
Sat, 2 Feb 2013 15:12:19 +0000 (15:12 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/branches/opencl@5234 b64f7644-9d1e-0410-96f1-a4d463321fa5

106 files changed:
contrib/a52dec/A03-automake.patch [new file with mode: 0644]
contrib/automake/module.defs
contrib/ffmpeg/A02-channel-layout-order.patch [deleted file]
contrib/ffmpeg/A02-truehd-channel-order.patch [new file with mode: 0644]
contrib/ffmpeg/A04-dca-resync.patch
contrib/libbluray/A00-automake.patch [new file with mode: 0644]
contrib/libdvdread/P01-mingw-bitfields.patch [new file with mode: 0644]
contrib/libogg/A00-automake.patch [new file with mode: 0644]
contrib/libvorbis/A00-automake.patch [new file with mode: 0644]
contrib/x264/module.defs
contrib/yasm/module.defs
doc/BUILD-Linux
doc/BUILD-Mac
doc/BUILD-MinGW
doc/texi/Building.linux.texi
doc/texi/Building.mingw.texi
doc/texi/Building.osx.texi
gtk/src/audiohandler.c
gtk/src/callbacks.c
gtk/src/ghb.ui
gtk/src/hb-backend.c
gtk/src/main.c
gtk/src/subtitlehandler.c
libhb/common.c
libhb/common.h
libhb/decmpeg2.c
libhb/dvdnav.c
libhb/encx264.c
libhb/encx264.h
libhb/hb.c
libhb/sync.c
libhb/work.c
macosx/Controller.h
macosx/Controller.m
macosx/English.lproj/MainMenu.xib
macosx/English.lproj/PicturePreview.xib
macosx/HBPresets.h
macosx/HBPresets.m
macosx/HBPreviewController.h
macosx/HBPreviewController.m
macosx/HandBrake.xcodeproj/project.pbxproj
macosx/icons/next-p.pdf [new file with mode: 0644]
macosx/icons/pause-p.pdf [new file with mode: 0644]
macosx/icons/play-p.pdf [new file with mode: 0644]
macosx/icons/prev-p.pdf [new file with mode: 0644]
macosx/main.mm
make/configure.py
make/xcodemake
pkg/linux/debian/control.quantal
pkg/linux/debian/rules.natty [new file with mode: 0755]
pkg/linux/debian/rules.oneiric [new file with mode: 0755]
pkg/linux/debian/rules.precise [new file with mode: 0755]
pkg/linux/debian/rules.quantal [new file with mode: 0755]
pkg/linux/module.rules
scripts/manicure.rb
test/test.c
win/CS/HandBrake.ApplicationServices/EventArgs/SettingChangedEventArgs.cs [new file with mode: 0644]
win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj
win/CS/HandBrake.ApplicationServices/Model/EncodeTask.cs
win/CS/HandBrake.ApplicationServices/Model/Encoding/ChapterMarker.cs
win/CS/HandBrake.ApplicationServices/Model/QueueTask.cs
win/CS/HandBrake.ApplicationServices/Parsing/Parser.cs
win/CS/HandBrake.ApplicationServices/Parsing/Title.cs
win/CS/HandBrake.ApplicationServices/Services/Base/EncodeBase.cs
win/CS/HandBrake.ApplicationServices/Services/Encode.cs
win/CS/HandBrake.ApplicationServices/Services/Interfaces/IQueueProcessor.cs
win/CS/HandBrake.ApplicationServices/Services/Interfaces/IUserSettingService.cs
win/CS/HandBrake.ApplicationServices/Services/LibEncode.cs
win/CS/HandBrake.ApplicationServices/Services/QueueProcessor.cs
win/CS/HandBrake.ApplicationServices/Services/UserSettingService.cs
win/CS/HandBrake.ApplicationServices/Utilities/InteropModelCreator.cs
win/CS/HandBrake.ApplicationServices/Utilities/Win32.cs
win/CS/HandBrake.Interop/HandBrakeInterop/SourceData/Title.cs
win/CS/HandBrakeWPF/Controls/TimeSpanBox.xaml [new file with mode: 0644]
win/CS/HandBrakeWPF/Controls/TimeSpanBox.xaml.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/Converters/InverseBooleanConverter.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/HandBrakeWPF.csproj
win/CS/HandBrakeWPF/Model/SelectionTitle.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
win/CS/HandBrakeWPF/Properties/Resources.resx
win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs
win/CS/HandBrakeWPF/UserSettingConstants.cs
win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs
win/CS/HandBrakeWPF/ViewModels/ChaptersViewModel.cs
win/CS/HandBrakeWPF/ViewModels/Interfaces/IQueueSelectionViewModel.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
win/CS/HandBrakeWPF/ViewModels/PreviewViewModel.cs
win/CS/HandBrakeWPF/ViewModels/QueueSelectionViewModel.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/ViewModels/QueueViewModel.cs
win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs
win/CS/HandBrakeWPF/Views/AddPresetView.xaml.cs
win/CS/HandBrakeWPF/Views/AdvancedView.xaml
win/CS/HandBrakeWPF/Views/AudioView.xaml
win/CS/HandBrakeWPF/Views/ChaptersView.xaml
win/CS/HandBrakeWPF/Views/MainView.xaml
win/CS/HandBrakeWPF/Views/QueueSelectionView.xaml [new file with mode: 0644]
win/CS/HandBrakeWPF/Views/QueueSelectionView.xaml.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/Views/QueueView.xaml
win/CS/HandBrakeWPF/Views/SubtitlesView.xaml
win/CS/HandBrakeWPF/Views/TitleSpecificView.xaml
win/CS/HandBrakeWPF/Views/VideoView.xaml
win/CS/HandBrakeWPF/defaultsettings.xml
win/CS/libraries/WPFDragDrop/GongSolutions.Wpf.DragDrop.XML
win/CS/libraries/WPFDragDrop/GongSolutions.Wpf.DragDrop.dll
win/CS/libraries/WPFDragDrop/GongSolutions.Wpf.DragDrop.pdb
win/CS/libraries/WPFDragDrop/SourceModifications.zip

diff --git a/contrib/a52dec/A03-automake.patch b/contrib/a52dec/A03-automake.patch
new file mode 100644 (file)
index 0000000..142091d
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur a52dec.orig/configure.in a52dec/configure.in
+--- a52dec.orig/configure.in   2002-07-27 23:50:20.000000000 -0400
++++ a52dec/configure.in        2013-01-28 21:06:27.000000000 -0500
+@@ -6,7 +6,7 @@
+ AC_CONFIG_FILES([Makefile autotools/Makefile include/Makefile test/Makefile
+     doc/Makefile src/Makefile liba52/Makefile libao/Makefile vc++/Makefile])
+ AM_INIT_AUTOMAKE([a52dec],[0.7.4])
+-AM_CONFIG_HEADER(include/config.h)
++AC_CONFIG_HEADER(include/config.h)
+ AM_MAINTAINER_MODE
+ AC_CANONICAL_HOST
index e553257da90b4100aa88843bcd23251c713169f8..72d39e6b0e937ba04bc8a15290d0331e86b3c068 100644 (file)
@@ -1,4 +1,4 @@
 $(eval $(call import.MODULE.defs,AUTOMAKE,automake,AUTOCONF))
 $(eval $(call import.CONTRIB.defs,AUTOMAKE))
 
-AUTOMAKE.FETCH.url = http://download.handbrake.fr/handbrake/contrib/automake-1.12.3.tar.bz2
+AUTOMAKE.FETCH.url = http://download.handbrake.fr/handbrake/contrib/automake-1.13.1.tar.bz2
diff --git a/contrib/ffmpeg/A02-channel-layout-order.patch b/contrib/ffmpeg/A02-channel-layout-order.patch
deleted file mode 100644 (file)
index ce57af0..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c
-index 3852f6e..c7217c8 100644
---- a/libavcodec/mlpdec.c
-+++ b/libavcodec/mlpdec.c
-@@ -28,6 +28,7 @@
- #include "avcodec.h"
- #include "libavutil/intreadwrite.h"
-+#include "libavutil/channel_layout.h"
- #include "get_bits.h"
- #include "internal.h"
- #include "libavutil/crc.h"
-@@ -435,6 +436,28 @@ static int read_restart_header(MLPDecodeContext *m, GetBitContext *gbp,
-         s->ch_assign[ch_assign] = ch;
-     }
-+    if (m->avctx->codec_id == AV_CODEC_ID_TRUEHD) {
-+        switch (m->avctx->channel_layout) {
-+        case AV_CH_LAYOUT_6POINT1:
-+        case (AV_CH_LAYOUT_6POINT1|AV_CH_TOP_CENTER):
-+        case (AV_CH_LAYOUT_6POINT1|AV_CH_TOP_FRONT_CENTER):
-+        {
-+            int i = s->ch_assign[6];
-+            s->ch_assign[6] = s->ch_assign[5];
-+            s->ch_assign[5] = s->ch_assign[4];
-+            s->ch_assign[4] = i;
-+            break;
-+        }
-+        case AV_CH_LAYOUT_7POINT1:
-+        case (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER):
-+            FFSWAP(int, s->ch_assign[4], s->ch_assign[6]);
-+            FFSWAP(int, s->ch_assign[5], s->ch_assign[7]);
-+            break;
-+        default:
-+            break;
-+        }
-+    }
-+
-     checksum = ff_mlp_restart_checksum(buf, get_bits_count(gbp) - start_count);
-     if (checksum != get_bits(gbp, 8))
diff --git a/contrib/ffmpeg/A02-truehd-channel-order.patch b/contrib/ffmpeg/A02-truehd-channel-order.patch
new file mode 100644 (file)
index 0000000..a3d7677
--- /dev/null
@@ -0,0 +1,207 @@
+diff --git a/libavcodec/mlp_parser.c b/libavcodec/mlp_parser.c
+index d1a3dc1..31c79c9 100644
+--- a/libavcodec/mlp_parser.c
++++ b/libavcodec/mlp_parser.c
+@@ -126,7 +126,7 @@ static uint64_t truehd_layout(int chanmap)
+ int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, GetBitContext *gb)
+ {
+-    int ratebits;
++    int ratebits, channel_arrangement;
+     uint16_t checksum;
+     assert(get_bits_count(gb) == 0);
+@@ -157,7 +157,9 @@ int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, GetBitContext *gb)
+         skip_bits(gb, 11);
+-        mh->channels_mlp = get_bits(gb, 5);
++        channel_arrangement    = get_bits(gb, 5);
++        mh->channels_mlp       = mlp_channels[channel_arrangement];
++        mh->channel_layout_mlp = mlp_layout[channel_arrangement];
+     } else if (mh->stream_type == 0xba) {
+         mh->group1_bits = 24; // TODO: Is this information actually conveyed anywhere?
+         mh->group2_bits = 0;
+@@ -168,11 +170,15 @@ int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, GetBitContext *gb)
+         skip_bits(gb, 8);
+-        mh->channels_thd_stream1 = get_bits(gb, 5);
++        channel_arrangement            = get_bits(gb, 5);
++        mh->channels_thd_stream1       = truehd_channels(channel_arrangement);
++        mh->channel_layout_thd_stream1 = truehd_layout(channel_arrangement);
+         skip_bits(gb, 2);
+-        mh->channels_thd_stream2 = get_bits(gb, 13);
++        channel_arrangement            = get_bits(gb, 13);
++        mh->channels_thd_stream2       = truehd_channels(channel_arrangement);
++        mh->channel_layout_thd_stream2 = truehd_layout(channel_arrangement);
+     } else
+         return AVERROR_INVALIDDATA;
+@@ -316,16 +322,16 @@ static int mlp_parse(AVCodecParserContext *s,
+         if (mh.stream_type == 0xbb) {
+             /* MLP stream */
+-            avctx->channels = mlp_channels[mh.channels_mlp];
+-            avctx->channel_layout = mlp_layout[mh.channels_mlp];
++            avctx->channels       = mh.channels_mlp;
++            avctx->channel_layout = mh.channel_layout_mlp;
+         } else { /* mh.stream_type == 0xba */
+             /* TrueHD stream */
+             if (mh.channels_thd_stream2) {
+-                avctx->channels = truehd_channels(mh.channels_thd_stream2);
+-                avctx->channel_layout = truehd_layout(mh.channels_thd_stream2);
++                avctx->channels       = mh.channels_thd_stream2;
++                avctx->channel_layout = mh.channel_layout_thd_stream2;
+             } else {
+-                avctx->channels = truehd_channels(mh.channels_thd_stream1);
+-                avctx->channel_layout = truehd_layout(mh.channels_thd_stream1);
++                avctx->channels       = mh.channels_thd_stream1;
++                avctx->channel_layout = mh.channel_layout_thd_stream1;
+             }
+         }
+diff --git a/libavcodec/mlp_parser.h b/libavcodec/mlp_parser.h
+index 35bb312..e874426 100644
+--- a/libavcodec/mlp_parser.h
++++ b/libavcodec/mlp_parser.h
+@@ -31,25 +31,28 @@
+ typedef struct MLPHeaderInfo
+ {
+-    int stream_type;            ///< 0xBB for MLP, 0xBA for TrueHD
++    int stream_type;                        ///< 0xBB for MLP, 0xBA for TrueHD
+-    int group1_bits;            ///< The bit depth of the first substream
+-    int group2_bits;            ///< Bit depth of the second substream (MLP only)
++    int group1_bits;                        ///< The bit depth of the first substream
++    int group2_bits;                        ///< Bit depth of the second substream (MLP only)
+-    int group1_samplerate;      ///< Sample rate of first substream
+-    int group2_samplerate;      ///< Sample rate of second substream (MLP only)
++    int group1_samplerate;                  ///< Sample rate of first substream
++    int group2_samplerate;                  ///< Sample rate of second substream (MLP only)
+-    int channels_mlp;           ///< Channel arrangement for MLP streams
+-    int channels_thd_stream1;   ///< Channel arrangement for substream 1 of TrueHD streams (5.1)
+-    int channels_thd_stream2;   ///< Channel arrangement for substream 2 of TrueHD streams (7.1)
++    int channels_mlp;                       ///< Channel count for MLP streams
++    int channels_thd_stream1;               ///< Channel count for substream 1 of TrueHD streams ("6-channel presentation")
++    int channels_thd_stream2;               ///< Channel count for substream 2 of TrueHD streams ("8-channel presentation")
++    uint64_t channel_layout_mlp;            ///< Channel layout for MLP streams
++    uint64_t channel_layout_thd_stream1;    ///< Channel layout for substream 1 of TrueHD streams ("6-channel presentation")
++    uint64_t channel_layout_thd_stream2;    ///< Channel layout for substream 2 of TrueHD streams ("8-channel presentation")
+-    int access_unit_size;       ///< Number of samples per coded frame
+-    int access_unit_size_pow2;  ///< Next power of two above number of samples per frame
++    int access_unit_size;                   ///< Number of samples per coded frame
++    int access_unit_size_pow2;              ///< Next power of two above number of samples per frame
+-    int is_vbr;                 ///< Stream is VBR instead of CBR
+-    int peak_bitrate;           ///< Peak bitrate for VBR, actual bitrate (==peak) for CBR
++    int is_vbr;                             ///< Stream is VBR instead of CBR
++    int peak_bitrate;                       ///< Peak bitrate for VBR, actual bitrate (==peak) for CBR
+-    int num_substreams;         ///< Number of substreams within stream
++    int num_substreams;                     ///< Number of substreams within stream
+ } MLPHeaderInfo;
+diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c
+index 3852f6e..f8c647a 100644
+--- a/libavcodec/mlpdec.c
++++ b/libavcodec/mlpdec.c
+@@ -28,6 +28,7 @@
+ #include "avcodec.h"
+ #include "libavutil/intreadwrite.h"
++#include "libavutil/channel_layout.h"
+ #include "get_bits.h"
+ #include "internal.h"
+ #include "libavutil/crc.h"
+@@ -56,6 +57,8 @@ typedef struct SubStream {
+     uint8_t     max_matrix_channel;
+     /// For each channel output by the matrix, the output channel to map it to
+     uint8_t     ch_assign[MAX_CHANNELS];
++    /// The channel layout for this substream
++    uint64_t    ch_layout;
+     /// Channel coding parameters for channels in the substream
+     ChannelParams channel_params[MAX_CHANNELS];
+@@ -146,6 +149,36 @@ typedef struct MLPDecodeContext {
+     MLPDSPContext dsp;
+ } MLPDecodeContext;
++static const uint64_t thd_channel_order[] = {
++    AV_CH_FRONT_LEFT, AV_CH_FRONT_RIGHT,                     // LR
++    AV_CH_FRONT_CENTER,                                      // C
++    AV_CH_LOW_FREQUENCY,                                     // LFE
++    AV_CH_SIDE_LEFT, AV_CH_SIDE_RIGHT,                       // LRs
++    AV_CH_TOP_FRONT_LEFT, AV_CH_TOP_FRONT_RIGHT,             // LRvh
++    AV_CH_FRONT_LEFT_OF_CENTER, AV_CH_FRONT_RIGHT_OF_CENTER, // LRc
++    AV_CH_BACK_LEFT, AV_CH_BACK_RIGHT,                       // LRrs
++    AV_CH_BACK_CENTER,                                       // Cs
++    AV_CH_TOP_CENTER,                                        // Ts
++    AV_CH_SURROUND_DIRECT_LEFT, AV_CH_SURROUND_DIRECT_RIGHT, // LRsd
++    AV_CH_WIDE_LEFT, AV_CH_WIDE_RIGHT,                       // LRw
++    AV_CH_TOP_FRONT_CENTER,                                  // Cvh
++    AV_CH_LOW_FREQUENCY_2,                                   // LFE2
++};
++
++static uint64_t thd_channel_layout_extract_channel(uint64_t channel_layout,
++                                                   int index)
++{
++    int i;
++
++    if (av_get_channel_layout_nb_channels(channel_layout) <= index)
++        return 0;
++
++    for (i = 0; i < FF_ARRAY_ELEMS(thd_channel_order); i++)
++        if (channel_layout & thd_channel_order[i] && !index--)
++            return thd_channel_order[i];
++    return 0;
++}
++
+ static VLC huff_vlc[3];
+ /** Initialize static data, constant between all invocations of the codec. */
+@@ -325,6 +358,24 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb)
+     for (substr = 0; substr < MAX_SUBSTREAMS; substr++)
+         m->substream[substr].restart_seen = 0;
++    /* Set the layout for each substream. When there's more than one, the first
++     * substream is Stereo. Subsequent substreams' layouts are indicated in the
++     * major sync. */
++    if (m->avctx->codec_id == AV_CODEC_ID_MLP) {
++        if ((substr = (mh.num_substreams > 1)))
++            m->substream[0].ch_layout = AV_CH_LAYOUT_STEREO;
++        m->substream[substr].ch_layout = mh.channel_layout_mlp;
++    } else {
++        if ((substr = (mh.num_substreams > 1)))
++            m->substream[0].ch_layout = AV_CH_LAYOUT_STEREO;
++        if (mh.num_substreams > 2)
++            if (mh.channel_layout_thd_stream2)
++                m->substream[2].ch_layout = mh.channel_layout_thd_stream2;
++            else
++                m->substream[2].ch_layout = mh.channel_layout_thd_stream1;
++        m->substream[substr].ch_layout = mh.channel_layout_thd_stream1;
++    }
++
+     return 0;
+ }
+@@ -426,6 +477,12 @@ static int read_restart_header(MLPDecodeContext *m, GetBitContext *gbp,
+     for (ch = 0; ch <= s->max_matrix_channel; ch++) {
+         int ch_assign = get_bits(gbp, 6);
++        if (m->avctx->codec_id == AV_CODEC_ID_TRUEHD) {
++            uint64_t channel = thd_channel_layout_extract_channel(s->ch_layout,
++                                                                  ch_assign);
++            ch_assign = av_get_channel_layout_channel_index(s->ch_layout,
++                                                            channel);
++        }
+         if (ch_assign > s->max_matrix_channel) {
+             av_log_ask_for_sample(m->avctx,
+                    "Assignment of matrix channel %d to invalid output channel %d.\n",
index 3e32c7a74aa4af0f80f34fc188ac482756e6f93a..bbd9ad7edb933864154ac3c988535351fbc2f6e7 100644 (file)
@@ -1,17 +1,17 @@
-From 021a7700ff839b295b5776d4552563de1a448df6 Mon Sep 17 00:00:00 2001
+From 9922584ba3b5b02d913e629ea74d72e994870873 Mon Sep 17 00:00:00 2001
 From: John Stebbins <jstebbins.hb@gmail.com>
-Date: Sat, 5 Jan 2013 16:57:06 -0800
+Date: Thu, 17 Jan 2013 19:57:26 +0100
 Subject: [PATCH] dca_parser: Handle changes in dca frame size
 
 A change in framesize caused a perpetual loss of synchronization.
 So read (and use) the frame size from the frame header instead of
 setting it only once.
 ---
- libavcodec/dca_parser.c |   13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
+ libavcodec/dca_parser.c |   15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
 
 diff --git a/libavcodec/dca_parser.c b/libavcodec/dca_parser.c
-index ab235cf..75e9321 100644
+index ab235cf..12180f3 100644
 --- a/libavcodec/dca_parser.c
 +++ b/libavcodec/dca_parser.c
 @@ -62,10 +62,12 @@ static int dca_find_frame_end(DCAParseContext * pc1, const uint8_t * buf,
@@ -46,17 +46,19 @@ index ab235cf..75e9321 100644
  {
      GetBitContext gb;
      uint8_t hdr[12 + FF_INPUT_BUFFER_PADDING_SIZE] = { 0 };
-@@ -159,6 +158,10 @@ static int dca_parse_params(const uint8_t *buf, int buf_size, int *duration,
+@@ -159,7 +158,11 @@ static int dca_parse_params(const uint8_t *buf, int buf_size, int *duration,
          return AVERROR_INVALIDDATA;
      *duration = 256 * (sample_blocks / 8);
  
+-    skip_bits(&gb, 20);
 +    *framesize = get_bits(&gb, 14) + 1;
 +    if (*framesize < 95)
 +        return AVERROR_INVALIDDATA;
 +
-     skip_bits(&gb, 20);
++    skip_bits(&gb, 6);
      sr_code = get_bits(&gb, 4);
      *sample_rate = avpriv_dca_sample_rates[sr_code];
+     if (*sample_rate == 0)
 @@ -190,7 +193,7 @@ static int dca_parse(AVCodecParserContext * s,
      }
  
diff --git a/contrib/libbluray/A00-automake.patch b/contrib/libbluray/A00-automake.patch
new file mode 100644 (file)
index 0000000..20f7d88
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur libbluray-0.2.3.orig/configure.ac libbluray-0.2.3/configure.ac
+--- libbluray-0.2.3.orig/configure.ac  2012-08-17 07:27:32.000000000 -0400
++++ libbluray-0.2.3/configure.ac       2013-01-28 23:52:04.000000000 -0500
+@@ -22,7 +22,7 @@
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CANONICAL_SYSTEM
+ AM_INIT_AUTOMAKE([foreign tar-ustar])
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADER(config.h)
+ case "${host_os}" in
+   "")
diff --git a/contrib/libdvdread/P01-mingw-bitfields.patch b/contrib/libdvdread/P01-mingw-bitfields.patch
new file mode 100644 (file)
index 0000000..ae85213
--- /dev/null
@@ -0,0 +1,19 @@
+diff -Naur libdvdread.orig/configure.ac libdvdread/configure.ac
+--- libdvdread.orig/configure.ac       2009-01-08 14:57:10.000000000 -0800
++++ libdvdread/configure.ac    2013-01-26 10:35:21.366836184 -0800
+@@ -141,6 +141,15 @@
+   *mingw32*)
+     CFLAGS="-idirafter \$(top_srcdir)/msvc/include $CFLAGS"
+     LDFLAGS="-no-undefined $LDFLAGS"
++    if test "$GCC" = "yes" ; then
++        gcc_version="`$CC -dumpversion`"
++        gcc_version_major=$(echo $gcc_version | cut -d"." -f1)
++        gcc_version_minor=$(echo $gcc_version | cut -d"." -f2)
++        gcc_version_patch=$(echo $gcc_version | cut -d"." -f3)
++        if test $gcc_version_major -ge 4 -a $gcc_version_minor -ge 7 ; then
++            CFLAGS="-mno-ms-bitfields $CFLAGS"
++        fi
++    fi
+     ;;
+   *cygwin*)
+     LDFLAGS="-no-undefined $LDFLAGS"
diff --git a/contrib/libogg/A00-automake.patch b/contrib/libogg/A00-automake.patch
new file mode 100644 (file)
index 0000000..69a3f19
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur libogg-1.3.0.orig/configure.in libogg-1.3.0/configure.in
+--- libogg-1.3.0.orig/configure.in     2011-08-04 13:11:08.000000000 -0400
++++ libogg-1.3.0/configure.in  2013-01-28 23:40:03.000000000 -0500
+@@ -19,7 +19,7 @@
+ AM_PROG_CC_C_O
+ dnl config.h
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADER(config.h)
+ dnl Set some options based on environment
diff --git a/contrib/libvorbis/A00-automake.patch b/contrib/libvorbis/A00-automake.patch
new file mode 100644 (file)
index 0000000..8c98fde
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur aotuv-b6.03_20110424.orig/configure.ac aotuv-b6.03_20110424/configure.ac
+--- aotuv-b6.03_20110424.orig/configure.ac     2010-11-01 15:27:12.000000000 -0400
++++ aotuv-b6.03_20110424/configure.ac  2013-01-28 23:43:26.000000000 -0500
+@@ -13,7 +13,7 @@
+ AM_INIT_AUTOMAKE($PACKAGE_NAME,$PACKAGE_VERSION)
+ AM_MAINTAINER_MODE
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADER([config.h])
+ dnl Add parameters for aclocal
+ AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
index 141c64caddd4248a558b945106c9854c9a1e6c77..7b4f628054b853f90e7444ae87f2f1b642110827 100644 (file)
@@ -1,7 +1,7 @@
 $(eval $(call import.MODULE.defs,X264,x264,YASM PTHREADW32))
 $(eval $(call import.CONTRIB.defs,X264))
 
-X264.FETCH.url = http://download.handbrake.fr/handbrake/contrib/x264-r2216-198a7ea.tar.gz
+X264.FETCH.url = http://download.handbrake.fr/handbrake/contrib/x264-r2245-bc13772.tar.gz
 X264.EXTRACT.tarbase = x264
 
 X264.CONFIGURE.deps   =
index 90215575fe522738432f3dc777bc96287467ac19..b5f3ee788dd53dd071171ffb79a2251a0ce435be 100644 (file)
@@ -1,5 +1,5 @@
 $(eval $(call import.MODULE.defs,YASM,yasm))
 $(eval $(call import.CONTRIB.defs,YASM))
 
-YASM.FETCH.url = http://download.handbrake.fr/handbrake/contrib/yasm-1.1.0.tar.gz
+YASM.FETCH.url = http://download.handbrake.fr/handbrake/contrib/yasm-1.2.0.tar.gz
 
index e4f70486d8d8e6e8c03335f579b02fcd18d9691b..26572e0e229849ee3158c8b52eddf22fd05ab920 100644 (file)
@@ -1,4 +1,4 @@
-Guide to Building HandBrake svn4981 (2012092601) on Linux
+Guide to Building HandBrake svn5208 (2013012701) on Linux
 *********************************************************
 
 Table of Contents
@@ -38,11 +38,11 @@ Linux; but is not necessarily the only configuration that is possible:
 
    * Intel 32-bit or 64-bit kernel
 
-   * Ubuntu 10.04, gcc 4.4.3, yasm 0.8.0
+   * Ubuntu 12.04, gcc 4.5, yasm 1.2.x
 
-   * Fedora 14, gcc 4.5.1, yasm 1.0.1
+   * Fedora 17 and 18, gcc 4.5, yasm 1.2.x
 
-   * gcc 4.0.0 or higher is reported to work
+   * gcc 4.5 or higher is reported to work
 
      Note: It is recommended to use the platform distribution's
      standard compiler for maximum C++ compatibility. If you build with
@@ -75,7 +75,7 @@ The GTK UI introduces some significant extra build requirements. If you
 intend to disable building the GUI with `configure --disable-gtk' you
 will not need many of these packages installed:
 
-Ubuntu 10.04 - 10.10 packages:
+Ubuntu 12+ packages:
    * subversion (cli/gui)
 
    * yasm (cli/gui)
@@ -126,7 +126,7 @@ Ubuntu 10.04 - 10.10 packages:
 
    * libgstreamer-plugins-base0.10-dev (gui)
 
-Ubuntu 11.04 - 11.10 packages:
+Ubuntu 12+ packages:
    * libappindicator-dev (gui)
 
 To install these packages:
@@ -137,7 +137,7 @@ To install these packages:
      libgtk2.0-dev libgudev-1.0-dev libwebkit-dev libnotify-dev \
      libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libappindicator-dev
 
-Fedora 12 - 13 package groups:
+Fedora 17+ package groups:
    * Development Tools
 
    * Development Libraries
@@ -200,7 +200,7 @@ To install these packages:
 This chapter is for building from a terminal/shell environment in as
 few commands as possible. Upon completion of the following commands you
 should have a fresh build of HandBrake. Further instructions are
-available beginning with *note overview:: which describes procedures
+available beginning with *Note overview:: which describes procedures
 suitable for repeating builds. This chapter should be skipped by those
 seeking more than a minimalist build.
 
@@ -590,7 +590,7 @@ Appendix A Project Repository Details
      root:   svn://svn.handbrake.fr/HandBrake
      branch: trunk
      uuid:   b64f7644-9d1e-0410-96f1-a4d463321fa5
-     rev:    4981
-     date:   2012-09-25 09:52:53 -0700
+     rev:    5208
+     date:   2013-01-26 18:47:13 +0000
      type:   developer
 
index 07f56df8426873f4b9c4d9443994a9791ba266f6..118109581bcc8f1606887504ace925d09af60145 100644 (file)
@@ -1,4 +1,4 @@
-Build Guide for HandBrake 4394svn on Mac OS X
+Build Guide for HandBrake 5208svn on Mac OS X
 *********************************************
 
 Table of Contents
@@ -55,7 +55,9 @@ possible:
 
    * llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658)
 
-   * yasm 1.1.0.2352
+   * yasm 1.2.x
+
+   * xquartz (http://xquartz.macosforge.org/landing/)
 
      Note: It is recommended to use the platform distribution's
      standard compiler for maximum C++ compatibility. If you build with
@@ -90,7 +92,7 @@ recommended you use these versions or similar:
 This chapter is for building from a terminal/shell environment in as
 few commands as possible. Upon completion of the following commands you
 should have a fresh build of HandBrake. Further instructions are
-available beginning with *note overview:: which describes procedures
+available beginning with *Note overview:: which describes procedures
 suitable for repeating builds. This chapter should be skipped by those
 seeking more than a minimalist build.
 
@@ -699,7 +701,7 @@ Appendix A Project Repository Details
      root:   svn://svn.handbrake.fr/HandBrake
      branch: trunk
      uuid:   b64f7644-9d1e-0410-96f1-a4d463321fa5
-     rev:    4394
-     date:   2011-12-30 17:21:44 -0500
+     rev:    5208
+     date:   2013-01-26 18:47:13 +0000
      type:   developer
 
index 2fa752d1a4b6f9caad573a3dff7079560c7f08ee..f4b0ed98c9949d76a54a994f4ddf2958fcf731ed 100644 (file)
@@ -1,4 +1,4 @@
-Guide to Building HandBrake svn4891 (2012080501) on MinGW
+Guide to Building HandBrake svn5208 (2013012701) on MinGW
 *********************************************************
 
 Table of Contents
@@ -38,9 +38,9 @@ MinGW; but is not necessarily the only configuration that is possible:
 
    * Intel 32-bit or 64-bit hardware
 
-   * MinGW on Fedora 16, Ubuntu or Debian, gcc 4.5+
+   * MinGW on Fedora 17+, Ubuntu 12+ or Debian, gcc 4.5+
 
-   * yasm 1.1.x.x (for i386 or x86_64 architectures)
+   * yasm 1.2.x (for i386 or x86_64 architectures)
 
      Note: It is recommended to use the platform distribution's
      standard compiler for maximum C++ compatibility. If you build with
@@ -62,7 +62,7 @@ MinGW; but is not necessarily the only configuration that is possible:
      `g++-4' respectively and you must indicate to configure the
      desired versions. The following syntax should do the trick:
 
-     ../configure --cross=i686-pc-mingw32 --gcc=gcc-4
+     ../configure --cross=i686-w64-mingw32 --gcc=gcc-4
 
 The following general tools are used on various platforms and it is
 recommended you use these versions or similar:
@@ -89,7 +89,7 @@ recommended you use these versions or similar:
 This chapter is for building from a terminal/shell environment in as
 few commands as possible. Upon completion of the following commands you
 should have a fresh build of HandBrake. Further instructions are
-available beginning with *note overview:: which describes procedures
+available beginning with *Note overview:: which describes procedures
 suitable for repeating builds. This chapter should be skipped by those
 seeking more than a minimalist build.
 
@@ -479,6 +479,7 @@ Appendix A Project Repository Details
      root:   svn://svn.handbrake.fr/HandBrake
      branch: trunk
      uuid:   b64f7644-9d1e-0410-96f1-a4d463321fa5
-     rev:    4891
-     date:   2012-08-05 17:23:19 +0100
+     rev:    5208
+     date:   2013-01-26 18:47:13 +0000
      type:   developer
+
index 0f6ff3876ca410ef7c1dc4a8f733c703f5a1d2b6..6d1daa1eabf9e44d7e6dfba74d799c2ae56cac01 100644 (file)
@@ -19,9 +19,9 @@ The following are the recommended specifications for building on @value{OS.linux
 
 @itemize @bullet
 @item Intel 32-bit or 64-bit kernel
-@item Ubuntu 10.04, gcc 4.4.3, yasm 0.8.0
-@item Fedora 14, gcc 4.5.1, yasm 1.0.1
-@item gcc 4.0.0 or higher is reported to work
+@item Ubuntu 12.04, gcc 4.5, yasm 1.2.x
+@item Fedora 17 and 18, gcc 4.5, yasm 1.2.x
+@item gcc 4.5 or higher is reported to work
 @end itemize
 
 @include building/prerequisites.bundled.texi
@@ -30,7 +30,7 @@ The following are the recommended specifications for building on @value{OS.linux
 
 The @b{GTK UI} introduces some significant extra build requirements. If you intend to disable building the GUI with @command{configure --disable-gtk} you will not need many of these packages installed:
 
-Ubuntu 10.04 - 10.10 packages:
+Ubuntu 12+ packages:
 @itemize @bullet
 @item subversion (cli/gui)
 @item yasm (cli/gui)
@@ -59,7 +59,7 @@ Ubuntu 10.04 - 10.10 packages:
 @item libgstreamer-plugins-base0.10-dev (gui)
 @end itemize
 
-Ubuntu 11.04 - 11.10 packages:
+Ubuntu 12+ packages:
 @itemize @bullet
 @item libappindicator-dev (gui)
 @end itemize
@@ -74,7 +74,7 @@ libgtk2.0-dev libgudev-1.0-dev libwebkit-dev libnotify-dev \
 libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libappindicator-dev
 @end example
 
-Fedora 12 - 13 package groups:
+Fedora 17+ package groups:
 @itemize @bullet
 @item Development Tools
 @item Development Libraries
index 572940ddb1e016407388460bca206942701811de..9a1f86ebc21d4dc567591d14979a0c13fb45735c 100644 (file)
@@ -19,8 +19,8 @@ The following are the recommended specifications for building on @value{OS.mingw
 
 @itemize @bullet
 @item Intel 32-bit or 64-bit hardware
-@item @value{OS.mingw} on Fedora 16, Ubuntu or Debian, gcc 4.5+
-@item yasm 1.1.x.x (for i386 or x86_64 architectures)
+@item @value{OS.mingw} on Fedora 17+, Ubuntu 12+ or Debian, gcc 4.5+
+@item yasm 1.2.x (for i386 or x86_64 architectures)
 @end itemize
 
 @include building/prerequisites.bundled.texi
@@ -33,7 +33,7 @@ As of this writing, @value{OS.mingw} has available to it several versions of gcc
 @end quotation
 
 @example
-../configure --cross=i686-pc-mingw32 --gcc=gcc-4
+../configure --cross=i686-w64-mingw32 --gcc=gcc-4
 @end example
 
 @include building/prerequisites.common.texi
index 5c661c5ebf14e224a16363b24a362cf33b13161c..f9aa3fe2cd6e67f30de9a8300d3e01a9c4c28eeb 100644 (file)
@@ -23,7 +23,8 @@ Building on @value{OS.osx} is well supported. It is the reference platform for @
 @item @value{OS.osx} 10.7.2
 @item Xcode 4.2.1 (Build version 4D502)
 @item llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658)
-@item yasm 1.1.0.2352
+@item yasm 1.2.x
+@item xquartz (http://xquartz.macosforge.org/landing/)
 @end itemize
 
 @include building/prerequisites.bundled.texi
index d7171c3d466a7301fb7a2c3ecfde38ea78756c71..e09e7fcbf5a007ec2e0654840a724c1fd591236c 100644 (file)
@@ -1206,18 +1206,25 @@ audio_remove_clicked_cb(GtkWidget *widget, signal_user_data_t *ud)
         indices = gtk_tree_path_get_indices (treepath);
         row = indices[0];
         gtk_tree_path_free(treepath);
-        // Remove the selected item
-        gtk_list_store_remove (GTK_LIST_STORE(store), &iter);
-        // remove from audio settings list
         if (row < 0) return;
-        widget = GHB_WIDGET (ud->builder, "audio_add");
-        gtk_widget_set_sensitive(widget, TRUE);
+
         audio_list = ghb_settings_get_value(ud->settings, "audio_list");
         if (row >= ghb_array_len(audio_list))
             return;
+
+        // Update our settings list before removing the row from the
+        // treeview.  Removing from the treeview sometimes provokes an
+        // immediate selection change, so the list needs to be up to date
+        // when this happens.
         GValue *old = ghb_array_get_nth(audio_list, row);
         ghb_value_free(old);
         ghb_array_remove(audio_list, row);
+
+        // Remove the selected item
+        gtk_list_store_remove (GTK_LIST_STORE(store), &iter);
+        // remove from audio settings list
+        widget = GHB_WIDGET (ud->builder, "audio_add");
+        gtk_widget_set_sensitive(widget, TRUE);
     }
 }
 
index 42fd3fa03622bb7710fd6f71431547cef54868f9..eb98553e32ee871c280a881be8403b65d7765034 100644 (file)
@@ -833,12 +833,16 @@ dvd_device_changed_cb(GtkComboBoxText *combo, signal_user_data_t *ud)
         gchar *name;
 
         dialog = GHB_WIDGET(ud->builder, "source_dialog");
-        device = gtk_combo_box_text_get_active_text (combo);
-        name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(dialog));
-        if (name == NULL || strcmp(name, device) != 0)
-            gtk_file_chooser_select_filename (GTK_FILE_CHOOSER(dialog), device);
-        if (name != NULL)
-            g_free(name);
+        device = gtk_combo_box_text_get_active_text(combo);
+        // Protext against unexpected NULL return value
+        if (device != NULL)
+        {
+            name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(dialog));
+            if (name == NULL || strcmp(name, device) != 0)
+                gtk_file_chooser_select_filename (GTK_FILE_CHOOSER(dialog), device);
+            if (name != NULL)
+                g_free(name);
+        }
     }
 }
 
@@ -992,7 +996,21 @@ do_source_dialog(GtkButton *button, gboolean single, signal_user_data_t *ud)
     dialog = GHB_WIDGET(ud->builder, "source_dialog");
     source_dialog_extra_widgets(ud, dialog);
 
+#if GTK_CHECK_VERSION(3, 0, 0)
+    // gtk3 has a STUPID BUG!  If you select the "same_path" it ends
+    // up selecting the "Recent Files" shortcut instead of taking you
+    // to the directory and file THAT YOU ASKED FOR!!!  FUUUUK!!!
+    //
+    // So instead, I am just setting the current folder.  It's not
+    // optimal because if you are processing several files in the same
+    // folder, you want the selection to return to where you were last
+    // in the list, but there's not much else I can do at this point.
+    gchar *dirname = g_path_get_dirname(sourcename);
+    gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), dirname);
+    g_free(dirname);
+#else
     gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), sourcename);
+#endif
     response = gtk_dialog_run(GTK_DIALOG (dialog));
     gtk_widget_hide(dialog);
     if (response == GTK_RESPONSE_NO)
index dfe7cf90878266e0b23d9ca38e9e25c9804cccab..c697849fa42a8c91fc3efc7304a54eb997b9ed66 100644 (file)
@@ -1,6 +1,64 @@
 <?xml version="1.0"?>
 <!--*- mode: xml -*-->
 <interface>
+  <object class="GtkLabel" id="SubTrackLabel">
+    <property name="visible">True</property>
+    <property name="label" translatable="yes">&lt;b&gt;Track&lt;/b&gt;</property>
+    <property name="tooltip-text" translatable="yes">The source subtitle track
+
+You can choose any of the subtitles
+recognized in your source file.
+
+In addition, there is a special track option
+"Foreign Audio Search".  This option will add
+an extra pass to the encode that searches for
+subtitles that may correspond to a foreign
+language scene.  This option is best used in
+conjunction with the "Forced" option.</property>
+    <property name="use_markup">True</property>
+  </object>
+  <object class="GtkLabel" id="SubForcedLabel">
+    <property name="visible">True</property>
+    <property name="label" translatable="yes">&lt;b&gt;Forced Only&lt;/b&gt;</property>
+    <property name="tooltip-text" translatable="yes">Use only subtitles that have been flagged
+as forced in the source subtitle track
+
+"Forced" subtitles are usually used to show
+subtitles during scenes where someone is speaking
+a foreign language.</property>
+    <property name="use_markup">True</property>
+  </object>
+  <object class="GtkLabel" id="SubBurnedLabel">
+    <property name="visible">True</property>
+    <property name="label" translatable="yes">&lt;b&gt;Burned In&lt;/b&gt;</property>
+    <property name="tooltip-text" translatable="yes">Render the subtitle over the video.
+
+The subtitle will be part of the video and can not be disabled.</property>
+    <property name="use_markup">True</property>
+  </object>
+  <object class="GtkLabel" id="SubDefaultLabel">
+    <property name="visible">True</property>
+    <property name="label" translatable="yes">&lt;b&gt;Default&lt;/b&gt;</property>
+    <property name="tooltip-text" translatable="yes">Set the default output subtitle track.
+
+Most players will automatically display this
+subtitle track whenever the video is played.
+
+This is usefule for creating a "forced" track
+in your output.</property>
+    <property name="use_markup">True</property>
+  </object>
+  <object class="GtkLabel" id="SubSRTOffsetLabel">
+    <property name="visible">True</property>
+    <property name="label" translatable="yes">&lt;b&gt;SRT Offset&lt;/b&gt;</property>
+    <property name="tooltip-text" translatable="yes">Add (or subtract) an offset (in milliseconds)
+to the start of the SRT subtitle track.
+
+Often, the start of an external SRT file
+does not coincide with the start of the video.
+This setting allows you to synchronize the files.</property>
+    <property name="use_markup">True</property>
+  </object>
   <object class="GtkAdjustment" id="adjustment1">
     <property name="upper">100</property>
     <property name="lower">1</property>
       </popup>
     </ui>
   </object>
-  <object class="GtkListStore" id="device_list">
-    <columns>
-      <!-- column-name device -->
-      <column type="gchararray"/>
-    </columns>
-  </object>
 
   <object class="GtkMenu" id="presets_menu">
     <child>
                                     <property name="visible">True</property>
                                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                     <child>
-                                      <object class="GtkFrame" id="frame8">
+                                      <object class="GtkAlignment" id="alignment19">
                                         <property name="visible">True</property>
-                                        <property name="label_xalign">0</property>
-                                        <property name="shadow_type">none</property>
+                                        <property name="bottom_padding">4</property>
+                                        <property name="left_padding">4</property>
+                                        <property name="right_padding">4</property>
+                                        <property name="yalign">1</property>
                                         <child>
-                                          <object class="GtkAlignment" id="alignment19">
+                                          <object class="GtkImage" id="preview_button_image">
+                                            <property name="width_request">448</property>
+                                            <property name="height_request">200</property>
                                             <property name="visible">True</property>
-                                            <property name="bottom_padding">4</property>
-                                            <property name="left_padding">4</property>
-                                            <property name="right_padding">4</property>
-                                            <property name="yalign">1</property>
-                                            <child>
-                                              <object class="GtkImage" id="preview_button_image">
-                                                <property name="width_request">448</property>
-                                                <property name="height_request">200</property>
-                                                <property name="visible">True</property>
-                                                <property name="icon_name">hb-icon</property>
-                                                <property name="pixel-size">128</property>
-                                                <signal name="size_allocate" handler="preview_button_size_allocate_cb"/>
-                                              </object>
-                                            </child>
+                                            <property name="icon_name">hb-icon</property>
+                                            <property name="pixel-size">128</property>
+                                            <signal name="size_allocate" handler="preview_button_size_allocate_cb"/>
                                           </object>
                                         </child>
                                       </object>
@@ -8443,14 +8488,8 @@ libx264 authors:
                     <child>
                       <object class="GtkComboBoxText" id="source_device">
                         <property name="visible">True</property>
-                        <property name="model">device_list</property>
+                        <property name="entry-text-column">0</property>
                         <signal handler="dvd_device_changed_cb" name="changed"/>
-                        <child>
-                          <object class="GtkCellRendererText" id="cellrenderertext1"/>
-                          <attributes>
-                            <attribute name="text">0</attribute>
-                          </attributes>
-                        </child>
                       </object>
                     </child>
                   </object>
index 3426e5adc098ce395094ee7ee92f95224e870f1c..bdd53c9592619001112dc862fe56860b31555740 100644 (file)
@@ -2085,53 +2085,35 @@ x264_tune_opts_set(GtkBuilder *builder, const gchar *name)
 }
 
 static void
-x264_profile_opts_set(GtkBuilder *builder, const gchar *name)
+h264_profile_opts_set(GtkBuilder *builder, const gchar *name)
 {
     GtkTreeIter iter;
     GtkListStore *store;
     gint ii, count = 0;
 
     const char * const *profiles;
-    profiles = hb_x264_profiles();
+    profiles = hb_h264_profiles();
     while (profiles && profiles[count]) count++;
 
-    g_debug("x264_profile_opts_set ()\n");
+    g_debug("h264_profile_opts_set ()\n");
     store = get_combo_box_store(builder, name);
     gtk_list_store_clear(store);
 
-    gtk_list_store_append(store, &iter);
-    gtk_list_store_set(store, &iter, 
-                       0, "Auto",
-                       1, TRUE, 
-                       2, "auto",
-                       3, (gdouble)0, 
-                       4, "auto",
-                       -1);
-
     for (ii = 0; ii < count; ii++)
     {
-        // HandBrake doesn't support high10 (10 bit encoding)
-        // or high422 (YUV422)
-        if (!strcasecmp("high10", profiles[ii]) ||
-            !strcasecmp("high422", profiles[ii]) ||
-            !strcasecmp("high444", profiles[ii]))
-        {
-            continue;
-        }
-
         gtk_list_store_append(store, &iter);
         gtk_list_store_set(store, &iter, 
                            0, profiles[ii],
                            1, TRUE, 
                            2, profiles[ii],
-                           3, (gdouble)ii + 1,
+                           3, (gdouble)ii,
                            4, profiles[ii],
                            -1);
     }
 }
 
 static void
-x264_level_opts_set(GtkBuilder *builder, const gchar *name)
+h264_level_opts_set(GtkBuilder *builder, const gchar *name)
 {
     GtkTreeIter iter;
     GtkListStore *store;
@@ -2141,19 +2123,10 @@ x264_level_opts_set(GtkBuilder *builder, const gchar *name)
     levels = hb_h264_levels();
     while (levels && levels[count]) count++;
 
-    g_debug("x264_level_opts_set ()\n");
+    g_debug("h264_level_opts_set ()\n");
     store = get_combo_box_store(builder, name);
     gtk_list_store_clear(store);
 
-    gtk_list_store_append(store, &iter);
-    gtk_list_store_set(store, &iter, 
-                       0, "Auto",
-                       1, TRUE, 
-                       2, "auto",
-                       3, (gdouble)0, 
-                       4, "auto",
-                       -1);
-
     for (ii = 0; ii < count; ii++)
     {
         gtk_list_store_append(store, &iter);
@@ -2161,7 +2134,7 @@ x264_level_opts_set(GtkBuilder *builder, const gchar *name)
                            0, levels[ii],
                            1, TRUE, 
                            2, levels[ii],
-                           3, (gdouble)ii + 1,
+                           3, (gdouble)ii,
                            4, levels[ii],
                            -1);
     }
@@ -3040,8 +3013,8 @@ ghb_update_ui_combo_box(
         small_opts_set(ud->builder, "x264_analyse", &analyse_opts);
         small_opts_set(ud->builder, "x264_trellis", &trellis_opts);
         x264_tune_opts_set(ud->builder, "x264Tune");
-        x264_profile_opts_set(ud->builder, "h264Profile");
-        x264_level_opts_set(ud->builder, "h264Level");
+        h264_profile_opts_set(ud->builder, "h264Profile");
+        h264_level_opts_set(ud->builder, "h264Level");
     }
     else
     {
@@ -3074,9 +3047,9 @@ ghb_update_ui_combo_box(
         else if (strcmp(name, "x264Tune") == 0)
             x264_tune_opts_set(ud->builder, "x264Tune");
         else if (strcmp(name, "h264Profile") == 0)
-            x264_profile_opts_set(ud->builder, "h264Profile");
+            h264_profile_opts_set(ud->builder, "h264Profile");
         else if (strcmp(name, "h264Level") == 0)
-            x264_level_opts_set(ud->builder, "h264Level");
+            h264_level_opts_set(ud->builder, "h264Level");
         else
             generic_opts_set(ud->builder, name, find_combo_table(name));
     }
@@ -3200,10 +3173,10 @@ void ghb_set_video_encoder_opts(hb_job_t *job, GValue *js)
                     hb_job_set_x264_tune(job, tunes);
 
                 if (profile != NULL && strcasecmp(profile, "auto"))
-                    hb_job_set_x264_profile(job, profile);
+                    hb_job_set_h264_profile(job, profile);
 
                 if (level != NULL && strcasecmp(level, "auto"))
-                    hb_job_set_x264_level(job, level);
+                    hb_job_set_h264_level(job, level);
 
                 hb_job_set_advanced_opts(job, opts);
 
index 891abd088032602b9b177f4419831d0f259c26b6..9f3dc8b245e88db10e653dd708df48fde3cfeb6b 100644 (file)
@@ -419,6 +419,8 @@ bind_subtitle_tree_model(signal_user_data_t *ud)
     cell = gtk_cell_renderer_text_new();
     column = gtk_tree_view_column_new_with_attributes(
                                     _("Track"), cell, "text", 0, NULL);
+    widget = GHB_WIDGET(ud->builder, "SubTrackLabel");
+    gtk_tree_view_column_set_widget(column, widget);
     gtk_tree_view_append_column(treeview, GTK_TREE_VIEW_COLUMN(column));
     gtk_tree_view_column_set_min_width(column, 350);
     gtk_tree_view_column_set_max_width(column, 350);
@@ -426,6 +428,8 @@ bind_subtitle_tree_model(signal_user_data_t *ud)
     cell = gtk_cell_renderer_toggle_new();
     column = gtk_tree_view_column_new_with_attributes(
             _("Forced Only"), cell, "active", 1, "visible", 7, NULL);
+    widget = GHB_WIDGET(ud->builder, "SubForcedLabel");
+    gtk_tree_view_column_set_widget(column, widget);
     gtk_tree_view_append_column(treeview, GTK_TREE_VIEW_COLUMN(column));
     g_signal_connect(cell, "toggled", subtitle_forced_toggled_cb, ud);
 
@@ -433,6 +437,8 @@ bind_subtitle_tree_model(signal_user_data_t *ud)
     gtk_cell_renderer_toggle_set_radio(GTK_CELL_RENDERER_TOGGLE(cell), TRUE);
     column = gtk_tree_view_column_new_with_attributes(
             _("Burned In"), cell, "active", 2, "visible", 8, NULL);
+    widget = GHB_WIDGET(ud->builder, "SubBurnedLabel");
+    gtk_tree_view_column_set_widget(column, widget);
     gtk_tree_view_append_column(treeview, GTK_TREE_VIEW_COLUMN(column));
     g_signal_connect(cell, "toggled", subtitle_burned_toggled_cb, ud);
 
@@ -440,12 +446,16 @@ bind_subtitle_tree_model(signal_user_data_t *ud)
     gtk_cell_renderer_toggle_set_radio(GTK_CELL_RENDERER_TOGGLE(cell), TRUE);
     column = gtk_tree_view_column_new_with_attributes(
                 _("Default"), cell, "active", 3, NULL);
+    widget = GHB_WIDGET(ud->builder, "SubDefaultLabel");
+    gtk_tree_view_column_set_widget(column, widget);
     gtk_tree_view_append_column(treeview, GTK_TREE_VIEW_COLUMN(column));
     g_signal_connect(cell, "toggled", subtitle_default_toggled_cb, ud);
 
     cell = gtk_cell_renderer_text_new();
     column = gtk_tree_view_column_new_with_attributes(
             _("Srt Offset"), cell, "text", 4, "visible", 9, NULL);
+    widget = GHB_WIDGET(ud->builder, "SubSRTOffsetLabel");
+    gtk_tree_view_column_set_widget(column, widget);
     gtk_tree_view_append_column(treeview, GTK_TREE_VIEW_COLUMN(column));
 
 
index 5a6ca886494f222a2aacb79bb5e2a90b91f4d930..121654ac545b262d13e53722ee6a6b32b90ae07d 100644 (file)
@@ -1348,25 +1348,34 @@ subtitle_remove_clicked_cb(GtkWidget *widget, signal_user_data_t *ud)
         {
             gtk_tree_selection_select_iter (selection, &nextIter);
         }
+
         // Get the row number
         treepath = gtk_tree_model_get_path (store, &iter);
         indices = gtk_tree_path_get_indices (treepath);
         row = indices[0];
         gtk_tree_path_free(treepath);
-        // Remove the selected item
-        gtk_list_store_remove (GTK_LIST_STORE(store), &iter);
-        // remove from subtitle settings list
         if (row < 0) return;
-        widget = GHB_WIDGET (ud->builder, "subtitle_add");
-        gtk_widget_set_sensitive(widget, TRUE);
-        widget = GHB_WIDGET (ud->builder, "srt_add");
-        gtk_widget_set_sensitive(widget, TRUE);
+
         subtitle_list = ghb_settings_get_value(ud->settings, "subtitle_list");
         if (row >= ghb_array_len(subtitle_list))
             return;
+
+        // Update our settings list before removing the row from the
+        // treeview.  Removing from the treeview sometimes provokes an
+        // immediate selection change, so the list needs to be up to date
+        // when this happens.
         GValue *old = ghb_array_get_nth(subtitle_list, row);
         ghb_value_free(old);
         ghb_array_remove(subtitle_list, row);
+
+        // Remove the selected item
+        gtk_list_store_remove (GTK_LIST_STORE(store), &iter);
+        // remove from subtitle settings list
+        widget = GHB_WIDGET (ud->builder, "subtitle_add");
+        gtk_widget_set_sensitive(widget, TRUE);
+        widget = GHB_WIDGET (ud->builder, "srt_add");
+        gtk_widget_set_sensitive(widget, TRUE);
+
         ghb_live_reset(ud);
     }
 }
index c10eae93d25cb4ce0a2c163b28ce9fa082be18d8..bf2da46b6c526b27c5c5bab44cdf5a08af8cfa36 100644 (file)
@@ -1760,8 +1760,8 @@ static void job_clean( hb_job_t * job )
         job->x264_preset = NULL;
         free(job->x264_tune);
         job->x264_tune = NULL;
-        free(job->x264_profile);
-        job->x264_profile = NULL;
+        free(job->h264_profile);
+        job->h264_profile = NULL;
         free(job->h264_level);
         job->h264_level = NULL;
 
@@ -1901,15 +1901,15 @@ void hb_job_set_x264_tune( hb_job_t *job, const char *tune )
     }
 }
 
-void hb_job_set_x264_profile( hb_job_t *job, const char *profile )
+void hb_job_set_h264_profile( hb_job_t *job, const char *profile )
 {
     if ( job )
     {
-        hb_update_str( &job->x264_profile, profile );
+        hb_update_str( &job->h264_profile, profile );
     }
 }
 
-void hb_job_set_x264_level( hb_job_t *job, const char *level )
+void hb_job_set_h264_level( hb_job_t *job, const char *level )
 {
     if ( job )
     {
index 8586d2a6b1bdc955694b6f5977629d546550d358..3fc4b22aaf6691376c6b2fad08d4891748b4d1e8 100644 (file)
@@ -125,8 +125,8 @@ void hb_fix_aspect( hb_job_t * job, int keep );
 void hb_job_set_advanced_opts( hb_job_t *job, const char *advanced_opts );
 void hb_job_set_x264_preset( hb_job_t *job, const char *preset );
 void hb_job_set_x264_tune( hb_job_t *job, const char *tune );
-void hb_job_set_x264_profile( hb_job_t *job, const char *profile );
-void hb_job_set_x264_level( hb_job_t *job, const char *level );
+void hb_job_set_h264_profile( hb_job_t *job, const char *profile );
+void hb_job_set_h264_level( hb_job_t *job, const char *level );
 void hb_job_set_file( hb_job_t *job, const char *file );
 
 hb_audio_t *hb_audio_copy(const hb_audio_t *src);
@@ -368,10 +368,10 @@ struct hb_job_s
     int             cfr;
     int             pass;
     int             fastfirstpass;
-    char            *advanced_opts;
-    char            *x264_profile;
     char            *x264_preset;
     char            *x264_tune;
+    char            *advanced_opts;
+    char            *h264_profile;
     char            *h264_level;
     int             areBframes;
 
@@ -1112,13 +1112,13 @@ const char * hb_subsource_name( int source );
 
 // unparse a set of x264 settings to an HB encopts string
 char * hb_x264_param_unparse(const char *x264_preset,  const char *x264_tune,
-                             const char *x264_encopts, const char *x264_profile,
+                             const char *x264_encopts, const char *h264_profile,
                              const char *h264_level, int width, int height);
 
-// x264 preset/tune/profile & h264 level helpers
+// x264 preset/tune & h264 profile/level helpers
 const char * const * hb_x264_presets();
 const char * const * hb_x264_tunes();
-const char * const * hb_x264_profiles();
+const char * const * hb_h264_profiles();
 const char * const * hb_h264_levels();
 
 // x264 option name/synonym helper
index 15c0d21d5b78c5b52f1cd8d9e42bed689c845968..0e1d78eda2aa829dd92cfd9c3db179eb1db113f2 100644 (file)
@@ -60,6 +60,7 @@ typedef struct hb_libmpeg2_s
         int64_t          start;             // start time of this frame
         hb_buffer_t    * cc_buf;            // captions for this frame
     } tags[NTAGS];
+    uint8_t              cc_tag_pending;
 
     struct SwsContext *sws_context; // if we have to rescale or convert color space
     int             sws_width;
@@ -84,7 +85,7 @@ static hb_libmpeg2_t * hb_libmpeg2_init()
     int i;
     for ( i = 0; i < NTAGS; ++i )
     {
-        m->tags[i].start = -1;
+        m->tags[i].start = -2;
     }
 
     return m;
@@ -258,7 +259,7 @@ static void next_tag( hb_libmpeg2_t *m, hb_buffer_t *buf_es )
     {
         if ( m->tags[m->cur_tag].start < 0 ||
              ( m->got_iframe && m->tags[m->cur_tag].start >= m->first_pts ) )
-            hb_log("mpeg2 tag botch: pts %"PRId64", tag pts %"PRId64" buf 0x%p",
+            hb_log("mpeg2 tag botch: pts %"PRId64", tag pts %"PRId64" buf %p",
                    buf_es->s.start, m->tags[m->cur_tag].start, m->tags[m->cur_tag].cc_buf);
         if ( m->tags[m->cur_tag].cc_buf )
             hb_buffer_close( &m->tags[m->cur_tag].cc_buf );
@@ -363,6 +364,7 @@ static int hb_libmpeg2_decode( hb_libmpeg2_t * m, hb_buffer_t * buf_es,
         if( buf_es->s.start >= 0 )
         {
             next_tag( m, buf_es );
+            m->cc_tag_pending = 1;
         }
         mpeg2_buffer( m->libmpeg2, buf_es->data, buf_es->data + buf_es->size );
     }
@@ -385,22 +387,32 @@ static int hb_libmpeg2_decode( hb_libmpeg2_t * m, hb_buffer_t * buf_es,
             // if we don't have a tag for the captions, make one
             if ( m->last_cc1_buf && m->tags[m->cur_tag].cc_buf != m->last_cc1_buf )
             {
-                if (m->tags[m->cur_tag].cc_buf)
+                // If we have not set a CC tag for the picture and
+                // we have a new CC buffer, make a new tag.
+                if (!m->cc_tag_pending && m->tags[m->cur_tag].cc_buf != NULL)
                 {
-                    hb_log("mpeg2 tag botch2: pts %"PRId64", tag pts %"PRId64" buf 0x%p",
+                    next_tag( m, buf_es );
+                }
+                else if (m->tags[m->cur_tag].cc_buf)
+                {
+                    hb_log("mpeg2 tag botch2: pts %"PRId64", tag pts %"PRId64" buf %p",
                            buf_es->s.start, m->tags[m->cur_tag].start, m->tags[m->cur_tag].cc_buf);
                     hb_buffer_close( &m->tags[m->cur_tag].cc_buf );
                 }
                 // see if we already made a tag for the timestamp. If so we
                 // can just use it, otherwise make a new tag.
-                if (m->tags[m->cur_tag].start < 0)
+                if (m->tags[m->cur_tag].start == -2)
                 {
                     next_tag( m, buf_es );
                 }
                 m->tags[m->cur_tag].cc_buf = m->last_cc1_buf;
             }
         }
-        if( state == STATE_SEQUENCE )
+        if( state == STATE_PICTURE )
+        {
+            m->cc_tag_pending = 0;
+        }
+        else if( state == STATE_SEQUENCE )
         {
             if( !( m->width && m->height && m->rate ) )
             {
@@ -463,7 +475,7 @@ static int hb_libmpeg2_decode( hb_libmpeg2_t * m, hb_buffer_t * buf_es,
                     int t = m->info->display_picture->tag;
                     buf->s.start = m->tags[t].start;
                     cc_buf = m->tags[t].cc_buf;
-                    m->tags[t].start = -1;
+                    m->tags[t].start = -2;
                     m->tags[t].cc_buf = NULL;
                 }
                 if( buf->s.start < 0 && m->last_pts >= 0 )
index e9cd440530bd2595008ee7b60bab9923a428daec..14d8100c65e166a3d2855a72e57668974ef3b242 100644 (file)
@@ -992,7 +992,7 @@ static int try_button( dvdnav_t * dvdnav, int button, hb_list_t * list_title )
 
     cur_title = title;
 
-    for (jj = 0; jj < 5; jj++)
+    for (jj = 0; jj < 10; jj++)
     {
         for (ii = 0; ii < 2000; ii++)
         {
index f5808963f6bbd64a463942ec7be510615d1dc242..b528324165e9842c1cd4c2811b1f376ae010ebc9 100644 (file)
@@ -275,9 +275,9 @@ int encx264Init( hb_work_object_t * w, hb_job_t * job )
     }
 
     /* Apply profile and level settings last, if present. */
-    if (job->x264_profile != NULL && *job->x264_profile)
+    if (job->h264_profile != NULL && *job->h264_profile)
     {
-        if (x264_param_apply_profile(&param, job->x264_profile))
+        if (hb_apply_h264_profile(&param, job->h264_profile, 1))
         {
             free(pv);
             pv = NULL;
@@ -287,7 +287,7 @@ int encx264Init( hb_work_object_t * w, hb_job_t * job )
     if (job->h264_level != NULL && *job->h264_level)
     {
         if (hb_apply_h264_level(&param, job->h264_level,
-                                job->x264_profile, 1) < 0)
+                                job->h264_profile, 1) < 0)
         {
             free(pv);
             pv = NULL;
@@ -629,6 +629,60 @@ int encx264Work( hb_work_object_t * w, hb_buffer_t ** buf_in,
     return HB_WORK_OK;
 }
 
+int hb_apply_h264_profile(x264_param_t *param, const char *h264_profile,
+                          int verbose)
+{
+    if (h264_profile != NULL &&
+        strcasecmp(h264_profile, hb_h264_profile_names[0]) != 0)
+    {
+        /*
+         * baseline profile doesn't support interlacing
+         */
+        if ((param->b_interlaced ||
+             param->b_fake_interlaced) &&
+            !strcasecmp(h264_profile, "baseline"))
+        {
+            if (verbose)
+            {
+                hb_log("hb_apply_h264_profile [warning]: baseline profile doesn't support interlacing, disabling");
+            }
+            param->b_interlaced = param->b_fake_interlaced = 0;
+        }
+        /*
+         * lossless requires High 4:4:4 Predictive profile
+         */
+        if (param->rc.f_rf_constant < 1.0 &&
+            param->rc.i_rc_method == X264_RC_CRF &&
+            strcasecmp(h264_profile, "high444") != 0)
+        {
+            if (verbose)
+            {
+                hb_log("hb_apply_h264_profile [warning]: lossless requires high444 profile, disabling");
+            }
+            param->rc.f_rf_constant = 1.0;
+        }
+        if (!strcasecmp(h264_profile, "high10") ||
+            !strcasecmp(h264_profile, "high422"))
+        {
+            // arbitrary profile names may be specified via the CLI
+            // map unsupported high10 and high422 profiles to high
+            return x264_param_apply_profile(param, "high");
+        }
+        return x264_param_apply_profile(param, h264_profile);
+    }
+    else if (!strcasecmp(h264_profile, hb_h264_profile_names[0]))
+    {
+        // "auto", do nothing
+        return 0;
+    }
+    else
+    {
+        // error (profile not a string), abort
+        hb_error("hb_apply_h264_profile: no profile specified");
+        return -1;
+    }
+}
+
 int hb_check_h264_level(const char *h264_level, int width, int height,
                         int fps_num, int fps_den, int interlaced,
                         int fake_interlaced)
@@ -645,24 +699,65 @@ int hb_check_h264_level(const char *h264_level, int width, int height,
 }
 
 int hb_apply_h264_level(x264_param_t *param, const char *h264_level,
-                        const char *x264_profile, int verbose)
+                        const char *h264_profile, int verbose)
 {
     float f_framerate;
     const x264_level_t *x264_level = NULL;
     int i, i_mb_size, i_mb_rate, i_mb_width, i_mb_height, max_mb_side, ret;
 
+    /*
+     * find the x264_level_t corresponding to the requested level
+     */
+    if (h264_level != NULL &&
+        strcasecmp(h264_level, hb_h264_level_names[0]) != 0)
+    {
+        for (i = 0; hb_h264_level_values[i]; i++)
+        {
+            if (!strcmp(hb_h264_level_names[i], h264_level))
+            {
+                int val = hb_h264_level_values[i];
+                for (i = 0; x264_levels[i].level_idc; i++)
+                {
+                    if (x264_levels[i].level_idc == val)
+                    {
+                        x264_level = &x264_levels[i];
+                        break;
+                    }
+                }
+                break;
+            }
+        }
+        if (x264_level == NULL)
+        {
+            // error (invalid or unsupported level), abort
+            hb_error("hb_apply_h264_level: invalid level %s", h264_level);
+            return -1;
+        }
+    }
+    else if(!strcasecmp(h264_level, hb_h264_level_names[0]))
+    {
+        // "auto", do nothing
+        return 0;
+    }
+    else
+    {
+        // error (level not a string), abort
+        hb_error("hb_apply_h264_level: no level specified");
+        return -1;
+    }
+
     /*
      * the H.264 profile determines VBV constraints
      */
     enum
     {
         // Main or Baseline (equivalent)
-        HB_H264_PROFILE_MAIN,
+        HB_ENCX264_PROFILE_MAIN,
         // High (no 4:2:2 or 10-bit support, so anything lossy is equivalent)
-        HB_H264_PROFILE_HIGH,
+        HB_ENCX264_PROFILE_HIGH,
         // Lossless (4:2:0 8-bit for now)
-        HB_H264_PROFILE_HIGH444,
-    } h264_profile;
+        HB_ENCX264_PROFILE_HIGH444,
+    } hb_encx264_profile;
 
     /*
      * H.264 profile
@@ -674,21 +769,21 @@ int hb_apply_h264_level(x264_param_t *param, const char *h264_level,
      * re-enabled.
      */
 #if 0
-    if (x264_profile != NULL && *x264_profile)
+    if (h264_profile != NULL && *h264_profile)
     {
         // if the user explicitly specified a profile, don't guess it
-        if (!strcasecmp(x264_profile, "high444"))
+        if (!strcasecmp(h264_profile, "high444"))
         {
-            h264_profile = HB_H264_PROFILE_HIGH444;
+            hb_encx264_profile = HB_ENCX264_PROFILE_HIGH444;
         }
-        else if (!strcasecmp(x264_profile, "main") ||
-                 !strcasecmp(x264_profile, "baseline"))
+        else if (!strcasecmp(h264_profile, "main") ||
+                 !strcasecmp(h264_profile, "baseline"))
         {
-            h264_profile = HB_H264_PROFILE_MAIN;
+            hb_encx264_profile = HB_ENCX264_PROFILE_MAIN;
         }
         else
         {
-            h264_profile = HB_H264_PROFILE_HIGH;
+            hb_encx264_profile = HB_ENCX264_PROFILE_HIGH;
         }
     }
     else
@@ -698,53 +793,18 @@ int hb_apply_h264_level(x264_param_t *param, const char *h264_level,
         if (param->rc.i_rc_method == X264_RC_CRF &&
             param->rc.f_rf_constant < 1.0)
         {
-            h264_profile = HB_H264_PROFILE_HIGH444;
+            hb_encx264_profile = HB_ENCX264_PROFILE_HIGH444;
         }
         else if (param->analyse.b_transform_8x8 ||
                  param->i_cqm_preset != X264_CQM_FLAT)
         {
-            h264_profile = HB_H264_PROFILE_HIGH;
+            hb_encx264_profile = HB_ENCX264_PROFILE_HIGH;
         }
         else
         {
-            h264_profile = HB_H264_PROFILE_MAIN;
-        }
-    }
-
-    /*
-     * find the x264_level_t corresponding to the requested level
-     */
-    if (h264_level != NULL && *h264_level)
-    {
-        for (i = 0; hb_h264_level_values[i]; i++)
-        {
-            if (!strcmp(hb_h264_level_names[i], h264_level))
-            {
-                int val = hb_h264_level_values[i];
-                for (i = 0; x264_levels[i].level_idc; i++)
-                {
-                    if (x264_levels[i].level_idc == val)
-                    {
-                        x264_level = &x264_levels[i];
-                        break;
-                    }
-                }
-                break;
-            }
-        }
-        if (x264_level == NULL)
-        {
-            // error (invalid or unsupported level), abort
-            hb_error("hb_apply_h264_level: invalid level %s", h264_level);
-            return -1;
+            hb_encx264_profile = HB_ENCX264_PROFILE_MAIN;
         }
     }
-    else
-    {
-        // error (level not a string), abort
-        hb_error("hb_apply_h264_level: no level specified");
-        return -1;
-    }
 
     /*
      * we need at least width and height in order to apply a level correctly
@@ -805,7 +865,7 @@ int hb_apply_h264_level(x264_param_t *param, const char *h264_level,
     if (param->i_keyint_max != 1)
     {
         int i_max_dec_frame_buffering =
-            MAX(MIN(x264_level->dpb / (384 * i_mb_size), 16), 1);
+            MAX(MIN(x264_level->dpb / i_mb_size, 16), 1);
         param->i_frame_reference =
             MIN(i_max_dec_frame_buffering, param->i_frame_reference);
         /*
@@ -825,10 +885,10 @@ int hb_apply_h264_level(x264_param_t *param, const char *h264_level,
     /*
      * set and/or sanitize the VBV (if not lossless)
      */
-    if (h264_profile != HB_H264_PROFILE_HIGH444)
+    if (hb_encx264_profile != HB_ENCX264_PROFILE_HIGH444)
     {
         // High profile allows for higher VBV bufsize/maxrate
-        int cbp_factor = h264_profile == HB_H264_PROFILE_HIGH ? 5 : 4;
+        int cbp_factor = hb_encx264_profile == HB_ENCX264_PROFILE_HIGH ? 5 : 4;
         if (!param->rc.i_vbv_max_bitrate)
         {
             param->rc.i_vbv_max_bitrate = (x264_level->bitrate * cbp_factor) / 4;
@@ -918,7 +978,7 @@ int hb_apply_h264_level(x264_param_t *param, const char *h264_level,
 }
 
 char * hb_x264_param_unparse(const char *x264_preset,  const char *x264_tune,
-                             const char *x264_encopts, const char *x264_profile,
+                             const char *x264_encopts, const char *h264_profile,
                              const char *h264_level, int width, int height)
 {
     int i;
@@ -979,24 +1039,10 @@ char * hb_x264_param_unparse(const char *x264_preset,  const char *x264_tune,
     /*
      * apply the x264 profile, if specified
      */
-    if (x264_profile != NULL && *x264_profile)
+    if (h264_profile != NULL && *h264_profile)
     {
-        if (x264_param_apply_profile(&param, x264_profile) < 0)
-        {
-            /*
-             * Note: x264_param_apply_profile can bail even when the specified
-             *       profile is valid; examples:
-             *
-             * 1) when profile is baseline and interlaced is set
-             * 2) when profile is not high444 and lossless is set
-             * 
-             * So this can happen even when calling hb_x264_param_unparse from a
-             * GUI - maybe we should sanitize settings before calling
-             * x264_param_apply_profile()?
-             */
-            hb_dict_free(&x264_opts);
-            return strdup("hb_x264_param_unparse: could not apply x264 profile");
-        }
+        // be quiet so at to not pollute GUI logs
+        hb_apply_h264_profile(&param, h264_profile, 0);
     }
 
     /*
@@ -1008,7 +1054,7 @@ char * hb_x264_param_unparse(const char *x264_preset,  const char *x264_tune,
         param.i_width  = width;
         param.i_height = height;
         // be quiet so at to not pollute GUI logs
-        hb_apply_h264_level(&param, h264_level, x264_profile, 0);
+        hb_apply_h264_level(&param, h264_level, h264_profile, 0);
     }
 
     /*
@@ -1590,9 +1636,9 @@ const char * const * hb_x264_tunes()
     return x264_tune_names;
 }
 
-const char * const * hb_x264_profiles()
+const char * const * hb_h264_profiles()
 {
-    return x264_profile_names;
+    return hb_h264_profile_names;
 }
 
 const char * const * hb_h264_levels()
index b989c6281e45b1c77c93430a80c2661faabb5456..963797afe9591de76fdf12f60fb111711b99333a 100644 (file)
@@ -9,8 +9,9 @@
 
 #include "x264.h"
 
-static const char * const  hb_h264_level_names[] = { "1.0", "1b", "1.1", "1.2", "1.3", "2.0", "2.1", "2.2", "3.0", "3.1", "3.2", "4.0", "4.1", "4.2", "5.0", "5.1", "5.2",  NULL };
-static const int    const hb_h264_level_values[] = {    10,    9,    11,    12,    13,    20,    21,    22,    30,    31,    32,    40,    41,    42,    50,    51,    52,     0 };
+static const char * const hb_h264_profile_names[] = { "auto", "high", "main", "baseline", NULL, };
+static const char * const   hb_h264_level_names[] = { "auto", "1.0", "1b", "1.1", "1.2", "1.3", "2.0", "2.1", "2.2", "3.0", "3.1", "3.2", "4.0", "4.1", "4.2", "5.0", "5.1", "5.2",  NULL, };
+static const int    const  hb_h264_level_values[] = {     -1,    10,    9,    11,    12,    13,    20,    21,    22,    30,    31,    32,    40,    41,    42,    50,    51,    52,     0, };
 
 /* x264 preferred option names (left) and synonyms (right).
  * The "preferred" names match names used in x264's param2string function more
@@ -68,3 +69,12 @@ int hb_check_h264_level(const char *h264_level, int width, int height,
  */
 int hb_apply_h264_level(x264_param_t *param, const char *h264_level,
                         const char *x264_profile, int verbose);
+
+/*
+ * Applies the restrictions of the requested H.264 profile to an x264_param_t.
+ *
+ * x264_param_apply_profile wrapper designed to always succeed when a valid
+ * H.264 profile is specified (unlike x264's function).
+ */
+int hb_apply_h264_profile(x264_param_t *param, const char *h264_profile,
+                          int verbose);
index c1188caa2d3fce6437b96163588b6e4256dcf084..0dbe8f5280adcb24d82031849d153aacfab3ea05 100644 (file)
@@ -1484,8 +1484,8 @@ void hb_add( hb_handle_t * h, hb_job_t * job )
         job_copy->x264_preset  = strdup( job->x264_preset );
     if ( job->x264_tune )
         job_copy->x264_tune  = strdup( job->x264_tune );
-    if ( job->x264_profile )
-        job_copy->x264_profile  = strdup( job->x264_profile );
+    if ( job->h264_profile )
+        job_copy->h264_profile  = strdup( job->h264_profile );
     if ( job->h264_level )
         job_copy->h264_level  = strdup( job->h264_level );
 
index 5ad5bfedbdc282c09eb8560bdad6b34cdad37c44..444f2f98bc8a4c9be4128c192afee18e83c91f67 100644 (file)
@@ -1162,7 +1162,7 @@ static void InsertSilence( hb_work_object_t * w, int64_t duration )
     hb_sync_audio_t *sync = &pv->type.audio;
     hb_buffer_t     *buf;
     hb_fifo_t       *fifo;
-    int frame_dur, frame_count;
+    int frame_dur;
 
     // to keep pass-thru and regular audio in sync we generate silence in
     // frame-sized units. If the silence duration isn't an integer multiple
@@ -1178,9 +1178,8 @@ static void InsertSilence( hb_work_object_t * w, int64_t duration )
         frame_dur = ( 90000 * w->audio->config.out.samples_per_frame ) /
                                             w->audio->config.in.samplerate;
     }
-    frame_count = ( duration + (frame_dur >> 1) ) / frame_dur;
 
-    while ( --frame_count >= 0 )
+    while (duration >= frame_dur >> 2)
     {
         if( w->audio->config.out.codec & HB_ACODEC_PASS_FLAG )
         {
@@ -1189,15 +1188,31 @@ static void InsertSilence( hb_work_object_t * w, int64_t duration )
             buf->s.stop  = buf->s.start + frame_dur;
             memcpy( buf->data, sync->silence_buf, buf->size );
             fifo = w->audio->priv.fifo_out;
+            duration -= frame_dur;
         }
         else
         {
-            buf = hb_buffer_init( sizeof( float ) * w->audio->config.out.samples_per_frame *
-                                  hb_mixdown_get_discrete_channel_count( w->audio->config.out.mixdown ) );
+            int channel_count = hb_mixdown_get_discrete_channel_count( w->audio->config.out.mixdown );
+            int size = sizeof( float ) *
+                       w->audio->config.out.samples_per_frame *
+                       channel_count;
+            if (frame_dur > duration)
+            {
+                int samples = duration * w->audio->config.in.samplerate / 90000;
+                if (samples == 0)
+                {
+                    break;
+                }
+                size = sizeof(float) * samples * channel_count;
+                frame_dur = (90000 * samples) / w->audio->config.in.samplerate;
+            }
+            buf = hb_buffer_init(size);
             buf->s.start = sync->next_start;
+            buf->s.duration = frame_dur;
             buf->s.stop  = buf->s.start + frame_dur;
             memset( buf->data, 0, buf->size );
             fifo = w->audio->priv.fifo_sync;
+            duration -= frame_dur;
         }
         buf = OutputAudioFrame( w->audio, buf, sync );
         hb_fifo_push( fifo, buf );
index 6625d5ff703664bd1f67c5e3692021fc44c13882..4791c7dfdf7d4c3d483d48e8a38ce2d1b4fff943 100644 (file)
@@ -354,10 +354,10 @@ void hb_display_job_info( hb_job_t * job )
         {
             hb_log( "     + options: %s", job->advanced_opts );
         }
-        if( job->x264_profile && *job->x264_profile &&
+        if( job->h264_profile && *job->h264_profile &&
             job->vcodec == HB_VCODEC_X264 )
         {
-            hb_log( "     + x264 profile: %s", job->x264_profile );
+            hb_log( "     + h264 profile: %s", job->h264_profile );
         }
         if( job->h264_level && *job->h264_level &&
             job->vcodec == HB_VCODEC_X264 )
index c7667a620245b58a6efe080ef406cc81ed348e29..5182ac6febc0e25c0be0e5b6a9adb3bc5a0c79a1 100644 (file)
@@ -93,10 +93,12 @@ BOOL                        fIsDragging;
     IBOutlet NSTextField         * fQueueStatus;
     
     /* Output panel */
-    HBOutputPanelController       *outputPanel;
+    HBOutputPanelController      outputPanel;
        
     /* Source box */
        IBOutlet NSProgressIndicator * fScanIndicator;
+       IBOutlet NSBox               * fScanHorizontalLine;
+    
        NSString                     * sourceDisplayName;
     IBOutlet NSTextField         * fSrcDVD2Field;
     IBOutlet NSTextField         * fSrcTitleField;
index d19f7f7541d3e52651e65333398ee778788848b7..1a4b1fa8d98bcb1e31d2f8ac181f775ca0102366 100644 (file)
@@ -846,6 +846,8 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         [fScanIndicator setIndeterminate: NO];
         [fScanIndicator setDoubleValue: 0.0];
         [fScanIndicator setHidden: YES];
+        [fScanHorizontalLine setHidden: NO];
+        
                [self showNewScan:nil];
        }
     
@@ -863,6 +865,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
                                             NSLocalizedString( @"Scanning title %d of %d…", @"" ),
                                             p.title_cur, p.title_count]];
             [fScanIndicator setHidden: NO];
+            [fScanHorizontalLine setHidden: YES];
             [fScanIndicator setDoubleValue: 100.0 * ((double)( p.title_cur - 1 ) / p.title_count)];
             break;
                }
@@ -874,6 +877,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
             [fScanIndicator setIndeterminate: NO];
             [fScanIndicator setDoubleValue: 0.0];
             [fScanIndicator setHidden: YES];
+            [fScanHorizontalLine setHidden: NO];
                        [self writeToActivityLog:"ScanDone state received from fHandle"];
             [self showNewScan:nil];
             [[fWindow toolbar] validateVisibleItems];
@@ -1025,7 +1029,15 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
                 pass_desc = @"";
             }
             
-                       string = [NSMutableString stringWithFormat: NSLocalizedString( @"Encoding: %@ \nPass %d %@ of %d, %.2f %%", @"" ), currentQueueEncodeNameString, p.job_cur, pass_desc, p.job_count, 100.0 * p.progress];
+            
+            if ([pass_desc length])
+            {
+                string = [NSMutableString stringWithFormat: NSLocalizedString( @"Encoding: %@ \nPass %d %@ of %d, %.2f %%", @"" ), currentQueueEncodeNameString, p.job_cur, pass_desc, p.job_count, 100.0 * p.progress];
+            }
+            else
+            {
+                string = [NSMutableString stringWithFormat: NSLocalizedString( @"Encoding: %@ \nPass %d of %d, %.2f %%", @"" ), currentQueueEncodeNameString, p.job_cur, p.job_count, 100.0 * p.progress];
+            }
             
                        if( p.seconds > -1 )
             {
@@ -1868,6 +1880,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         /* We setup the scan status in the main window to indicate a source title scan */
         [fSrcDVD2Field setStringValue: @"Opening a new source title…"];
         [fScanIndicator setHidden: NO];
+        [fScanHorizontalLine setHidden: YES];
         [fScanIndicator setIndeterminate: YES];
         [fScanIndicator startAnimation: nil];
                
@@ -1884,7 +1897,6 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
 {
     /* use a bool to determine whether or not we can decrypt using vlc */
     BOOL cancelScanDecrypt = 0;
-    BOOL vlcFound = 0;
     NSString *path = scanPath;
     HBDVDDetector *detector = [HBDVDDetector detectorForPath:path];
     
@@ -1913,16 +1925,23 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         path = [detector devicePath];
         [self writeToActivityLog: "trying to open a physical dvd at: %s", [scanPath UTF8String]];
         
-        /* lets check for vlc here to make sure we have a dylib available to use for decrypting */
+        
+        NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
+        NSInteger suppressWarning = [prefs integerForKey:@"suppresslibdvdcss"];
+        
+        /* Notify the user that we don't support removal of copy proteciton. */
         void *dvdcss = dlopen("libdvdcss.2.dylib", RTLD_LAZY);
-        if (dvdcss == NULL
+        if (dvdcss == NULL && suppressWarning != 1)
         {
+            /* Only show the user this warning once. They may be using a solution we don't know about. Notifying them each time is annoying. */
+            [prefs setInteger:1 forKey:@"suppresslibdvdcss"];
+            
             /*compatible vlc not found, so we set the bool to cancel scanning to 1 */
             cancelScanDecrypt = 1;
             [self writeToActivityLog: "libdvdcss.2.dylib not found for decrypting physical dvd"];
             int status;
-            status = NSRunAlertPanel(@"HandBrake could not find a compatible version of libdvdcss (32-bit libdvdcss is not compatible with 64-bit HandBrake and vice-versa).",
-                                     @"Please download and install libdvdcss.pkg if you wish to read encrypted DVDs.", @"Get libdvdcss.pkg", @"Cancel Scan", @"Attempt Scan Anyway");
+            status = NSRunAlertPanel(@"Please note that HandBrake does not support the removal of copy-protection from DVD Discs. You can if you wish install libdvdcss or any other 3rd party software for this function.",
+                                     @"Videolan.org provides libdvdcss if you are not currently using another solution.", @"Get libdvdcss.pkg", @"Cancel Scan", @"Attempt Scan Anyway");
             [NSApp requestUserAttention:NSCriticalRequest];
             
             if (status == NSAlertDefaultReturn)
@@ -1933,13 +1952,13 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
             else if (status == NSAlertAlternateReturn)
             {
                 /* User chose to cancel the scan */
-                [self writeToActivityLog: "cannot open physical dvd, scan cancelled"];
+                [self writeToActivityLog: "Cannot open physical dvd, scan cancelled"];
             }
             else
             {
                 /* User chose to override our warning and scan the physical dvd anyway, at their own peril. on an encrypted dvd this produces massive log files and fails */
                 cancelScanDecrypt = 0;
-                [self writeToActivityLog: "user overrode dvdcss warning - trying to open physical dvd without decryption"];
+                [self writeToActivityLog: "User overrode copy-proteciton warning - trying to open physical dvd without decryption"];
             }
             
         }
@@ -1947,7 +1966,6 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         {
             /* VLC was found in /Applications so all is well, we can carry on using vlc's libdvdcss.dylib for decrypting if needed */
             [self writeToActivityLog: "libdvdcss.2.dylib found for decrypting physical dvd"];
-            vlcFound = 1;
             dlclose(dvdcss);
         }
     }
@@ -2792,50 +2810,6 @@ fWorkingCount = 0;
      */
     NSString *path = scanPath;
     HBDVDDetector *detector = [HBDVDDetector detectorForPath:path];
-    
-    if( [detector isVideoDVD] )
-    {
-        // The chosen path was actually on a DVD, so use the raw block
-        // device path instead.
-        path = [detector devicePath];
-        [self writeToActivityLog: "trying to open a physical dvd at: %s", [scanPath UTF8String]];
-
-        /* lets check for vlc here to make sure we have a dylib available to use for decrypting */
-        void *dvdcss = dlopen("libdvdcss.2.dylib", RTLD_LAZY);
-        if (dvdcss == NULL) 
-        {
-            /*vlc not found in /Applications so we set the bool to cancel scanning to 1 */
-            cancelScanDecrypt = 1;
-            [self writeToActivityLog: "VLC app not found for decrypting physical dvd"];
-            int status;
-            status = NSRunAlertPanel(@"HandBrake could not find VLC.",@"Please download and install VLC media player in your /Applications folder if you wish to read encrypted DVDs.", @"Get VLC", @"Cancel Scan", @"Attempt Scan Anyway");
-            [NSApp requestUserAttention:NSCriticalRequest];
-            
-            if (status == NSAlertDefaultReturn)
-            {
-                /* User chose to go download vlc (as they rightfully should) so we send them to the vlc site */
-                [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.videolan.org/"]];
-            }
-            else if (status == NSAlertAlternateReturn)
-            {
-            /* User chose to cancel the scan */
-            [self writeToActivityLog: "cannot open physical dvd , scan cancelled"];
-            }
-            else
-            {
-            /* User chose to override our warning and scan the physical dvd anyway, at their own peril. on an encrypted dvd this produces massive log files and fails */
-            cancelScanDecrypt = 0;
-            [self writeToActivityLog: "user overrode vlc warning -trying to open physical dvd without decryption"];
-            }
-
-        }
-        else
-        {
-            /* VLC was found in /Applications so all is well, we can carry on using vlc's libdvdcss.dylib for decrypting if needed */
-            dlclose(dvdcss);
-            [self writeToActivityLog: "VLC app found for decrypting physical dvd"];
-        }
-    }
 
     if (cancelScanDecrypt == 0)
     {
@@ -2879,11 +2853,11 @@ fWorkingCount = 0;
      */
     if (job->indepth_scan == 1)
     {
-        char *x264_preset_tmp   = job->x264_preset   != NULL ? strdup(job->x264_preset)  : NULL;
-        char *x264_tune_tmp     = job->x264_tune     != NULL ? strdup(job->x264_tune)    : NULL;
-        char *advanced_opts_tmp = job->advanced_opts != NULL ? job->advanced_opts        : NULL;
-        char *h264_profile_tmp  = job->x264_profile  != NULL ? strdup(job->x264_profile) : NULL;
-        char *h264_level_tmp    = job->h264_level    != NULL ? strdup(job->h264_level)   : NULL;
+        char *x264_preset_tmp   = job->x264_preset   != NULL ? strdup(job->x264_preset)   : NULL;
+        char *x264_tune_tmp     = job->x264_tune     != NULL ? strdup(job->x264_tune)     : NULL;
+        char *advanced_opts_tmp = job->advanced_opts != NULL ? strdup(job->advanced_opts) : NULL;
+        char *h264_profile_tmp  = job->h264_profile  != NULL ? strdup(job->h264_profile)  : NULL;
+        char *h264_level_tmp    = job->h264_level    != NULL ? strdup(job->h264_level)    : NULL;
         /*
          * When subtitle scan is enabled do a fast pre-scan job
          * which will determine which subtitles to enable, if any.
@@ -2891,8 +2865,8 @@ fWorkingCount = 0;
         hb_job_set_x264_preset  (job, NULL);
         hb_job_set_x264_tune    (job, NULL);
         hb_job_set_advanced_opts(job, NULL);
-        hb_job_set_x264_profile (job, NULL);
-        hb_job_set_x264_level   (job, NULL);
+        hb_job_set_h264_profile (job, NULL);
+        hb_job_set_h264_level   (job, NULL);
         job->pass = -1;
         hb_add(fQueueEncodeLibhb, job);
         /*
@@ -2901,8 +2875,8 @@ fWorkingCount = 0;
         hb_job_set_x264_preset  (job, x264_preset_tmp);
         hb_job_set_x264_tune    (job, x264_tune_tmp);
         hb_job_set_advanced_opts(job, advanced_opts_tmp);
-        hb_job_set_x264_profile (job, h264_profile_tmp);
-        hb_job_set_x264_level   (job, h264_level_tmp);
+        hb_job_set_h264_profile (job, h264_profile_tmp);
+        hb_job_set_h264_level   (job, h264_level_tmp);
         free(x264_preset_tmp);
         free(x264_tune_tmp);
         free(advanced_opts_tmp);
@@ -3102,19 +3076,30 @@ fWorkingCount = 0;
     
     job->modulus = [[queueToApply objectForKey:@"PictureModulus"]  intValue];
     
-    /* we check to make sure the presets width/height does not exceed the sources width/height */
-    if (fTitle->width < [[queueToApply objectForKey:@"PictureWidth"]  intValue] || fTitle->height < [[queueToApply objectForKey:@"PictureHeight"]  intValue])
-    {
-        /* if so, then we use the sources height and width to avoid scaling up */
-        //job->width = fTitle->width;
-        //job->height = fTitle->height;
+    /*
+     * if the preset specifies neither max. width nor height
+     * (both are 0), use the max. picture size
+     *
+     * if the specified non-zero dimensions exceed those of the
+     * source, also use the max. picture size (no upscaling)
+     */
+    if (([[queueToApply objectForKey:@"PictureWidth"]  intValue] <= 0 &&
+         [[queueToApply objectForKey:@"PictureHeight"] intValue] <= 0)              ||
+        ([[queueToApply objectForKey:@"PictureWidth"]  intValue] >  fTitle->width &&
+         [[queueToApply objectForKey:@"PictureHeight"] intValue] >  fTitle->height) ||
+        ([[queueToApply objectForKey:@"PictureHeight"] intValue] <= 0 &&
+         [[queueToApply objectForKey:@"PictureWidth"]  intValue] >  fTitle->width)  ||
+        ([[queueToApply objectForKey:@"PictureWidth"]  intValue] <= 0 &&
+         [[queueToApply objectForKey:@"PictureHeight"] intValue] >  fTitle->height))
+    {
+        /* use the source's width/height to avoid upscaling */
         [self revertPictureSizeToMax:nil];
     }
-    else // source width/height is >= the preset height/width
+    else // source width/height is >= preset width/height
     {
-        /* we can go ahead and use the presets values for height and width */
-        job->width = [[queueToApply objectForKey:@"PictureWidth"]  intValue];
-        job->height = [[queueToApply objectForKey:@"PictureHeight"]  intValue];
+        /* use the preset values for width/height */
+        job->width  = [[queueToApply objectForKey:@"PictureWidth"]  intValue];
+        job->height = [[queueToApply objectForKey:@"PictureHeight"] intValue];
     }
     job->keep_ratio = [[queueToApply objectForKey:@"PictureKeepRatio"]  intValue];
     if (job->keep_ratio == 1)
@@ -3321,8 +3306,8 @@ fWorkingCount = 0;
         hb_job_set_x264_preset  (job, x264_preset);
         hb_job_set_x264_tune    (job, x264_tune);
         hb_job_set_advanced_opts(job, advanced_opts);
-        hb_job_set_x264_profile (job, h264_profile);
-        hb_job_set_x264_level   (job, h264_level);
+        hb_job_set_h264_profile (job, h264_profile);
+        hb_job_set_h264_level   (job, h264_level);
     }
     else if (job->vcodec & HB_VCODEC_FFMPEG_MASK)
     {
@@ -3846,8 +3831,8 @@ bool one_burned = FALSE;
         hb_job_set_x264_preset  (job, x264_preset);
         hb_job_set_x264_tune    (job, x264_tune);
         hb_job_set_advanced_opts(job, advanced_opts);
-        hb_job_set_x264_profile (job, h264_profile);
-        hb_job_set_x264_level   (job, h264_level);
+        hb_job_set_h264_profile (job, h264_profile);
+        hb_job_set_h264_level   (job, h264_level);
     }
     else if (job->vcodec & HB_VCODEC_FFMPEG_MASK)
     {
@@ -5291,9 +5276,8 @@ the user is using "Custom" settings by determining the sender*/
     NSUInteger i;
     /*
      * now we populate the x264 system widgets via hb_x264_presets(),
-     * hb_x264_tunes(), hb_x264_profiles(), hb_h264_levels()
+     * hb_x264_tunes(), hb_h264_profiles(), hb_h264_levels()
      */
-    
     // store x264 preset names
     const char * const * x264_presets = hb_x264_presets();
     NSMutableArray *tmp_array = [[NSMutableArray alloc] init];
@@ -5320,9 +5304,9 @@ the user is using "Custom" settings by determining the sender*/
     [fX264TunePopUp addItemWithTitle: @"none"];
     const char * const * x264_tunes = hb_x264_tunes();
     for (int i = 0; x264_tunes[i] != NULL; i++)
-    { 
+    {
         // we filter out "fastdecode" as we have a dedicated checkbox for it
-        if (strcasecmp(x264_tunes[i], "fastdecode"))
+        if (strcasecmp(x264_tunes[i], "fastdecode") != 0)
         {
             [fX264TunePopUp addItemWithTitle: [NSString stringWithUTF8String:x264_tunes[i]]];
         }
@@ -5331,18 +5315,16 @@ the user is using "Custom" settings by determining the sender*/
     [fX264FastDecodeCheck setState: NSOffState];
     // setup the h264 profile popup
     [fX264ProfilePopUp removeAllItems];
-    [fX264ProfilePopUp addItemWithTitle: @"auto"];
-    const char * const * x264_profiles = hb_x264_profiles();
-    for (int i = 0; x264_profiles[i] != NULL; i++)
-    { 
-        [fX264ProfilePopUp addItemWithTitle: [NSString stringWithUTF8String:x264_profiles[i]]];
+    const char * const * h264_profiles = hb_h264_profiles();
+    for (int i = 0; h264_profiles[i] != NULL; i++)
+    {
+        [fX264ProfilePopUp addItemWithTitle: [NSString stringWithUTF8String:h264_profiles[i]]];
     }
     // setup the h264 level popup
     [fX264LevelPopUp removeAllItems];
-    [fX264LevelPopUp addItemWithTitle: @"auto"];
     const char * const * h264_levels = hb_h264_levels();
     for (int i = 0; h264_levels[i] != NULL; i++)
-    { 
+    {
         [fX264LevelPopUp addItemWithTitle: [NSString stringWithUTF8String:h264_levels[i]]];
     }
     // clear the additional x264 options
@@ -5569,7 +5551,7 @@ the user is using "Custom" settings by determining the sender*/
     * char * hb_x264_param_unparse(const char *x264_preset,
     *                              const char *x264_tune,
     *                              const char *x264_encopts,
-    *                              const char *x264_profile,
+    *                              const char *h264_profile,
     *                              const char *h264_level,
     *                              int width, int height);
     */
@@ -5614,9 +5596,16 @@ the user is using "Custom" settings by determining the sender*/
                                                            h264_level,
                                                            width, height);
     // update the text field
-    [fDisplayX264PresetsUnparseTextField setStringValue:
-     [NSString stringWithFormat:@"x264 Unparse: %s",
-      fX264PresetsUnparsedUTF8String]];
+    if (fX264PresetsUnparsedUTF8String != NULL)
+    {
+        [fDisplayX264PresetsUnparseTextField setStringValue:
+         [NSString stringWithFormat:@"x264 Unparse: %s",
+          fX264PresetsUnparsedUTF8String]];
+    }
+    else
+    {
+        [fDisplayX264PresetsUnparseTextField setStringValue:@"x264 Unparse:"];
+    }
 }
 
 #pragma mark -
@@ -6523,8 +6512,10 @@ return YES;
                 job->modulus = 16;
             }
              
-            /* Check to see if the objectForKey:@"UsesPictureSettings is 2 which is "Use Max for the source */
-            if ([[chosenPreset objectForKey:@"UsesPictureSettings"]  intValue] == 2 || [[chosenPreset objectForKey:@"UsesMaxPictureSettings"]  intValue] == 1)
+            /* Check to see if the objectForKey:@"UsesPictureSettings" is 2,
+             * which means "Use max. picture size for the source" */
+            if ([[chosenPreset objectForKey:@"UsesPictureSettings"]    intValue] == 2 ||
+                [[chosenPreset objectForKey:@"UsesMaxPictureSettings"] intValue] == 1)
             {
                 /* Use Max Picture settings for whatever the dvd is.*/
                 [self revertPictureSizeToMax:nil];
@@ -6540,21 +6531,34 @@ return YES;
                 }
                 job->anamorphic.mode = [[chosenPreset objectForKey:@"PicturePAR"]  intValue];
             }
-            else // /* If not 0 or 2 we assume objectForKey:@"UsesPictureSettings is 1 which is "Use picture sizing from when the preset was set" */
+            /* If not 0 or 2 we assume objectForKey:@"UsesPictureSettings" is 1,
+             * which means "Use the picture size specified in the preset" */
+            else
             {
-                /* we check to make sure the presets width/height does not exceed the sources width/height */
-                if (fTitle->width < [[chosenPreset objectForKey:@"PictureWidth"]  intValue] || fTitle->height < [[chosenPreset objectForKey:@"PictureHeight"]  intValue])
+                /*
+                 * if the preset specifies neither max. width nor height
+                 * (both are 0), use the max. picture size
+                 *
+                 * if the specified non-zero dimensions exceed those of the
+                 * source, also use the max. picture size (no upscaling)
+                 */
+                if (([[chosenPreset objectForKey:@"PictureWidth"]  intValue] <= 0 &&
+                     [[chosenPreset objectForKey:@"PictureHeight"] intValue] <= 0)              ||
+                    ([[chosenPreset objectForKey:@"PictureWidth"]  intValue] >  fTitle->width &&
+                     [[chosenPreset objectForKey:@"PictureHeight"] intValue] >  fTitle->height) ||
+                    ([[chosenPreset objectForKey:@"PictureHeight"] intValue] <= 0 &&
+                     [[chosenPreset objectForKey:@"PictureWidth"]  intValue] >  fTitle->width)  ||
+                    ([[chosenPreset objectForKey:@"PictureWidth"]  intValue] <= 0 &&
+                     [[chosenPreset objectForKey:@"PictureHeight"] intValue] >  fTitle->height))
                 {
-                    /* if so, then we use the sources height and width to avoid scaling up */
-                    //job->width = fTitle->width;
-                    //job->height = fTitle->height;
+                    /* use the source's width/height to avoid upscaling */
                     [self revertPictureSizeToMax:nil];
                 }
-                else // source width/height is >= the preset height/width
+                else // source width/height is >= preset width/height
                 {
-                    /* we can go ahead and use the presets values for height and width */
-                    job->width = [[chosenPreset objectForKey:@"PictureWidth"]  intValue];
-                    job->height = [[chosenPreset objectForKey:@"PictureHeight"]  intValue];
+                    /* use the preset values for width/height */
+                    job->width  = [[chosenPreset objectForKey:@"PictureWidth"]  intValue];
+                    job->height = [[chosenPreset objectForKey:@"PictureHeight"] intValue];
                 }
                 job->keep_ratio = [[chosenPreset objectForKey:@"PictureKeepRatio"]  intValue];
                 if (job->keep_ratio == 1)
index e4b943f724fa1af7754f55241de76aa2be9c65e3..a77f08d6348e7f8af68482ea61b4f261ca4e8d5a 100644 (file)
@@ -2,47 +2,47 @@
 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
        <data>
                <int key="IBDocument.SystemTarget">1050</int>
-               <string key="IBDocument.SystemVersion">11G63</string>
-               <string key="IBDocument.InterfaceBuilderVersion">1938</string>
-               <string key="IBDocument.AppKitVersion">1138.51</string>
-               <string key="IBDocument.HIToolboxVersion">569.00</string>
+               <string key="IBDocument.SystemVersion">12C60</string>
+               <string key="IBDocument.InterfaceBuilderVersion">2844</string>
+               <string key="IBDocument.AppKitVersion">1187.34</string>
+               <string key="IBDocument.HIToolboxVersion">625.00</string>
                <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
                        <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
-                       <string key="NS.object.0">1938</string>
+                       <string key="NS.object.0">2844</string>
                </object>
                <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
-                       <string>NSTabView</string>
-                       <string>NSScroller</string>
-                       <string>NSMenu</string>
-                       <string>NSSliderCell</string>
+                       <string>NSArrayController</string>
+                       <string>NSBox</string>
                        <string>NSButton</string>
-                       <string>NSTableHeaderView</string>
-                       <string>NSMatrix</string>
+                       <string>NSButtonCell</string>
                        <string>NSCustomObject</string>
-                       <string>NSArrayController</string>
-                       <string>NSImageView</string>
-                       <string>NSTableView</string>
                        <string>NSCustomView</string>
-                       <string>NSSlider</string>
+                       <string>NSDrawer</string>
                        <string>NSImageCell</string>
-                       <string>NSTextField</string>
+                       <string>NSImageView</string>
+                       <string>NSMatrix</string>
+                       <string>NSMenu</string>
+                       <string>NSMenuItem</string>
                        <string>NSNumberFormatter</string>
-                       <string>NSWindowTemplate</string>
-                       <string>NSTextFieldCell</string>
-                       <string>NSButtonCell</string>
-                       <string>NSTableColumn</string>
-                       <string>NSBox</string>
-                       <string>NSView</string>
                        <string>NSOutlineView</string>
+                       <string>NSPopUpButton</string>
                        <string>NSPopUpButtonCell</string>
+                       <string>NSProgressIndicator</string>
                        <string>NSScrollView</string>
+                       <string>NSScroller</string>
+                       <string>NSSlider</string>
+                       <string>NSSliderCell</string>
+                       <string>NSTabView</string>
                        <string>NSTabViewItem</string>
-                       <string>NSProgressIndicator</string>
+                       <string>NSTableColumn</string>
+                       <string>NSTableHeaderView</string>
+                       <string>NSTableView</string>
+                       <string>NSTextField</string>
+                       <string>NSTextFieldCell</string>
                        <string>NSUserDefaultsController</string>
-                       <string>NSPopUpButton</string>
-                       <string>NSMenuItem</string>
-                       <string>NSDrawer</string>
+                       <string>NSView</string>
+                       <string>NSWindowTemplate</string>
                </object>
                <object class="NSArray" key="IBDocument.PluginDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
@@ -91,7 +91,7 @@
                                                        <reference key="NSNextKeyView" ref="1007421233"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="10523918">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">4325376</int>
                                                                <string type="base64-UTF8" key="NSContents">RE8gTk9UIFRSQU5TTEFURSBUSElTIE5JQiBGSUxFLAo</string>
                                                                <object class="NSFont" key="NSSupport" id="26">
                                                                        </object>
                                                                </object>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSProgressIndicator" id="222334056">
                                                        <reference key="NSNextResponder" ref="168918359"/>
                                                        <int key="NSvFlags">1288</int>
-                                                       <object class="NSPSMatrix" key="NSDrawMatrix"/>
                                                        <string key="NSFrame">{{18, -26}, {930, 20}}</string>
                                                        <reference key="NSSuperview" ref="168918359"/>
                                                        <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="888819828"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="200565868">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">4194304</int>
                                                                                                        <string key="NSContents">Video Quality:</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSTextField" id="783405221">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="1000247853"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="351953267">
-                                                                                                       <int key="NSCellFlags">-1804468671</int>
+                                                                                                       <int key="NSCellFlags">-1804599231</int>
                                                                                                        <int key="NSCellFlags2">4326400</int>
                                                                                                        <string key="NSContents"/>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                <reference key="NSColor" ref="544409939"/>
                                                                                                        </object>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSSlider" id="239657287">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="783405221"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSSliderCell" key="NSCell" id="160453387">
-                                                                                                       <int key="NSCellFlags">67501824</int>
+                                                                                                       <int key="NSCellFlags">67371264</int>
                                                                                                        <int key="NSCellFlags2">262144</int>
                                                                                                        <object class="NSMutableString" key="NSContents">
                                                                                                                <characters key="NS.bytes"/>
                                                                                                        <bool key="NSAllowsTickMarkValuesOnly">YES</bool>
                                                                                                        <bool key="NSVertical">NO</bool>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSTextField" id="987137669">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="690364175"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="537000521">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">4194304</int>
                                                                                                        <string key="NSContents">Picture Size: </string>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSTextField" id="690304958">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="239657287"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="923732752">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">-2143158272</int>
                                                                                                        <string key="NSContents"/>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                <string>numberStyle</string>
                                                                                                                                <string>positiveInfinitySymbol</string>
                                                                                                                        </object>
-                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                <boolean value="YES"/>
                                                                                                                                <integer value="1040"/>
                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSTextField" id="323705695">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="690304958"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="936221726">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">4325376</int>
                                                                                                        <string key="NSContents">RF:</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSTextField" id="690364175">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <int key="NSvFlags">256</int>
-                                                                                               <string key="NSFrame">{{14, 15}, {892, 14}}</string>
+                                                                                               <string key="NSFrame">{{14, 17}, {892, 14}}</string>
                                                                                                <reference key="NSSuperview" ref="1053078401"/>
                                                                                                <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="503933842"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="508148739">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">4194304</int>
                                                                                                        <string key="NSContents">Picture Cropping:</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSTextField" id="503933842">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <int key="NSvFlags">256</int>
-                                                                                               <string key="NSFrame">{{14, 2}, {892, 14}}</string>
+                                                                                               <string key="NSFrame">{{14, 3}, {892, 14}}</string>
                                                                                                <reference key="NSSuperview" ref="1053078401"/>
                                                                                                <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="794651271"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="109092334">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">4194304</int>
                                                                                                        <string key="NSContents">Video Filters:</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSPopUpButton" id="222980245">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="521019277"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSPopUpButtonCell" key="NSCell" id="343952154">
-                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                        <int key="NSCellFlags2">132096</int>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSControlView" ref="222980245"/>
-                                                                                                       <int key="NSButtonFlags">109199615</int>
+                                                                                                       <int key="NSButtonFlags">109199360</int>
                                                                                                        <int key="NSButtonFlags2">1</int>
                                                                                                        <reference key="NSAlternateImage" ref="26"/>
                                                                                                        <string key="NSAlternateContents"/>
                                                                                                        <bool key="NSAltersState">YES</bool>
                                                                                                        <int key="NSArrowPosition">1</int>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSButton" id="1000247853">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="447003158"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="860863090">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">131072</int>
                                                                                                        <string key="NSContents">2-pass encoding</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSControlView" ref="1000247853"/>
-                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                        <int key="NSButtonFlags2">2</int>
                                                                                                        <object class="NSButtonImageSource" key="NSAlternateImage" id="624832340">
                                                                                                                <string key="NSImageName">NSSwitch</string>
                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSButton" id="447003158">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="954159030"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="1070893195">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">131072</int>
                                                                                                        <string key="NSContents">Turbo first pass</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSControlView" ref="447003158"/>
-                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                        <int key="NSButtonFlags2">2</int>
                                                                                                        <object class="NSCustomResource" key="NSNormalImage" id="887198214">
                                                                                                                <string key="NSClassName">NSImage</string>
                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSPopUpButton" id="12330413">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="463960465"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSPopUpButtonCell" key="NSCell" id="1018849574">
-                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                        <int key="NSCellFlags2">132096</int>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSControlView" ref="12330413"/>
-                                                                                                       <int key="NSButtonFlags">109199615</int>
+                                                                                                       <int key="NSButtonFlags">109199360</int>
                                                                                                        <int key="NSButtonFlags2">1</int>
                                                                                                        <reference key="NSAlternateImage" ref="26"/>
                                                                                                        <string key="NSAlternateContents"/>
                                                                                                        <bool key="NSAltersState">YES</bool>
                                                                                                        <int key="NSArrowPosition">1</int>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSTextField" id="463960465">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="222980245"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="509250281">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">71303168</int>
                                                                                                        <string key="NSContents">Framerate (FPS):</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSTextField" id="1064150725">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSNextKeyView" ref="12330413"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="451922400">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">4194304</int>
                                                                                                        <string key="NSContents">Video Codec:</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSMatrix" id="1036976683">
                                                                                                <reference key="NSNextResponder" ref="1053078401"/>
                                                                                                <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="323705695"/>
                                                                                                <bool key="NSEnabled">YES</bool>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                <int key="NSNumRows">2</int>
                                                                                                <int key="NSNumCols">1</int>
                                                                                                <object class="NSMutableArray" key="NSCells">
                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                        <object class="NSButtonCell" id="613962178">
-                                                                                                               <int key="NSCellFlags">-2080244224</int>
+                                                                                                               <int key="NSCellFlags">-2080374784</int>
                                                                                                                <int key="NSCellFlags2">131072</int>
                                                                                                                <string key="NSContents">Constant Quality</string>
                                                                                                                <reference key="NSSupport" ref="26"/>
                                                                                                                <reference key="NSControlView" ref="1036976683"/>
                                                                                                                <int key="NSTag">1</int>
-                                                                                                               <int key="NSButtonFlags">1211912703</int>
+                                                                                                               <int key="NSButtonFlags">1211912448</int>
                                                                                                                <int key="NSButtonFlags2">0</int>
                                                                                                                <object class="NSButtonImageSource" key="NSAlternateImage" id="860784734">
                                                                                                                        <string key="NSImageName">NSRadioButton</string>
                                                                                                                <int key="NSPeriodicInterval">25</int>
                                                                                                        </object>
                                                                                                        <object class="NSButtonCell" id="878990764">
-                                                                                                               <int key="NSCellFlags">67239424</int>
+                                                                                                               <int key="NSCellFlags">67108864</int>
                                                                                                                <int key="NSCellFlags2">131072</int>
                                                                                                                <string key="NSContents">Average Bitrate (kbps):</string>
                                                                                                                <reference key="NSSupport" ref="26"/>
                                                                                                                <reference key="NSControlView" ref="1036976683"/>
-                                                                                                               <int key="NSButtonFlags">1211912703</int>
+                                                                                                               <int key="NSButtonFlags">1211912448</int>
                                                                                                                <int key="NSButtonFlags2">0</int>
                                                                                                                <object class="NSImage" key="NSNormalImage">
                                                                                                                        <int key="NSImageFlags">549453824</int>
@@ -721,7 +736,7 @@ QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA</bytes>
                                                                                                <int key="NSMatrixFlags">1151868928</int>
                                                                                                <string key="NSCellClass">NSActionCell</string>
                                                                                                <object class="NSButtonCell" key="NSProtoCell" id="121093497">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">0</int>
                                                                                                        <string key="NSContents">Radio</string>
                                                                                                        <object class="NSFont" key="NSSupport" id="273283760">
@@ -729,7 +744,7 @@ QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA</bytes>
                                                                                                                <double key="NSSize">13</double>
                                                                                                                <int key="NSfFlags">1044</int>
                                                                                                        </object>
-                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                        <int key="NSButtonFlags2">0</int>
                                                                                                        <object class="NSImage" key="NSNormalImage">
                                                                                                                <int key="NSImageFlags">549453824</int>
@@ -789,18 +804,19 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="1036976683"/>
                                                                                                <bool key="NSEnabled">YES</bool>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                <int key="NSNumRows">2</int>
                                                                                                <int key="NSNumCols">1</int>
                                                                                                <object class="NSMutableArray" key="NSCells">
                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                        <object class="NSButtonCell" id="329026312">
-                                                                                                               <int key="NSCellFlags">-2080244224</int>
+                                                                                                               <int key="NSCellFlags">-2080374784</int>
                                                                                                                <int key="NSCellFlags2">131072</int>
                                                                                                                <string key="NSContents">Variable Framerate</string>
                                                                                                                <reference key="NSSupport" ref="26"/>
                                                                                                                <reference key="NSControlView" ref="888819828"/>
                                                                                                                <int key="NSTag">1</int>
-                                                                                                               <int key="NSButtonFlags">1211912703</int>
+                                                                                                               <int key="NSButtonFlags">1211912448</int>
                                                                                                                <int key="NSButtonFlags2">0</int>
                                                                                                                <reference key="NSAlternateImage" ref="860784734"/>
                                                                                                                <string key="NSAlternateContents"/>
@@ -809,12 +825,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                <int key="NSPeriodicInterval">25</int>
                                                                                                        </object>
                                                                                                        <object class="NSButtonCell" id="995154792">
-                                                                                                               <int key="NSCellFlags">67239424</int>
+                                                                                                               <int key="NSCellFlags">67108864</int>
                                                                                                                <int key="NSCellFlags2">131072</int>
                                                                                                                <string key="NSContents">Constant Framerate</string>
                                                                                                                <reference key="NSSupport" ref="26"/>
                                                                                                                <reference key="NSControlView" ref="888819828"/>
-                                                                                                               <int key="NSButtonFlags">1211912703</int>
+                                                                                                               <int key="NSButtonFlags">1211912448</int>
                                                                                                                <int key="NSButtonFlags2">0</int>
                                                                                                                <object class="NSImage" key="NSNormalImage">
                                                                                                                        <int key="NSImageFlags">549453824</int>
@@ -919,11 +935,11 @@ QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA</bytes>
                                                                                                <int key="NSMatrixFlags">1151868928</int>
                                                                                                <string key="NSCellClass">NSActionCell</string>
                                                                                                <object class="NSButtonCell" key="NSProtoCell" id="217044635">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">0</int>
                                                                                                        <string key="NSContents">Radio</string>
                                                                                                        <reference key="NSSupport" ref="273283760"/>
-                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                        <int key="NSButtonFlags2">0</int>
                                                                                                        <object class="NSImage" key="NSNormalImage">
                                                                                                                <int key="NSImageFlags">549453824</int>
@@ -988,14 +1004,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                        <object class="NSSlider" id="480823072">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
                                                                                                                                <int key="NSvFlags">268</int>
-                                                                                                                               <string key="NSFrame">{{212, 105}, {660, 16}}</string>
+                                                                                                                               <string key="NSFrame">{{243, 105}, {629, 16}}</string>
                                                                                                                                <reference key="NSSuperview" ref="443817184"/>
                                                                                                                                <reference key="NSWindow"/>
                                                                                                                                <reference key="NSNextKeyView" ref="1031662534"/>
                                                                                                                                <string key="NSReuseIdentifierKey">_NS:779</string>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSSliderCell" key="NSCell" id="690637620">
-                                                                                                                                       <int key="NSCellFlags">-2079981824</int>
+                                                                                                                                       <int key="NSCellFlags">-2080112384</int>
                                                                                                                                        <int key="NSCellFlags2">262144</int>
                                                                                                                                        <string key="NSContents"/>
                                                                                                                                        <string key="NSCellIdentifier">_NS:779</string>
@@ -1009,6 +1025,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <bool key="NSAllowsTickMarkValuesOnly">YES</bool>
                                                                                                                                        <bool key="NSVertical">NO</bool>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSTextField" id="139432403">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1019,7 +1036,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <reference key="NSNextKeyView" ref="527737261"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSTextFieldCell" key="NSCell" id="367754591">
-                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                        <int key="NSCellFlags2">71303168</int>
                                                                                                                                        <string key="NSContents">x264 Preset:</string>
                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1027,6 +1044,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSTextField" id="1031662534">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1037,7 +1055,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <reference key="NSNextKeyView" ref="610425389"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSTextFieldCell" key="NSCell" id="444043003">
-                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                        <int key="NSCellFlags2">71303168</int>
                                                                                                                                        <string key="NSContents">x264 Tune:</string>
                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1045,6 +1063,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSTextField" id="102651997">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1055,14 +1074,15 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <reference key="NSNextKeyView" ref="112458239"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSTextFieldCell" key="NSCell" id="858212432">
-                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                        <int key="NSCellFlags2">71303168</int>
-                                                                                                                                       <string key="NSContents">x264 Profile:</string>
+                                                                                                                                       <string key="NSContents">h264 Profile:</string>
                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                        <reference key="NSControlView" ref="102651997"/>
                                                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSTextField" id="8023338">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1073,14 +1093,15 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <reference key="NSNextKeyView" ref="144142005"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSTextFieldCell" key="NSCell" id="248169798">
-                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                        <int key="NSCellFlags2">71303168</int>
-                                                                                                                                       <string key="NSContents">x264 Level:</string>
+                                                                                                                                       <string key="NSContents">h264 Level:</string>
                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                        <reference key="NSControlView" ref="8023338"/>
                                                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSPopUpButton" id="610425389">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1092,12 +1113,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <string key="NSReuseIdentifierKey">_NS:868</string>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSPopUpButtonCell" key="NSCell" id="1050851477">
-                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                        <int key="NSCellFlags2">264192</int>
                                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                                        <string key="NSCellIdentifier">_NS:868</string>
                                                                                                                                        <reference key="NSControlView" ref="610425389"/>
-                                                                                                                                       <int key="NSButtonFlags">109199615</int>
+                                                                                                                                       <int key="NSButtonFlags">109199360</int>
                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                        <string key="NSAlternateContents"/>
                                                                                                                                        <string key="NSKeyEquivalent"/>
@@ -1151,6 +1172,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <bool key="NSAltersState">YES</bool>
                                                                                                                                        <int key="NSArrowPosition">1</int>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSPopUpButton" id="112458239">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1162,12 +1184,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <string key="NSReuseIdentifierKey">_NS:868</string>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSPopUpButtonCell" key="NSCell" id="1012707648">
-                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                        <int key="NSCellFlags2">264192</int>
                                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                                        <string key="NSCellIdentifier">_NS:868</string>
                                                                                                                                        <reference key="NSControlView" ref="112458239"/>
-                                                                                                                                       <int key="NSButtonFlags">109199615</int>
+                                                                                                                                       <int key="NSButtonFlags">109199360</int>
                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                        <string key="NSAlternateContents"/>
                                                                                                                                        <string key="NSKeyEquivalent"/>
@@ -1221,6 +1243,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <bool key="NSAltersState">YES</bool>
                                                                                                                                        <int key="NSArrowPosition">1</int>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSPopUpButton" id="144142005">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1232,12 +1255,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <string key="NSReuseIdentifierKey">_NS:868</string>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSPopUpButtonCell" key="NSCell" id="379682863">
-                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                        <int key="NSCellFlags2">264192</int>
                                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                                        <string key="NSCellIdentifier">_NS:868</string>
                                                                                                                                        <reference key="NSControlView" ref="144142005"/>
-                                                                                                                                       <int key="NSButtonFlags">109199615</int>
+                                                                                                                                       <int key="NSButtonFlags">109199360</int>
                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                        <string key="NSAlternateContents"/>
                                                                                                                                        <string key="NSKeyEquivalent"/>
@@ -1291,6 +1314,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <bool key="NSAltersState">YES</bool>
                                                                                                                                        <int key="NSArrowPosition">1</int>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSButton" id="884471415">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1302,13 +1326,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <string key="NSReuseIdentifierKey">_NS:771</string>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSButtonCell" key="NSCell" id="140128742">
-                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                        <int key="NSCellFlags2">131072</int>
                                                                                                                                        <string key="NSContents">Fast Decode</string>
                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                        <string key="NSCellIdentifier">_NS:771</string>
                                                                                                                                        <reference key="NSControlView" ref="884471415"/>
-                                                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                                                        <int key="NSButtonFlags2">2</int>
                                                                                                                                        <reference key="NSNormalImage" ref="887198214"/>
                                                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
@@ -1317,6 +1341,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSTextField" id="796460997">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1327,7 +1352,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <reference key="NSNextKeyView" ref="8023338"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSTextFieldCell" key="NSCell" id="934066385">
-                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                        <int key="NSCellFlags2">71303168</int>
                                                                                                                                        <string key="NSContents">Additional Options:</string>
                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1335,6 +1360,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSTextField" id="487526549">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1347,7 +1373,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <string key="NSAntiCompressionPriority">{250, 750}</string>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSTextFieldCell" key="NSCell" id="284269747">
-                                                                                                                                       <int key="NSCellFlags">-1805517311</int>
+                                                                                                                                       <int key="NSCellFlags">-1805647871</int>
                                                                                                                                        <int key="NSCellFlags2">272760832</int>
                                                                                                                                        <string key="NSContents"/>
                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1357,24 +1383,26 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <reference key="NSBackgroundColor" ref="138233214"/>
                                                                                                                                        <reference key="NSTextColor" ref="378140636"/>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSTextField" id="527737261">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
                                                                                                                                <int key="NSvFlags">256</int>
-                                                                                                                               <string key="NSFrame">{{96, 107}, {95, 13}}</string>
+                                                                                                                               <string key="NSFrame">{{96, 107}, {129, 13}}</string>
                                                                                                                                <reference key="NSSuperview" ref="443817184"/>
                                                                                                                                <reference key="NSWindow"/>
                                                                                                                                <reference key="NSNextKeyView" ref="480823072"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSTextFieldCell" key="NSCell" id="513519725">
-                                                                                                                                       <int key="NSCellFlags">67239424</int>
-                                                                                                                                       <int key="NSCellFlags2">138412032</int>
+                                                                                                                                       <int key="NSCellFlags">67108864</int>
+                                                                                                                                       <int key="NSCellFlags2">4194304</int>
                                                                                                                                        <string key="NSContents"/>
                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                        <reference key="NSControlView" ref="527737261"/>
                                                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSButton" id="902460295">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
@@ -1386,13 +1414,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <string key="NSReuseIdentifierKey">_NS:771</string>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSButtonCell" key="NSCell" id="191360965">
-                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                        <int key="NSCellFlags2">131072</int>
                                                                                                                                        <string key="NSContents">Use x264 Advanced Options Panel</string>
                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                        <string key="NSCellIdentifier">_NS:771</string>
                                                                                                                                        <reference key="NSControlView" ref="902460295"/>
-                                                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                                                        <int key="NSButtonFlags2">2</int>
                                                                                                                                        <reference key="NSNormalImage" ref="887198214"/>
                                                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
@@ -1401,17 +1429,18 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                        <object class="NSTextField" id="349581420">
                                                                                                                                <reference key="NSNextResponder" ref="443817184"/>
                                                                                                                                <int key="NSvFlags">256</int>
-                                                                                                                               <string key="NSFrame">{{22, 6}, {853, 29}}</string>
+                                                                                                                               <string key="NSFrame">{{12, 6}, {863, 29}}</string>
                                                                                                                                <reference key="NSSuperview" ref="443817184"/>
                                                                                                                                <reference key="NSWindow"/>
                                                                                                                                <reference key="NSNextKeyView" ref="987137669"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSTextFieldCell" key="NSCell" id="812860538">
-                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                        <int key="NSCellFlags2">4194304</int>
                                                                                                                                        <string key="NSContents">x264 Unparse:</string>
                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1419,6 +1448,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                                                </object>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        </object>
                                                                                                                </object>
                                                                                                                <string key="NSFrame">{{1, 1}, {890, 155}}</string>
@@ -1435,7 +1465,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <string key="NSReuseIdentifierKey">_NS:18</string>
                                                                                                <string key="NSOffsets">{0, 0}</string>
                                                                                                <object class="NSTextFieldCell" key="NSTitleCell">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">0</int>
                                                                                                        <string key="NSContents">x264 Presets</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1490,6 +1520,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <reference key="NSSuperview" ref="528259747"/>
                                                                                                                                                <reference key="NSNextKeyView" ref="496546489"/>
                                                                                                                                                <bool key="NSEnabled">YES</bool>
+                                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                                                                                               <bool key="NSControlAllowsExpansionToolTips">YES</bool>
                                                                                                                                                <object class="NSTableHeaderView" key="NSHeaderView" id="146611085">
                                                                                                                                                        <reference key="NSNextResponder" ref="230332532"/>
                                                                                                                                                        <int key="NSvFlags">256</int>
@@ -1513,7 +1545,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                <double key="NSMinWidth">40</double>
                                                                                                                                                                <double key="NSMaxWidth">1000</double>
                                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                                        <string key="NSContents">Track</string>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1529,11 +1561,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                        </object>
                                                                                                                                                                </object>
                                                                                                                                                                <object class="NSPopUpButtonCell" key="NSDataCell" id="871837653">
-                                                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                                                        <int key="NSCellFlags2">133120</int>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                                                        <reference key="NSControlView" ref="792464451"/>
-                                                                                                                                                                       <int key="NSButtonFlags">-2038284033</int>
+                                                                                                                                                                       <int key="NSButtonFlags">-2038284288</int>
                                                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                                                        <object class="NSFont" key="NSAlternateImage" id="995413175">
                                                                                                                                                                                <string key="NSName">LucidaGrande</string>
@@ -1579,7 +1611,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                                        <string key="NSContents">Codec</string>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1592,11 +1624,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                                </object>
                                                                                                                                                                <object class="NSPopUpButtonCell" key="NSDataCell" id="4014313">
-                                                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                                                        <int key="NSCellFlags2">133120</int>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                                                        <reference key="NSControlView" ref="792464451"/>
-                                                                                                                                                                       <int key="NSButtonFlags">-2038284033</int>
+                                                                                                                                                                       <int key="NSButtonFlags">-2038284288</int>
                                                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                                                        <reference key="NSAlternateImage" ref="995413175"/>
                                                                                                                                                                        <string key="NSAlternateContents"/>
@@ -1639,7 +1671,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                                        <string key="NSContents">Mixdown</string>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1647,11 +1679,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                                </object>
                                                                                                                                                                <object class="NSPopUpButtonCell" key="NSDataCell" id="1037917692">
-                                                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                                                        <int key="NSCellFlags2">133120</int>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                                                        <reference key="NSControlView" ref="792464451"/>
-                                                                                                                                                                       <int key="NSButtonFlags">-2038284033</int>
+                                                                                                                                                                       <int key="NSButtonFlags">-2038284288</int>
                                                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                                                        <reference key="NSAlternateImage" ref="995413175"/>
                                                                                                                                                                        <string key="NSAlternateContents"/>
@@ -1694,7 +1726,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                                        <string key="NSContents">Samplerate</string>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1702,11 +1734,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                                </object>
                                                                                                                                                                <object class="NSPopUpButtonCell" key="NSDataCell" id="257530638">
-                                                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                                                        <int key="NSCellFlags2">133120</int>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                                                        <reference key="NSControlView" ref="792464451"/>
-                                                                                                                                                                       <int key="NSButtonFlags">-2038284033</int>
+                                                                                                                                                                       <int key="NSButtonFlags">-2038284288</int>
                                                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                                                        <reference key="NSAlternateImage" ref="995413175"/>
                                                                                                                                                                        <string key="NSAlternateContents"/>
@@ -1749,7 +1781,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                                        <string key="NSContents">Bitrate</string>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1757,11 +1789,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                                </object>
                                                                                                                                                                <object class="NSPopUpButtonCell" key="NSDataCell" id="238248766">
-                                                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                                                        <int key="NSCellFlags2">133120</int>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                                                        <reference key="NSControlView" ref="792464451"/>
-                                                                                                                                                                       <int key="NSButtonFlags">-2038284033</int>
+                                                                                                                                                                       <int key="NSButtonFlags">-2038284288</int>
                                                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                                                        <reference key="NSAlternateImage" ref="995413175"/>
                                                                                                                                                                        <string key="NSAlternateContents"/>
@@ -1804,7 +1836,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                                <double key="NSMaxWidth">3.4028234663852886e+38</double>
                                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                                        <int key="NSCellFlags2">134219776</int>
                                                                                                                                                                        <string key="NSContents">Gain</string>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1812,7 +1844,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                                </object>
                                                                                                                                                                <object class="NSSliderCell" key="NSDataCell" id="723141526">
-                                                                                                                                                                       <int key="NSCellFlags">-2079981824</int>
+                                                                                                                                                                       <int key="NSCellFlags">-2080112384</int>
                                                                                                                                                                        <int key="NSCellFlags2">131072</int>
                                                                                                                                                                        <string key="NSContents"/>
                                                                                                                                                                        <reference key="NSControlView" ref="792464451"/>
@@ -1837,7 +1869,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                                <double key="NSMaxWidth">3.4028234663852886e+38</double>
                                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                                        <string key="NSContents"/>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1845,7 +1877,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                                </object>
                                                                                                                                                                <object class="NSTextFieldCell" key="NSDataCell" id="718953459">
-                                                                                                                                                                       <int key="NSCellFlags">337772096</int>
+                                                                                                                                                                       <int key="NSCellFlags">337641536</int>
                                                                                                                                                                        <int key="NSCellFlags2">133120</int>
                                                                                                                                                                        <string key="NSContents">Text Cell</string>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1869,7 +1901,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                                        <int key="NSCellFlags2">134219776</int>
                                                                                                                                                                        <string key="NSContents">DRC</string>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1877,7 +1909,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                                </object>
                                                                                                                                                                <object class="NSSliderCell" key="NSDataCell" id="852982078">
-                                                                                                                                                                       <int key="NSCellFlags">-2079981824</int>
+                                                                                                                                                                       <int key="NSCellFlags">-2080112384</int>
                                                                                                                                                                        <int key="NSCellFlags2">131072</int>
                                                                                                                                                                        <string key="NSContents"/>
                                                                                                                                                                        <reference key="NSControlView" ref="792464451"/>
@@ -1902,7 +1934,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                                        <string key="NSContents"/>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1910,7 +1942,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                                </object>
                                                                                                                                                                <object class="NSTextFieldCell" key="NSDataCell" id="750418243">
-                                                                                                                                                                       <int key="NSCellFlags">337772096</int>
+                                                                                                                                                                       <int key="NSCellFlags">337641536</int>
                                                                                                                                                                        <int key="NSCellFlags2">272761856</int>
                                                                                                                                                                        <string key="NSContents">Text</string>
                                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -1960,6 +1992,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <string key="NSFrame">{{-100, -100}, {15, 206}}</string>
                                                                                                                                <reference key="NSSuperview" ref="933946879"/>
                                                                                                                                <reference key="NSNextKeyView" ref="821562152"/>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                                <reference key="NSTarget" ref="933946879"/>
                                                                                                                                <string key="NSAction">_doScroller:</string>
                                                                                                                                <double key="NSCurValue">37</double>
@@ -1971,6 +2004,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <string key="NSFrame">{{-100, -100}, {685, 15}}</string>
                                                                                                                                <reference key="NSSuperview" ref="933946879"/>
                                                                                                                                <reference key="NSNextKeyView" ref="727606062"/>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                                <int key="NSsFlags">1</int>
                                                                                                                                <reference key="NSTarget" ref="933946879"/>
                                                                                                                                <string key="NSAction">_doScroller:</string>
@@ -2001,6 +2035,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                <reference key="NSContentView" ref="528259747"/>
                                                                                                                <reference key="NSHeaderClipView" ref="230332532"/>
                                                                                                                <bytes key="NSScrollAmts">QSAAAEEgAABB2AAAQdgAAA</bytes>
+                                                                                                               <double key="NSMinMagnification">0.25</double>
+                                                                                                               <double key="NSMaxMagnification">4</double>
+                                                                                                               <double key="NSMagnification">1</double>
                                                                                                        </object>
                                                                                                        <object class="NSButton" id="883603583">
                                                                                                                <reference key="NSNextResponder" ref="577274772"/>
@@ -2010,18 +2047,19 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                <reference key="NSNextKeyView" ref="334448622"/>
                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                <object class="NSButtonCell" key="NSCell" id="327570663">
-                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                        <int key="NSCellFlags2">134479872</int>
                                                                                                                        <string key="NSContents">Add All Tracks</string>
                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                        <reference key="NSControlView" ref="883603583"/>
-                                                                                                                       <int key="NSButtonFlags">-2038284033</int>
+                                                                                                                       <int key="NSButtonFlags">-2038284288</int>
                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                        <string key="NSAlternateContents"/>
                                                                                                                        <string key="NSKeyEquivalent"/>
                                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                                </object>
+                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                        </object>
                                                                                                        <object class="NSBox" id="334448622">
                                                                                                                <reference key="NSNextResponder" ref="577274772"/>
@@ -2042,13 +2080,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <string key="NSReuseIdentifierKey">_NS:771</string>
                                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                                <object class="NSButtonCell" key="NSCell" id="707344957">
-                                                                                                                                                       <int key="NSCellFlags">-2080244224</int>
+                                                                                                                                                       <int key="NSCellFlags">-2080374784</int>
                                                                                                                                                        <int key="NSCellFlags2">262144</int>
                                                                                                                                                        <string key="NSContents">MP3</string>
                                                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                                                        <string key="NSCellIdentifier">_NS:771</string>
                                                                                                                                                        <reference key="NSControlView" ref="162512199"/>
-                                                                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                                                                        <int key="NSButtonFlags2">2</int>
                                                                                                                                                        <reference key="NSNormalImage" ref="887198214"/>
                                                                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
@@ -2057,6 +2095,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                                                                </object>
+                                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                                        </object>
                                                                                                                                        <object class="NSButton" id="354328979">
                                                                                                                                                <reference key="NSNextResponder" ref="754802956"/>
@@ -2067,13 +2106,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <string key="NSReuseIdentifierKey">_NS:771</string>
                                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                                <object class="NSButtonCell" key="NSCell" id="243873688">
-                                                                                                                                                       <int key="NSCellFlags">-2080244224</int>
+                                                                                                                                                       <int key="NSCellFlags">-2080374784</int>
                                                                                                                                                        <int key="NSCellFlags2">262144</int>
                                                                                                                                                        <string key="NSContents">AAC</string>
                                                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                                                        <string key="NSCellIdentifier">_NS:771</string>
                                                                                                                                                        <reference key="NSControlView" ref="354328979"/>
-                                                                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                                                                        <int key="NSButtonFlags2">2</int>
                                                                                                                                                        <reference key="NSNormalImage" ref="887198214"/>
                                                                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
@@ -2082,6 +2121,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                                                                </object>
+                                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                                        </object>
                                                                                                                                        <object class="NSButton" id="453548414">
                                                                                                                                                <reference key="NSNextResponder" ref="754802956"/>
@@ -2092,13 +2132,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <string key="NSReuseIdentifierKey">_NS:771</string>
                                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                                <object class="NSButtonCell" key="NSCell" id="368344404">
-                                                                                                                                                       <int key="NSCellFlags">-2080244224</int>
+                                                                                                                                                       <int key="NSCellFlags">-2080374784</int>
                                                                                                                                                        <int key="NSCellFlags2">262144</int>
                                                                                                                                                        <string key="NSContents">AC3</string>
                                                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                                                        <string key="NSCellIdentifier">_NS:771</string>
                                                                                                                                                        <reference key="NSControlView" ref="453548414"/>
-                                                                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                                                                        <int key="NSButtonFlags2">2</int>
                                                                                                                                                        <reference key="NSNormalImage" ref="887198214"/>
                                                                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
@@ -2107,6 +2147,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                                                                </object>
+                                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                                        </object>
                                                                                                                                        <object class="NSButton" id="485809563">
                                                                                                                                                <reference key="NSNextResponder" ref="754802956"/>
@@ -2117,13 +2158,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <string key="NSReuseIdentifierKey">_NS:771</string>
                                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                                <object class="NSButtonCell" key="NSCell" id="118300837">
-                                                                                                                                                       <int key="NSCellFlags">-2080244224</int>
+                                                                                                                                                       <int key="NSCellFlags">-2080374784</int>
                                                                                                                                                        <int key="NSCellFlags2">262144</int>
                                                                                                                                                        <string key="NSContents">DTS</string>
                                                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                                                        <string key="NSCellIdentifier">_NS:771</string>
                                                                                                                                                        <reference key="NSControlView" ref="485809563"/>
-                                                                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                                                                        <int key="NSButtonFlags2">2</int>
                                                                                                                                                        <reference key="NSNormalImage" ref="887198214"/>
                                                                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
@@ -2132,6 +2173,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                                                                </object>
+                                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                                        </object>
                                                                                                                                        <object class="NSButton" id="1024961404">
                                                                                                                                                <reference key="NSNextResponder" ref="754802956"/>
@@ -2142,13 +2184,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <string key="NSReuseIdentifierKey">_NS:771</string>
                                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                                <object class="NSButtonCell" key="NSCell" id="735750065">
-                                                                                                                                                       <int key="NSCellFlags">-2080244224</int>
+                                                                                                                                                       <int key="NSCellFlags">-2080374784</int>
                                                                                                                                                        <int key="NSCellFlags2">262144</int>
                                                                                                                                                        <string key="NSContents">DTS-HD</string>
                                                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                                                        <string key="NSCellIdentifier">_NS:771</string>
                                                                                                                                                        <reference key="NSControlView" ref="1024961404"/>
-                                                                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                                                                        <int key="NSButtonFlags2">2</int>
                                                                                                                                                        <reference key="NSNormalImage" ref="887198214"/>
                                                                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
@@ -2157,6 +2199,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                                                                </object>
+                                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                                        </object>
                                                                                                                                        <object class="NSPopUpButton" id="586044455">
                                                                                                                                                <reference key="NSNextResponder" ref="754802956"/>
@@ -2167,12 +2210,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <string key="NSReuseIdentifierKey">_NS:868</string>
                                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                                <object class="NSPopUpButtonCell" key="NSCell" id="141259846">
-                                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                                        <int key="NSCellFlags2">264192</int>
                                                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                                                        <string key="NSCellIdentifier">_NS:868</string>
                                                                                                                                                        <reference key="NSControlView" ref="586044455"/>
-                                                                                                                                                       <int key="NSButtonFlags">109199615</int>
+                                                                                                                                                       <int key="NSButtonFlags">109199360</int>
                                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                                        <string key="NSAlternateContents"/>
                                                                                                                                                        <string key="NSKeyEquivalent"/>
@@ -2226,6 +2269,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <bool key="NSAltersState">YES</bool>
                                                                                                                                                        <int key="NSArrowPosition">2</int>
                                                                                                                                                </object>
+                                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                                        </object>
                                                                                                                                        <object class="NSTextField" id="1010907474">
                                                                                                                                                <reference key="NSNextResponder" ref="754802956"/>
@@ -2235,7 +2279,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <reference key="NSNextKeyView" ref="162512199"/>
                                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                                <object class="NSTextFieldCell" key="NSCell" id="935575109">
-                                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                                        <int key="NSCellFlags2">71565312</int>
                                                                                                                                                        <string key="NSContents">Auto Passthru:</string>
                                                                                                                                                        <reference key="NSSupport" ref="22"/>
@@ -2243,6 +2287,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                                                                </object>
+                                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                                        </object>
                                                                                                                                        <object class="NSTextField" id="431725280">
                                                                                                                                                <reference key="NSNextResponder" ref="754802956"/>
@@ -2252,7 +2297,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <reference key="NSNextKeyView" ref="586044455"/>
                                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                                <object class="NSTextFieldCell" key="NSCell" id="121164790">
-                                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                                        <int key="NSCellFlags2">71565312</int>
                                                                                                                                                        <string key="NSContents">Passthru Fallback:</string>
                                                                                                                                                        <reference key="NSSupport" ref="22"/>
@@ -2260,6 +2305,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                                                                        <reference key="NSTextColor" ref="701609070"/>
                                                                                                                                                </object>
+                                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                                        </object>
                                                                                                                                </object>
                                                                                                                                <string key="NSFrame">{{1, 1}, {552, 29}}</string>
@@ -2274,7 +2320,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                <string key="NSReuseIdentifierKey">_NS:18</string>
                                                                                                                <string key="NSOffsets">{0, 0}</string>
                                                                                                                <object class="NSTextFieldCell" key="NSTitleCell">
-                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                        <int key="NSCellFlags2">0</int>
                                                                                                                        <string key="NSContents">Auto Passthru</string>
                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2326,6 +2372,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <string key="NSFrameSize">{884, 241}</string>
                                                                                                                                <reference key="NSSuperview" ref="705918581"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                                                                               <bool key="NSControlAllowsExpansionToolTips">YES</bool>
                                                                                                                                <object class="NSTableHeaderView" key="NSHeaderView" id="569585004">
                                                                                                                                        <reference key="NSNextResponder" ref="139191276"/>
                                                                                                                                        <int key="NSvFlags">256</int>
@@ -2347,7 +2395,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <double key="NSMinWidth">40</double>
                                                                                                                                                <double key="NSMaxWidth">1000</double>
                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                        <string key="NSContents">Track</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2358,11 +2406,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSPopUpButtonCell" key="NSDataCell" id="426946554">
-                                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                                        <int key="NSCellFlags2">264192</int>
                                                                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                                                                        <reference key="NSControlView" ref="587237088"/>
-                                                                                                                                                       <int key="NSButtonFlags">100679935</int>
+                                                                                                                                                       <int key="NSButtonFlags">100679680</int>
                                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                                        <string key="NSAlternateContents"/>
                                                                                                                                                        <string key="NSKeyEquivalent"/>
@@ -2402,7 +2450,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                        <int key="NSCellFlags2">134219776</int>
                                                                                                                                                        <string key="NSContents">Forced Only</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2410,12 +2458,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSButtonCell" key="NSDataCell" id="13236417">
-                                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                                        <int key="NSCellFlags2">131072</int>
                                                                                                                                                        <string key="NSContents">Check</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                                        <reference key="NSControlView" ref="587237088"/>
-                                                                                                                                                       <int key="NSButtonFlags">1215582719</int>
+                                                                                                                                                       <int key="NSButtonFlags">1215582464</int>
                                                                                                                                                        <int key="NSButtonFlags2">130</int>
                                                                                                                                                        <reference key="NSNormalImage" ref="887198214"/>
                                                                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
@@ -2435,7 +2483,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                        <int key="NSCellFlags2">134219776</int>
                                                                                                                                                        <string key="NSContents">Burned In</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2443,12 +2491,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSButtonCell" key="NSDataCell" id="704907857">
-                                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                                        <int key="NSCellFlags2">131072</int>
                                                                                                                                                        <string key="NSContents">Check</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                                        <reference key="NSControlView" ref="587237088"/>
-                                                                                                                                                       <int key="NSButtonFlags">1215582719</int>
+                                                                                                                                                       <int key="NSButtonFlags">1215582464</int>
                                                                                                                                                        <int key="NSButtonFlags2">130</int>
                                                                                                                                                        <reference key="NSNormalImage" ref="887198214"/>
                                                                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
@@ -2468,7 +2516,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                        <int key="NSCellFlags2">134219776</int>
                                                                                                                                                        <string key="NSContents">Default</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2476,12 +2524,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSButtonCell" key="NSDataCell" id="299034685">
-                                                                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                                                                        <int key="NSCellFlags2">131072</int>
                                                                                                                                                        <string key="NSContents">Check</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                                        <reference key="NSControlView" ref="587237088"/>
-                                                                                                                                                       <int key="NSButtonFlags">1215582719</int>
+                                                                                                                                                       <int key="NSButtonFlags">1215582464</int>
                                                                                                                                                        <int key="NSButtonFlags2">130</int>
                                                                                                                                                        <reference key="NSNormalImage" ref="887198214"/>
                                                                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
@@ -2501,7 +2549,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                        <string key="NSContents">Srt Language</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2509,11 +2557,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSPopUpButtonCell" key="NSDataCell" id="688461412">
-                                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                                        <int key="NSCellFlags2">133120</int>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                                        <reference key="NSControlView" ref="587237088"/>
-                                                                                                                                                       <int key="NSButtonFlags">100679935</int>
+                                                                                                                                                       <int key="NSButtonFlags">100679680</int>
                                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                                        <string key="NSAlternateContents"/>
                                                                                                                                                        <string key="NSKeyEquivalent"/>
@@ -2555,7 +2603,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                        <string key="NSContents">Srt Char Code</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2563,11 +2611,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSPopUpButtonCell" key="NSDataCell" id="483232645">
-                                                                                                                                                       <int key="NSCellFlags">-2076049856</int>
+                                                                                                                                                       <int key="NSCellFlags">-2076180416</int>
                                                                                                                                                        <int key="NSCellFlags2">133120</int>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                                                                        <reference key="NSControlView" ref="587237088"/>
-                                                                                                                                                       <int key="NSButtonFlags">100679935</int>
+                                                                                                                                                       <int key="NSButtonFlags">100679680</int>
                                                                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                                                                        <string key="NSAlternateContents"/>
                                                                                                                                                        <string key="NSKeyEquivalent"/>
@@ -2609,7 +2657,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <double key="NSMinWidth">10</double>
                                                                                                                                                <double key="NSMaxWidth">3.4028229999999999e+38</double>
                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                        <string key="NSContents">Srt Offset</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2617,7 +2665,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSTextFieldCell" key="NSDataCell" id="43785715">
-                                                                                                                                                       <int key="NSCellFlags">337772096</int>
+                                                                                                                                                       <int key="NSCellFlags">337641536</int>
                                                                                                                                                        <int key="NSCellFlags2">272630784</int>
                                                                                                                                                        <string key="NSContents">Text</string>
                                                                                                                                                        <reference key="NSSupport" ref="273283760"/>
@@ -2659,6 +2707,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                <int key="NSvFlags">-2147483392</int>
                                                                                                                <string key="NSFrame">{{-100, -100}, {15, 206}}</string>
                                                                                                                <reference key="NSSuperview" ref="596256174"/>
+                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                <reference key="NSTarget" ref="596256174"/>
                                                                                                                <string key="NSAction">_doScroller:</string>
                                                                                                                <double key="NSCurValue">37</double>
@@ -2669,6 +2718,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                <int key="NSvFlags">-2147483392</int>
                                                                                                                <string key="NSFrame">{{-100, -100}, {685, 15}}</string>
                                                                                                                <reference key="NSSuperview" ref="596256174"/>
+                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                <int key="NSsFlags">1</int>
                                                                                                                <reference key="NSTarget" ref="596256174"/>
                                                                                                                <string key="NSAction">_doScroller:</string>
@@ -2699,6 +2749,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSContentView" ref="705918581"/>
                                                                                                <reference key="NSHeaderClipView" ref="139191276"/>
                                                                                                <bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
+                                                                                               <double key="NSMinMagnification">0.25</double>
+                                                                                               <double key="NSMaxMagnification">4</double>
+                                                                                               <double key="NSMagnification">1</double>
                                                                                        </object>
                                                                                        <object class="NSButton" id="377401502">
                                                                                                <reference key="NSNextResponder" ref="756255803"/>
@@ -2707,18 +2760,19 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSSuperview" ref="756255803"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="206924163">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">134479872</int>
                                                                                                        <string key="NSContents">Add External SRT ...</string>
                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                        <reference key="NSControlView" ref="377401502"/>
-                                                                                                       <int key="NSButtonFlags">-2038284033</int>
+                                                                                                       <int key="NSButtonFlags">-2038284288</int>
                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                        <string key="NSAlternateContents"/>
                                                                                                        <string key="NSKeyEquivalent"/>
                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                </object>
                                                                                <string key="NSFrame">{{10, 25}, {920, 305}}</string>
@@ -2751,7 +2805,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSNextKeyView" ref="815869140"/>
                                                                                                <string key="NSOffsets">{0, 0}</string>
                                                                                                <object class="NSTextFieldCell" key="NSTitleCell">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">0</int>
                                                                                                        <string key="NSContents">Box</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2799,6 +2853,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                <reference key="NSSuperview" ref="272816362"/>
                                                                                                                                <reference key="NSNextKeyView" ref="1033243513"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
+                                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                                                                               <bool key="NSControlAllowsExpansionToolTips">YES</bool>
                                                                                                                                <object class="NSTableHeaderView" key="NSHeaderView" id="928480858">
                                                                                                                                        <reference key="NSNextResponder" ref="814110287"/>
                                                                                                                                        <int key="NSvFlags">256</int>
@@ -2822,7 +2878,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <double key="NSMinWidth">40</double>
                                                                                                                                                <double key="NSMaxWidth">1000</double>
                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                        <string key="NSContents">Chapter</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2833,7 +2889,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSTextFieldCell" key="NSDataCell" id="686068440">
-                                                                                                                                                       <int key="NSCellFlags">337772096</int>
+                                                                                                                                                       <int key="NSCellFlags">337641536</int>
                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                        <string key="NSContents">Text Cell</string>
                                                                                                                                                        <reference key="NSSupport" ref="995413175"/>
@@ -2851,7 +2907,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                <double key="NSMinWidth">77.217290000000006</double>
                                                                                                                                                <double key="NSMaxWidth">1000</double>
                                                                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                        <string key="NSContents">Chapter Title</string>
                                                                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -2859,7 +2915,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSTextFieldCell" key="NSDataCell" id="237660698">
-                                                                                                                                                       <int key="NSCellFlags">337772096</int>
+                                                                                                                                                       <int key="NSCellFlags">337641536</int>
                                                                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                                                                        <string key="NSContents">Text Cell</string>
                                                                                                                                                        <reference key="NSSupport" ref="995413175"/>
@@ -2901,6 +2957,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                <int key="NSvFlags">256</int>
                                                                                                                <string key="NSFrame">{{870, 17}, {15, 242}}</string>
                                                                                                                <reference key="NSSuperview" ref="307620967"/>
+                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                <reference key="NSTarget" ref="307620967"/>
                                                                                                                <string key="NSAction">_doScroller:</string>
                                                                                                                <double key="NSPercent">0.9736842</double>
@@ -2911,6 +2968,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                                <string key="NSFrame">{{-100, -100}, {488, 15}}</string>
                                                                                                                <reference key="NSSuperview" ref="307620967"/>
                                                                                                                <reference key="NSNextKeyView" ref="814110287"/>
+                                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                <int key="NSsFlags">1</int>
                                                                                                                <reference key="NSTarget" ref="307620967"/>
                                                                                                                <string key="NSAction">_doScroller:</string>
@@ -2941,6 +2999,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSContentView" ref="272816362"/>
                                                                                                <reference key="NSHeaderClipView" ref="814110287"/>
                                                                                                <bytes key="NSScrollAmts">AAAAAAAAAABBmAAAQZgAAA</bytes>
+                                                                                               <double key="NSMinMagnification">0.25</double>
+                                                                                               <double key="NSMaxMagnification">4</double>
+                                                                                               <double key="NSMagnification">1</double>
                                                                                        </object>
                                                                                        <object class="NSButton" id="262106913">
                                                                                                <reference key="NSNextResponder" ref="440990725"/>
@@ -2950,12 +3011,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSNextKeyView" ref="307620967"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="719511430">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">131072</int>
                                                                                                        <string key="NSContents">Create chapter markers</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
                                                                                                        <reference key="NSControlView" ref="262106913"/>
-                                                                                                       <int key="NSButtonFlags">1211912703</int>
+                                                                                                       <int key="NSButtonFlags">1211912448</int>
                                                                                                        <int key="NSButtonFlags2">2</int>
                                                                                                        <reference key="NSAlternateImage" ref="624832340"/>
                                                                                                        <string key="NSAlternateContents"/>
@@ -2963,6 +3024,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSButton" id="959722284">
                                                                                                <reference key="NSNextResponder" ref="440990725"/>
@@ -2971,18 +3033,19 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSSuperview" ref="440990725"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="100898939">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">134479872</int>
                                                                                                        <string key="NSContents">Import Chapters ...</string>
                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                        <reference key="NSControlView" ref="959722284"/>
-                                                                                                       <int key="NSButtonFlags">-2038284033</int>
+                                                                                                       <int key="NSButtonFlags">-2038284288</int>
                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                        <string key="NSAlternateContents"/>
                                                                                                        <string key="NSKeyEquivalent"/>
                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                        <object class="NSButton" id="931485910">
                                                                                                <reference key="NSNextResponder" ref="440990725"/>
@@ -2991,18 +3054,19 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSSuperview" ref="440990725"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="843416672">
-                                                                                                       <int key="NSCellFlags">67239424</int>
+                                                                                                       <int key="NSCellFlags">67108864</int>
                                                                                                        <int key="NSCellFlags2">134479872</int>
                                                                                                        <string key="NSContents">Export Chapters ...</string>
                                                                                                        <reference key="NSSupport" ref="22"/>
                                                                                                        <reference key="NSControlView" ref="931485910"/>
-                                                                                                       <int key="NSButtonFlags">-2038284033</int>
+                                                                                                       <int key="NSButtonFlags">-2038284288</int>
                                                                                                        <int key="NSButtonFlags2">129</int>
                                                                                                        <string key="NSAlternateContents"/>
                                                                                                        <string key="NSKeyEquivalent"/>
                                                                                                        <int key="NSPeriodicDelay">200</int>
                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                </object>
+                                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        </object>
                                                                                </object>
                                                                                <string key="NSFrame">{{10, 25}, {920, 305}}</string>
@@ -3032,7 +3096,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="854767306"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="121574898">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">4325376</int>
                                                                <string key="NSContents">Source:</string>
                                                                <object class="NSFont" key="NSSupport" id="27">
@@ -3044,6 +3108,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="806469067">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3054,7 +3119,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="766125203"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="177567437">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">71303168</int>
                                                                <string key="NSContents">Title:</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -3062,6 +3127,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSPopUpButton" id="766125203">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3072,11 +3138,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="303369850"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSPopUpButtonCell" key="NSCell" id="821198683">
-                                                               <int key="NSCellFlags">-2076049856</int>
+                                                               <int key="NSCellFlags">-2076180416</int>
                                                                <int key="NSCellFlags2">263168</int>
                                                                <reference key="NSSupport" ref="22"/>
                                                                <reference key="NSControlView" ref="766125203"/>
-                                                               <int key="NSButtonFlags">109199615</int>
+                                                               <int key="NSButtonFlags">109199360</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <object class="NSFont" key="NSAlternateImage" id="1010451086">
                                                                        <string key="NSName">LucidaGrande</string>
@@ -3116,6 +3182,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <bool key="NSAltersState">YES</bool>
                                                                <int key="NSArrowPosition">1</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSPopUpButton" id="482831442">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3126,11 +3193,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="971754180"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSPopUpButtonCell" key="NSCell" id="266952854">
-                                                               <int key="NSCellFlags">-2076049856</int>
+                                                               <int key="NSCellFlags">-2076180416</int>
                                                                <int key="NSCellFlags2">263168</int>
                                                                <reference key="NSSupport" ref="22"/>
                                                                <reference key="NSControlView" ref="482831442"/>
-                                                               <int key="NSButtonFlags">109199615</int>
+                                                               <int key="NSButtonFlags">109199360</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <reference key="NSAlternateImage" ref="1010451086"/>
                                                                <string key="NSAlternateContents"/>
@@ -3155,6 +3222,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <bool key="NSAltersState">YES</bool>
                                                                <int key="NSArrowPosition">1</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="303369850">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3165,7 +3233,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="460320725"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="677126774">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">71303168</int>
                                                                <string key="NSContents">Angle:</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -3173,6 +3241,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSPopUpButton" id="460320725">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3183,11 +3252,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="482831442"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSPopUpButtonCell" key="NSCell" id="567459641">
-                                                               <int key="NSCellFlags">-2076049856</int>
+                                                               <int key="NSCellFlags">-2076180416</int>
                                                                <int key="NSCellFlags2">263168</int>
                                                                <reference key="NSSupport" ref="22"/>
                                                                <reference key="NSControlView" ref="460320725"/>
-                                                               <int key="NSButtonFlags">109199615</int>
+                                                               <int key="NSButtonFlags">109199360</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <reference key="NSAlternateImage" ref="1010451086"/>
                                                                <string key="NSAlternateContents"/>
@@ -3223,6 +3292,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <bool key="NSAltersState">YES</bool>
                                                                <int key="NSArrowPosition">1</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="1023408378">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3233,7 +3303,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="186223550"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="834340599">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">71303168</int>
                                                                <string key="NSContents">File:</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -3241,6 +3311,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="713493964">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3251,7 +3322,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="955053416"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="1038625481">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">71303168</int>
                                                                <string key="NSContents">Duration:</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -3259,6 +3330,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="955053416">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3269,7 +3341,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="138115732"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="362196160">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">4194304</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="26"/>
@@ -3280,6 +3352,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                </object>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="138115732">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3290,7 +3363,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="104002862"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="510160694">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">4325376</int>
                                                                <string key="NSContents">Destination</string>
                                                                <reference key="NSSupport" ref="27"/>
@@ -3298,6 +3371,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSPopUpButton" id="732193996">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3308,11 +3382,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="553453876"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSPopUpButtonCell" key="NSCell" id="264217237">
-                                                               <int key="NSCellFlags">-2076049856</int>
+                                                               <int key="NSCellFlags">-2076180416</int>
                                                                <int key="NSCellFlags2">132096</int>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSControlView" ref="732193996"/>
-                                                               <int key="NSButtonFlags">109199615</int>
+                                                               <int key="NSButtonFlags">109199360</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <reference key="NSAlternateImage" ref="26"/>
                                                                <string key="NSAlternateContents"/>
@@ -3346,6 +3420,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <bool key="NSAltersState">YES</bool>
                                                                <int key="NSArrowPosition">1</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSButton" id="210289606">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3356,12 +3431,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="35106907"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="295879492">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">134348800</int>
                                                                <string key="NSContents">Browse…</string>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSControlView" ref="210289606"/>
-                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags">-2038284288</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <reference key="NSAlternateImage" ref="995413175"/>
                                                                <string key="NSAlternateContents"/>
@@ -3371,6 +3446,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSBox" id="10346684">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3381,7 +3457,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="1023408378"/>
                                                        <string key="NSOffsets">{0, 0}</string>
                                                        <object class="NSTextFieldCell" key="NSTitleCell">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">0</int>
                                                                <string key="NSContents">Box</string>
                                                                <reference key="NSSupport" ref="273283760"/>
@@ -3405,7 +3481,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="519699512"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="689580100">
-                                                               <int key="NSCellFlags">69336641</int>
+                                                               <int key="NSCellFlags">69206081</int>
                                                                <int key="NSCellFlags2">4327936</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="26"/>
@@ -3416,6 +3492,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                </object>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="186223550">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3426,7 +3503,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="210289606"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="988599137">
-                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags">-1804599231</int>
                                                                <int key="NSCellFlags2">4326400</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="26"/>
@@ -3435,6 +3512,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="138233214"/>
                                                                <reference key="NSTextColor" ref="378140636"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="104002862">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3445,7 +3523,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="978025076"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="371961838">
-                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags">-1804599231</int>
                                                                <int key="NSCellFlags2">71566336</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="22"/>
@@ -3454,6 +3532,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="138233214"/>
                                                                <reference key="NSTextColor" ref="378140636"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="398989741">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3464,7 +3543,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="453345136"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="506346481">
-                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags">-1804599231</int>
                                                                <int key="NSCellFlags2">71566336</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="22"/>
@@ -3473,6 +3552,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="138233214"/>
                                                                <reference key="NSTextColor" ref="378140636"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="19055068">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3483,7 +3563,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="164276139"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="778187711">
-                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags">-1804599231</int>
                                                                <int key="NSCellFlags2">4457472</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="22"/>
@@ -3492,6 +3572,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="138233214"/>
                                                                <reference key="NSTextColor" ref="378140636"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="164276139">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3502,7 +3583,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="10346684"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="1039518079">
-                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags">-1804599231</int>
                                                                <int key="NSCellFlags2">4457472</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="22"/>
@@ -3511,6 +3592,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="138233214"/>
                                                                <reference key="NSTextColor" ref="378140636"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="35106907">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3521,7 +3603,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="574185541"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="293028864">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">4325376</int>
                                                                <string key="NSContents">Output Settings:</string>
                                                                <reference key="NSSupport" ref="27"/>
@@ -3529,6 +3611,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSBox" id="151388399">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3539,7 +3622,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="87961628"/>
                                                        <string key="NSOffsets">{0, 0}</string>
                                                        <object class="NSTextFieldCell" key="NSTitleCell">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">0</int>
                                                                <string key="NSContents">Box</string>
                                                                <reference key="NSSupport" ref="273283760"/>
@@ -3563,7 +3646,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="151388399"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="488791842">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">272629760</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="27"/>
@@ -3571,6 +3654,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="1007421233">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3581,7 +3665,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="222334056"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="224806210">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">71434240</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="26"/>
@@ -3589,6 +3673,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="87961628">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3599,7 +3684,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="732193996"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="51600927">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">71303168</int>
                                                                <string key="NSContents">Format:</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -3607,6 +3692,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSBox" id="454206717">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3617,7 +3703,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="806469067"/>
                                                        <string key="NSOffsets">{0, 0}</string>
                                                        <object class="NSTextFieldCell" key="NSTitleCell">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">0</int>
                                                                <string key="NSContents">Box</string>
                                                                <reference key="NSSupport" ref="273283760"/>
@@ -3634,8 +3720,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                </object>
                                                <object class="NSProgressIndicator" id="519699512">
                                                        <reference key="NSNextResponder" ref="168918359"/>
-                                                       <int key="NSvFlags">-2147482356</int>
-                                                       <object class="NSPSMatrix" key="NSDrawMatrix"/>
+                                                       <int key="NSvFlags">-2147483380</int>
                                                        <string key="NSFrame">{{385, 532}, {562, 12}}</string>
                                                        <reference key="NSSuperview" ref="168918359"/>
                                                        <reference key="NSWindow"/>
@@ -3652,12 +3737,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="921877174"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="832863281">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">131072</int>
                                                                <string key="NSContents">Web optimized</string>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSControlView" ref="581806074"/>
-                                                               <int key="NSButtonFlags">1211912703</int>
+                                                               <int key="NSButtonFlags">1211912448</int>
                                                                <int key="NSButtonFlags2">2</int>
                                                                <reference key="NSNormalImage" ref="887198214"/>
                                                                <reference key="NSAlternateImage" ref="624832340"/>
@@ -3666,6 +3751,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSButton" id="553453876">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3676,12 +3762,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="581806074"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="294332300">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">131072</int>
                                                                <string key="NSContents">Large file size</string>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSControlView" ref="553453876"/>
-                                                               <int key="NSButtonFlags">1211912703</int>
+                                                               <int key="NSButtonFlags">1211912448</int>
                                                                <int key="NSButtonFlags2">2</int>
                                                                <reference key="NSNormalImage" ref="887198214"/>
                                                                <reference key="NSAlternateImage" ref="624832340"/>
@@ -3690,6 +3776,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSButton" id="921877174">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3700,12 +3787,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="712502892"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="547085070">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">131072</int>
                                                                <string key="NSContents">iPod 5G support</string>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSControlView" ref="921877174"/>
-                                                               <int key="NSButtonFlags">1211912703</int>
+                                                               <int key="NSButtonFlags">1211912448</int>
                                                                <int key="NSButtonFlags2">2</int>
                                                                <reference key="NSNormalImage" ref="887198214"/>
                                                                <reference key="NSAlternateImage" ref="624832340"/>
@@ -3714,6 +3801,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="978025076">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3724,7 +3812,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="398989741"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="138681808">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">138412032</int>
                                                                <string key="NSContents">through</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -3732,6 +3820,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSPopUpButton" id="971754180">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3742,11 +3831,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="713493964"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSPopUpButtonCell" key="NSCell" id="286887304">
-                                                               <int key="NSCellFlags">-2076049856</int>
+                                                               <int key="NSCellFlags">-2076180416</int>
                                                                <int key="NSCellFlags2">263168</int>
                                                                <reference key="NSSupport" ref="22"/>
                                                                <reference key="NSControlView" ref="971754180"/>
-                                                               <int key="NSButtonFlags">109199615</int>
+                                                               <int key="NSButtonFlags">109199360</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <reference key="NSAlternateImage" ref="1010451086"/>
                                                                <string key="NSAlternateContents"/>
@@ -3782,6 +3871,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <bool key="NSAltersState">YES</bool>
                                                                <int key="NSArrowPosition">1</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSPopUpButton" id="453345136">
                                                        <reference key="NSNextResponder" ref="168918359"/>
@@ -3792,11 +3882,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSNextKeyView" ref="19055068"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSPopUpButtonCell" key="NSCell" id="564669343">
-                                                               <int key="NSCellFlags">-2076049856</int>
+                                                               <int key="NSCellFlags">-2076180416</int>
                                                                <int key="NSCellFlags2">263168</int>
                                                                <reference key="NSSupport" ref="22"/>
                                                                <reference key="NSControlView" ref="453345136"/>
-                                                               <int key="NSButtonFlags">109199615</int>
+                                                               <int key="NSButtonFlags">109199360</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <reference key="NSAlternateImage" ref="1010451086"/>
                                                                <string key="NSAlternateContents"/>
@@ -3832,6 +3922,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <bool key="NSAltersState">YES</bool>
                                                                <int key="NSArrowPosition">1</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                        </object>
                                        <string key="NSFrameSize">{959, 558}</string>
@@ -3839,7 +3930,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                        <reference key="NSWindow"/>
                                        <reference key="NSNextKeyView" ref="586321835"/>
                                </object>
-                               <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
                                <string key="NSMinSize">{213, 129}</string>
                                <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
                                <bool key="NSWindowIsRestorable">YES</bool>
@@ -4594,7 +4685,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="168254512"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSImageCell" key="NSCell" id="72412547">
-                                                               <int key="NSCellFlags">130560</int>
+                                                               <int key="NSCellFlags">134217728</int>
                                                                <int key="NSCellFlags2">33554432</int>
                                                                <object class="NSCustomResource" key="NSContents">
                                                                        <string key="NSClassName">NSImage</string>
@@ -4605,6 +4696,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSStyle">0</int>
                                                                <bool key="NSAnimates">NO</bool>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                        <bool key="NSEditable">YES</bool>
                                                </object>
                                                <object class="NSButton" id="764659803">
@@ -4614,12 +4706,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="168254512"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="938246142">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">137887744</int>
                                                                <string key="NSContents">Ahuh !</string>
                                                                <reference key="NSSupport" ref="273283760"/>
                                                                <reference key="NSControlView" ref="764659803"/>
-                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags">-2038284288</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <object class="NSFont" key="NSAlternateImage">
                                                                        <string key="NSName">Helvetica</string>
@@ -4631,6 +4723,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="640205151">
                                                        <reference key="NSNextResponder" ref="168254512"/>
@@ -4639,7 +4732,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="168254512"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="160092001">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">138412032</int>
                                                                <string key="NSContents">Rip done !</string>
                                                                <reference key="NSSupport" ref="273283760"/>
@@ -4647,11 +4740,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                        </object>
                                        <string key="NSFrameSize">{300, 233}</string>
                                </object>
-                               <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
                                <string key="NSMinSize">{213, 129}</string>
                                <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
                                <bool key="NSWindowIsRestorable">YES</bool>
@@ -4688,6 +4782,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                <string key="NSFrameSize">{247, 506}</string>
                                                                                <reference key="NSSuperview" ref="421228634"/>
                                                                                <bool key="NSEnabled">YES</bool>
+                                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               <bool key="NSControlAllowsExpansionToolTips">YES</bool>
                                                                                <object class="_NSCornerView" key="NSCornerView">
                                                                                        <nil key="NSNextResponder"/>
                                                                                        <int key="NSvFlags">256</int>
@@ -4701,7 +4797,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <double key="NSMinWidth">40</double>
                                                                                                <double key="NSMaxWidth">1000</double>
                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                                       <int key="NSCellFlags">75628096</int>
+                                                                                                       <int key="NSCellFlags">75497536</int>
                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                        <string key="NSContents">Presets</string>
                                                                                                        <reference key="NSSupport" ref="26"/>
@@ -4712,7 +4808,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                        <reference key="NSTextColor" ref="188451177"/>
                                                                                                </object>
                                                                                                <object class="NSTextFieldCell" key="NSDataCell" id="384895213">
-                                                                                                       <int key="NSCellFlags">337772096</int>
+                                                                                                       <int key="NSCellFlags">337641536</int>
                                                                                                        <int key="NSCellFlags2">2048</int>
                                                                                                        <string key="NSContents">Text Cell</string>
                                                                                                        <reference key="NSSupport" ref="995413175"/>
@@ -4760,6 +4856,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSvFlags">256</int>
                                                                <string key="NSFrame">{{248, 1}, {11, 506}}</string>
                                                                <reference key="NSSuperview" ref="33643505"/>
+                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                <int key="NSsFlags">256</int>
                                                                <reference key="NSTarget" ref="33643505"/>
                                                                <string key="NSAction">_doScroller:</string>
@@ -4770,6 +4867,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSvFlags">-2147483392</int>
                                                                <string key="NSFrame">{{-100, -100}, {183, 15}}</string>
                                                                <reference key="NSSuperview" ref="33643505"/>
+                                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                <int key="NSsFlags">1</int>
                                                                <reference key="NSTarget" ref="33643505"/>
                                                                <string key="NSAction">_doScroller:</string>
@@ -4784,6 +4882,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                <reference key="NSHScroller" ref="573337548"/>
                                                <reference key="NSContentView" ref="421228634"/>
                                                <bytes key="NSScrollAmts">QSAAAEEgAABBgAAAQYAAAA</bytes>
+                                               <double key="NSMinMagnification">0.25</double>
+                                               <double key="NSMaxMagnification">4</double>
+                                               <double key="NSMagnification">1</double>
                                        </object>
                                        <object class="NSButton" id="241719587">
                                                <reference key="NSNextResponder" ref="621751818"/>
@@ -4792,7 +4893,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                <reference key="NSSuperview" ref="621751818"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="501219161">
-                                                       <int key="NSCellFlags">67239424</int>
+                                                       <int key="NSCellFlags">67108864</int>
                                                        <int key="NSCellFlags2">0</int>
                                                        <string key="NSContents"/>
                                                        <object class="NSFont" key="NSSupport" id="575851035">
@@ -4801,7 +4902,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSfFlags">2072</int>
                                                        </object>
                                                        <reference key="NSControlView" ref="241719587"/>
-                                                       <int key="NSButtonFlags">-2030804737</int>
+                                                       <int key="NSButtonFlags">-2030804992</int>
                                                        <int key="NSButtonFlags2">34</int>
                                                        <object class="NSCustomResource" key="NSNormalImage">
                                                                <string key="NSClassName">NSImage</string>
@@ -4812,6 +4913,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <int key="NSPeriodicDelay">400</int>
                                                        <int key="NSPeriodicInterval">75</int>
                                                </object>
+                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                        </object>
                                        <object class="NSButton" id="699919504">
                                                <reference key="NSNextResponder" ref="621751818"/>
@@ -4820,12 +4922,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                <reference key="NSSuperview" ref="621751818"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="489159603">
-                                                       <int key="NSCellFlags">-2080244224</int>
+                                                       <int key="NSCellFlags">-2080374784</int>
                                                        <int key="NSCellFlags2">134217728</int>
                                                        <string key="NSContents"/>
                                                        <reference key="NSSupport" ref="575851035"/>
                                                        <reference key="NSControlView" ref="699919504"/>
-                                                       <int key="NSButtonFlags">-2032901889</int>
+                                                       <int key="NSButtonFlags">-2032902144</int>
                                                        <int key="NSButtonFlags2">34</int>
                                                        <object class="NSCustomResource" key="NSNormalImage">
                                                                <string key="NSClassName">NSImage</string>
@@ -4836,6 +4938,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <int key="NSPeriodicDelay">400</int>
                                                        <int key="NSPeriodicInterval">75</int>
                                                </object>
+                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                        </object>
                                        <object class="NSPopUpButton" id="886184281">
                                                <reference key="NSNextResponder" ref="621751818"/>
@@ -4844,11 +4947,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                <reference key="NSSuperview" ref="621751818"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSPopUpButtonCell" key="NSCell" id="492120702">
-                                                       <int key="NSCellFlags">71433792</int>
+                                                       <int key="NSCellFlags">71303232</int>
                                                        <int key="NSCellFlags2">2048</int>
                                                        <reference key="NSSupport" ref="273283760"/>
                                                        <reference key="NSControlView" ref="886184281"/>
-                                                       <int key="NSButtonFlags">-2031075073</int>
+                                                       <int key="NSButtonFlags">-2031075328</int>
                                                        <int key="NSButtonFlags2">162</int>
                                                        <string key="NSAlternateContents"/>
                                                        <string key="NSKeyEquivalent"/>
@@ -4907,6 +5010,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <bool key="NSAltersState">YES</bool>
                                                        <int key="NSArrowPosition">2</int>
                                                </object>
+                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                        </object>
                                </object>
                                <string key="NSFrameSize">{270, 550}</string>
@@ -4937,12 +5041,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="107603394">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">134217728</int>
                                                                <string key="NSContents">Add</string>
                                                                <reference key="NSSupport" ref="273283760"/>
                                                                <reference key="NSControlView" ref="636581183"/>
-                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags">-2038284288</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <object class="NSFont" key="NSAlternateImage" id="212993004">
                                                                        <string key="NSName">LucidaGrande</string>
@@ -4954,6 +5058,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSButton" id="586136427">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -4962,12 +5067,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="231870318">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">134217728</int>
                                                                <string key="NSContents">Cancel</string>
                                                                <reference key="NSSupport" ref="273283760"/>
                                                                <reference key="NSControlView" ref="586136427"/>
-                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags">-2038284288</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <reference key="NSAlternateImage" ref="212993004"/>
                                                                <string key="NSAlternateContents"/>
@@ -4975,6 +5080,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="978853241">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -4983,7 +5089,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="479246832">
-                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags">-1804599231</int>
                                                                <int key="NSCellFlags2">272761856</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="26"/>
@@ -4992,6 +5098,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="138233214"/>
                                                                <reference key="NSTextColor" ref="378140636"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSPopUpButton" id="167356719">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -5000,11 +5107,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSPopUpButtonCell" key="NSCell" id="17688962">
-                                                               <int key="NSCellFlags">-2076049856</int>
+                                                               <int key="NSCellFlags">-2076180416</int>
                                                                <int key="NSCellFlags2">133120</int>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSControlView" ref="167356719"/>
-                                                               <int key="NSButtonFlags">109199615</int>
+                                                               <int key="NSButtonFlags">109199360</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <reference key="NSAlternateImage" ref="995413175"/>
                                                                <string key="NSAlternateContents"/>
@@ -5062,6 +5169,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <bool key="NSAltersState">YES</bool>
                                                                <int key="NSArrowPosition">1</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="343391844">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -5070,7 +5178,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="658438349">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">272760832</int>
                                                                <string type="base64-UTF8" key="NSContents">UHJlc2V0IE5hbWU6Cg</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5078,6 +5186,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="340554114">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -5086,7 +5195,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="70981869">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">272760832</int>
                                                                <string key="NSContents">Picture Settings:</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5094,6 +5203,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="384547934">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -5102,7 +5212,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="207651610">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">272760832</int>
                                                                <string key="NSContents">Description:</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5110,6 +5220,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="511645357">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -5118,7 +5229,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="855042909">
-                                                               <int key="NSCellFlags">-1805517311</int>
+                                                               <int key="NSCellFlags">-1805647871</int>
                                                                <int key="NSCellFlags2">272760832</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5127,6 +5238,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="138233214"/>
                                                                <reference key="NSTextColor" ref="378140636"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="31472093">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -5135,7 +5247,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="31665321">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">71434240</int>
                                                                <string key="NSContents">Use Picture Size:</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5143,6 +5255,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSButton" id="1024752086">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -5151,12 +5264,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="625635488">
-                                                               <int key="NSCellFlags">-2080244224</int>
+                                                               <int key="NSCellFlags">-2080374784</int>
                                                                <int key="NSCellFlags2">131072</int>
                                                                <string key="NSContents"/>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSControlView" ref="1024752086"/>
-                                                               <int key="NSButtonFlags">1211912703</int>
+                                                               <int key="NSButtonFlags">1211912448</int>
                                                                <int key="NSButtonFlags2">2</int>
                                                                <reference key="NSNormalImage" ref="887198214"/>
                                                                <reference key="NSAlternateImage" ref="624832340"/>
@@ -5165,6 +5278,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSButton" id="786415813">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -5173,12 +5287,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="977106207">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">131072</int>
                                                                <string key="NSContents">Preset Folder ( if checked disregard below )</string>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSControlView" ref="786415813"/>
-                                                               <int key="NSButtonFlags">1211912703</int>
+                                                               <int key="NSButtonFlags">1211912448</int>
                                                                <int key="NSButtonFlags2">2</int>
                                                                <reference key="NSNormalImage" ref="887198214"/>
                                                                <reference key="NSAlternateImage" ref="624832340"/>
@@ -5187,6 +5301,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSBox" id="5085381">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -5195,7 +5310,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <string key="NSOffsets">{0, 0}</string>
                                                        <object class="NSTextFieldCell" key="NSTitleCell">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">0</int>
                                                                <string key="NSContents">Box</string>
                                                                <reference key="NSSupport" ref="273283760"/>
@@ -5217,7 +5332,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <string key="NSOffsets">{0, 0}</string>
                                                        <object class="NSTextFieldCell" key="NSTitleCell">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">0</int>
                                                                <string key="NSContents">Box</string>
                                                                <reference key="NSSupport" ref="273283760"/>
@@ -5239,7 +5354,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="155469085">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">71434240</int>
                                                                <string key="NSContents">Use Picture Filters:</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5247,6 +5362,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSBox" id="277759901">
                                                        <reference key="NSNextResponder" ref="69290042"/>
@@ -5265,7 +5381,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                        <reference key="NSSuperview" ref="956968044"/>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <object class="NSTextFieldCell" key="NSCell" id="862361869">
-                                                                                               <int key="NSCellFlags">-1804468671</int>
+                                                                                               <int key="NSCellFlags">-1804599231</int>
                                                                                                <int key="NSCellFlags2">71566336</int>
                                                                                                <string key="NSContents"/>
                                                                                                <reference key="NSSupport" ref="22"/>
@@ -5274,6 +5390,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSBackgroundColor" ref="138233214"/>
                                                                                                <reference key="NSTextColor" ref="378140636"/>
                                                                                        </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                </object>
                                                                                <object class="NSTextField" id="358179065">
                                                                                        <reference key="NSNextResponder" ref="956968044"/>
@@ -5282,7 +5399,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                        <reference key="NSSuperview" ref="956968044"/>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <object class="NSTextFieldCell" key="NSCell" id="14541127">
-                                                                                               <int key="NSCellFlags">67239424</int>
+                                                                                               <int key="NSCellFlags">67108864</int>
                                                                                                <int key="NSCellFlags2">138543104</int>
                                                                                                <string key="NSContents">X</string>
                                                                                                <reference key="NSSupport" ref="26"/>
@@ -5290,6 +5407,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                                                <reference key="NSTextColor" ref="701609070"/>
                                                                                        </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                </object>
                                                                                <object class="NSTextField" id="525081109">
                                                                                        <reference key="NSNextResponder" ref="956968044"/>
@@ -5298,7 +5416,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                        <reference key="NSSuperview" ref="956968044"/>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <object class="NSTextFieldCell" key="NSCell" id="945554305">
-                                                                                               <int key="NSCellFlags">-1804468671</int>
+                                                                                               <int key="NSCellFlags">-1804599231</int>
                                                                                                <int key="NSCellFlags2">4457472</int>
                                                                                                <string key="NSContents"/>
                                                                                                <reference key="NSSupport" ref="22"/>
@@ -5307,6 +5425,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                                                <reference key="NSBackgroundColor" ref="138233214"/>
                                                                                                <reference key="NSTextColor" ref="378140636"/>
                                                                                        </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                </object>
                                                                        </object>
                                                                        <string key="NSFrameSize">{155, 32}</string>
@@ -5317,7 +5436,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="69290042"/>
                                                        <string key="NSOffsets">{0, 0}</string>
                                                        <object class="NSTextFieldCell" key="NSTitleCell">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">0</int>
                                                                <string key="NSContents">Box</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5336,7 +5455,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                        </object>
                                        <string key="NSFrameSize">{338, 318}</string>
                                </object>
-                               <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
                                <string key="NSMinSize">{338, 254}</string>
                                <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
                                <bool key="NSWindowIsRestorable">YES</bool>
@@ -5367,7 +5486,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="867624722"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="874724779">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">272629760</int>
                                                                <string key="NSContents">Source Path Here</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5375,6 +5494,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="293908248">
                                                        <reference key="NSNextResponder" ref="867624722"/>
@@ -5383,7 +5503,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="867624722"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="290236859">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">272629760</int>
                                                                <string key="NSContents">for</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5391,6 +5511,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="535532677">
                                                        <reference key="NSNextResponder" ref="867624722"/>
@@ -5399,7 +5520,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="867624722"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="1026393301">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">71303168</int>
                                                                <string key="NSContents">Scan title number</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5407,6 +5528,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="290568055">
                                                        <reference key="NSNextResponder" ref="867624722"/>
@@ -5415,7 +5537,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="867624722"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="412266408">
-                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags">-1804599231</int>
                                                                <int key="NSCellFlags2">138544128</int>
                                                                <string key="NSContents">0</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5424,6 +5546,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="138233214"/>
                                                                <reference key="NSTextColor" ref="378140636"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSButton" id="35126402">
                                                        <reference key="NSNextResponder" ref="867624722"/>
@@ -5432,12 +5555,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="867624722"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="935162329">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">134348800</int>
                                                                <string key="NSContents">Cancel</string>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSControlView" ref="35126402"/>
-                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags">-2038284288</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <reference key="NSAlternateImage" ref="995413175"/>
                                                                <string key="NSAlternateContents"/>
@@ -5447,6 +5570,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSButton" id="1029080172">
                                                        <reference key="NSNextResponder" ref="867624722"/>
@@ -5455,12 +5579,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="867624722"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSButtonCell" key="NSCell" id="1020926636">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">134348800</int>
                                                                <string key="NSContents">Open Title</string>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSControlView" ref="1029080172"/>
-                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags">-2038284288</int>
                                                                <int key="NSButtonFlags2">1</int>
                                                                <reference key="NSAlternateImage" ref="995413175"/>
                                                                <string key="NSAlternateContents"/>
@@ -5468,6 +5592,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <int key="NSPeriodicDelay">200</int>
                                                                <int key="NSPeriodicInterval">25</int>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="1010749064">
                                                        <reference key="NSNextResponder" ref="867624722"/>
@@ -5476,7 +5601,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="867624722"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="938406174">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">4194304</int>
                                                                <string key="NSContents">Note: (entering 0 or leaving blank will result in a full source scan)</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5484,6 +5609,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="610976437">
                                                        <reference key="NSNextResponder" ref="867624722"/>
@@ -5492,7 +5618,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="867624722"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="802225466">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">272629760</int>
                                                                <string key="NSContents">Source Path:</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5500,6 +5626,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                                <object class="NSTextField" id="655257851">
                                                        <reference key="NSNextResponder" ref="867624722"/>
@@ -5508,7 +5635,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference key="NSSuperview" ref="867624722"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="19595360">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">272629760</int>
                                                                <string key="NSContents">Small System Font Text</string>
                                                                <reference key="NSSupport" ref="26"/>
@@ -5516,11 +5643,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <reference key="NSBackgroundColor" ref="242973447"/>
                                                                <reference key="NSTextColor" ref="701609070"/>
                                                        </object>
+                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                </object>
                                        </object>
                                        <string key="NSFrameSize">{392, 144}</string>
                                </object>
-                               <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
                                <string key="NSMinSize">{213, 129}</string>
                                <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
                                <bool key="NSWindowIsRestorable">YES</bool>
@@ -7149,6 +7277,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                        </object>
                                        <int key="connectionID">6003</int>
                                </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fScanHorizontalLine</string>
+                                               <reference key="source" ref="2258723"/>
+                                               <reference key="destination" ref="454206717"/>
+                                       </object>
+                                       <int key="connectionID">6004</int>
+                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
                                                <string key="label">parentWindow</string>
@@ -7283,7 +7419,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                        <string>NSCreatesSortDescriptor</string>
                                                                        <string>NSValidatesImmediately</string>
                                                                </object>
-                                                               <object class="NSMutableArray" key="dict.values">
+                                                               <object class="NSArray" key="dict.values">
                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                        <boolean value="NO"/>
                                                                        <boolean value="YES"/>
@@ -7662,7 +7798,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                        <string>NSCreatesSortDescriptor</string>
                                                                        <string>NSValidatesImmediately</string>
                                                                </object>
-                                                               <object class="NSMutableArray" key="dict.values">
+                                                               <object class="NSArray" key="dict.values">
                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                        <boolean value="NO"/>
                                                                        <boolean value="YES"/>
@@ -10772,10 +10908,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <reference ref="112458239"/>
                                                        <reference ref="796460997"/>
                                                        <reference ref="487526549"/>
-                                                       <reference ref="884471415"/>
                                                        <reference ref="527737261"/>
                                                        <reference ref="902460295"/>
                                                        <reference ref="349581420"/>
+                                                       <reference ref="884471415"/>
                                                </object>
                                                <reference key="parent" ref="1053078401"/>
                                        </object>
@@ -11533,7 +11669,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                        <string>971.IBPluginDependency</string>
                                        <string>973.IBPluginDependency</string>
                                </object>
-                               <object class="NSMutableArray" key="dict.values">
+                               <object class="NSArray" key="dict.values">
                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -11739,7 +11875,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                <object class="IBToolTipAttribute" key="NS.object.0">
                                                        <string key="name">ToolTip</string>
                                                        <reference key="object" ref="581806074"/>
-                                                       <string key="toolTip">Mixed</string>
+                                                       <string key="toolTip">This rearranges the header of the MP4 file to optimize it for streaming across the web.</string>
                                                </object>
                                        </object>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -11820,7 +11956,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                <object class="IBToolTipAttribute" key="NS.object.0">
                                                        <string key="name">ToolTip</string>
                                                        <reference key="object" ref="921877174"/>
-                                                       <string key="toolTip">Mixed</string>
+                                                       <string key="toolTip">This option adds an atom to the MP4 file which allows older iPods (5th Generation classic style) to play the file.</string>
                                                </object>
                                        </object>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -12038,7 +12174,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                <reference key="dict.values" ref="0"/>
                        </object>
                        <nil key="sourceID"/>
-                       <int key="maxID">6003</int>
+                       <int key="maxID">6004</int>
                </object>
                <object class="IBClassDescriber" key="IBDocument.Classes">
                        <object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -12085,7 +12221,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>customSettingUsed:</string>
                                                        <string>deleteFactoryPresets:</string>
                                                        <string>deletePreset:</string>
-                                                       <string>updateX264Widgets:</string>
                                                        <string>encodeStartStopPopUpChanged:</string>
                                                        <string>formatPopUpChanged:</string>
                                                        <string>getDefaultPresets:</string>
@@ -12099,7 +12234,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>selectDefaultPreset:</string>
                                                        <string>selectPreset:</string>
                                                        <string>setDefaultPreset:</string>
-                                                       <string>setupX264PresetsWidgets:</string>
                                                        <string>showAboutPanel:</string>
                                                        <string>showAddPresetPanel:</string>
                                                        <string>showDebugOutputPanel:</string>
@@ -12113,14 +12247,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>startEndSecValueChanged:</string>
                                                        <string>titlePopUpChanged:</string>
                                                        <string>twoPassCheckboxChanged:</string>
+                                                       <string>updateX264Widgets:</string>
                                                        <string>videoEncoderPopUpChanged:</string>
                                                        <string>videoFrameRateChanged:</string>
                                                        <string>videoMatrixChanged:</string>
                                                        <string>x264PresetsChangedDisplayExpandedOptions:</string>
-                                                       <string>x264PresetsSetJobVariables:</string>
                                                        <string>x264PresetsSliderChanged:</string>
                                                </object>
-                                               <object class="NSMutableArray" key="dict.values">
+                                               <object class="NSArray" key="dict.values">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                        <string>id</string>
                                                        <string>id</string>
@@ -12181,8 +12315,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>id</string>
                                                        <string>id</string>
                                                        <string>id</string>
-                                                       <string>id</string>
-                                                       <string>id</string>
                                                </object>
                                        </object>
                                        <object class="NSMutableDictionary" key="actionInfosByName">
@@ -12216,7 +12348,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>customSettingUsed:</string>
                                                        <string>deleteFactoryPresets:</string>
                                                        <string>deletePreset:</string>
-                                                       <string>updateX264Widgets:</string>
                                                        <string>encodeStartStopPopUpChanged:</string>
                                                        <string>formatPopUpChanged:</string>
                                                        <string>getDefaultPresets:</string>
@@ -12230,7 +12361,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>selectDefaultPreset:</string>
                                                        <string>selectPreset:</string>
                                                        <string>setDefaultPreset:</string>
-                                                       <string>setupX264PresetsWidgets:</string>
                                                        <string>showAboutPanel:</string>
                                                        <string>showAddPresetPanel:</string>
                                                        <string>showDebugOutputPanel:</string>
@@ -12244,14 +12374,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>startEndSecValueChanged:</string>
                                                        <string>titlePopUpChanged:</string>
                                                        <string>twoPassCheckboxChanged:</string>
+                                                       <string>updateX264Widgets:</string>
                                                        <string>videoEncoderPopUpChanged:</string>
                                                        <string>videoFrameRateChanged:</string>
                                                        <string>videoMatrixChanged:</string>
                                                        <string>x264PresetsChangedDisplayExpandedOptions:</string>
-                                                       <string>x264PresetsSetJobVariables:</string>
                                                        <string>x264PresetsSliderChanged:</string>
                                                </object>
-                                               <object class="NSMutableArray" key="dict.values">
+                                               <object class="NSArray" key="dict.values">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                        <object class="IBActionInfo">
                                                                <string key="name">Cancel:</string>
@@ -12361,10 +12491,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <string key="name">deletePreset:</string>
                                                                <string key="candidateClassName">id</string>
                                                        </object>
-                                                       <object class="IBActionInfo">
-                                                               <string key="name">updateX264Widgets:</string>
-                                                               <string key="candidateClassName">id</string>
-                                                       </object>
                                                        <object class="IBActionInfo">
                                                                <string key="name">encodeStartStopPopUpChanged:</string>
                                                                <string key="candidateClassName">id</string>
@@ -12417,10 +12543,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <string key="name">setDefaultPreset:</string>
                                                                <string key="candidateClassName">id</string>
                                                        </object>
-                                                       <object class="IBActionInfo">
-                                                               <string key="name">setupX264PresetsWidgets:</string>
-                                                               <string key="candidateClassName">id</string>
-                                                       </object>
                                                        <object class="IBActionInfo">
                                                                <string key="name">showAboutPanel:</string>
                                                                <string key="candidateClassName">id</string>
@@ -12473,6 +12595,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <string key="name">twoPassCheckboxChanged:</string>
                                                                <string key="candidateClassName">id</string>
                                                        </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">updateX264Widgets:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
                                                        <object class="IBActionInfo">
                                                                <string key="name">videoEncoderPopUpChanged:</string>
                                                                <string key="candidateClassName">id</string>
@@ -12489,10 +12615,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <string key="name">x264PresetsChangedDisplayExpandedOptions:</string>
                                                                <string key="candidateClassName">id</string>
                                                        </object>
-                                                       <object class="IBActionInfo">
-                                                               <string key="name">x264PresetsSetJobVariables:</string>
-                                                               <string key="candidateClassName">id</string>
-                                                       </object>
                                                        <object class="IBActionInfo">
                                                                <string key="name">x264PresetsSliderChanged:</string>
                                                                <string key="candidateClassName">id</string>
@@ -12552,6 +12674,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>fQueueStatus</string>
                                                        <string>fRipIndicator</string>
                                                        <string>fSaveChaptersButton</string>
+                                                       <string>fScanHorizontalLine</string>
                                                        <string>fScanIndicator</string>
                                                        <string>fScanSrcTitleCancelButton</string>
                                                        <string>fScanSrcTitleNumField</string>
@@ -12608,7 +12731,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>fX264TunePopUpLabel</string>
                                                        <string>fx264UseAdvancedOptionsCheck</string>
                                                </object>
-                                               <object class="NSMutableArray" key="dict.values">
+                                               <object class="NSArray" key="dict.values">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                        <string>NSPanel</string>
                                                        <string>NSBox</string>
@@ -12619,7 +12742,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>NSButton</string>
                                                        <string>NSBox</string>
                                                        <string>HBAudioController</string>
-                                                       <string>NSButton</string>
+                                                       <string>NSPopUpButton</string>
                                                        <string>NSButton</string>
                                                        <string>NSTableView</string>
                                                        <string>NSTableColumn</string>
@@ -12659,6 +12782,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>NSTextField</string>
                                                        <string>NSProgressIndicator</string>
                                                        <string>NSButton</string>
+                                                       <string>NSBox</string>
                                                        <string>NSProgressIndicator</string>
                                                        <string>NSButton</string>
                                                        <string>NSTextField</string>
@@ -12769,6 +12893,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>fQueueStatus</string>
                                                        <string>fRipIndicator</string>
                                                        <string>fSaveChaptersButton</string>
+                                                       <string>fScanHorizontalLine</string>
                                                        <string>fScanIndicator</string>
                                                        <string>fScanSrcTitleCancelButton</string>
                                                        <string>fScanSrcTitleNumField</string>
@@ -12825,7 +12950,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        <string>fX264TunePopUpLabel</string>
                                                        <string>fx264UseAdvancedOptionsCheck</string>
                                                </object>
-                                               <object class="NSMutableArray" key="dict.values">
+                                               <object class="NSArray" key="dict.values">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                        <object class="IBToOneOutletInfo">
                                                                <string key="name">fAddPresetPanel</string>
@@ -12865,7 +12990,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                        </object>
                                                        <object class="IBToOneOutletInfo">
                                                                <string key="name">fAudioFallbackPopUp</string>
-                                                               <string key="candidateClassName">NSButton</string>
+                                                               <string key="candidateClassName">NSPopUpButton</string>
                                                        </object>
                                                        <object class="IBToOneOutletInfo">
                                                                <string key="name">fBrowseSrtFileButton</string>
@@ -13023,6 +13148,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                                                <string key="name">fSaveChaptersButton</string>
                                                                <string key="candidateClassName">NSButton</string>
                                                        </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fScanHorizontalLine</string>
+                                                               <string key="candidateClassName">NSBox</string>
+                                                       </object>
                                                        <object class="IBToOneOutletInfo">
                                                                <string key="name">fScanIndicator</string>
                                                                <string key="candidateClassName">NSProgressIndicator</string>
@@ -13314,7 +13443,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
                                <string>NSRemoveTemplate</string>
                                <string>NSSwitch</string>
                        </object>
-                       <object class="NSMutableArray" key="dict.values">
+                       <object class="NSArray" key="dict.values">
                                <bool key="EncodedWithXMLCoder">YES</bool>
                                <string>{128, 128}</string>
                                <string>{15, 15}</string>
index 397307a3f410f597289c40184c2cc0a23201614c..4600578592661776754f727c6478d11e3c96dbd8 100644 (file)
@@ -2,10 +2,10 @@
 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
        <data>
                <int key="IBDocument.SystemTarget">1050</int>
-               <string key="IBDocument.SystemVersion">11C74</string>
-               <string key="IBDocument.InterfaceBuilderVersion">1938</string>
-               <string key="IBDocument.AppKitVersion">1138.23</string>
-               <string key="IBDocument.HIToolboxVersion">567.00</string>
+               <string key="IBDocument.SystemVersion">12D61</string>
+               <string key="IBDocument.InterfaceBuilderVersion">3084</string>
+               <string key="IBDocument.AppKitVersion">1187.37</string>
+               <string key="IBDocument.HIToolboxVersion">626.00</string>
                <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
                        <bool key="EncodedWithXMLCoder">YES</bool>
                        <object class="NSArray" key="dict.sortedKeys">
                                <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                <string>com.apple.QTKitIBPlugin</string>
                        </object>
-                       <object class="NSMutableArray" key="dict.values">
+                       <object class="NSArray" key="dict.values">
                                <bool key="EncodedWithXMLCoder">YES</bool>
-                               <string>1938</string>
-                               <string>822</string>
+                               <string>3084</string>
+                               <string>2053</string>
                        </object>
                </object>
                <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
-                       <string>NSPopUpButton</string>
+                       <string>NSBox</string>
                        <string>NSButton</string>
+                       <string>NSButtonCell</string>
+                       <string>NSCustomObject</string>
                        <string>NSMenu</string>
-                       <string>NSTextFieldCell</string>
                        <string>NSMenuItem</string>
-                       <string>NSButtonCell</string>
-                       <string>NSBox</string>
+                       <string>NSPopUpButton</string>
+                       <string>NSPopUpButtonCell</string>
                        <string>NSProgressIndicator</string>
-                       <string>NSImageView</string>
-                       <string>NSImageCell</string>
-                       <string>QTMovieView</string>
                        <string>NSSlider</string>
                        <string>NSSliderCell</string>
-                       <string>NSCustomObject</string>
+                       <string>NSTextField</string>
+                       <string>NSTextFieldCell</string>
                        <string>NSView</string>
                        <string>NSWindowTemplate</string>
-                       <string>NSTextField</string>
-                       <string>NSPopUpButtonCell</string>
+                       <string>QTMovieView</string>
                </object>
                <object class="NSArray" key="IBDocument.PluginDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
                                        <int key="NSvFlags">274</int>
                                        <object class="NSMutableArray" key="NSSubviews">
                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                               <object class="NSBox" id="289177107">
+                                               <object class="QTMovieView" id="48693112">
                                                        <reference key="NSNextResponder" ref="49161063"/>
-                                                       <int key="NSvFlags">18</int>
+                                                       <int key="NSvFlags">274</int>
+                                                       <object class="NSMutableSet" key="NSDragTypes">
+                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                               <object class="NSArray" key="set.sortedObjects">
+                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                       <string>Apple URL pasteboard type</string>
+                                                                       <string>CorePasteboardFlavorType 0x6D6F6F76</string>
+                                                                       <string>NSFilenamesPboardType</string>
+                                                                       <string>QTMoviePasteboardType</string>
+                                                               </object>
+                                                       </object>
+                                                       <string key="NSFrameSize">{480, 360}</string>
+                                                       <reference key="NSSuperview" ref="49161063"/>
+                                                       <reference key="NSWindow"/>
+                                                       <reference key="NSNextKeyView" ref="768906858"/>
+                                                       <object class="NSColor" key="kCoderFillColor">
+                                                               <int key="NSColorSpace">1</int>
+                                                               <bytes key="NSRGB">MC44MDAwMDAwMSAwLjgwMDAwMDAxIDAuODAwMDAwMDEAA</bytes>
+                                                       </object>
+                                                       <boolean value="YES" key="kCoderControllerVisible"/>
+                                                       <boolean value="YES" key="kCoderPreservesAspectRatio"/>
+                                                       <nil key="kCoderMovie"/>
+                                                       <boolean value="NO" key="kCoderEditable"/>
+                                               </object>
+                                               <object class="NSBox" id="92351498">
+                                                       <reference key="NSNextResponder" ref="49161063"/>
+                                                       <int key="NSvFlags">-2147483611</int>
                                                        <object class="NSMutableArray" key="NSSubviews">
                                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                                               <object class="NSView" id="353606868">
-                                                                       <reference key="NSNextResponder" ref="289177107"/>
+                                                               <object class="NSView" id="385854969">
+                                                                       <reference key="NSNextResponder" ref="92351498"/>
                                                                        <int key="NSvFlags">274</int>
                                                                        <object class="NSMutableArray" key="NSSubviews">
                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                               <object class="NSImageView" id="844127024">
-                                                                                       <reference key="NSNextResponder" ref="353606868"/>
-                                                                                       <int key="NSvFlags">274</int>
-                                                                                       <object class="NSMutableSet" key="NSDragTypes">
+                                                                               <object class="NSButton" id="798240356">
+                                                                                       <reference key="NSNextResponder" ref="385854969"/>
+                                                                                       <int key="NSvFlags">292</int>
+                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                       </object>
+                                                                                       <string key="NSFrame">{{17, 11}, {77, 16}}</string>
+                                                                                       <reference key="NSSuperview" ref="385854969"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="66510867"/>
+                                                                                       <object class="NSArray" key="NSViewContentFilters">
                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                               <object class="NSArray" key="set.sortedObjects">
-                                                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                       <string>Apple PDF pasteboard type</string>
-                                                                                                       <string>Apple PICT pasteboard type</string>
-                                                                                                       <string>Apple PNG pasteboard type</string>
-                                                                                                       <string>NSFilenamesPboardType</string>
-                                                                                                       <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
-                                                                                                       <string>NeXT TIFF v4.0 pasteboard type</string>
+                                                                                               <object class="CIColorMonochrome">
+                                                                                                       <object class="CIColor" key="CI_inputColor">
+                                                                                                               <float key="red">0.70196080207824707</float>
+                                                                                                               <float key="green">0.70196080207824707</float>
+                                                                                                               <float key="blue">0.70196080207824707</float>
+                                                                                                               <float key="alpha">1</float>
+                                                                                                       </object>
+                                                                                                       <integer value="1" key="CI_inputIntensity"/>
+                                                                                                       <bool key="CIEnabled">YES</bool>
                                                                                                </object>
                                                                                        </object>
-                                                                                       <string key="NSFrame">{{-3, -3}, {488, 368}}</string>
-                                                                                       <reference key="NSSuperview" ref="353606868"/>
-                                                                                       <reference key="NSNextKeyView" ref="48693112"/>
                                                                                        <bool key="NSEnabled">YES</bool>
-                                                                                       <object class="NSImageCell" key="NSCell" id="955430771">
-                                                                                               <int key="NSCellFlags">130560</int>
-                                                                                               <int key="NSCellFlags2">33554432</int>
-                                                                                               <int key="NSAlign">0</int>
-                                                                                               <int key="NSScale">1</int>
-                                                                                               <int key="NSStyle">3</int>
-                                                                                               <bool key="NSAnimates">NO</bool>
+                                                                                       <object class="NSButtonCell" key="NSCell" id="975305481">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">134479872</int>
+                                                                                               <string key="NSContents">Live Preview</string>
+                                                                                               <object class="NSFont" key="NSSupport" id="22">
+                                                                                                       <string key="NSName">LucidaGrande</string>
+                                                                                                       <double key="NSSize">9</double>
+                                                                                                       <int key="NSfFlags">3614</int>
+                                                                                               </object>
+                                                                                               <reference key="NSControlView" ref="798240356"/>
+                                                                                               <int key="NSButtonFlags">-2038284288</int>
+                                                                                               <int key="NSButtonFlags2">129</int>
+                                                                                               <reference key="NSAlternateImage" ref="22"/>
+                                                                                               <string key="NSAlternateContents"/>
+                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                               <int key="NSPeriodicInterval">25</int>
                                                                                        </object>
-                                                                                       <bool key="NSEditable">YES</bool>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                </object>
-                                                                               <object class="QTMovieView" id="48693112">
-                                                                                       <reference key="NSNextResponder" ref="353606868"/>
-                                                                                       <int key="NSvFlags">274</int>
-                                                                                       <object class="NSMutableSet" key="NSDragTypes">
+                                                                               <object class="NSButton" id="141370142">
+                                                                                       <reference key="NSNextResponder" ref="385854969"/>
+                                                                                       <int key="NSvFlags">289</int>
+                                                                                       <object class="NSMutableArray" key="NSSubviews">
                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                               <object class="NSArray" key="set.sortedObjects">
-                                                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                       <string>Apple URL pasteboard type</string>
-                                                                                                       <string>CorePasteboardFlavorType 0x6D6F6F76</string>
-                                                                                                       <string>NSFilenamesPboardType</string>
-                                                                                                       <string>QTMoviePasteboardType</string>
+                                                                                       </object>
+                                                                                       <string key="NSFrame">{{370, 11}, {59, 16}}</string>
+                                                                                       <reference key="NSSuperview" ref="385854969"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="700607930"/>
+                                                                                       <object class="NSArray" key="NSViewContentFilters">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="CIColorMonochrome">
+                                                                                                       <object class="CIColor" key="CI_inputColor">
+                                                                                                               <float key="red">0.70196080207824707</float>
+                                                                                                               <float key="green">0.70196080207824707</float>
+                                                                                                               <float key="blue">0.70196080207824707</float>
+                                                                                                               <float key="alpha">1</float>
+                                                                                                       </object>
+                                                                                                       <integer value="1" key="CI_inputIntensity"/>
+                                                                                                       <bool key="CIEnabled">YES</bool>
                                                                                                </object>
                                                                                        </object>
-                                                                                       <string key="NSFrameSize">{482, 362}</string>
-                                                                                       <reference key="NSSuperview" ref="353606868"/>
-                                                                                       <reference key="NSNextKeyView" ref="768906858"/>
-                                                                                       <object class="NSColor" key="kCoderFillColor">
-                                                                                               <int key="NSColorSpace">1</int>
-                                                                                               <bytes key="NSRGB">MC44MDAwMDAwMSAwLjgwMDAwMDAxIDAuODAwMDAwMDEAA</bytes>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSButtonCell" key="NSCell" id="606007744">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">134479872</int>
+                                                                                               <string key="NSContents">Settings</string>
+                                                                                               <reference key="NSSupport" ref="22"/>
+                                                                                               <reference key="NSControlView" ref="141370142"/>
+                                                                                               <int key="NSButtonFlags">-2038284288</int>
+                                                                                               <int key="NSButtonFlags2">129</int>
+                                                                                               <reference key="NSAlternateImage" ref="22"/>
+                                                                                               <string key="NSAlternateContents"/>
+                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                               <int key="NSPeriodicInterval">25</int>
                                                                                        </object>
-                                                                                       <boolean value="YES" key="kCoderControllerVisible"/>
-                                                                                       <boolean value="YES" key="kCoderPreservesAspectRatio"/>
-                                                                                       <nil key="kCoderMovie"/>
-                                                                                       <boolean value="NO" key="kCoderEditable"/>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                </object>
-                                                                               <object class="NSBox" id="92351498">
-                                                                                       <reference key="NSNextResponder" ref="353606868"/>
-                                                                                       <int key="NSvFlags">-2147483611</int>
+                                                                               <object class="NSButton" id="81685190">
+                                                                                       <reference key="NSNextResponder" ref="385854969"/>
+                                                                                       <int key="NSvFlags">289</int>
                                                                                        <object class="NSMutableArray" key="NSSubviews">
                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                               <object class="NSView" id="385854969">
-                                                                                                       <reference key="NSNextResponder" ref="92351498"/>
-                                                                                                       <int key="NSvFlags">274</int>
-                                                                                                       <object class="NSMutableArray" key="NSSubviews">
-                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                               <object class="NSButton" id="798240356">
-                                                                                                                       <reference key="NSNextResponder" ref="385854969"/>
-                                                                                                                       <int key="NSvFlags">292</int>
-                                                                                                                       <string key="NSFrame">{{20, 9}, {77, 16}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="385854969"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="66510867"/>
-                                                                                                                       <object class="NSArray" key="NSViewContentFilters">
-                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                               <object class="CIColorMonochrome">
-                                                                                                                                       <object class="CIColor" key="CI_inputColor">
-                                                                                                                                               <float key="red">0.70196080207824707</float>
-                                                                                                                                               <float key="green">0.70196080207824707</float>
-                                                                                                                                               <float key="blue">0.70196080207824707</float>
-                                                                                                                                               <float key="alpha">1</float>
-                                                                                                                                       </object>
-                                                                                                                                       <integer value="1" key="CI_inputIntensity"/>
-                                                                                                                                       <bool key="CIEnabled">YES</bool>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSButtonCell" key="NSCell" id="975305481">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">134479872</int>
-                                                                                                                               <string key="NSContents">Live Preview</string>
-                                                                                                                               <object class="NSFont" key="NSSupport" id="22">
-                                                                                                                                       <string key="NSName">LucidaGrande</string>
-                                                                                                                                       <double key="NSSize">9</double>
-                                                                                                                                       <int key="NSfFlags">3614</int>
-                                                                                                                               </object>
-                                                                                                                               <reference key="NSControlView" ref="798240356"/>
-                                                                                                                               <int key="NSButtonFlags">-2038284033</int>
-                                                                                                                               <int key="NSButtonFlags2">129</int>
-                                                                                                                               <reference key="NSAlternateImage" ref="22"/>
-                                                                                                                               <string key="NSAlternateContents"/>
-                                                                                                                               <string key="NSKeyEquivalent"/>
-                                                                                                                               <int key="NSPeriodicDelay">200</int>
-                                                                                                                               <int key="NSPeriodicInterval">25</int>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSButton" id="141370142">
-                                                                                                                       <reference key="NSNextResponder" ref="385854969"/>
-                                                                                                                       <int key="NSvFlags">289</int>
-                                                                                                                       <string key="NSFrame">{{357, 10}, {59, 16}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="385854969"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="700607930"/>
-                                                                                                                       <object class="NSArray" key="NSViewContentFilters">
-                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                               <object class="CIColorMonochrome">
-                                                                                                                                       <object class="CIColor" key="CI_inputColor">
-                                                                                                                                               <float key="red">0.70196080207824707</float>
-                                                                                                                                               <float key="green">0.70196080207824707</float>
-                                                                                                                                               <float key="blue">0.70196080207824707</float>
-                                                                                                                                               <float key="alpha">1</float>
-                                                                                                                                       </object>
-                                                                                                                                       <integer value="1" key="CI_inputIntensity"/>
-                                                                                                                                       <bool key="CIEnabled">YES</bool>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSButtonCell" key="NSCell" id="606007744">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">134479872</int>
-                                                                                                                               <string key="NSContents">Settings</string>
-                                                                                                                               <reference key="NSSupport" ref="22"/>
-                                                                                                                               <reference key="NSControlView" ref="141370142"/>
-                                                                                                                               <int key="NSButtonFlags">-2038284033</int>
-                                                                                                                               <int key="NSButtonFlags2">129</int>
-                                                                                                                               <reference key="NSAlternateImage" ref="22"/>
-                                                                                                                               <string key="NSAlternateContents"/>
-                                                                                                                               <string key="NSKeyEquivalent"/>
-                                                                                                                               <int key="NSPeriodicDelay">200</int>
-                                                                                                                               <int key="NSPeriodicInterval">25</int>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSButton" id="81685190">
-                                                                                                                       <reference key="NSNextResponder" ref="385854969"/>
-                                                                                                                       <int key="NSvFlags">289</int>
-                                                                                                                       <string key="NSFrame">{{259, 10}, {92, 16}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="385854969"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="141370142"/>
-                                                                                                                       <object class="NSArray" key="NSViewContentFilters">
-                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                               <object class="CIColorMonochrome">
-                                                                                                                                       <object class="CIColor" key="CI_inputColor">
-                                                                                                                                               <float key="red">0.70196080207824707</float>
-                                                                                                                                               <float key="green">0.70196080207824707</float>
-                                                                                                                                               <float key="blue">0.70196080207824707</float>
-                                                                                                                                               <float key="alpha">1</float>
-                                                                                                                                       </object>
-                                                                                                                                       <integer value="1" key="CI_inputIntensity"/>
-                                                                                                                                       <bool key="CIEnabled">YES</bool>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSButtonCell" key="NSCell" id="847033897">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">134479872</int>
-                                                                                                                               <string key="NSContents">Scale To Screen</string>
-                                                                                                                               <reference key="NSSupport" ref="22"/>
-                                                                                                                               <reference key="NSControlView" ref="81685190"/>
-                                                                                                                               <int key="NSButtonFlags">-2038284033</int>
-                                                                                                                               <int key="NSButtonFlags2">129</int>
-                                                                                                                               <object class="NSFont" key="NSAlternateImage" id="354866114">
-                                                                                                                                       <string key="NSName">LucidaGrande</string>
-                                                                                                                                       <double key="NSSize">9</double>
-                                                                                                                                       <int key="NSfFlags">16</int>
-                                                                                                                               </object>
-                                                                                                                               <string key="NSAlternateContents"/>
-                                                                                                                               <string key="NSKeyEquivalent"/>
-                                                                                                                               <int key="NSPeriodicDelay">200</int>
-                                                                                                                               <int key="NSPeriodicInterval">25</int>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSTextField" id="66510867">
-                                                                                                                       <reference key="NSNextResponder" ref="385854969"/>
-                                                                                                                       <int key="NSvFlags">289</int>
-                                                                                                                       <string key="NSFrame">{{101, 14}, {75, 11}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="385854969"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="598619000"/>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="567286013">
-                                                                                                                               <int key="NSCellFlags">68288064</int>
-                                                                                                                               <int key="NSCellFlags2">71566336</int>
-                                                                                                                               <string key="NSContents">Duration (sec):</string>
-                                                                                                                               <object class="NSFont" key="NSSupport" id="811969608">
-                                                                                                                                       <string key="NSName">LucidaGrande-Bold</string>
-                                                                                                                                       <double key="NSSize">9</double>
-                                                                                                                                       <int key="NSfFlags">16</int>
-                                                                                                                               </object>
-                                                                                                                               <reference key="NSControlView" ref="66510867"/>
-                                                                                                                               <object class="NSColor" key="NSBackgroundColor" id="407686733">
-                                                                                                                                       <int key="NSColorSpace">6</int>
-                                                                                                                                       <string key="NSCatalogName">System</string>
-                                                                                                                                       <string key="NSColorName">controlColor</string>
-                                                                                                                                       <object class="NSColor" key="NSColor">
-                                                                                                                                               <int key="NSColorSpace">3</int>
-                                                                                                                                               <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
-                                                                                                                                       </object>
-                                                                                                                               </object>
-                                                                                                                               <object class="NSColor" key="NSTextColor">
-                                                                                                                                       <int key="NSColorSpace">1</int>
-                                                                                                                                       <bytes key="NSRGB">MC44MDAwMDAwMSAwLjgwMDAwMDAxIDAuODAwMDAwMDEAA</bytes>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSPopUpButton" id="598619000">
-                                                                                                                       <reference key="NSNextResponder" ref="385854969"/>
-                                                                                                                       <int key="NSvFlags">289</int>
-                                                                                                                       <string key="NSFrame">{{184, 11}, {58, 15}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="385854969"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="81685190"/>
-                                                                                                                       <object class="NSArray" key="NSViewContentFilters">
-                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                               <object class="CIColorMonochrome">
-                                                                                                                                       <object class="CIColor" key="CI_inputColor">
-                                                                                                                                               <float key="red">0.70196080207824707</float>
-                                                                                                                                               <float key="green">0.70196080207824707</float>
-                                                                                                                                               <float key="blue">0.70196080207824707</float>
-                                                                                                                                               <float key="alpha">1</float>
-                                                                                                                                       </object>
-                                                                                                                                       <integer value="1" key="CI_inputIntensity"/>
-                                                                                                                                       <bool key="CIEnabled">YES</bool>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSPopUpButtonCell" key="NSCell" id="953108737">
-                                                                                                                               <int key="NSCellFlags">-2076049856</int>
-                                                                                                                               <int key="NSCellFlags2">264192</int>
-                                                                                                                               <reference key="NSSupport" ref="22"/>
-                                                                                                                               <reference key="NSControlView" ref="598619000"/>
-                                                                                                                               <int key="NSButtonFlags">109199615</int>
-                                                                                                                               <int key="NSButtonFlags2">1</int>
-                                                                                                                               <string key="NSAlternateContents"/>
-                                                                                                                               <string key="NSKeyEquivalent"/>
-                                                                                                                               <int key="NSPeriodicDelay">400</int>
-                                                                                                                               <int key="NSPeriodicInterval">75</int>
-                                                                                                                               <object class="NSMenuItem" key="NSMenuItem" id="372655630">
-                                                                                                                                       <reference key="NSMenu" ref="501672847"/>
-                                                                                                                                       <string key="NSTitle">Item 1</string>
-                                                                                                                                       <string key="NSKeyEquiv"/>
-                                                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
-                                                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
-                                                                                                                                       <int key="NSState">1</int>
-                                                                                                                                       <object class="NSCustomResource" key="NSOnImage" id="858043985">
-                                                                                                                                               <string key="NSClassName">NSImage</string>
-                                                                                                                                               <string key="NSResourceName">NSMenuCheckmark</string>
-                                                                                                                                       </object>
-                                                                                                                                       <object class="NSCustomResource" key="NSMixedImage" id="700487240">
-                                                                                                                                               <string key="NSClassName">NSImage</string>
-                                                                                                                                               <string key="NSResourceName">NSMenuMixedState</string>
-                                                                                                                                       </object>
-                                                                                                                                       <string key="NSAction">_popUpItemAction:</string>
-                                                                                                                                       <reference key="NSTarget" ref="953108737"/>
-                                                                                                                               </object>
-                                                                                                                               <bool key="NSMenuItemRespectAlignment">YES</bool>
-                                                                                                                               <object class="NSMenu" key="NSMenu" id="501672847">
-                                                                                                                                       <string key="NSTitle">OtherViews</string>
-                                                                                                                                       <object class="NSMutableArray" key="NSMenuItems">
-                                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                                               <reference ref="372655630"/>
-                                                                                                                                               <object class="NSMenuItem" id="607756368">
-                                                                                                                                                       <reference key="NSMenu" ref="501672847"/>
-                                                                                                                                                       <string key="NSTitle">Item 2</string>
-                                                                                                                                                       <string key="NSKeyEquiv"/>
-                                                                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
-                                                                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
-                                                                                                                                                       <reference key="NSOnImage" ref="858043985"/>
-                                                                                                                                                       <reference key="NSMixedImage" ref="700487240"/>
-                                                                                                                                                       <string key="NSAction">_popUpItemAction:</string>
-                                                                                                                                                       <reference key="NSTarget" ref="953108737"/>
-                                                                                                                                               </object>
-                                                                                                                                               <object class="NSMenuItem" id="272743761">
-                                                                                                                                                       <reference key="NSMenu" ref="501672847"/>
-                                                                                                                                                       <string key="NSTitle">Item 3</string>
-                                                                                                                                                       <string key="NSKeyEquiv"/>
-                                                                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
-                                                                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
-                                                                                                                                                       <reference key="NSOnImage" ref="858043985"/>
-                                                                                                                                                       <reference key="NSMixedImage" ref="700487240"/>
-                                                                                                                                                       <string key="NSAction">_popUpItemAction:</string>
-                                                                                                                                                       <reference key="NSTarget" ref="953108737"/>
-                                                                                                                                               </object>
-                                                                                                                                       </object>
-                                                                                                                               </object>
-                                                                                                                               <int key="NSPreferredEdge">1</int>
-                                                                                                                               <bool key="NSUsesItemFromMenu">YES</bool>
-                                                                                                                               <bool key="NSAltersState">YES</bool>
-                                                                                                                               <int key="NSArrowPosition">2</int>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSSlider" id="396925210">
-                                                                                                                       <reference key="NSNextResponder" ref="385854969"/>
-                                                                                                                       <int key="NSvFlags">290</int>
-                                                                                                                       <string key="NSFrame">{{18, 39}, {402, 16}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="385854969"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="798240356"/>
-                                                                                                                       <object class="NSArray" key="NSViewContentFilters">
-                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                               <object class="CIColorMonochrome">
-                                                                                                                                       <object class="CIColor" key="CI_inputColor">
-                                                                                                                                               <float key="red">0.70196080207824707</float>
-                                                                                                                                               <float key="green">0.70196080207824707</float>
-                                                                                                                                               <float key="blue">0.70196080207824707</float>
-                                                                                                                                               <float key="alpha">1</float>
-                                                                                                                                       </object>
-                                                                                                                                       <integer value="1" key="CI_inputIntensity"/>
-                                                                                                                                       <bool key="CIEnabled">YES</bool>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSSliderCell" key="NSCell" id="639767004">
-                                                                                                                               <int key="NSCellFlags">67501824</int>
-                                                                                                                               <int key="NSCellFlags2">262144</int>
-                                                                                                                               <string key="NSContents"/>
-                                                                                                                               <reference key="NSSupport" ref="22"/>
-                                                                                                                               <reference key="NSControlView" ref="396925210"/>
-                                                                                                                               <double key="NSMaxValue">9</double>
-                                                                                                                               <double key="NSMinValue">0.0</double>
-                                                                                                                               <double key="NSValue">0.0</double>
-                                                                                                                               <double key="NSAltIncValue">0.0</double>
-                                                                                                                               <int key="NSNumberOfTickMarks">10</int>
-                                                                                                                               <int key="NSTickMarkPosition">1</int>
-                                                                                                                               <bool key="NSAllowsTickMarkValuesOnly">YES</bool>
-                                                                                                                               <bool key="NSVertical">NO</bool>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSTextField" id="628196212">
-                                                                                                                       <reference key="NSNextResponder" ref="385854969"/>
-                                                                                                                       <int key="NSvFlags">290</int>
-                                                                                                                       <string key="NSFrame">{{15, 55}, {408, 20}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="385854969"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="396925210"/>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="921881842">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">4325376</int>
-                                                                                                                               <string key="NSContents"/>
-                                                                                                                               <object class="NSFont" key="NSSupport" id="476446081">
-                                                                                                                                       <string key="NSName">LucidaGrande-Bold</string>
-                                                                                                                                       <double key="NSSize">11</double>
-                                                                                                                                       <int key="NSfFlags">16</int>
-                                                                                                                               </object>
-                                                                                                                               <reference key="NSControlView" ref="628196212"/>
-                                                                                                                               <bool key="NSDrawsBackground">YES</bool>
-                                                                                                                               <reference key="NSBackgroundColor" ref="407686733"/>
-                                                                                                                               <object class="NSColor" key="NSTextColor" id="978544139">
-                                                                                                                                       <int key="NSColorSpace">1</int>
-                                                                                                                                       <bytes key="NSRGB">MSAxIDEAA</bytes>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSTextField" id="245200984">
-                                                                                                                       <reference key="NSNextResponder" ref="385854969"/>
-                                                                                                                       <int key="NSvFlags">290</int>
-                                                                                                                       <string key="NSFrame">{{16, 80}, {408, 12}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="385854969"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="628196212"/>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="1032360651">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">4456448</int>
-                                                                                                                               <string key="NSContents"/>
-                                                                                                                               <reference key="NSSupport" ref="811969608"/>
-                                                                                                                               <reference key="NSControlView" ref="245200984"/>
-                                                                                                                               <bool key="NSDrawsBackground">YES</bool>
-                                                                                                                               <reference key="NSBackgroundColor" ref="407686733"/>
-                                                                                                                               <reference key="NSTextColor" ref="978544139"/>
-                                                                                                                       </object>
-                                                                                                               </object>
+                                                                                       </object>
+                                                                                       <string key="NSFrame">{{272, 11}, {92, 16}}</string>
+                                                                                       <reference key="NSSuperview" ref="385854969"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="141370142"/>
+                                                                                       <object class="NSArray" key="NSViewContentFilters">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="CIColorMonochrome">
+                                                                                                       <object class="CIColor" key="CI_inputColor">
+                                                                                                               <float key="red">0.70196080207824707</float>
+                                                                                                               <float key="green">0.70196080207824707</float>
+                                                                                                               <float key="blue">0.70196080207824707</float>
+                                                                                                               <float key="alpha">1</float>
                                                                                                        </object>
-                                                                                                       <string key="NSFrame">{{1, 1}, {438, 97}}</string>
-                                                                                                       <reference key="NSSuperview" ref="92351498"/>
-                                                                                                       <reference key="NSNextKeyView" ref="245200984"/>
+                                                                                                       <integer value="1" key="CI_inputIntensity"/>
+                                                                                                       <bool key="CIEnabled">YES</bool>
                                                                                                </object>
                                                                                        </object>
-                                                                                       <string key="NSFrame">{{21, 121}, {440, 99}}</string>
-                                                                                       <reference key="NSSuperview" ref="353606868"/>
-                                                                                       <reference key="NSNextKeyView" ref="385854969"/>
-                                                                                       <string key="NSOffsets">{0, 0}</string>
-                                                                                       <object class="NSTextFieldCell" key="NSTitleCell">
-                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                               <int key="NSCellFlags2">0</int>
-                                                                                               <string key="NSContents">Picture Controls</string>
-                                                                                               <object class="NSFont" key="NSSupport" id="26">
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSButtonCell" key="NSCell" id="847033897">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">134479872</int>
+                                                                                               <string key="NSContents">Scale To Screen</string>
+                                                                                               <reference key="NSSupport" ref="22"/>
+                                                                                               <reference key="NSControlView" ref="81685190"/>
+                                                                                               <int key="NSButtonFlags">-2038284288</int>
+                                                                                               <int key="NSButtonFlags2">129</int>
+                                                                                               <object class="NSFont" key="NSAlternateImage" id="354866114">
                                                                                                        <string key="NSName">LucidaGrande</string>
-                                                                                                       <double key="NSSize">11</double>
-                                                                                                       <int key="NSfFlags">3100</int>
+                                                                                                       <double key="NSSize">9</double>
+                                                                                                       <int key="NSfFlags">16</int>
+                                                                                               </object>
+                                                                                               <string key="NSAlternateContents"/>
+                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                               <int key="NSPeriodicInterval">25</int>
+                                                                                       </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                               <object class="NSTextField" id="66510867">
+                                                                                       <reference key="NSNextResponder" ref="385854969"/>
+                                                                                       <int key="NSvFlags">289</int>
+                                                                                       <string key="NSFrame">{{108, 14}, {75, 11}}</string>
+                                                                                       <reference key="NSSuperview" ref="385854969"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="598619000"/>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSTextFieldCell" key="NSCell" id="567286013">
+                                                                                               <int key="NSCellFlags">68157504</int>
+                                                                                               <int key="NSCellFlags2">71566336</int>
+                                                                                               <string key="NSContents">Duration (sec):</string>
+                                                                                               <object class="NSFont" key="NSSupport" id="811969608">
+                                                                                                       <string key="NSName">LucidaGrande-Bold</string>
+                                                                                                       <double key="NSSize">9</double>
+                                                                                                       <int key="NSfFlags">16</int>
                                                                                                </object>
-                                                                                               <object class="NSColor" key="NSBackgroundColor" id="384686844">
+                                                                                               <reference key="NSControlView" ref="66510867"/>
+                                                                                               <object class="NSColor" key="NSBackgroundColor" id="407686733">
                                                                                                        <int key="NSColorSpace">6</int>
                                                                                                        <string key="NSCatalogName">System</string>
-                                                                                                       <string key="NSColorName">textBackgroundColor</string>
+                                                                                                       <string key="NSColorName">controlColor</string>
                                                                                                        <object class="NSColor" key="NSColor">
                                                                                                                <int key="NSColorSpace">3</int>
-                                                                                                               <bytes key="NSWhite">MQA</bytes>
+                                                                                                               <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
                                                                                                        </object>
                                                                                                </object>
-                                                                                               <object class="NSColor" key="NSTextColor">
-                                                                                                       <int key="NSColorSpace">3</int>
-                                                                                                       <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+                                                                                               <object class="NSColor" key="NSTextColor" id="978544139">
+                                                                                                       <int key="NSColorSpace">1</int>
+                                                                                                       <bytes key="NSRGB">MSAxIDEAA</bytes>
                                                                                                </object>
                                                                                        </object>
-                                                                                       <reference key="NSContentView" ref="385854969"/>
-                                                                                       <int key="NSBorderType">1</int>
-                                                                                       <int key="NSBoxType">4</int>
-                                                                                       <int key="NSTitlePosition">0</int>
-                                                                                       <bool key="NSTransparent">NO</bool>
-                                                                                       <double key="NSCornerRadius2">12</double>
-                                                                                       <object class="NSColor" key="NSBorderColor2">
-                                                                                               <int key="NSColorSpace">1</int>
-                                                                                               <bytes key="NSRGB">MSAxIDEgMC41AA</bytes>
-                                                                                       </object>
-                                                                                       <object class="NSColor" key="NSFillColor2">
-                                                                                               <int key="NSColorSpace">1</int>
-                                                                                               <bytes key="NSRGB">MCAwIDAgMC42AA</bytes>
-                                                                                       </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                </object>
-                                                                               <object class="NSBox" id="700607930">
-                                                                                       <reference key="NSNextResponder" ref="353606868"/>
-                                                                                       <int key="NSvFlags">-2147483611</int>
-                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                               <object class="NSPopUpButton" id="598619000">
+                                                                                       <reference key="NSNextResponder" ref="385854969"/>
+                                                                                       <int key="NSvFlags">289</int>
+                                                                                       <string key="NSFrame">{{187, 12}, {58, 15}}</string>
+                                                                                       <reference key="NSSuperview" ref="385854969"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="81685190"/>
+                                                                                       <object class="NSArray" key="NSViewContentFilters">
                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                               <object class="NSView" id="1068222891">
-                                                                                                       <reference key="NSNextResponder" ref="700607930"/>
-                                                                                                       <int key="NSvFlags">274</int>
-                                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                                               <object class="CIColorMonochrome">
+                                                                                                       <object class="CIColor" key="CI_inputColor">
+                                                                                                               <float key="red">0.70196080207824707</float>
+                                                                                                               <float key="green">0.70196080207824707</float>
+                                                                                                               <float key="blue">0.70196080207824707</float>
+                                                                                                               <float key="alpha">1</float>
+                                                                                                       </object>
+                                                                                                       <integer value="1" key="CI_inputIntensity"/>
+                                                                                                       <bool key="CIEnabled">YES</bool>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSPopUpButtonCell" key="NSCell" id="953108737">
+                                                                                               <int key="NSCellFlags">-2076180416</int>
+                                                                                               <int key="NSCellFlags2">264192</int>
+                                                                                               <reference key="NSSupport" ref="22"/>
+                                                                                               <reference key="NSControlView" ref="598619000"/>
+                                                                                               <int key="NSButtonFlags">109199360</int>
+                                                                                               <int key="NSButtonFlags2">1</int>
+                                                                                               <string key="NSAlternateContents"/>
+                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                               <int key="NSPeriodicDelay">400</int>
+                                                                                               <int key="NSPeriodicInterval">75</int>
+                                                                                               <object class="NSMenuItem" key="NSMenuItem" id="372655630">
+                                                                                                       <reference key="NSMenu" ref="501672847"/>
+                                                                                                       <string key="NSTitle">Item 1</string>
+                                                                                                       <string key="NSKeyEquiv"/>
+                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
+                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
+                                                                                                       <int key="NSState">1</int>
+                                                                                                       <object class="NSCustomResource" key="NSOnImage" id="858043985">
+                                                                                                               <string key="NSClassName">NSImage</string>
+                                                                                                               <string key="NSResourceName">NSMenuCheckmark</string>
+                                                                                                       </object>
+                                                                                                       <object class="NSCustomResource" key="NSMixedImage" id="700487240">
+                                                                                                               <string key="NSClassName">NSImage</string>
+                                                                                                               <string key="NSResourceName">NSMenuMixedState</string>
+                                                                                                       </object>
+                                                                                                       <string key="NSAction">_popUpItemAction:</string>
+                                                                                                       <reference key="NSTarget" ref="953108737"/>
+                                                                                               </object>
+                                                                                               <bool key="NSMenuItemRespectAlignment">YES</bool>
+                                                                                               <object class="NSMenu" key="NSMenu" id="501672847">
+                                                                                                       <string key="NSTitle">OtherViews</string>
+                                                                                                       <object class="NSMutableArray" key="NSMenuItems">
                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                               <object class="NSSlider" id="886140787">
-                                                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
-                                                                                                                       <int key="NSvFlags">290</int>
-                                                                                                                       <string key="NSFrame">{{18, 27}, {407, 21}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="1068222891"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="964331174"/>
-                                                                                                                       <object class="NSArray" key="NSViewContentFilters">
-                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                               <object class="CIColorMonochrome">
-                                                                                                                                       <object class="CIColor" key="CI_inputColor">
-                                                                                                                                               <float key="red">0.70196080207824707</float>
-                                                                                                                                               <float key="green">0.70196080207824707</float>
-                                                                                                                                               <float key="blue">0.70196080207824707</float>
-                                                                                                                                               <float key="alpha">1</float>
-                                                                                                                                       </object>
-                                                                                                                                       <integer value="1" key="CI_inputIntensity"/>
-                                                                                                                                       <bool key="CIEnabled">YES</bool>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSSliderCell" key="NSCell" id="493667684">
-                                                                                                                               <int key="NSCellFlags">67501824</int>
-                                                                                                                               <int key="NSCellFlags2">0</int>
-                                                                                                                               <string key="NSContents"/>
-                                                                                                                               <reference key="NSControlView" ref="886140787"/>
-                                                                                                                               <double key="NSMaxValue">100</double>
-                                                                                                                               <double key="NSMinValue">0.0</double>
-                                                                                                                               <double key="NSValue">0.0</double>
-                                                                                                                               <double key="NSAltIncValue">0.0</double>
-                                                                                                                               <int key="NSNumberOfTickMarks">0</int>
-                                                                                                                               <int key="NSTickMarkPosition">1</int>
-                                                                                                                               <bool key="NSAllowsTickMarkValuesOnly">NO</bool>
-                                                                                                                               <bool key="NSVertical">NO</bool>
-                                                                                                                       </object>
+                                                                                                               <reference ref="372655630"/>
+                                                                                                               <object class="NSMenuItem" id="607756368">
+                                                                                                                       <reference key="NSMenu" ref="501672847"/>
+                                                                                                                       <string key="NSTitle">Item 2</string>
+                                                                                                                       <string key="NSKeyEquiv"/>
+                                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
+                                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
+                                                                                                                       <reference key="NSOnImage" ref="858043985"/>
+                                                                                                                       <reference key="NSMixedImage" ref="700487240"/>
+                                                                                                                       <string key="NSAction">_popUpItemAction:</string>
+                                                                                                                       <reference key="NSTarget" ref="953108737"/>
                                                                                                                </object>
-                                                                                                               <object class="NSButton" id="102183813">
-                                                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
-                                                                                                                       <int key="NSvFlags">268</int>
-                                                                                                                       <string key="NSFrame">{{200, 53}, {39, 25}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="1068222891"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="894608246"/>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSButtonCell" key="NSCell" id="19809002">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">134217728</int>
-                                                                                                                               <string key="NSContents"/>
-                                                                                                                               <object class="NSFont" key="NSSupport" id="353643025">
-                                                                                                                                       <string key="NSName">LucidaGrande</string>
-                                                                                                                                       <double key="NSSize">13</double>
-                                                                                                                                       <int key="NSfFlags">1044</int>
-                                                                                                                               </object>
-                                                                                                                               <reference key="NSControlView" ref="102183813"/>
-                                                                                                                               <int key="NSButtonFlags">-2038169345</int>
-                                                                                                                               <int key="NSButtonFlags2">134</int>
-                                                                                                                               <string key="NSAlternateContents"/>
-                                                                                                                               <string key="NSKeyEquivalent"/>
-                                                                                                                               <int key="NSPeriodicDelay">200</int>
-                                                                                                                               <int key="NSPeriodicInterval">25</int>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSButton" id="897614796">
-                                                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
-                                                                                                                       <int key="NSvFlags">268</int>
-                                                                                                                       <string key="NSFrame">{{171, 53}, {30, 25}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="1068222891"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="102183813"/>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSButtonCell" key="NSCell" id="913339095">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">134217728</int>
-                                                                                                                               <string key="NSContents">|&lt;</string>
-                                                                                                                               <reference key="NSSupport" ref="353643025"/>
-                                                                                                                               <reference key="NSControlView" ref="897614796"/>
-                                                                                                                               <int key="NSButtonFlags">-2038038273</int>
-                                                                                                                               <int key="NSButtonFlags2">134</int>
-                                                                                                                               <object class="NSFont" key="NSAlternateImage">
-                                                                                                                                       <string key="NSName">LucidaGrande</string>
-                                                                                                                                       <double key="NSSize">13</double>
-                                                                                                                                       <int key="NSfFlags">16</int>
-                                                                                                                               </object>
-                                                                                                                               <string key="NSAlternateContents"/>
-                                                                                                                               <string key="NSKeyEquivalent"/>
-                                                                                                                               <int key="NSPeriodicDelay">200</int>
-                                                                                                                               <int key="NSPeriodicInterval">25</int>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSButton" id="894608246">
-                                                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
-                                                                                                                       <int key="NSvFlags">268</int>
-                                                                                                                       <string key="NSFrame">{{238, 53}, {32, 25}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="1068222891"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="630042886"/>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSButtonCell" key="NSCell" id="117507013">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">134479872</int>
-                                                                                                                               <string key="NSContents">&gt;|</string>
-                                                                                                                               <reference key="NSSupport" ref="22"/>
-                                                                                                                               <reference key="NSControlView" ref="894608246"/>
-                                                                                                                               <int key="NSButtonFlags">-2038169345</int>
-                                                                                                                               <int key="NSButtonFlags2">134</int>
-                                                                                                                               <string key="NSAlternateContents"/>
-                                                                                                                               <string key="NSKeyEquivalent"/>
-                                                                                                                               <int key="NSPeriodicDelay">200</int>
-                                                                                                                               <int key="NSPeriodicInterval">25</int>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSButton" id="630042886">
-                                                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
-                                                                                                                       <int key="NSvFlags">292</int>
-                                                                                                                       <string key="NSFrame">{{331, 56}, {77, 16}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="1068222891"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="886140787"/>
-                                                                                                                       <object class="NSArray" key="NSViewContentFilters">
-                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                               <object class="CIColorMonochrome">
-                                                                                                                                       <object class="CIColor" key="CI_inputColor">
-                                                                                                                                               <float key="red">0.70196080207824707</float>
-                                                                                                                                               <float key="green">0.70196080207824707</float>
-                                                                                                                                               <float key="blue">0.70196080207824707</float>
-                                                                                                                                               <float key="alpha">1</float>
-                                                                                                                                       </object>
-                                                                                                                                       <integer value="1" key="CI_inputIntensity"/>
-                                                                                                                                       <bool key="CIEnabled">YES</bool>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSButtonCell" key="NSCell" id="999505395">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">134479872</int>
-                                                                                                                               <string key="NSContents">Still Previews</string>
-                                                                                                                               <reference key="NSSupport" ref="22"/>
-                                                                                                                               <reference key="NSControlView" ref="630042886"/>
-                                                                                                                               <int key="NSButtonFlags">-2038284033</int>
-                                                                                                                               <int key="NSButtonFlags2">129</int>
-                                                                                                                               <reference key="NSAlternateImage" ref="22"/>
-                                                                                                                               <string key="NSAlternateContents"/>
-                                                                                                                               <string key="NSKeyEquivalent"/>
-                                                                                                                               <int key="NSPeriodicDelay">200</int>
-                                                                                                                               <int key="NSPeriodicInterval">25</int>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSTextField" id="964331174">
-                                                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
-                                                                                                                       <int key="NSvFlags">290</int>
-                                                                                                                       <string key="NSFrame">{{18, 10}, {399, 12}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="1068222891"/>
-                                                                                                                       <reference key="NSNextKeyView"/>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="113790059">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">4456448</int>
-                                                                                                                               <string key="NSContents"/>
-                                                                                                                               <reference key="NSSupport" ref="811969608"/>
-                                                                                                                               <reference key="NSControlView" ref="964331174"/>
-                                                                                                                               <bool key="NSDrawsBackground">YES</bool>
-                                                                                                                               <reference key="NSBackgroundColor" ref="407686733"/>
-                                                                                                                               <reference key="NSTextColor" ref="978544139"/>
-                                                                                                                       </object>
+                                                                                                               <object class="NSMenuItem" id="272743761">
+                                                                                                                       <reference key="NSMenu" ref="501672847"/>
+                                                                                                                       <string key="NSTitle">Item 3</string>
+                                                                                                                       <string key="NSKeyEquiv"/>
+                                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
+                                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
+                                                                                                                       <reference key="NSOnImage" ref="858043985"/>
+                                                                                                                       <reference key="NSMixedImage" ref="700487240"/>
+                                                                                                                       <string key="NSAction">_popUpItemAction:</string>
+                                                                                                                       <reference key="NSTarget" ref="953108737"/>
                                                                                                                </object>
                                                                                                        </object>
-                                                                                                       <string key="NSFrame">{{1, 1}, {438, 97}}</string>
-                                                                                                       <reference key="NSSuperview" ref="700607930"/>
-                                                                                                       <reference key="NSNextKeyView" ref="897614796"/>
+                                                                                               </object>
+                                                                                               <int key="NSPreferredEdge">1</int>
+                                                                                               <bool key="NSUsesItemFromMenu">YES</bool>
+                                                                                               <bool key="NSAltersState">YES</bool>
+                                                                                               <int key="NSArrowPosition">2</int>
+                                                                                       </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                               <object class="NSSlider" id="396925210">
+                                                                                       <reference key="NSNextResponder" ref="385854969"/>
+                                                                                       <int key="NSvFlags">290</int>
+                                                                                       <string key="NSFrame">{{18, 39}, {410, 16}}</string>
+                                                                                       <reference key="NSSuperview" ref="385854969"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="798240356"/>
+                                                                                       <object class="NSArray" key="NSViewContentFilters">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="CIColorMonochrome">
+                                                                                                       <object class="CIColor" key="CI_inputColor">
+                                                                                                               <float key="red">0.70196080207824707</float>
+                                                                                                               <float key="green">0.70196080207824707</float>
+                                                                                                               <float key="blue">0.70196080207824707</float>
+                                                                                                               <float key="alpha">1</float>
+                                                                                                       </object>
+                                                                                                       <integer value="1" key="CI_inputIntensity"/>
+                                                                                                       <bool key="CIEnabled">YES</bool>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSSliderCell" key="NSCell" id="639767004">
+                                                                                               <int key="NSCellFlags">67371264</int>
+                                                                                               <int key="NSCellFlags2">262144</int>
+                                                                                               <string key="NSContents"/>
+                                                                                               <reference key="NSSupport" ref="22"/>
+                                                                                               <reference key="NSControlView" ref="396925210"/>
+                                                                                               <double key="NSMaxValue">9</double>
+                                                                                               <double key="NSMinValue">0.0</double>
+                                                                                               <double key="NSValue">0.0</double>
+                                                                                               <double key="NSAltIncValue">0.0</double>
+                                                                                               <int key="NSNumberOfTickMarks">10</int>
+                                                                                               <int key="NSTickMarkPosition">1</int>
+                                                                                               <bool key="NSAllowsTickMarkValuesOnly">YES</bool>
+                                                                                               <bool key="NSVertical">NO</bool>
+                                                                                       </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                               <object class="NSTextField" id="628196212">
+                                                                                       <reference key="NSNextResponder" ref="385854969"/>
+                                                                                       <int key="NSvFlags">290</int>
+                                                                                       <string key="NSFrame">{{15, 55}, {420, 20}}</string>
+                                                                                       <reference key="NSSuperview" ref="385854969"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="396925210"/>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSTextFieldCell" key="NSCell" id="921881842">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">4325376</int>
+                                                                                               <string key="NSContents"/>
+                                                                                               <object class="NSFont" key="NSSupport" id="476446081">
+                                                                                                       <string key="NSName">LucidaGrande-Bold</string>
+                                                                                                       <double key="NSSize">11</double>
+                                                                                                       <int key="NSfFlags">16</int>
+                                                                                               </object>
+                                                                                               <reference key="NSControlView" ref="628196212"/>
+                                                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                                                               <reference key="NSBackgroundColor" ref="407686733"/>
+                                                                                               <reference key="NSTextColor" ref="978544139"/>
+                                                                                       </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                               <object class="NSTextField" id="245200984">
+                                                                                       <reference key="NSNextResponder" ref="385854969"/>
+                                                                                       <int key="NSvFlags">290</int>
+                                                                                       <string key="NSFrame">{{15, 77}, {416, 12}}</string>
+                                                                                       <reference key="NSSuperview" ref="385854969"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="628196212"/>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSTextFieldCell" key="NSCell" id="1032360651">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">4456448</int>
+                                                                                               <string key="NSContents"/>
+                                                                                               <reference key="NSSupport" ref="811969608"/>
+                                                                                               <reference key="NSControlView" ref="245200984"/>
+                                                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                                                               <reference key="NSBackgroundColor" ref="407686733"/>
+                                                                                               <reference key="NSTextColor" ref="978544139"/>
+                                                                                       </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                       </object>
+                                                                       <string key="NSFrame">{{2, 2}, {446, 96}}</string>
+                                                                       <reference key="NSSuperview" ref="92351498"/>
+                                                                       <reference key="NSWindow"/>
+                                                                       <reference key="NSNextKeyView" ref="245200984"/>
+                                                               </object>
+                                                       </object>
+                                                       <string key="NSFrame">{{15, 132}, {450, 100}}</string>
+                                                       <reference key="NSSuperview" ref="49161063"/>
+                                                       <reference key="NSWindow"/>
+                                                       <reference key="NSNextKeyView" ref="385854969"/>
+                                                       <string key="NSOffsets">{0, 0}</string>
+                                                       <object class="NSTextFieldCell" key="NSTitleCell">
+                                                               <int key="NSCellFlags">67108864</int>
+                                                               <int key="NSCellFlags2">0</int>
+                                                               <string key="NSContents">Picture Controls</string>
+                                                               <object class="NSFont" key="NSSupport" id="26">
+                                                                       <string key="NSName">LucidaGrande</string>
+                                                                       <double key="NSSize">11</double>
+                                                                       <int key="NSfFlags">3100</int>
+                                                               </object>
+                                                               <object class="NSColor" key="NSBackgroundColor" id="384686844">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">textBackgroundColor</string>
+                                                                       <object class="NSColor" key="NSColor">
+                                                                               <int key="NSColorSpace">3</int>
+                                                                               <bytes key="NSWhite">MQA</bytes>
+                                                                       </object>
+                                                               </object>
+                                                               <object class="NSColor" key="NSTextColor">
+                                                                       <int key="NSColorSpace">3</int>
+                                                                       <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+                                                               </object>
+                                                       </object>
+                                                       <reference key="NSContentView" ref="385854969"/>
+                                                       <int key="NSBorderType">1</int>
+                                                       <int key="NSBoxType">4</int>
+                                                       <int key="NSTitlePosition">0</int>
+                                                       <bool key="NSTransparent">NO</bool>
+                                                       <real value="2" key="NSBorderWidth2"/>
+                                                       <double key="NSCornerRadius2">12</double>
+                                                       <object class="NSColor" key="NSBorderColor2">
+                                                               <int key="NSColorSpace">1</int>
+                                                               <bytes key="NSRGB">MSAxIDEgMC44AA</bytes>
+                                                       </object>
+                                                       <object class="NSColor" key="NSFillColor2">
+                                                               <int key="NSColorSpace">1</int>
+                                                               <bytes key="NSRGB">MCAwIDAgMC42AA</bytes>
+                                                       </object>
+                                               </object>
+                                               <object class="NSBox" id="700607930">
+                                                       <reference key="NSNextResponder" ref="49161063"/>
+                                                       <int key="NSvFlags">-2147483611</int>
+                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                               <object class="NSView" id="1068222891">
+                                                                       <reference key="NSNextResponder" ref="700607930"/>
+                                                                       <int key="NSvFlags">274</int>
+                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                               <object class="NSSlider" id="886140787">
+                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
+                                                                                       <int key="NSvFlags">290</int>
+                                                                                       <string key="NSFrame">{{16, 16}, {355, 21}}</string>
+                                                                                       <reference key="NSSuperview" ref="1068222891"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="964331174"/>
+                                                                                       <object class="NSArray" key="NSViewContentFilters">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="CIColorMonochrome">
+                                                                                                       <object class="CIColor" key="CI_inputColor">
+                                                                                                               <float key="red">0.70196080207824707</float>
+                                                                                                               <float key="green">0.70196080207824707</float>
+                                                                                                               <float key="blue">0.70196080207824707</float>
+                                                                                                               <float key="alpha">1</float>
+                                                                                                       </object>
+                                                                                                       <integer value="1" key="CI_inputIntensity"/>
+                                                                                                       <bool key="CIEnabled">YES</bool>
                                                                                                </object>
                                                                                        </object>
-                                                                                       <string key="NSFrame">{{21, 16}, {440, 99}}</string>
-                                                                                       <reference key="NSSuperview" ref="353606868"/>
-                                                                                       <reference key="NSNextKeyView" ref="1068222891"/>
-                                                                                       <string key="NSOffsets">{0, 0}</string>
-                                                                                       <object class="NSTextFieldCell" key="NSTitleCell">
-                                                                                               <int key="NSCellFlags">67239424</int>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSSliderCell" key="NSCell" id="493667684">
+                                                                                               <int key="NSCellFlags">67371264</int>
                                                                                                <int key="NSCellFlags2">0</int>
-                                                                                               <string key="NSContents">Playback Controls</string>
-                                                                                               <reference key="NSSupport" ref="26"/>
-                                                                                               <reference key="NSBackgroundColor" ref="384686844"/>
-                                                                                               <object class="NSColor" key="NSTextColor">
-                                                                                                       <int key="NSColorSpace">3</int>
-                                                                                                       <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+                                                                                               <string key="NSContents"/>
+                                                                                               <reference key="NSControlView" ref="886140787"/>
+                                                                                               <double key="NSMaxValue">100</double>
+                                                                                               <double key="NSMinValue">0.0</double>
+                                                                                               <double key="NSValue">0.0</double>
+                                                                                               <double key="NSAltIncValue">0.0</double>
+                                                                                               <int key="NSNumberOfTickMarks">0</int>
+                                                                                               <int key="NSTickMarkPosition">1</int>
+                                                                                               <bool key="NSAllowsTickMarkValuesOnly">NO</bool>
+                                                                                               <bool key="NSVertical">NO</bool>
+                                                                                       </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                               <object class="NSButton" id="102183813">
+                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
+                                                                                       <int key="NSvFlags">268</int>
+                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                       </object>
+                                                                                       <string key="NSFrame">{{205, 43}, {36, 36}}</string>
+                                                                                       <reference key="NSSuperview" ref="1068222891"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="894608246"/>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSButtonCell" key="NSCell" id="19809002">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">134217728</int>
+                                                                                               <string key="NSContents"/>
+                                                                                               <object class="NSFont" key="NSSupport" id="353643025">
+                                                                                                       <string key="NSName">LucidaGrande</string>
+                                                                                                       <double key="NSSize">13</double>
+                                                                                                       <int key="NSfFlags">1044</int>
                                                                                                </object>
+                                                                                               <reference key="NSControlView" ref="102183813"/>
+                                                                                               <int key="NSButtonFlags">-931921920</int>
+                                                                                               <int key="NSButtonFlags2">134</int>
+                                                                                               <object class="NSCustomResource" key="NSNormalImage">
+                                                                                                       <string key="NSClassName">NSImage</string>
+                                                                                                       <string key="NSResourceName">play-p</string>
+                                                                                               </object>
+                                                                                               <object class="NSCustomResource" key="NSAlternateImage">
+                                                                                                       <string key="NSClassName">NSImage</string>
+                                                                                                       <string key="NSResourceName">pause-p</string>
+                                                                                               </object>
+                                                                                               <string key="NSAlternateContents"/>
+                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                               <int key="NSPeriodicInterval">25</int>
                                                                                        </object>
-                                                                                       <reference key="NSContentView" ref="1068222891"/>
-                                                                                       <int key="NSBorderType">1</int>
-                                                                                       <int key="NSBoxType">4</int>
-                                                                                       <int key="NSTitlePosition">0</int>
-                                                                                       <bool key="NSTransparent">NO</bool>
-                                                                                       <double key="NSCornerRadius2">12</double>
-                                                                                       <object class="NSColor" key="NSBorderColor2">
-                                                                                               <int key="NSColorSpace">1</int>
-                                                                                               <bytes key="NSRGB">MSAxIDEgMC41AA</bytes>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                               <object class="NSButton" id="897614796">
+                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
+                                                                                       <int key="NSvFlags">268</int>
+                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                        </object>
-                                                                                       <object class="NSColor" key="NSFillColor2">
-                                                                                               <int key="NSColorSpace">1</int>
-                                                                                               <bytes key="NSRGB">MCAwIDAgMC42AA</bytes>
+                                                                                       <string key="NSFrame">{{163, 48}, {32, 26}}</string>
+                                                                                       <reference key="NSSuperview" ref="1068222891"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="102183813"/>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSButtonCell" key="NSCell" id="913339095">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">134217728</int>
+                                                                                               <string key="NSContents"/>
+                                                                                               <reference key="NSSupport" ref="353643025"/>
+                                                                                               <reference key="NSControlView" ref="897614796"/>
+                                                                                               <int key="NSButtonFlags">-2041839616</int>
+                                                                                               <int key="NSButtonFlags2">134</int>
+                                                                                               <object class="NSCustomResource" key="NSNormalImage">
+                                                                                                       <string key="NSClassName">NSImage</string>
+                                                                                                       <string key="NSResourceName">prev-p</string>
+                                                                                               </object>
+                                                                                               <string key="NSAlternateContents"/>
+                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                               <int key="NSPeriodicInterval">25</int>
                                                                                        </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                </object>
-                                                                               <object class="NSBox" id="768906858">
-                                                                                       <reference key="NSNextResponder" ref="353606868"/>
-                                                                                       <int key="NSvFlags">-2147483611</int>
+                                                                               <object class="NSButton" id="894608246">
+                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
+                                                                                       <int key="NSvFlags">268</int>
                                                                                        <object class="NSMutableArray" key="NSSubviews">
                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                               <object class="NSView" id="1067699710">
-                                                                                                       <reference key="NSNextResponder" ref="768906858"/>
-                                                                                                       <int key="NSvFlags">274</int>
-                                                                                                       <object class="NSMutableArray" key="NSSubviews">
-                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                               <object class="NSProgressIndicator" id="196868285">
-                                                                                                                       <reference key="NSNextResponder" ref="1067699710"/>
-                                                                                                                       <int key="NSvFlags">-2147482368</int>
-                                                                                                                       <object class="NSPSMatrix" key="NSDrawMatrix"/>
-                                                                                                                       <string key="NSFrame">{{23, 26}, {336, 12}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="1067699710"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="569473100"/>
-                                                                                                                       <object class="NSArray" key="NSViewContentFilters">
-                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                               <object class="CIColorMonochrome">
-                                                                                                                                       <object class="CIColor" key="CI_inputColor">
-                                                                                                                                               <float key="red">0.70196080207824707</float>
-                                                                                                                                               <float key="green">0.70196080207824707</float>
-                                                                                                                                               <float key="blue">0.70196080207824707</float>
-                                                                                                                                               <float key="alpha">1</float>
-                                                                                                                                       </object>
-                                                                                                                                       <integer value="1" key="CI_inputIntensity"/>
-                                                                                                                                       <bool key="CIEnabled">YES</bool>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                                       <int key="NSpiFlags">16650</int>
-                                                                                                                       <double key="NSMinValue">20</double>
-                                                                                                                       <double key="NSMaxValue">100</double>
-                                                                                                               </object>
-                                                                                                               <object class="NSButton" id="569473100">
-                                                                                                                       <reference key="NSNextResponder" ref="1067699710"/>
-                                                                                                                       <int key="NSvFlags">265</int>
-                                                                                                                       <string key="NSFrame">{{366, 24}, {58, 16}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="1067699710"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="92351498"/>
-                                                                                                                       <object class="NSArray" key="NSViewContentFilters">
-                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                               <object class="CIColorMonochrome">
-                                                                                                                                       <object class="CIColor" key="CI_inputColor">
-                                                                                                                                               <float key="red">0.70196080207824707</float>
-                                                                                                                                               <float key="green">0.70196080207824707</float>
-                                                                                                                                               <float key="blue">0.70196080207824707</float>
-                                                                                                                                               <float key="alpha">1</float>
-                                                                                                                                       </object>
-                                                                                                                                       <integer value="1" key="CI_inputIntensity"/>
-                                                                                                                                       <bool key="CIEnabled">YES</bool>
-                                                                                                                               </object>
-                                                                                                                       </object>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSButtonCell" key="NSCell" id="908165435">
-                                                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                                                               <int key="NSCellFlags2">134479872</int>
-                                                                                                                               <string key="NSContents">Cancel</string>
-                                                                                                                               <reference key="NSSupport" ref="22"/>
-                                                                                                                               <reference key="NSControlView" ref="569473100"/>
-                                                                                                                               <int key="NSButtonFlags">-2038284033</int>
-                                                                                                                               <int key="NSButtonFlags2">129</int>
-                                                                                                                               <reference key="NSAlternateImage" ref="354866114"/>
-                                                                                                                               <string key="NSAlternateContents"/>
-                                                                                                                               <string key="NSKeyEquivalent"/>
-                                                                                                                               <int key="NSPeriodicDelay">200</int>
-                                                                                                                               <int key="NSPeriodicInterval">25</int>
-                                                                                                                       </object>
-                                                                                                               </object>
-                                                                                                               <object class="NSTextField" id="986015194">
-                                                                                                                       <reference key="NSNextResponder" ref="1067699710"/>
-                                                                                                                       <int key="NSvFlags">256</int>
-                                                                                                                       <string key="NSFrame">{{21, 59}, {394, 14}}</string>
-                                                                                                                       <reference key="NSSuperview" ref="1067699710"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="196868285"/>
-                                                                                                                       <bool key="NSEnabled">YES</bool>
-                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="304208899">
-                                                                                                                               <int key="NSCellFlags">68288064</int>
-                                                                                                                               <int key="NSCellFlags2">4326400</int>
-                                                                                                                               <string key="NSContents">Preparing Preview</string>
-                                                                                                                               <reference key="NSSupport" ref="476446081"/>
-                                                                                                                               <reference key="NSControlView" ref="986015194"/>
-                                                                                                                               <object class="NSColor" key="NSBackgroundColor">
-                                                                                                                                       <int key="NSColorSpace">2</int>
-                                                                                                                                       <bytes key="NSRGB">MC45MDE5NjA4NSAwLjkwMTk2MDg1IDAuOTAxOTYwODUgMAA</bytes>
-                                                                                                                               </object>
-                                                                                                                               <reference key="NSTextColor" ref="978544139"/>
-                                                                                                                       </object>
-                                                                                                               </object>
+                                                                                       </object>
+                                                                                       <string key="NSFrame">{{251, 48}, {32, 26}}</string>
+                                                                                       <reference key="NSSuperview" ref="1068222891"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="630042886"/>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSButtonCell" key="NSCell" id="117507013">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">134479872</int>
+                                                                                               <string key="NSContents"/>
+                                                                                               <reference key="NSSupport" ref="22"/>
+                                                                                               <reference key="NSControlView" ref="894608246"/>
+                                                                                               <int key="NSButtonFlags">-2042363904</int>
+                                                                                               <int key="NSButtonFlags2">134</int>
+                                                                                               <object class="NSCustomResource" key="NSNormalImage">
+                                                                                                       <string key="NSClassName">NSImage</string>
+                                                                                                       <string key="NSResourceName">next-p</string>
+                                                                                               </object>
+                                                                                               <string key="NSAlternateContents"/>
+                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                               <int key="NSPeriodicInterval">25</int>
+                                                                                       </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                               <object class="NSButton" id="630042886">
+                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
+                                                                                       <int key="NSvFlags">292</int>
+                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                       </object>
+                                                                                       <string key="NSFrame">{{348, 53}, {81, 16}}</string>
+                                                                                       <reference key="NSSuperview" ref="1068222891"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="886140787"/>
+                                                                                       <object class="NSArray" key="NSViewContentFilters">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="CIColorMonochrome">
+                                                                                                       <object class="CIColor" key="CI_inputColor">
+                                                                                                               <float key="red">0.70196080207824707</float>
+                                                                                                               <float key="green">0.70196080207824707</float>
+                                                                                                               <float key="blue">0.70196080207824707</float>
+                                                                                                               <float key="alpha">1</float>
                                                                                                        </object>
-                                                                                                       <string key="NSFrame">{{1, 1}, {438, 98}}</string>
-                                                                                                       <reference key="NSSuperview" ref="768906858"/>
-                                                                                                       <reference key="NSNextKeyView" ref="986015194"/>
+                                                                                                       <integer value="1" key="CI_inputIntensity"/>
+                                                                                                       <bool key="CIEnabled">YES</bool>
                                                                                                </object>
                                                                                        </object>
-                                                                                       <string key="NSFrame">{{21, 233}, {440, 100}}</string>
-                                                                                       <reference key="NSSuperview" ref="353606868"/>
-                                                                                       <reference key="NSNextKeyView" ref="1067699710"/>
-                                                                                       <string key="NSOffsets">{0, 0}</string>
-                                                                                       <object class="NSTextFieldCell" key="NSTitleCell">
-                                                                                               <int key="NSCellFlags">67239424</int>
-                                                                                               <int key="NSCellFlags2">0</int>
-                                                                                               <string key="NSContents">Encoding Controls</string>
-                                                                                               <reference key="NSSupport" ref="26"/>
-                                                                                               <reference key="NSBackgroundColor" ref="384686844"/>
-                                                                                               <object class="NSColor" key="NSTextColor">
-                                                                                                       <int key="NSColorSpace">3</int>
-                                                                                                       <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSButtonCell" key="NSCell" id="999505395">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">134479872</int>
+                                                                                               <string key="NSContents">Still Previews</string>
+                                                                                               <reference key="NSSupport" ref="22"/>
+                                                                                               <reference key="NSControlView" ref="630042886"/>
+                                                                                               <int key="NSButtonFlags">-2038284288</int>
+                                                                                               <int key="NSButtonFlags2">129</int>
+                                                                                               <reference key="NSAlternateImage" ref="22"/>
+                                                                                               <string key="NSAlternateContents"/>
+                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                               <int key="NSPeriodicInterval">25</int>
+                                                                                       </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                               <object class="NSTextField" id="964331174">
+                                                                                       <reference key="NSNextResponder" ref="1068222891"/>
+                                                                                       <int key="NSvFlags">290</int>
+                                                                                       <string key="NSFrame">{{364, 19}, {67, 14}}</string>
+                                                                                       <reference key="NSSuperview" ref="1068222891"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView"/>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSTextFieldCell" key="NSCell" id="113790059">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">71565312</int>
+                                                                                               <string key="NSContents">00:00:00</string>
+                                                                                               <reference key="NSSupport" ref="476446081"/>
+                                                                                               <reference key="NSControlView" ref="964331174"/>
+                                                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                                                               <reference key="NSBackgroundColor" ref="407686733"/>
+                                                                                               <reference key="NSTextColor" ref="978544139"/>
+                                                                                       </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                       </object>
+                                                                       <string key="NSFrame">{{2, 2}, {446, 96}}</string>
+                                                                       <reference key="NSSuperview" ref="700607930"/>
+                                                                       <reference key="NSWindow"/>
+                                                                       <reference key="NSNextKeyView" ref="897614796"/>
+                                                               </object>
+                                                       </object>
+                                                       <string key="NSFrame">{{15, 30}, {450, 100}}</string>
+                                                       <reference key="NSSuperview" ref="49161063"/>
+                                                       <reference key="NSWindow"/>
+                                                       <reference key="NSNextKeyView" ref="1068222891"/>
+                                                       <string key="NSOffsets">{0, 0}</string>
+                                                       <object class="NSTextFieldCell" key="NSTitleCell">
+                                                               <int key="NSCellFlags">67108864</int>
+                                                               <int key="NSCellFlags2">0</int>
+                                                               <string key="NSContents">Playback Controls</string>
+                                                               <reference key="NSSupport" ref="26"/>
+                                                               <reference key="NSBackgroundColor" ref="384686844"/>
+                                                               <object class="NSColor" key="NSTextColor">
+                                                                       <int key="NSColorSpace">3</int>
+                                                                       <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+                                                               </object>
+                                                       </object>
+                                                       <reference key="NSContentView" ref="1068222891"/>
+                                                       <int key="NSBorderType">1</int>
+                                                       <int key="NSBoxType">4</int>
+                                                       <int key="NSTitlePosition">0</int>
+                                                       <bool key="NSTransparent">NO</bool>
+                                                       <real value="2" key="NSBorderWidth2"/>
+                                                       <double key="NSCornerRadius2">12</double>
+                                                       <object class="NSColor" key="NSBorderColor2">
+                                                               <int key="NSColorSpace">1</int>
+                                                               <bytes key="NSRGB">MSAxIDEgMC44AA</bytes>
+                                                       </object>
+                                                       <object class="NSColor" key="NSFillColor2">
+                                                               <int key="NSColorSpace">1</int>
+                                                               <bytes key="NSRGB">MCAwIDAgMC42AA</bytes>
+                                                       </object>
+                                               </object>
+                                               <object class="NSBox" id="768906858">
+                                                       <reference key="NSNextResponder" ref="49161063"/>
+                                                       <int key="NSvFlags">-2147483611</int>
+                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                               <object class="NSView" id="1067699710">
+                                                                       <reference key="NSNextResponder" ref="768906858"/>
+                                                                       <int key="NSvFlags">274</int>
+                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                               <object class="NSProgressIndicator" id="196868285">
+                                                                                       <reference key="NSNextResponder" ref="1067699710"/>
+                                                                                       <int key="NSvFlags">1280</int>
+                                                                                       <string key="NSFrame">{{18, 26}, {346, 12}}</string>
+                                                                                       <reference key="NSSuperview" ref="1067699710"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="569473100"/>
+                                                                                       <object class="NSArray" key="NSViewContentFilters">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="CIColorMonochrome">
+                                                                                                       <object class="CIColor" key="CI_inputColor">
+                                                                                                               <float key="red">0.70196080207824707</float>
+                                                                                                               <float key="green">0.70196080207824707</float>
+                                                                                                               <float key="blue">0.70196080207824707</float>
+                                                                                                               <float key="alpha">1</float>
+                                                                                                       </object>
+                                                                                                       <integer value="1" key="CI_inputIntensity"/>
+                                                                                                       <bool key="CIEnabled">YES</bool>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <int key="NSpiFlags">16650</int>
+                                                                                       <double key="NSMaxValue">100</double>
+                                                                               </object>
+                                                                               <object class="NSButton" id="569473100">
+                                                                                       <reference key="NSNextResponder" ref="1067699710"/>
+                                                                                       <int key="NSvFlags">265</int>
+                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                       </object>
+                                                                                       <string key="NSFrame">{{371, 24}, {58, 16}}</string>
+                                                                                       <reference key="NSSuperview" ref="1067699710"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="92351498"/>
+                                                                                       <object class="NSArray" key="NSViewContentFilters">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="CIColorMonochrome">
+                                                                                                       <object class="CIColor" key="CI_inputColor">
+                                                                                                               <float key="red">0.70196080207824707</float>
+                                                                                                               <float key="green">0.70196080207824707</float>
+                                                                                                               <float key="blue">0.70196080207824707</float>
+                                                                                                               <float key="alpha">1</float>
+                                                                                                       </object>
+                                                                                                       <integer value="1" key="CI_inputIntensity"/>
+                                                                                                       <bool key="CIEnabled">YES</bool>
                                                                                                </object>
                                                                                        </object>
-                                                                                       <reference key="NSContentView" ref="1067699710"/>
-                                                                                       <int key="NSBorderType">1</int>
-                                                                                       <int key="NSBoxType">4</int>
-                                                                                       <int key="NSTitlePosition">0</int>
-                                                                                       <bool key="NSTransparent">NO</bool>
-                                                                                       <double key="NSCornerRadius2">11</double>
-                                                                                       <object class="NSColor" key="NSBorderColor2">
-                                                                                               <int key="NSColorSpace">1</int>
-                                                                                               <bytes key="NSRGB">MSAxIDEgMC41AA</bytes>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSButtonCell" key="NSCell" id="908165435">
+                                                                                               <int key="NSCellFlags">67108864</int>
+                                                                                               <int key="NSCellFlags2">134479872</int>
+                                                                                               <string key="NSContents">Cancel</string>
+                                                                                               <reference key="NSSupport" ref="22"/>
+                                                                                               <reference key="NSControlView" ref="569473100"/>
+                                                                                               <int key="NSButtonFlags">-2038284288</int>
+                                                                                               <int key="NSButtonFlags2">129</int>
+                                                                                               <reference key="NSAlternateImage" ref="354866114"/>
+                                                                                               <string key="NSAlternateContents"/>
+                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                               <int key="NSPeriodicInterval">25</int>
                                                                                        </object>
-                                                                                       <object class="NSColor" key="NSFillColor2">
-                                                                                               <int key="NSColorSpace">1</int>
-                                                                                               <bytes key="NSRGB">MCAwIDAgMC42AA</bytes>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                                                               </object>
+                                                                               <object class="NSTextField" id="986015194">
+                                                                                       <reference key="NSNextResponder" ref="1067699710"/>
+                                                                                       <int key="NSvFlags">256</int>
+                                                                                       <string key="NSFrame">{{15, 59}, {406, 14}}</string>
+                                                                                       <reference key="NSSuperview" ref="1067699710"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="196868285"/>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSTextFieldCell" key="NSCell" id="304208899">
+                                                                                               <int key="NSCellFlags">68157504</int>
+                                                                                               <int key="NSCellFlags2">4326400</int>
+                                                                                               <string key="NSContents">Preparing Preview</string>
+                                                                                               <reference key="NSSupport" ref="476446081"/>
+                                                                                               <reference key="NSControlView" ref="986015194"/>
+                                                                                               <object class="NSColor" key="NSBackgroundColor">
+                                                                                                       <int key="NSColorSpace">2</int>
+                                                                                                       <bytes key="NSRGB">MC45MDE5NjA4NSAwLjkwMTk2MDg1IDAuOTAxOTYwODUgMAA</bytes>
+                                                                                               </object>
+                                                                                               <reference key="NSTextColor" ref="978544139"/>
                                                                                        </object>
+                                                                                       <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                </object>
                                                                        </object>
-                                                                       <string key="NSFrameSize">{480, 360}</string>
-                                                                       <reference key="NSSuperview" ref="289177107"/>
-                                                                       <reference key="NSNextKeyView" ref="844127024"/>
+                                                                       <string key="NSFrame">{{2, 2}, {446, 96}}</string>
+                                                                       <reference key="NSSuperview" ref="768906858"/>
+                                                                       <reference key="NSWindow"/>
+                                                                       <reference key="NSNextKeyView" ref="986015194"/>
                                                                </object>
                                                        </object>
-                                                       <string key="NSFrameSize">{480, 360}</string>
+                                                       <string key="NSFrame">{{15, 235}, {450, 100}}</string>
                                                        <reference key="NSSuperview" ref="49161063"/>
-                                                       <reference key="NSNextKeyView" ref="353606868"/>
+                                                       <reference key="NSWindow"/>
+                                                       <reference key="NSNextKeyView" ref="1067699710"/>
                                                        <string key="NSOffsets">{0, 0}</string>
                                                        <object class="NSTextFieldCell" key="NSTitleCell">
-                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags">67108864</int>
                                                                <int key="NSCellFlags2">0</int>
-                                                               <string key="NSContents">Box</string>
+                                                               <string key="NSContents">Encoding Controls</string>
                                                                <reference key="NSSupport" ref="26"/>
                                                                <reference key="NSBackgroundColor" ref="384686844"/>
                                                                <object class="NSColor" key="NSTextColor">
                                                                        <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
                                                                </object>
                                                        </object>
-                                                       <reference key="NSContentView" ref="353606868"/>
+                                                       <reference key="NSContentView" ref="1067699710"/>
                                                        <int key="NSBorderType">1</int>
                                                        <int key="NSBoxType">4</int>
                                                        <int key="NSTitlePosition">0</int>
                                                        <bool key="NSTransparent">NO</bool>
-                                                       <real value="0.0" key="NSBorderWidth2"/>
+                                                       <real value="2" key="NSBorderWidth2"/>
+                                                       <double key="NSCornerRadius2">12</double>
                                                        <object class="NSColor" key="NSBorderColor2">
-                                                               <int key="NSColorSpace">3</int>
-                                                               <bytes key="NSWhite">MCAwLjQ0AA</bytes>
+                                                               <int key="NSColorSpace">1</int>
+                                                               <bytes key="NSRGB">MSAxIDEgMC44AA</bytes>
                                                        </object>
                                                        <object class="NSColor" key="NSFillColor2">
                                                                <int key="NSColorSpace">1</int>
-                                                               <bytes key="NSRGB">MC43MDE5NjA4IDAuNzAxOTYwOCAwLjcwMTk2MDgAA</bytes>
+                                                               <bytes key="NSRGB">MCAwIDAgMC42AA</bytes>
                                                        </object>
                                                </object>
                                        </object>
                                        <string key="NSFrameSize">{480, 360}</string>
                                        <reference key="NSSuperview"/>
-                                       <reference key="NSNextKeyView" ref="289177107"/>
+                                       <reference key="NSWindow"/>
+                                       <reference key="NSNextKeyView" ref="48693112"/>
                                </object>
-                               <string key="NSScreenRect">{{0, 0}, {2560, 1578}}</string>
+                               <string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
                                <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
                                <bool key="NSWindowIsRestorable">YES</bool>
                        </object>
                                <bool key="EncodedWithXMLCoder">YES</bool>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fInfoField</string>
-                                               <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="628196212"/>
-                                       </object>
-                                       <int key="connectionID">73</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fPictureView</string>
+                                               <string key="label">window</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="844127024"/>
+                                               <reference key="destination" ref="616825745"/>
                                        </object>
-                                       <int key="connectionID">181</int>
+                                       <int key="connectionID">184</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">window</string>
+                                               <string key="label">fCreatePreviewMovieButton</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="616825745"/>
+                                               <reference key="destination" ref="798240356"/>
                                        </object>
-                                       <int key="connectionID">184</int>
+                                       <int key="connectionID">217</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fMovieView</string>
+                                               <string key="label">fscaleInfoField</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="48693112"/>
+                                               <reference key="destination" ref="245200984"/>
                                        </object>
-                                       <int key="connectionID">208</int>
+                                       <int key="connectionID">282</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fPictureSlider</string>
+                                               <string key="label">fPreviewMovieLengthPopUp</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="396925210"/>
+                                               <reference key="destination" ref="598619000"/>
                                        </object>
-                                       <int key="connectionID">211</int>
+                                       <int key="connectionID">232</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBActionConnection" key="connection">
-                                               <string key="label">pictureSliderChanged:</string>
+                                               <string key="label">previewDurationPopUpChanged:</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="396925210"/>
+                                               <reference key="destination" ref="598619000"/>
                                        </object>
-                                       <int key="connectionID">212</int>
+                                       <int key="connectionID">233</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fMovieCreationProgressIndicator</string>
+                                               <string key="label">fPictureControlBox</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="196868285"/>
+                                               <reference key="destination" ref="92351498"/>
                                        </object>
-                                       <int key="connectionID">214</int>
+                                       <int key="connectionID">254</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fCreatePreviewMovieButton</string>
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">pictureSliderChanged:</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="798240356"/>
+                                               <reference key="destination" ref="396925210"/>
                                        </object>
-                                       <int key="connectionID">217</int>
+                                       <int key="connectionID">212</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBActionConnection" key="connection">
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fPreviewMovieStatusField</string>
+                                               <string key="label">fPictureSettingsToggleButton</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="986015194"/>
+                                               <reference key="destination" ref="141370142"/>
                                        </object>
-                                       <int key="connectionID">225</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fPreviewMovieLengthPopUp</string>
-                                               <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="598619000"/>
-                                       </object>
-                                       <int key="connectionID">232</int>
+                                       <int key="connectionID">273</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBActionConnection" key="connection">
-                                               <string key="label">previewDurationPopUpChanged:</string>
+                                               <string key="label">toggleScaleToScreen:</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="598619000"/>
+                                               <reference key="destination" ref="81685190"/>
                                        </object>
-                                       <int key="connectionID">233</int>
+                                       <int key="connectionID">279</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fPreviewWindow</string>
+                                               <string key="label">fScaleToScreenToggleButton</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="616825745"/>
+                                               <reference key="destination" ref="81685190"/>
                                        </object>
-                                       <int key="connectionID">244</int>
+                                       <int key="connectionID">277</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fEncodingControlBox</string>
+                                               <string key="label">fPictureSlider</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="768906858"/>
+                                               <reference key="destination" ref="396925210"/>
                                        </object>
-                                       <int key="connectionID">253</int>
+                                       <int key="connectionID">211</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fPictureControlBox</string>
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">showPictureSettings:</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="92351498"/>
+                                               <reference key="destination" ref="141370142"/>
                                        </object>
-                                       <int key="connectionID">254</int>
+                                       <int key="connectionID">274</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fPictureViewArea</string>
+                                               <string key="label">fInfoField</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="289177107"/>
+                                               <reference key="destination" ref="628196212"/>
                                        </object>
-                                       <int key="connectionID">258</int>
+                                       <int key="connectionID">73</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fCancelPreviewMovieButton</string>
+                                               <string key="label">fGoToBeginningButton</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="569473100"/>
+                                               <reference key="destination" ref="897614796"/>
                                        </object>
-                                       <int key="connectionID">263</int>
+                                       <int key="connectionID">380</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fPictureSettingsToggleButton</string>
+                                               <string key="label">fMovieScrubberSlider</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="141370142"/>
+                                               <reference key="destination" ref="886140787"/>
                                        </object>
-                                       <int key="connectionID">273</int>
+                                       <int key="connectionID">371</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">showPictureSettings:</string>
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fMovieInfoField</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="141370142"/>
+                                               <reference key="destination" ref="964331174"/>
                                        </object>
-                                       <int key="connectionID">274</int>
+                                       <int key="connectionID">374</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fScaleToScreenToggleButton</string>
+                                               <string key="label">fGoToEndButton</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="81685190"/>
+                                               <reference key="destination" ref="894608246"/>
                                        </object>
-                                       <int key="connectionID">277</int>
+                                       <int key="connectionID">381</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBActionConnection" key="connection">
-                                               <string key="label">toggleScaleToScreen:</string>
-                                               <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="81685190"/>
-                                       </object>
-                                       <int key="connectionID">279</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fscaleInfoField</string>
+                                               <string key="label">moviePlaybackGoToEnd:</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="245200984"/>
+                                               <reference key="destination" ref="894608246"/>
                                        </object>
-                                       <int key="connectionID">282</int>
+                                       <int key="connectionID">383</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fMoviePlaybackControlBox</string>
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">toggleMoviePreviewPlayPause:</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="700607930"/>
+                                               <reference key="destination" ref="102183813"/>
                                        </object>
-                                       <int key="connectionID">363</int>
+                                       <int key="connectionID">370</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
                                        <int key="connectionID">364</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fGoToStillPreviewButton</string>
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">moviePlaybackGoToBeginning:</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="630042886"/>
+                                               <reference key="destination" ref="897614796"/>
                                        </object>
-                                       <int key="connectionID">368</int>
+                                       <int key="connectionID">382</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">pictureSliderChanged:</string>
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fGoToStillPreviewButton</string>
                                                <reference key="source" ref="355312334"/>
                                                <reference key="destination" ref="630042886"/>
                                        </object>
-                                       <int key="connectionID">369</int>
+                                       <int key="connectionID">368</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBActionConnection" key="connection">
-                                               <string key="label">toggleMoviePreviewPlayPause:</string>
+                                               <string key="label">previewScrubberChanged:</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="102183813"/>
+                                               <reference key="destination" ref="886140787"/>
                                        </object>
-                                       <int key="connectionID">370</int>
+                                       <int key="connectionID">384</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fMovieScrubberSlider</string>
+                                               <string key="label">fMoviePlaybackControlBox</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="886140787"/>
+                                               <reference key="destination" ref="700607930"/>
                                        </object>
-                                       <int key="connectionID">371</int>
+                                       <int key="connectionID">363</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fMovieInfoField</string>
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">showPicturesPreview:</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="964331174"/>
+                                               <reference key="destination" ref="630042886"/>
                                        </object>
-                                       <int key="connectionID">374</int>
+                                       <int key="connectionID">396</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fGoToBeginningButton</string>
+                                               <string key="label">fMovieCreationProgressIndicator</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="897614796"/>
+                                               <reference key="destination" ref="196868285"/>
                                        </object>
-                                       <int key="connectionID">380</int>
+                                       <int key="connectionID">214</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fGoToEndButton</string>
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">cancelCreateMoviePreview:</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="894608246"/>
+                                               <reference key="destination" ref="569473100"/>
                                        </object>
-                                       <int key="connectionID">381</int>
+                                       <int key="connectionID">395</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">moviePlaybackGoToBeginning:</string>
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fPreviewMovieStatusField</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="897614796"/>
+                                               <reference key="destination" ref="986015194"/>
                                        </object>
-                                       <int key="connectionID">382</int>
+                                       <int key="connectionID">225</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">moviePlaybackGoToEnd:</string>
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fCancelPreviewMovieButton</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="894608246"/>
+                                               <reference key="destination" ref="569473100"/>
                                        </object>
-                                       <int key="connectionID">383</int>
+                                       <int key="connectionID">263</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">previewScrubberChanged:</string>
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fEncodingControlBox</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="886140787"/>
+                                               <reference key="destination" ref="768906858"/>
                                        </object>
-                                       <int key="connectionID">384</int>
+                                       <int key="connectionID">253</int>
                                </object>
                                <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">cancelCreateMoviePreview:</string>
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fMovieView</string>
                                                <reference key="source" ref="355312334"/>
-                                               <reference key="destination" ref="569473100"/>
+                                               <reference key="destination" ref="48693112"/>
                                        </object>
-                                       <int key="connectionID">395</int>
+                                       <int key="connectionID">208</int>
                                </object>
                        </object>
                        <object class="IBMutableOrderedSet" key="objectRecords">
                                                <reference key="object" ref="49161063"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="289177107"/>
-                                               </object>
-                                               <reference key="parent" ref="616825745"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">257</int>
-                                               <reference key="object" ref="289177107"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="844127024"/>
-                                                       <reference ref="92351498"/>
+                                                       <reference ref="700607930"/>
                                                        <reference ref="768906858"/>
+                                                       <reference ref="92351498"/>
                                                        <reference ref="48693112"/>
-                                                       <reference ref="700607930"/>
-                                               </object>
-                                               <reference key="parent" ref="49161063"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">252</int>
-                                               <reference key="object" ref="768906858"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="196868285"/>
-                                                       <reference ref="986015194"/>
-                                                       <reference ref="569473100"/>
-                                               </object>
-                                               <reference key="parent" ref="289177107"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">213</int>
-                                               <reference key="object" ref="196868285"/>
-                                               <reference key="parent" ref="768906858"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">223</int>
-                                               <reference key="object" ref="986015194"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="304208899"/>
                                                </object>
-                                               <reference key="parent" ref="768906858"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">224</int>
-                                               <reference key="object" ref="304208899"/>
-                                               <reference key="parent" ref="986015194"/>
+                                               <reference key="parent" ref="616825745"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">251</int>
-                                               <reference key="object" ref="92351498"/>
+                                               <int key="objectID">335</int>
+                                               <reference key="object" ref="700607930"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="628196212"/>
-                                                       <reference ref="396925210"/>
-                                                       <reference ref="245200984"/>
-                                                       <reference ref="66510867"/>
-                                                       <reference ref="598619000"/>
-                                                       <reference ref="81685190"/>
-                                                       <reference ref="798240356"/>
-                                                       <reference ref="141370142"/>
+                                                       <reference ref="102183813"/>
+                                                       <reference ref="894608246"/>
+                                                       <reference ref="897614796"/>
+                                                       <reference ref="964331174"/>
+                                                       <reference ref="886140787"/>
+                                                       <reference ref="630042886"/>
                                                </object>
-                                               <reference key="parent" ref="289177107"/>
+                                               <reference key="parent" ref="49161063"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">38</int>
-                                               <reference key="object" ref="628196212"/>
+                                               <int key="objectID">365</int>
+                                               <reference key="object" ref="630042886"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="921881842"/>
+                                                       <reference ref="999505395"/>
                                                </object>
-                                               <reference key="parent" ref="92351498"/>
+                                               <reference key="parent" ref="700607930"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">215</int>
-                                               <reference key="object" ref="798240356"/>
+                                               <int key="objectID">375</int>
+                                               <reference key="object" ref="897614796"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="975305481"/>
+                                                       <reference ref="913339095"/>
                                                </object>
-                                               <reference key="parent" ref="92351498"/>
+                                               <reference key="parent" ref="700607930"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">234</int>
-                                               <reference key="object" ref="66510867"/>
+                                               <int key="objectID">378</int>
+                                               <reference key="object" ref="894608246"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="567286013"/>
+                                                       <reference ref="117507013"/>
                                                </object>
-                                               <reference key="parent" ref="92351498"/>
+                                               <reference key="parent" ref="700607930"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">226</int>
-                                               <reference key="object" ref="598619000"/>
+                                               <int key="objectID">361</int>
+                                               <reference key="object" ref="102183813"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="953108737"/>
+                                                       <reference ref="19809002"/>
                                                </object>
-                                               <reference key="parent" ref="92351498"/>
+                                               <reference key="parent" ref="700607930"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">209</int>
-                                               <reference key="object" ref="396925210"/>
+                                               <int key="objectID">372</int>
+                                               <reference key="object" ref="964331174"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="639767004"/>
+                                                       <reference ref="113790059"/>
                                                </object>
-                                               <reference key="parent" ref="92351498"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">210</int>
-                                               <reference key="object" ref="639767004"/>
-                                               <reference key="parent" ref="396925210"/>
+                                               <reference key="parent" ref="700607930"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">227</int>
-                                               <reference key="object" ref="953108737"/>
+                                               <int key="objectID">341</int>
+                                               <reference key="object" ref="886140787"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="501672847"/>
+                                                       <reference ref="493667684"/>
                                                </object>
-                                               <reference key="parent" ref="598619000"/>
+                                               <reference key="parent" ref="700607930"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">228</int>
-                                               <reference key="object" ref="501672847"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="372655630"/>
-                                                       <reference ref="607756368"/>
-                                                       <reference ref="272743761"/>
-                                               </object>
-                                               <reference key="parent" ref="953108737"/>
+                                               <int key="objectID">346</int>
+                                               <reference key="object" ref="493667684"/>
+                                               <reference key="parent" ref="886140787"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">231</int>
-                                               <reference key="object" ref="372655630"/>
-                                               <reference key="parent" ref="501672847"/>
+                                               <int key="objectID">373</int>
+                                               <reference key="object" ref="113790059"/>
+                                               <reference key="parent" ref="964331174"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">230</int>
-                                               <reference key="object" ref="607756368"/>
-                                               <reference key="parent" ref="501672847"/>
+                                               <int key="objectID">362</int>
+                                               <reference key="object" ref="19809002"/>
+                                               <reference key="parent" ref="102183813"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">229</int>
-                                               <reference key="object" ref="272743761"/>
-                                               <reference key="parent" ref="501672847"/>
+                                               <int key="objectID">379</int>
+                                               <reference key="object" ref="117507013"/>
+                                               <reference key="parent" ref="894608246"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">235</int>
-                                               <reference key="object" ref="567286013"/>
-                                               <reference key="parent" ref="66510867"/>
+                                               <int key="objectID">376</int>
+                                               <reference key="object" ref="913339095"/>
+                                               <reference key="parent" ref="897614796"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">216</int>
-                                               <reference key="object" ref="975305481"/>
-                                               <reference key="parent" ref="798240356"/>
+                                               <int key="objectID">366</int>
+                                               <reference key="object" ref="999505395"/>
+                                               <reference key="parent" ref="630042886"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">165</int>
-                                               <reference key="object" ref="921881842"/>
-                                               <reference key="parent" ref="628196212"/>
+                                               <int key="objectID">252</int>
+                                               <reference key="object" ref="768906858"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="569473100"/>
+                                                       <reference ref="986015194"/>
+                                                       <reference ref="196868285"/>
+                                               </object>
+                                               <reference key="parent" ref="49161063"/>
                                        </object>
                                        <object class="IBObjectRecord">
                                                <int key="objectID">261</int>
                                                </object>
                                                <reference key="parent" ref="768906858"/>
                                        </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">223</int>
+                                               <reference key="object" ref="986015194"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="304208899"/>
+                                               </object>
+                                               <reference key="parent" ref="768906858"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">213</int>
+                                               <reference key="object" ref="196868285"/>
+                                               <reference key="parent" ref="768906858"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">224</int>
+                                               <reference key="object" ref="304208899"/>
+                                               <reference key="parent" ref="986015194"/>
+                                       </object>
                                        <object class="IBObjectRecord">
                                                <int key="objectID">262</int>
                                                <reference key="object" ref="908165435"/>
                                                <reference key="parent" ref="569473100"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">271</int>
-                                               <reference key="object" ref="141370142"/>
+                                               <int key="objectID">251</int>
+                                               <reference key="object" ref="92351498"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="606007744"/>
+                                                       <reference ref="66510867"/>
+                                                       <reference ref="598619000"/>
+                                                       <reference ref="141370142"/>
+                                                       <reference ref="798240356"/>
+                                                       <reference ref="81685190"/>
+                                                       <reference ref="245200984"/>
+                                                       <reference ref="396925210"/>
+                                                       <reference ref="628196212"/>
+                                               </object>
+                                               <reference key="parent" ref="49161063"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">38</int>
+                                               <reference key="object" ref="628196212"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="921881842"/>
                                                </object>
                                                <reference key="parent" ref="92351498"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">272</int>
-                                               <reference key="object" ref="606007744"/>
-                                               <reference key="parent" ref="141370142"/>
+                                               <int key="objectID">165</int>
+                                               <reference key="object" ref="921881842"/>
+                                               <reference key="parent" ref="628196212"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">275</int>
-                                               <reference key="object" ref="81685190"/>
+                                               <int key="objectID">209</int>
+                                               <reference key="object" ref="396925210"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="847033897"/>
+                                                       <reference ref="639767004"/>
                                                </object>
                                                <reference key="parent" ref="92351498"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">276</int>
-                                               <reference key="object" ref="847033897"/>
-                                               <reference key="parent" ref="81685190"/>
+                                               <int key="objectID">210</int>
+                                               <reference key="object" ref="639767004"/>
+                                               <reference key="parent" ref="396925210"/>
                                        </object>
                                        <object class="IBObjectRecord">
                                                <int key="objectID">280</int>
                                                <reference key="parent" ref="245200984"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">179</int>
-                                               <reference key="object" ref="844127024"/>
+                                               <int key="objectID">275</int>
+                                               <reference key="object" ref="81685190"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="955430771"/>
+                                                       <reference ref="847033897"/>
                                                </object>
-                                               <reference key="parent" ref="289177107"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">180</int>
-                                               <reference key="object" ref="955430771"/>
-                                               <reference key="parent" ref="844127024"/>
+                                               <reference key="parent" ref="92351498"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">207</int>
-                                               <reference key="object" ref="48693112"/>
-                                               <reference key="parent" ref="289177107"/>
+                                               <int key="objectID">276</int>
+                                               <reference key="object" ref="847033897"/>
+                                               <reference key="parent" ref="81685190"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">335</int>
-                                               <reference key="object" ref="700607930"/>
+                                               <int key="objectID">215</int>
+                                               <reference key="object" ref="798240356"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="886140787"/>
-                                                       <reference ref="964331174"/>
-                                                       <reference ref="102183813"/>
-                                                       <reference ref="894608246"/>
-                                                       <reference ref="630042886"/>
-                                                       <reference ref="897614796"/>
+                                                       <reference ref="975305481"/>
                                                </object>
-                                               <reference key="parent" ref="289177107"/>
+                                               <reference key="parent" ref="92351498"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">341</int>
-                                               <reference key="object" ref="886140787"/>
+                                               <int key="objectID">216</int>
+                                               <reference key="object" ref="975305481"/>
+                                               <reference key="parent" ref="798240356"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">271</int>
+                                               <reference key="object" ref="141370142"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="493667684"/>
+                                                       <reference ref="606007744"/>
                                                </object>
-                                               <reference key="parent" ref="700607930"/>
+                                               <reference key="parent" ref="92351498"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">346</int>
-                                               <reference key="object" ref="493667684"/>
-                                               <reference key="parent" ref="886140787"/>
+                                               <int key="objectID">272</int>
+                                               <reference key="object" ref="606007744"/>
+                                               <reference key="parent" ref="141370142"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">361</int>
-                                               <reference key="object" ref="102183813"/>
+                                               <int key="objectID">226</int>
+                                               <reference key="object" ref="598619000"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="19809002"/>
+                                                       <reference ref="953108737"/>
                                                </object>
-                                               <reference key="parent" ref="700607930"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">362</int>
-                                               <reference key="object" ref="19809002"/>
-                                               <reference key="parent" ref="102183813"/>
+                                               <reference key="parent" ref="92351498"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">365</int>
-                                               <reference key="object" ref="630042886"/>
+                                               <int key="objectID">227</int>
+                                               <reference key="object" ref="953108737"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="999505395"/>
+                                                       <reference ref="501672847"/>
                                                </object>
-                                               <reference key="parent" ref="700607930"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">366</int>
-                                               <reference key="object" ref="999505395"/>
-                                               <reference key="parent" ref="630042886"/>
+                                               <reference key="parent" ref="598619000"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">372</int>
-                                               <reference key="object" ref="964331174"/>
+                                               <int key="objectID">228</int>
+                                               <reference key="object" ref="501672847"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="113790059"/>
+                                                       <reference ref="272743761"/>
+                                                       <reference ref="607756368"/>
+                                                       <reference ref="372655630"/>
                                                </object>
-                                               <reference key="parent" ref="700607930"/>
+                                               <reference key="parent" ref="953108737"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">373</int>
-                                               <reference key="object" ref="113790059"/>
-                                               <reference key="parent" ref="964331174"/>
+                                               <int key="objectID">231</int>
+                                               <reference key="object" ref="372655630"/>
+                                               <reference key="parent" ref="501672847"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">375</int>
-                                               <reference key="object" ref="897614796"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="913339095"/>
-                                               </object>
-                                               <reference key="parent" ref="700607930"/>
+                                               <int key="objectID">230</int>
+                                               <reference key="object" ref="607756368"/>
+                                               <reference key="parent" ref="501672847"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">376</int>
-                                               <reference key="object" ref="913339095"/>
-                                               <reference key="parent" ref="897614796"/>
+                                               <int key="objectID">229</int>
+                                               <reference key="object" ref="272743761"/>
+                                               <reference key="parent" ref="501672847"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">378</int>
-                                               <reference key="object" ref="894608246"/>
+                                               <int key="objectID">234</int>
+                                               <reference key="object" ref="66510867"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="117507013"/>
+                                                       <reference ref="567286013"/>
                                                </object>
-                                               <reference key="parent" ref="700607930"/>
+                                               <reference key="parent" ref="92351498"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">379</int>
-                                               <reference key="object" ref="117507013"/>
-                                               <reference key="parent" ref="894608246"/>
+                                               <int key="objectID">235</int>
+                                               <reference key="object" ref="567286013"/>
+                                               <reference key="parent" ref="66510867"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">207</int>
+                                               <reference key="object" ref="48693112"/>
+                                               <reference key="parent" ref="49161063"/>
                                        </object>
                                </object>
                        </object>
                                        <string>-2.IBPluginDependency</string>
                                        <string>-3.IBPluginDependency</string>
                                        <string>165.IBPluginDependency</string>
-                                       <string>179.IBPluginDependency</string>
-                                       <string>180.IBPluginDependency</string>
                                        <string>207.IBPluginDependency</string>
                                        <string>209.IBPluginDependency</string>
                                        <string>210.IBPluginDependency</string>
                                        <string>252.IBViewIntegration.shadowColor</string>
                                        <string>252.IBViewIntegration.shadowOffsetHeight</string>
                                        <string>252.IBViewIntegration.shadowOffsetWidth</string>
-                                       <string>257.IBPluginDependency</string>
                                        <string>261.IBAttributePlaceholdersKey</string>
                                        <string>261.IBPluginDependency</string>
                                        <string>262.IBPluginDependency</string>
                                        <string>5.IBPluginDependency</string>
                                        <string>5.IBWindowTemplateEditedContentRect</string>
                                        <string>6.IBPluginDependency</string>
+                                       <string>6.IBViewIntegration.shadowBlurRadius</string>
+                                       <string>6.IBViewIntegration.shadowColor</string>
+                                       <string>6.IBViewIntegration.shadowOffsetHeight</string>
+                                       <string>6.IBViewIntegration.shadowOffsetWidth</string>
                                </object>
-                               <object class="NSMutableArray" key="dict.values">
+                               <object class="NSArray" key="dict.values">
                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.QTKitIBPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <reference ref="864448722"/>
                                        <integer value="0"/>
                                        <integer value="0"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <object class="NSMutableDictionary">
                                                <string key="NS.key.0">ToolTip</string>
                                                <object class="IBToolTipAttribute" key="NS.object.0">
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>{{262, 474}, {480, 360}}</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <real value="0.0"/>
+                                       <reference ref="864448722"/>
+                                       <real value="0.0"/>
+                                       <real value="0.0"/>
                                </object>
                        </object>
                        <object class="NSMutableDictionary" key="unlocalizedProperties">
                                <reference key="dict.values" ref="0"/>
                        </object>
                        <nil key="sourceID"/>
-                       <int key="maxID">395</int>
+                       <int key="maxID">396</int>
+               </object>
+               <object class="IBClassDescriber" key="IBDocument.Classes">
+                       <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">PreviewController</string>
+                                       <string key="superclassName">NSWindowController</string>
+                                       <object class="NSMutableDictionary" key="actions">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>cancelCreateMoviePreview:</string>
+                                                       <string>createMoviePreview:</string>
+                                                       <string>moviePlaybackGoBackwardOneFrame:</string>
+                                                       <string>moviePlaybackGoForwardOneFrame:</string>
+                                                       <string>moviePlaybackGoToBeginning:</string>
+                                                       <string>moviePlaybackGoToEnd:</string>
+                                                       <string>pictureSliderChanged:</string>
+                                                       <string>previewDurationPopUpChanged:</string>
+                                                       <string>previewScrubberChanged:</string>
+                                                       <string>settingsChanged:</string>
+                                                       <string>showMoviePreview:</string>
+                                                       <string>showPictureSettings:</string>
+                                                       <string>showPicturesPreview:</string>
+                                                       <string>toggleMoviePreviewPlayPause:</string>
+                                                       <string>toggleScaleToScreen:</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>NSString</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="actionInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>cancelCreateMoviePreview:</string>
+                                                       <string>createMoviePreview:</string>
+                                                       <string>moviePlaybackGoBackwardOneFrame:</string>
+                                                       <string>moviePlaybackGoForwardOneFrame:</string>
+                                                       <string>moviePlaybackGoToBeginning:</string>
+                                                       <string>moviePlaybackGoToEnd:</string>
+                                                       <string>pictureSliderChanged:</string>
+                                                       <string>previewDurationPopUpChanged:</string>
+                                                       <string>previewScrubberChanged:</string>
+                                                       <string>settingsChanged:</string>
+                                                       <string>showMoviePreview:</string>
+                                                       <string>showPictureSettings:</string>
+                                                       <string>showPicturesPreview:</string>
+                                                       <string>toggleMoviePreviewPlayPause:</string>
+                                                       <string>toggleScaleToScreen:</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">cancelCreateMoviePreview:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">createMoviePreview:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">moviePlaybackGoBackwardOneFrame:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">moviePlaybackGoForwardOneFrame:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">moviePlaybackGoToBeginning:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">moviePlaybackGoToEnd:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">pictureSliderChanged:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">previewDurationPopUpChanged:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">previewScrubberChanged:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">settingsChanged:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">showMoviePreview:</string>
+                                                               <string key="candidateClassName">NSString</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">showPictureSettings:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">showPicturesPreview:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">toggleMoviePreviewPlayPause:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">toggleScaleToScreen:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>fCancelPreviewMovieButton</string>
+                                                       <string>fCreatePreviewMovieButton</string>
+                                                       <string>fEncodingControlBox</string>
+                                                       <string>fGoBackwardOneFrameButton</string>
+                                                       <string>fGoForwardOneFrameButton</string>
+                                                       <string>fGoToBeginningButton</string>
+                                                       <string>fGoToEndButton</string>
+                                                       <string>fGoToStillPreviewButton</string>
+                                                       <string>fInfoField</string>
+                                                       <string>fMovieCreationProgressIndicator</string>
+                                                       <string>fMovieInfoField</string>
+                                                       <string>fMoviePlaybackControlBox</string>
+                                                       <string>fMovieScrubberSlider</string>
+                                                       <string>fMovieView</string>
+                                                       <string>fPictureControlBox</string>
+                                                       <string>fPictureSettingsToggleButton</string>
+                                                       <string>fPictureSlider</string>
+                                                       <string>fPlayPauseButton</string>
+                                                       <string>fPreviewMovieLengthPopUp</string>
+                                                       <string>fPreviewMovieStatusField</string>
+                                                       <string>fScaleToScreenToggleButton</string>
+                                                       <string>fShowPreviewMovieButton</string>
+                                                       <string>fscaleInfoField</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>NSButton</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSBox</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSProgressIndicator</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSBox</string>
+                                                       <string>NSSlider</string>
+                                                       <string>QTMovieView</string>
+                                                       <string>NSBox</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSSlider</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSPopUpButton</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSTextField</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>fCancelPreviewMovieButton</string>
+                                                       <string>fCreatePreviewMovieButton</string>
+                                                       <string>fEncodingControlBox</string>
+                                                       <string>fGoBackwardOneFrameButton</string>
+                                                       <string>fGoForwardOneFrameButton</string>
+                                                       <string>fGoToBeginningButton</string>
+                                                       <string>fGoToEndButton</string>
+                                                       <string>fGoToStillPreviewButton</string>
+                                                       <string>fInfoField</string>
+                                                       <string>fMovieCreationProgressIndicator</string>
+                                                       <string>fMovieInfoField</string>
+                                                       <string>fMoviePlaybackControlBox</string>
+                                                       <string>fMovieScrubberSlider</string>
+                                                       <string>fMovieView</string>
+                                                       <string>fPictureControlBox</string>
+                                                       <string>fPictureSettingsToggleButton</string>
+                                                       <string>fPictureSlider</string>
+                                                       <string>fPlayPauseButton</string>
+                                                       <string>fPreviewMovieLengthPopUp</string>
+                                                       <string>fPreviewMovieStatusField</string>
+                                                       <string>fScaleToScreenToggleButton</string>
+                                                       <string>fShowPreviewMovieButton</string>
+                                                       <string>fscaleInfoField</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fCancelPreviewMovieButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fCreatePreviewMovieButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fEncodingControlBox</string>
+                                                               <string key="candidateClassName">NSBox</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fGoBackwardOneFrameButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fGoForwardOneFrameButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fGoToBeginningButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fGoToEndButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fGoToStillPreviewButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fInfoField</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fMovieCreationProgressIndicator</string>
+                                                               <string key="candidateClassName">NSProgressIndicator</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fMovieInfoField</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fMoviePlaybackControlBox</string>
+                                                               <string key="candidateClassName">NSBox</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fMovieScrubberSlider</string>
+                                                               <string key="candidateClassName">NSSlider</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fMovieView</string>
+                                                               <string key="candidateClassName">QTMovieView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fPictureControlBox</string>
+                                                               <string key="candidateClassName">NSBox</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fPictureSettingsToggleButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fPictureSlider</string>
+                                                               <string key="candidateClassName">NSSlider</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fPlayPauseButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fPreviewMovieLengthPopUp</string>
+                                                               <string key="candidateClassName">NSPopUpButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fPreviewMovieStatusField</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fScaleToScreenToggleButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fShowPreviewMovieButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fscaleInfoField</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/PreviewController.h</string>
+                                       </object>
+                               </object>
+                       </object>
                </object>
-               <object class="IBClassDescriber" key="IBDocument.Classes"/>
                <int key="IBDocument.localizationMode">0</int>
                <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
                <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
                                <bool key="EncodedWithXMLCoder">YES</bool>
                                <string>NSMenuCheckmark</string>
                                <string>NSMenuMixedState</string>
+                               <string>next-p</string>
+                               <string>pause-p</string>
+                               <string>play-p</string>
+                               <string>prev-p</string>
                        </object>
-                       <object class="NSMutableArray" key="dict.values">
+                       <object class="NSArray" key="dict.values">
                                <bool key="EncodedWithXMLCoder">YES</bool>
-                               <string>{9, 8}</string>
-                               <string>{7, 2}</string>
+                               <string>{11, 11}</string>
+                               <string>{10, 3}</string>
+                               <string>{48, 48}</string>
+                               <string>{48, 48}</string>
+                               <string>{48, 48}</string>
+                               <string>{48, 48}</string>
                        </object>
                </object>
        </data>
index 2b3708cbd49a0e8aacd9b375144291f8cec88515..598971efaf31feec622062818ee1aeefe57981ad 100644 (file)
 /* Built-In Preset Dictionaries (one for each built in preset) */
 - (NSDictionary *)createDevicesPresetFolder;
 - (NSDictionary *)createRegularPresetFolder;
-- (NSDictionary *)createLegacyPresetFolder;
 
 - (NSDictionary *)createiPadPreset;
-- (NSDictionary *)createiPhone4Preset;
-- (NSDictionary *)createAppleTv2Preset;
+- (NSDictionary *)createAppleTV2Preset;
 - (NSDictionary *)createAppleTVPreset;
-- (NSDictionary *)createAppleTv3Preset;
-- (NSDictionary *)createAppleUniversalPreset;
-- (NSDictionary *)createClassicPreset;
-- (NSDictionary *)createiPhonePreset;
-- (NSDictionary *)createIpodHighPreset;
-- (NSDictionary *)createIpodLowPreset;
+- (NSDictionary *)createAppleTV3Preset;
+- (NSDictionary *)createUniversalPreset;
+- (NSDictionary *)createiPhoneiPodtouchPreset;
+- (NSDictionary *)createiPodPreset;
 - (NSDictionary *)createNormalPreset;
 - (NSDictionary *)createHighProfilePreset;
-- (NSDictionary *)createAndroidMidPreset;
-- (NSDictionary *)createAndroidHighPreset;
+- (NSDictionary *)createAndroidPreset;
+- (NSDictionary *)createAndroidTabletPreset;
 
 @end
index eaf496ccb2b13a9fe6979219cb6524c0d72586f2..7d3aa0eac5ed2c8f096deceb888f0af04ee28731 100644 (file)
@@ -25,7 +25,6 @@
     /* Built in preset folders at the root of the hierarchy */
     [UserPresets addObject:[self createDevicesPresetFolder]];
     [UserPresets addObject:[self createRegularPresetFolder]];
-    [UserPresets addObject:[self createLegacyPresetFolder]];
     
     /* Independent presets at the root hierarchy level would go here */
     
 - (NSDictionary *)createDevicesPresetFolder
 {
     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
-/*Set whether or not this is a folder, 1 is bool for folder*/
-    [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
-
 
     /* Get the New Preset Name from the field in the AddPresetPanel */
     [preset setObject:@"Devices" forKey:@"PresetName"];
 
     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
+    [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
     
     /* Lets initalize the child array of dictionaries for folders, this
      is an array of dictionaries much like the root level of presets and
      may contain folders and presets alike, etc.*/
     NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
     /* we actually call the methods for the nests here */
-    [childrenArray addObject:[self createAppleUniversalPreset]];
-    [childrenArray addObject:[self createIpodLowPreset]];
-    [childrenArray addObject:[self createiPhonePreset]];
-       [childrenArray addObject:[self createiPhone4Preset]];
+    [childrenArray addObject:[self createUniversalPreset]];
+    [childrenArray addObject:[self createiPodPreset]];
+    [childrenArray addObject:[self createiPhoneiPodtouchPreset]];
     [childrenArray addObject:[self createiPadPreset]];
     [childrenArray addObject:[self createAppleTVPreset]];
-       [childrenArray addObject:[self createAppleTv2Preset]];
-    [childrenArray addObject:[self createAppleTv3Preset]];
-    [childrenArray addObject:[self createAndroidMidPreset]];
-    [childrenArray addObject:[self createAndroidHighPreset]];
+    [childrenArray addObject:[self createAppleTV2Preset]];
+    [childrenArray addObject:[self createAppleTV3Preset]];
+    [childrenArray addObject:[self createAndroidPreset]];
+    [childrenArray addObject:[self createAndroidTabletPreset]];
 
     [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
     
 - (NSDictionary *)createRegularPresetFolder
 {
     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
-/*Set whether or not this is a folder, 1 is bool for folder*/
-    [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
-
 
     /* Get the New Preset Name from the field in the AddPresetPanel */
     [preset setObject:@"Regular" forKey:@"PresetName"];
 
     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
+    [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
     
     /* Lets initalize the child array of dictionaries for folders, this
      is an array of dictionaries much like the root level of presets and
     return preset;
 }
 
-- (NSDictionary *)createLegacyPresetFolder
-{
-    NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
-/*Set whether or not this is a folder, 1 is bool for folder*/
-    [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
-
-
-    /* Get the New Preset Name from the field in the AddPresetPanel */
-    [preset setObject:@"Legacy" forKey:@"PresetName"];
-
-    /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-
-    /*Set whether or not this is default, at creation set to 0*/
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-    
-    /* Lets initalize the child array of dictionaries for folders, this
-     is an array of dictionaries much like the root level of presets and
-     may contain folders and presets alike, etc.*/
-    NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
-    /* we actually call the methods for the nests here */
-    [childrenArray addObject:[self createClassicPreset]];
-    [childrenArray addObject:[self createIpodHighPreset]];
-    [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
-    
-    [childrenArray autorelease];
-
-
-
-    [preset autorelease];
-    return preset;
-}
-
-
 #pragma mark -
 
 #pragma mark Built In Preset Definitions
 
     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-    /*Set whether or not this is a folder, 1 is bool for folder*/
-    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
 
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's settings for the AppleTV and 2009's iPhone and iPod Touch lineup. Provides a good balance between quality and file size, and pushes the devices to their limits. Includes Dolby Digital 5.1 AC3 sound for the AppleTV." forKey:@"PresetDescription"];
 
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-
-    /* 64-bit MP4 file */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
 
     /* Chapter Markers*/
      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
 
     /* x264 Option String (We can use this to tweak the appleTV output)*/
-    [preset setObject:@"cabac=0:ref=2:me=umh:b-pyramid=none:b-adapt=2:weightb=0:trellis=0:weightp=0:vbv-maxrate=9500:vbv-bufsize=9500" forKey:@"x264Option"];
+    [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"medium" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"cabac=0:ref=2:b-pyramid=none:weightb=0:weightp=0:vbv-maxrate=9500:vbv-bufsize=9500" forKey:@"x264OptionExtra"];
+    [preset setObject:@"high" forKey:@"h264Profile"];
+    [preset setObject:@"3.1" forKey:@"h264Level"];
 
     /* Video quality */
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:[NSNumber numberWithFloat:20.0] forKey:@"VideoQualitySlider"];
 
     /* Video framerate */
-    [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
-    [preset setObject:@"vfr" forKey:@"VideoFramerateMode"];
+    [preset setObject:@"30" forKey:@"VideoFramerate"];
+    [preset setObject:@"pfr" forKey:@"VideoFramerateMode"];
 
     /* GrayScale */
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
     [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PictureModulus"];
 
     /* Explicitly set the filters for built-in presets */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
 
     return preset;
 }
 
-- (NSDictionary *)createAppleUniversalPreset
+- (NSDictionary *)createUniversalPreset
 {
     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
 
 
     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-    /*Set whether or not this is a folder, 1 is bool for folder*/
-    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
 
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's universally compatible, full resolution settings for all current Apple devices: iPod (6G and up), iPhone, AppleTV, and Macs" forKey:@"PresetDescription"];
 
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-
-    /* 64-bit MP4 file */
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
 
     /* Chapter Markers*/
      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
 
     /* x264 Option String (We can use this to tweak the appleTV output)*/
-    [preset setObject:@"cabac=0:ref=2:me=umh:bframes=0:weightp=0:8x8dct=0:trellis=0:subme=6" forKey:@"x264Option"];
+    [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"fast" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"" forKey:@"x264OptionExtra"];
+    [preset setObject:@"baseline" forKey:@"h264Profile"];
+    [preset setObject:@"3.0" forKey:@"h264Level"];
 
     /* Video quality */
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:[NSNumber numberWithFloat:20.0] forKey:@"VideoQualitySlider"];
 
     /* Video framerate */
-    [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
-    [preset setObject:@"vfr" forKey:@"VideoFramerateMode"];
+    [preset setObject:@"30" forKey:@"VideoFramerate"];
+    [preset setObject:@"pfr" forKey:@"VideoFramerateMode"];
 
     /* GrayScale */
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
     [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PictureModulus"];
 
     /* Explicitly set the filters for built-in presets */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
 
 
     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-    /*Set whether or not this is a folder, 1 is bool for folder*/
-    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
 
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's preset for the iPad (all generations) is optimized for a good balance between quality and filesize." forKey:@"PresetDescription"];
 
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-
-    /* 64-bit MP4 file */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
 
     /* Chapter Markers*/
      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
 
     /* x264 Option String (We can use this to tweak the output)*/
     [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"medium" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"" forKey:@"x264OptionExtra"];
+    [preset setObject:@"high" forKey:@"h264Profile"];
+    [preset setObject:@"3.1" forKey:@"h264Level"];
 
     /* Video quality */
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:[NSNumber numberWithFloat:20.0] forKey:@"VideoQualitySlider"];
 
     /* Video framerate */
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
     [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PictureModulus"];
 
     /* Explicitly set the filters for built-in presets */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
 
     return preset;
 }
 
-- (NSDictionary *)createiPhone4Preset
-{
-    NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
-       
-    /* Get the New Preset Name from the field in the AddPresetPanel */
-    [preset setObject:@"iPhone 4" forKey:@"PresetName"];
-       
-    /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-    /*Set whether or not this is a folder, 1 is bool for folder*/
-    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
-    /*Set whether or not this is default, at creation set to 0*/
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-       
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
-       
-    /* Get the New Preset Description from the field in the AddPresetPanel */
-    [preset setObject:@"HandBrake's preset for the iPhone 4 is optimized for viewing on its 960x480 display." forKey:@"PresetDescription"];
-       
-    /* File Format */
-    [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-       
-    /* 64-bit MP4 file */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
-       
-    /* Chapter Markers*/
-       [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
-       
-    /* Video encoder */
-    [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
-       
-    /* x264 Option String (We can use this to tweak the output)*/
-    [preset setObject:@"" forKey:@"x264Option"];
-       
-    /* Video quality */
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
-    [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
-    [preset setObject:[NSNumber numberWithFloat:20.0] forKey:@"VideoQualitySlider"];
-       
-    /* Video framerate */
-    [preset setObject:@"29.97 (NTSC Video)" forKey:@"VideoFramerate"];
-    [preset setObject:@"pfr" forKey:@"VideoFramerateMode"];
-    
-    /* GrayScale */
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
-       
-    /* 2 Pass Encoding */
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
-       
-    /* Basic Picture Settings */
-    /* Use Max Picture settings for whatever the dvd is.*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
-    [preset setObject:[NSNumber numberWithInt:960] forKey:@"PictureWidth"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
-       
-    /* Explicitly set the filters for built-in presets */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
-       
-    /* Set crop settings here */
-    /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];    
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
-       
-    /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
-     * not listed will be set to "None" and not encoded */
-    NSMutableArray *audioListArray = [[NSMutableArray alloc] init];
-    
-    /* Track 1 */        
-    NSMutableDictionary *audioTrack1Array = [[NSMutableDictionary alloc] init];
-    [audioTrack1Array setObject:[NSNumber numberWithInt:1] forKey:@"AudioTrack"];
-    [audioTrack1Array setObject:@"AAC (faac)" forKey:@"AudioEncoder"];
-    [audioTrack1Array setObject:@"Dolby Pro Logic II"  forKey:@"AudioMixdown"];
-    [audioTrack1Array setObject:@"Auto" forKey:@"AudioSamplerate"];
-    [audioTrack1Array setObject:@"160" forKey:@"AudioBitrate"];
-    [audioTrack1Array setObject:[NSNumber numberWithFloat:0.0] forKey:@"AudioTrackDRCSlider"];
-    [audioTrack1Array autorelease];
-    [audioListArray addObject:audioTrack1Array];
-       
-    [preset setObject:[NSMutableArray arrayWithArray: audioListArray] forKey:@"AudioList"];
-       
-    /* Subtitles*/
-    [preset setObject:@"None" forKey:@"Subtitles"];
-       
-    [preset autorelease];
-    return preset;
-}
-
-- (NSDictionary *)createAppleTv2Preset
+- (NSDictionary *)createAppleTV2Preset
 {
     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
        
        
     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-    /*Set whether or not this is a folder, 1 is bool for folder*/
-    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-       
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
        
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's preset for the Apple TV (2nd gen) is optimized for viewing on its 1280x720 display." forKey:@"PresetDescription"];
        
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-       
-    /* 64-bit MP4 file */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
+       [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
        
     /* Chapter Markers*/
        [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
        
     /* x264 Option String (We can use this to tweak the output)*/
     [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"medium" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"" forKey:@"x264OptionExtra"];
+    [preset setObject:@"high" forKey:@"h264Profile"];
+    [preset setObject:@"3.1" forKey:@"h264Level"];
        
     /* Video quality */
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:[NSNumber numberWithFloat:20.0] forKey:@"VideoQualitySlider"];
        
     /* Video framerate */
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
     [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PictureModulus"];
        
     /* Explicitly set the filters for built-in presets */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
        
     return preset;
 }
 
-- (NSDictionary *)createAppleTv3Preset
+- (NSDictionary *)createAppleTV3Preset
 {
     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
        
        
     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-    /*Set whether or not this is a folder, 1 is bool for folder*/
-    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-       
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
        
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's preset for the Apple TV (3rd gen) is optimized for up to 1080p playback." forKey:@"PresetDescription"];
        
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-       
-    /* 64-bit MP4 file */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
+       [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
        
     /* Chapter Markers*/
        [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
        
     /* x264 Option String (We can use this to tweak the output)*/
-    [preset setObject:@"b-adapt=2" forKey:@"x264Option"];
+    [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"medium" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"" forKey:@"x264OptionExtra"];
+    [preset setObject:@"high" forKey:@"h264Profile"];
+    [preset setObject:@"4.0" forKey:@"h264Level"];
        
     /* Video quality */
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:[NSNumber numberWithFloat:20.0] forKey:@"VideoQualitySlider"];
        
     /* Video framerate */
     return preset;
 }
 
-
-- (NSDictionary *)createClassicPreset
-{
-    NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
-
-    /* Get the New Preset Name from the field in the AddPresetPanel */
-    [preset setObject:@"Classic" forKey:@"PresetName"];
-
-    /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-
-    /*Set whether or not this is default, at creation set to 0*/
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"UsesPictureSettings"];
-
-    /* Get the New Preset Description from the field in the AddPresetPanel */
-    [preset setObject:@"HandBrake's traditional, faster, lower-quality settings." forKey:@"PresetDescription"];
-
-    /* File Format */
-    [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-
-    /* Chapter Markers*/
-     [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
-
-    /* Video encoder */
-    [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
-
-    /* x264 Option String */
-    [preset setObject:@"" forKey:@"x264Option"];
-
-    /* Video quality */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
-    [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
-
-    /* Video framerate */
-    [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
-    [preset setObject:@"vfr" forKey:@"VideoFramerateMode"];
-
-    /* GrayScale */
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
-
-    /* 2 Pass Encoding */
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
-
-    /*Picture Settings*/
-    /* Use Max Picture settings for whatever the dvd is.*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
-
-    /* Explicitly set the filters for built-in presets */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
-
-    /* Set crop settings here */
-    /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
-    
-    /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
-     * not listed will be set to "None" and not encoded */
-    NSMutableArray *audioListArray = [[NSMutableArray alloc] init];
-    
-    /* Track 1 */        
-    NSMutableDictionary *audioTrack1Array = [[NSMutableDictionary alloc] init];
-    [audioTrack1Array setObject:[NSNumber numberWithInt:1] forKey:@"AudioTrack"];
-    [audioTrack1Array setObject:@"AAC (faac)" forKey:@"AudioEncoder"];
-    [audioTrack1Array setObject:@"Dolby Pro Logic II"  forKey:@"AudioMixdown"];
-    [audioTrack1Array setObject:@"Auto" forKey:@"AudioSamplerate"];
-    [audioTrack1Array setObject:@"160" forKey:@"AudioBitrate"];
-    [audioTrack1Array setObject:[NSNumber numberWithFloat:0.0] forKey:@"AudioTrackDRCSlider"];
-    [audioTrack1Array autorelease];
-    [audioListArray addObject:audioTrack1Array];
-
-    [preset setObject:[NSMutableArray arrayWithArray: audioListArray] forKey:@"AudioList"];
-
-    /* Subtitles*/
-    [preset setObject:@"None" forKey:@"Subtitles"];
-
-    [preset autorelease];
-    return preset;
-}
-
 - (NSDictionary *)createHighProfilePreset
 {
     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
 
     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
 
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's general-purpose preset for High Profile H.264 video, with all the bells and whistles." forKey:@"PresetDescription"];
 
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-
-    /* 64-bit MP4 file */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
 
     /* Chapter Markers*/
      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
 
     /* x264 Option String */
-    [preset setObject:@"b-adapt=2:rc-lookahead=50" forKey:@"x264Option"];
+    [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"medium" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"" forKey:@"x264OptionExtra"];
+    [preset setObject:@"high" forKey:@"h264Profile"];
+    [preset setObject:@"4.1" forKey:@"h264Level"];
 
     /* Video quality */
+    [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
     [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
-    [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
     [preset setObject:[NSNumber numberWithFloat:20.0] forKey:@"VideoQualitySlider"];
 
     /* Video framerate */
 
     /*Picture Settings*/
     /* Use Max Picture settings for whatever the dvd is.*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
+    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
     [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PictureModulus"];
 
     /* Explicitly set the filters for built-in presets */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
 
     /* Set crop settings here */
     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
+    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
     return preset;
 }
 
-- (NSDictionary *)createiPhonePreset
+- (NSDictionary *)createiPhoneiPodtouchPreset
 {
     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
 
 
     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
 
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's settings for all iPhones and iPod Touches going back to the original iPhone 2G." forKey:@"PresetDescription"];
 
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
+    [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
 
     /* Chapter Markers*/
      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
 
     /* Video encoder */
     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
+    
     /* x264 Option String */
-    [preset setObject:@"cabac=0:ref=2:me=umh:bframes=0:weightp=0:subme=6:8x8dct=0:trellis=0" forKey:@"x264Option"];
+    [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"medium" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"" forKey:@"x264OptionExtra"];
+    [preset setObject:@"high" forKey:@"h264Profile"];
+    [preset setObject:@"3.1" forKey:@"h264Level"];
 
     /* Video quality */
+    [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
     [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
-    [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
-    [preset setObject:[NSNumber numberWithFloat:20.0] forKey:@"VideoQualitySlider"];
+    [preset setObject:[NSNumber numberWithFloat:22.0] forKey:@"VideoQualitySlider"];
 
     /* Video framerate */
-    [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
-    [preset setObject:@"vfr" forKey:@"VideoFramerateMode"];
+    [preset setObject:@"29.97 (NTSC Video)" forKey:@"VideoFramerate"];
+    [preset setObject:@"pfr" forKey:@"VideoFramerateMode"];
 
     /* GrayScale */
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
 
     /*Picture Settings*/
-    /* Use a width of 480 for the iPhone*/
-    [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
-
-    /* Explicitly set the filters for built-in presets */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
-
-    /* Set crop settings here */
-    /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
-
-    /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
-     * not listed will be set to "None" and not encoded */
-    NSMutableArray *audioListArray = [[NSMutableArray alloc] init];
-    
-    /* Track 1 */        
-    NSMutableDictionary *audioTrack1Array = [[NSMutableDictionary alloc] init];
-    [audioTrack1Array setObject:[NSNumber numberWithInt:1] forKey:@"AudioTrack"];
-    [audioTrack1Array setObject:@"AAC (faac)" forKey:@"AudioEncoder"];
-    [audioTrack1Array setObject:@"Dolby Pro Logic II"  forKey:@"AudioMixdown"];
-    [audioTrack1Array setObject:@"Auto" forKey:@"AudioSamplerate"];
-    [audioTrack1Array setObject:@"128" forKey:@"AudioBitrate"];
-    [audioTrack1Array setObject:[NSNumber numberWithFloat:0.0] forKey:@"AudioTrackDRCSlider"];
-    [audioTrack1Array autorelease];
-    [audioListArray addObject:audioTrack1Array];
-
-    [preset setObject:[NSMutableArray arrayWithArray: audioListArray] forKey:@"AudioList"];
-
-    /* Subtitles*/
-    [preset setObject:@"None" forKey:@"Subtitles"];
-
-    [preset autorelease];
-    return preset;
-}
-
-- (NSDictionary *)createIpodHighPreset
-{
-    NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
-
-    /* Get the New Preset Name from the field in the AddPresetPanel */
-    [preset setObject:@"iPod Legacy" forKey:@"PresetName"];
-
-    /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-
-    /*Set whether or not this is default, at creation set to 0*/
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
+    /* Use a width of 960 for the iPhone 4 and later */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
-
-    /* Get the New Preset Description from the field in the AddPresetPanel */
-    [preset setObject:@"HandBrake's high resolution settings for older 5 and 5.5G iPods. Good video quality, great for viewing on a TV using your iPod. This is the iPod High-Rez preset from 0.9.2." forKey:@"PresetDescription"];
-
-    /* File Format */
-    [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-
-    /* Chapter Markers*/
-     [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
-
-    /* Video encoder */
-    [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
-    /* x264 Option String */
-    [preset setObject:@"level=30:bframes=0:weightp=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:psy-rd=0,0:subme=6:8x8dct=0:trellis=0" forKey:@"x264Option"];
-
-    /* Video quality */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
-    [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
-
-    /* Video framerate */
-    [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
-    [preset setObject:@"vfr" forKey:@"VideoFramerateMode"];
-
-    /* GrayScale */
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
-
-    /* 2 Pass Encoding */
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
-
-    /*Picture Settings*/
-    /* Use a width of 640 for iPod TV-out */
-    [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
+    [preset setObject:[NSNumber numberWithInt:960] forKey:@"PictureWidth"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PictureModulus"];
 
     /* Explicitly set the filters for built-in presets */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
 
     return preset;
 }
 
-- (NSDictionary *)createIpodLowPreset
+- (NSDictionary *)createiPodPreset
 {
     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
 
 
     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
 
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's low resolution settings for the iPod (5G and up). Optimized for great playback on the iPod screen, with smaller file size." forKey:@"PresetDescription"];
 
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
 
     /* Chapter Markers*/
      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
 
     /* Video encoder */
     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
+    
     /* x264 Option String */
-    [preset setObject:@"level=30:bframes=0:weightp=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:subme=6:8x8dct=0:trellis=0" forKey:@"x264Option"];
+    [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"medium" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"" forKey:@"x264OptionExtra"];
+    [preset setObject:@"baseline" forKey:@"h264Profile"];
+    [preset setObject:@"1.3" forKey:@"h264Level"];
 
     /* Video quality */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
-    [preset setObject:@"700" forKey:@"VideoAvgBitrate"];
+    [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
+    [preset setObject:[NSNumber numberWithFloat:22.0] forKey:@"VideoQualitySlider"];
 
     /* Video framerate */
-    [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
-    [preset setObject:@"vfr" forKey:@"VideoFramerateMode"];
+    [preset setObject:@"30" forKey:@"VideoFramerate"];
+    [preset setObject:@"pfr" forKey:@"VideoFramerateMode"];
 
     /* GrayScale */
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
 
     /*Picture Settings*/
-    /* Use a width of 320 for the iPod screen */
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
+    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
     [preset setObject:[NSNumber numberWithInt:320] forKey:@"PictureWidth"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PictureModulus"];
 
     /* Explicitly set the filters for built-in presets */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
 
     /* Set crop settings here */
     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
+    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
 
     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Default"];
-
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
 
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's normal, default settings." forKey:@"PresetDescription"];
 
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
 
     /* Chapter Markers*/
      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
 
     /* x264 Option String */
-    [preset setObject:@"ref=1:weightp=1:subq=2:rc-lookahead=10:trellis=0:8x8dct=0" forKey:@"x264Option"];
+    [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"veryfast" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"" forKey:@"x264OptionExtra"];
+    [preset setObject:@"main" forKey:@"h264Profile"];
+    [preset setObject:@"4.0" forKey:@"h264Level"];
 
     /* Video quality */
+    [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
     [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
-    [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
     [preset setObject:[NSNumber numberWithFloat:20.0] forKey:@"VideoQualitySlider"];
 
     /* Video framerate */
 
     /*Picture Settings*/
     /* Use Max Picture settings for whatever the dvd is.*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
+    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PictureModulus"];
 
     /* Explicitly set the filters for built-in presets */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
 
     /* Set crop settings here */
     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
+    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
     return preset;
 }
 
-- (NSDictionary *)createAndroidMidPreset
+- (NSDictionary *)createAndroidPreset
 {
     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
     
     /* Get the New Preset Name from the field in the AddPresetPanel */
-    [preset setObject:@"Android Mid" forKey:@"PresetName"];
+    [preset setObject:@"Android" forKey:@"PresetName"];
     
     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-    
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-    
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
     
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's settings for Mid-range Android 2.3 or better devices." forKey:@"PresetDescription"];
     
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-    
-    /* 64-bit MP4 file */
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
     
     /* Chapter Markers*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
     
     /* Video encoder */
     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
+    
     /* x264 Option String */
-    [preset setObject:@"cabac=0:ref=2:me=umh:bframes=0:weightp=0:subme=6:8x8dct=0:trellis=0" forKey:@"x264Option"];
+    [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"medium" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"" forKey:@"x264OptionExtra"];
+    [preset setObject:@"main" forKey:@"h264Profile"];
+    [preset setObject:@"2.2" forKey:@"h264Level"];
     
     /* Video quality */
+    [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
     [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
-    [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
     [preset setObject:[NSNumber numberWithFloat:22.0] forKey:@"VideoQualitySlider"];
     
     /* Video framerate */
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
     
     /*Picture Settings*/
-    /* Use a width of 480 for the iPhone*/
-    [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
+    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithInt:720] forKey:@"PictureWidth"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PictureModulus"];
     
     /* Explicitly set the filters for built-in presets */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
     
     return preset;
 }
 
-- (NSDictionary *)createAndroidHighPreset
+- (NSDictionary *)createAndroidTabletPreset
 {
     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
        
     /* Get the New Preset Name from the field in the AddPresetPanel */
-    [preset setObject:@"Android High" forKey:@"PresetName"];
+    [preset setObject:@"Android Tablet" forKey:@"PresetName"];
        
     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
-    /*Set whether or not this is a folder, 1 is bool for folder*/
-    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
-    /*Set whether or not this is default, at creation set to 0*/
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
-       
-    /*Get the whether or not to apply pic settings in the AddPresetPanel*/
-    [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+    [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
        
     /* Get the New Preset Description from the field in the AddPresetPanel */
     [preset setObject:@"HandBrake's preset for the Higher end Anroid 2.3 or better devices." forKey:@"PresetDescription"];
        
     /* File Format */
     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
-       
-    /* 64-bit MP4 file */
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
+       [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
        
     /* Chapter Markers*/
        [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
        
     /* x264 Option String (We can use this to tweak the output)*/
-    [preset setObject:@"weightp=0:cabac=0" forKey:@"x264Option"];
+    [preset setObject:@"" forKey:@"x264Option"];
+    [preset setObject:[NSNumber numberWithInt:0] forKey:@"x264UseAdvancedOptions"];
+    [preset setObject:@"medium" forKey:@"x264Preset"];
+    [preset setObject:@"" forKey:@"x264Tune"];
+    [preset setObject:@"" forKey:@"x264OptionExtra"];
+    [preset setObject:@"main" forKey:@"h264Profile"];
+    [preset setObject:@"3.1" forKey:@"h264Level"];
        
     /* Video quality */
-    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
     [preset setObject:[NSNumber numberWithFloat:22.0] forKey:@"VideoQualitySlider"];
        
     /* Video framerate */
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
        
     /* Basic Picture Settings */
-    /* Use Max Picture settings for whatever the dvd is.*/
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
-    [preset setObject:[NSNumber numberWithInt:720] forKey:@"PictureWidth"];
+    [preset setObject:[NSNumber numberWithInt:1280] forKey:@"PictureWidth"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
     [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
+    [preset setObject:[NSNumber numberWithInt:2] forKey:@"PictureModulus"];
        
     /* Explicitly set the filters for built-in presets */
     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
-    [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
        
index 1394a9730d0f017c03b115fd27362808bc5bf78f..420e2831edf1691c63bc304083f711177e456f65 100644 (file)
 
 @class HBController;
 
-#define HB_NUM_HBLIB_PICTURES      20   // # of preview pictures libhb should generate
-
-@interface PreviewController : NSWindowController
+@interface PreviewController : NSWindowController <NSWindowDelegate>
 {
     hb_handle_t              * fHandle;
     hb_title_t               * fTitle;
 
-    HBController             *fHBController;        // reference to HBController
+    HBController             * fHBController;     // reference to HBController
     
-    IBOutlet NSWindow        * fPreviewWindow;
-    NSWindow                 * fFullScreenWindow; // Full Screen window
     NSMutableDictionary      * fPicturePreviews;  // NSImages, one for each preview libhb creates, created lazily
     int                        fPicture;
 
-    IBOutlet NSImageView     * fPictureView;
-    IBOutlet NSBox           * fPictureViewArea;
+    CALayer                  * fWhiteBackground;
+    CALayer                  * fPictureLayer;
     IBOutlet NSBox           * fPictureControlBox;
     IBOutlet NSBox           * fEncodingControlBox;
     IBOutlet NSBox           * fMoviePlaybackControlBox;
     IBOutlet NSTextField     * fInfoField;
     IBOutlet NSTextField     * fscaleInfoField;
     
-    BOOL                     isEncoding;
-
-       
-    int                      MaxOutputWidth;
-    int                      MaxOutputHeight;
-
-    int output_width, output_height, output_par_width, output_par_height;
-    int display_width;
+    CGFloat                  backingScaleFactor;
     
     /* Hud Control Overlay */
     NSTimer                         * fHudTimer;
     int                               hudTimerSeconds;
     
     /* Full Screen Mode Toggle */
+    BOOL                              scaleToScreen;
     IBOutlet NSButton               * fScaleToScreenToggleButton;
     IBOutlet NSButton               * fPictureSettingsToggleButton;
-    BOOL                              scaleToScreen;
     
     /* Movie Previews */
     QTMovie                         * aMovie;
     IBOutlet NSTextField            * fMovieInfoField;
     NSTimer                         * fMovieTimer;
     
-    
     IBOutlet NSButton               * fCreatePreviewMovieButton;
     IBOutlet NSButton               * fCancelPreviewMovieButton;
     IBOutlet NSButton               * fShowPreviewMovieButton;
     NSString                        * fPreviewMoviePath;
     IBOutlet NSProgressIndicator    * fMovieCreationProgressIndicator;
     hb_handle_t                     * fPreviewLibhb;           // private libhb for creating previews
+    NSInteger                         fEncodeState;
     NSTimer                         * fLibhbTimer;             // timer for retrieving state from libhb
     IBOutlet NSTextField            * fPreviewMovieStatusField; 
     IBOutlet NSPopUpButton          * fPreviewMovieLengthPopUp; // popup of choices for length of preview in seconds
 
 - (void) SetHandle: (hb_handle_t *) handle;
 - (void) SetTitle:  (hb_title_t *)  title;
-- (void)setHBController: (HBController *)controller;
-- (IBAction) showPreviewWindow: (id)sender;
-- (BOOL)acceptsMouseMovedEvents;
+- (void) setHBController: (HBController *)controller;
 - (void) displayPreview;
 
-- (IBAction) SettingsChanged: (id) sender;
+- (IBAction) settingsChanged: (id) sender;
 - (IBAction) pictureSliderChanged: (id) sender;
-- (IBAction)showPictureSettings:(id)sender;
+- (IBAction) showPictureSettings:(id)sender;
 - (NSString*) pictureSizeInfoString;
 
-- (IBAction)toggleScaleToScreen:(id)sender;
-- (IBAction)goWindowedScreen:(id)sender;
+- (IBAction) toggleScaleToScreen:(id)sender;
 
 /* HUD overlay */
 - (void) enableHudControls;
 - (void) stopReceivingLibhbNotifications;
 
 - (void) installMovieCallbacks;
-- (void)removeMovieCallbacks;
+- (void) removeMovieCallbacks;
 
 - (IBAction) cancelCreateMoviePreview: (id) sender;
 - (IBAction) createMoviePreview: (id) sender;
 - (void) libhbStateChanged: (hb_state_t ) state;
 - (IBAction) showMoviePreview: (NSString *) path;
+- (IBAction) showPicturesPreview: (id) sender;
 - (IBAction) toggleMoviePreviewPlayPause: (id) sender;
 - (IBAction) moviePlaybackGoToBeginning: (id) sender;
 - (IBAction) moviePlaybackGoToEnd: (id) sender;
 - (IBAction) moviePlaybackGoBackwardOneFrame: (id) sender;
 - (IBAction) moviePlaybackGoForwardOneFrame: (id) sender;
 
--(void) initPreviewScrubberForMovie;
--(void) adjustPreviewScrubberForCurrentMovieTime;
+- (void) initPreviewScrubberForMovie;
+- (void) adjustPreviewScrubberForCurrentMovieTime;
 - (IBAction) previewScrubberChanged: (id) sender;
--(void)setTime:(int)timeValue;
--(void)timeToQTTime:(long)timeValue resultTime:(QTTime *)aQTTime;
+- (BOOL) isPlaying;
+
 - (void) startMovieTimer;
 - (void) stopMovieTimer;
-- (NSString*) calculatePlaybackSMTPETimecodeForDisplay;
 
+- (NSString*) SMTPETimecode: (QTTime)time;
+- (QTTime)SliderToQTTime:(double)time;
 
 - (IBAction) previewDurationPopUpChanged: (id) sender;
 
-
-- (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title;
-
-+ (NSImage *) makeImageForPicture: (int)pictureIndex
++ (NSImage *) makeImageForPicture: (NSInteger)pictureIndex
                 libhb:(hb_handle_t*)handle
                 title:(hb_title_t*)title;
-- (NSImage *) imageForPicture: (int) pictureIndex;
+- (NSImage *) imageForPicture: (NSInteger) pictureIndex;
 - (void) purgeImageCache;
 @end
 
index 69b6f521e6da3ee292c034763be5ad4b29ef8111..ba664059b285d7927b0c7a0c7fff619c3edec069 100644 (file)
@@ -7,22 +7,28 @@
 #import "HBPreviewController.h"
 #import "Controller.h"
 
-@implementation QTMovieView ( HBQTkitExt )
+#define BORDER_SIZE 2.0
+#define HB_NUM_HBLIB_PICTURES 20   // # of preview pictures libhb should generate
+
+@implementation QTMovieView (HBExtensions)
 - (void) mouseMoved:(NSEvent *)theEvent
 {
     [super mouseMoved:theEvent];
 }
 @end
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED < 1070
+@interface NSWindow(HBExtensions)
+
+@property (readonly) CGFloat backingScaleFactor;
 
+@end
+#endif
 
 @interface PreviewController (Private)
 
 - (NSSize)optimalViewSizeForImageSize: (NSSize)imageSize;
-- (void)resizeSheetForViewSize: (NSSize)viewSize;
-- (void)setViewSize: (NSSize)viewSize;
-- (BOOL)viewNeedsToResizeToSize: (NSSize)newSize;
-
+- (void)resizeWindowForViewSize: (NSSize)viewSize;
 @end
 
 @implementation PreviewController
         /* Init libhb with check for updates libhb style set to "0" so its ignored and lets sparkle take care of it */
         int loggingLevel = [[[NSUserDefaults standardUserDefaults] objectForKey:@"LoggingLevel"] intValue];
         fPreviewLibhb = hb_init(loggingLevel, 0);
-        
-        
-
        }
        return self;
 }
 
-
-//------------------------------------------------------------------------------------
-// Displays and brings the picture window to the front
-//------------------------------------------------------------------------------------
-- (IBAction) showPreviewWindow: (id)sender
-{
-    [self showWindow:sender];
-    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"PreviewWindowIsOpen"];
-    
-    /* lets set the preview window to accept mouse moved events */
-    [fPreviewWindow setAcceptsMouseMovedEvents:YES];
-    hudTimerSeconds = 0;
-    [self pictureSliderChanged:nil];
-    [self startReceivingLibhbNotifications];
-}
-
 - (void)setHBController: (HBController *)controller
 {
     fHBController = controller;
 
 - (void)awakeFromNib
 {
-    [fPreviewWindow setDelegate:self];
+    [[self window] setDelegate:self];
+
     if( ![[self window] setFrameUsingName:@"Preview"] )
         [[self window] center];
+
     [self setWindowFrameAutosaveName:@"Preview"];
     [[self window] setExcludedFromWindowsMenu:YES];
     
     /* lets set the preview window to accept mouse moved events */
-    [fPreviewWindow setAcceptsMouseMovedEvents:YES];
-    //[self pictureSliderChanged:nil];
+    [[self window] setAcceptsMouseMovedEvents:YES];
     [self startReceivingLibhbNotifications];
     
     hudTimerSeconds = 0;
     */
     [fMovieCreationProgressIndicator setUsesThreadedAnimation:NO];
     
-    /* Setup our layers for core animation */
-    [fPictureViewArea setWantsLayer:YES];
-    [fPictureView setWantsLayer:YES];
+    /* we set the preview length popup in seconds */
+    [fPreviewMovieLengthPopUp removeAllItems];
+    [fPreviewMovieLengthPopUp addItemWithTitle: @"15"];
+    [fPreviewMovieLengthPopUp addItemWithTitle: @"30"];
+    [fPreviewMovieLengthPopUp addItemWithTitle: @"45"];
+    [fPreviewMovieLengthPopUp addItemWithTitle: @"60"];
+    [fPreviewMovieLengthPopUp addItemWithTitle: @"90"];
+    [fPreviewMovieLengthPopUp addItemWithTitle: @"105"];
+    [fPreviewMovieLengthPopUp addItemWithTitle: @"120"];
 
-    [fCancelPreviewMovieButton setWantsLayer:YES];
-    [fMovieCreationProgressIndicator setWantsLayer:YES];
+       [fMovieView setHidden:YES];
+    [fMovieView setDelegate:self];
 
+    /* Setup our layers for core animation */
+    [[[self window] contentView] setWantsLayer:YES];
     [fPictureControlBox setWantsLayer:YES];
     [fEncodingControlBox setWantsLayer:YES];
-       [fMovieView setWantsLayer:YES];
-       [fMovieView setHidden:YES];
-    [fMovieView setDelegate:self];
+    [fMoviePlaybackControlBox setWantsLayer:YES];
+    
+    fWhiteBackground = [CALayer layer];
+    [fWhiteBackground setBounds:CGRectMake(0.0, 0.0, 480.0, 360.0)];
+    [fWhiteBackground setPosition:CGPointMake([[[self window] contentView] frame].size.width /2,
+                                 [[[self window] contentView] frame].size.height /2)];
+    
+    [fWhiteBackground setAutoresizingMask: NSViewWidthSizable | NSViewHeightSizable];
+    CGColorRef white = CGColorCreateGenericRGB(1.0, 1.0, 1.0, 1.0);
+    [fWhiteBackground setBackgroundColor: white];
+    CFRelease(white);
+    [fWhiteBackground setShadowOpacity:0.5f];
+    [fWhiteBackground setShadowOffset:CGSizeMake(0, 0)];
 
-    /* Since the xib has everything off center for easy acess
-     * we align our views and windows here we an align to anything
-     * since it will actually change later upon source load, but
-     * for convenience we will use the fPictureViewArea
-     */
-     
-     /* Align the still preview image view to the picture box */
-     [fPictureView setFrameSize:[fPictureViewArea frame].size];
-     [fMovieView setFrameSize:[fPictureViewArea frame].size];
-     //[fPreviewWindow setFrameSize:[fPictureViewArea frame].size];
+    fPictureLayer = [CALayer layer];
+    [fPictureLayer setBounds:CGRectMake(0.0, 0.0, 476.0, 356.0)];
+    [fPictureLayer setPosition:CGPointMake([[[self window] contentView] frame].size.width /2,
+                                             [[[self window] contentView] frame].size.height /2)];
     
+    [fPictureLayer setAutoresizingMask: NSViewWidthSizable | NSViewHeightSizable];
+
+    NSMutableDictionary *actions = [NSMutableDictionary
+                                    dictionaryWithDictionary:[fPictureLayer actions]];
+
+    // Disable fade on contents change
+    [actions setObject:[NSNull null] forKey:@"contents"];
+    [fPictureLayer setActions:actions];
+
+    [[[[self window] contentView] layer] insertSublayer:fWhiteBackground below: [fMovieView layer]];
+    [[[[self window] contentView] layer] insertSublayer:fPictureLayer below: [fMovieView layer]];
+
+    /* relocate our hud origins */
+    NSPoint hudControlBoxOrigin = [fMoviePlaybackControlBox frame].origin;
+    [fPictureControlBox setFrameOrigin:hudControlBoxOrigin];
+    [fEncodingControlBox setFrameOrigin:hudControlBoxOrigin];
+    [fMoviePlaybackControlBox setFrameOrigin:hudControlBoxOrigin];
     
+    if( [[self window] respondsToSelector:@selector( backingScaleFactor )] )
+        backingScaleFactor = [[self window] backingScaleFactor];
+    else
+        backingScaleFactor = 1.0;
+    
+    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(titleChanged:) name: HBTitleChangedNotification object:nil];
 }
-- (BOOL)acceptsMouseMovedEvents
+
+- (void) titleChanged: (NSNotification *) aNotification
 {
-    return YES;
+    /* Notification from HBController, only used to stop
+     * an encoding while the HBController is scanning a new title
+     */
+    [self cancelCreateMoviePreview:self];
 }
 
 - (void)windowWillClose:(NSNotification *)aNotification
      * to go back to still previews .. just in case nothing is loaded up like in
      * a Launch, cancel new scan then quit type scenario.
      */
-    if (fPicture)
+
+    if (fEncodeState || [self isPlaying])
     {
-        [self pictureSliderChanged:nil];
-        [fMovieTimer invalidate];
-        [fMovieTimer release];
+        [self cancelCreateMoviePreview:self];
+        [fMovieView pause:self];
+        [self stopMovieTimer];
     }
-    
+
     hudTimerSeconds = 0;
     [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"PreviewWindowIsOpen"];
 }
 
-- (BOOL)windowShouldClose:(id)fPictureWindow
-{
-     return YES;
-}
-
 - (void) dealloc
 {
     hb_stop(fPreviewLibhb);
     {
         [[NSFileManager defaultManager] removeItemAtPath:fPreviewMoviePath error:nil];
         [fPreviewMoviePath release];
-    }    
+    }
     
     [fLibhbTimer invalidate];
     [fLibhbTimer release];
     [fMovieTimer release];
     
     [fPicturePreviews release];
-    [fFullScreenWindow release];
     
     hb_close(&fPreviewLibhb);
     
 {
     fHandle = handle;
     
-
-    
-    /* we set the preview length popup in seconds */
-    [fPreviewMovieLengthPopUp removeAllItems];
-    [fPreviewMovieLengthPopUp addItemWithTitle: @"15"];
-    [fPreviewMovieLengthPopUp addItemWithTitle: @"30"];
-    [fPreviewMovieLengthPopUp addItemWithTitle: @"45"];
-    [fPreviewMovieLengthPopUp addItemWithTitle: @"60"];
-    [fPreviewMovieLengthPopUp addItemWithTitle: @"90"];
-    [fPreviewMovieLengthPopUp addItemWithTitle: @"105"];
-    [fPreviewMovieLengthPopUp addItemWithTitle: @"120"];
-    
     /* adjust the preview slider length */
     /* We use our advance pref to determine how many previews we scanned */
     int hb_num_previews = [[[NSUserDefaults standardUserDefaults] objectForKey:@"PreviewsNumber"] intValue];
     }
     else
     {
-        /* currently hard set default to 10 seconds */
-        [fPreviewMovieLengthPopUp selectItemAtIndex: 1];
+        /* currently hard set default to 15 seconds */
+        [fPreviewMovieLengthPopUp selectItemAtIndex: 0];
     }
 }
 
 - (void) SetTitle: (hb_title_t *) title
 {
-    hb_job_t * job = title->job;
-    
     fTitle = title;
     fPicture = 0;
-    MaxOutputWidth = title->width - job->crop[2] - job->crop[3];
-    MaxOutputHeight = title->height - job->crop[0] - job->crop[1];
-    
-    [self SettingsChanged: nil];
 
+    [self settingsChanged:nil];
 }
 
-
+- (void)windowDidChangeBackingProperties:(NSNotification *)notification {
+    
+    NSWindow *theWindow = (NSWindow *)[notification object];
+    
+    CGFloat newBackingScaleFactor = [theWindow backingScaleFactor];
+    CGFloat oldBackingScaleFactor = [[[notification userInfo]
+                                      objectForKey:@"NSBackingPropertyOldScaleFactorKey"]
+                                     doubleValue];
+    if( newBackingScaleFactor != oldBackingScaleFactor )
+    {
+        // Scale factor changed, update the preview window
+        // to the new situation
+        backingScaleFactor = newBackingScaleFactor;
+        [self pictureSliderChanged:self];
+    }
+}
 
 // Adjusts the window to draw the current picture (fPicture) adjusting its size as
 // necessary to display as much of the picture as possible.
-- (void) displayPreview 
+- (void) displayPreview
 {
     hb_job_t * job = fTitle->job;
-    /* lets make sure that the still picture view is not hidden and that 
-     * the movie preview is 
-     */
-     aMovie = nil;
-    [fMovieView pause:nil];
-    [fMovieView setHidden:YES];
-       [fMovieView setMovie:nil];
-    [fMovieCreationProgressIndicator stopAnimation: nil];
-    [fMovieCreationProgressIndicator setHidden: YES];
-    [fMoviePlaybackControlBox setHidden: YES];
-    if( fMovieTimer )
-    {
-        [self stopMovieTimer];
-    }
-    [fPictureControlBox setHidden: NO];
-    
-    [fPictureView setHidden:NO];
-    
+
     NSImage *fPreviewImage = [self imageForPicture: fPicture];
     NSSize imageScaledSize = [fPreviewImage size];
-    [fPictureView setImage: fPreviewImage];
-    
+    [fPictureLayer setContents:fPreviewImage];
+
     NSSize displaySize = NSMakeSize( ( CGFloat )fTitle->width, ( CGFloat )fTitle->height );
     NSString *sizeInfoString;
+
     /* Set the picture size display fields below the Preview Picture*/
+    int output_width, output_height, output_par_width, output_par_height;
+    int display_width;
     if( fTitle->job->anamorphic.mode == 1 ) // Original PAR Implementation
     {
         output_width = fTitle->width-fTitle->job->crop[2]-fTitle->job->crop[3];
         displaySize.width = display_width;
         displaySize.height = fTitle->height;
         imageScaledSize.width = display_width;
-        imageScaledSize.height = output_height;   
+        imageScaledSize.height = output_height;
     }
     else if (fTitle->job->anamorphic.mode == 2) // Loose Anamorphic
     {
     else if (fTitle->job->anamorphic.mode == 3) // Custom Anamorphic
     {
         hb_set_anamorphic_size(job, &output_width, &output_height, &output_par_width, &output_par_height);
-        display_width = output_width * output_par_width / output_par_height;
         sizeInfoString = [NSString stringWithFormat:
                           @"Source: %dx%d, Output: %dx%d, Anamorphic: %dx%d Custom",
                           fTitle->width, fTitle->height, output_width, output_height, fTitle->job->anamorphic.dar_width, fTitle->job->anamorphic.dar_height];
         displaySize.width = fTitle->job->anamorphic.dar_width + fTitle->job->crop[2] + fTitle->job->crop[3] ;
         displaySize.height = fTitle->job->anamorphic.dar_height + fTitle->job->crop[0] + fTitle->job->crop[1];
         imageScaledSize.width = (int)fTitle->job->anamorphic.dar_width;
-        imageScaledSize.height = (int)fTitle->job->height;   
-    } 
+        imageScaledSize.height = (int)fTitle->job->height;
+    }
     else // No Anamorphic
     {
         sizeInfoString = [NSString stringWithFormat:
         imageScaledSize.width = fTitle->job->width;
         imageScaledSize.height = fTitle->job->height;
     }
-    
-    
-    
-    NSSize viewSize = [self optimalViewSizeForImageSize:displaySize];
-    [self resizeSheetForViewSize:viewSize];
 
-    NSSize windowSize = [[self window] frame].size;    
+    if( backingScaleFactor != 1.0 )
+    {
+        // HiDPI mode usually display everything
+        // with douple pixel count, but we don't
+        // want to double the size of the video
+        displaySize.height /= backingScaleFactor;
+        displaySize.width /= backingScaleFactor;
+        imageScaledSize.height /= backingScaleFactor;
+        imageScaledSize.width /= backingScaleFactor;
+    }
+
+    // Get the optimal view size for the image
+    NSSize viewSize = [self optimalViewSizeForImageSize:displaySize];
+    viewSize.width += BORDER_SIZE * 2;
+    viewSize.height += BORDER_SIZE * 2;
     
+    NSSize windowSize;
+    if (scaleToScreen == YES)
+        // Scale the window to the max possible size
+        windowSize = [[[self window] screen] visibleFrame].size;
+    else
+        // Scale the window to the image size
+        windowSize = viewSize;
+
+    [self resizeWindowForViewSize:windowSize];
+    NSSize areaSize = [[[self window] contentView] frame].size;
+    areaSize.width -= BORDER_SIZE * 2;
+    areaSize.height -= BORDER_SIZE * 2;
+
     if (scaleToScreen == YES)
     {
-        /* Note: this should probably become a utility function */
         /* We are in Scale To Screen mode so, we have to get the ratio for height and width against the window
          *size so we can scale from there.
          */
-        CGFloat deltaWidth = imageScaledSize.width / displaySize.width;
-        CGFloat deltaHeight = imageScaledSize.height /displaySize.height;
-        NSSize windowSize = [[self window] frame].size;  
         CGFloat pictureAspectRatio = imageScaledSize.width / imageScaledSize.height;
+        CGFloat areaAspectRatio = areaSize.width / areaSize.height;
         
-        /* Set our min size to the storage size */
-        NSSize minSize;
-        minSize.width = fTitle->width;
-        minSize.height = fTitle->height;
-
-        /* Set delta's based on minimum size */
-        if (imageScaledSize.width <  minSize.width)
-        {
-            deltaWidth = imageScaledSize.width / minSize.width;
-        }
-        else
-        {
-            deltaWidth = 1.0;
-        }
-        
-        if (imageScaledSize.height <  minSize.height)
-        {
-            deltaHeight =  imageScaledSize.height / minSize.height;
-        }
-        else
-        {
-            deltaHeight = 1.0;
-        }
-        
-        /* Now apply our deltas to the full screen view */
-        if (pictureAspectRatio > 1.0) // we are wider than taller, so expand the width to fill the area and scale the height
+        if (pictureAspectRatio > areaAspectRatio)
         {
-            viewSize.width = windowSize.width * deltaWidth;
+            viewSize.width = areaSize.width;
             viewSize.height = viewSize.width / pictureAspectRatio;
-            
         }
         else
         {
-            viewSize.height = windowSize.height * deltaHeight; 
+            viewSize.height = areaSize.height;
             viewSize.width = viewSize.height * pictureAspectRatio;
         }
-        
     }
     else
     {
-        viewSize.width = viewSize.width - (viewSize.width - imageScaledSize.width);
-        viewSize.height = viewSize.height - (viewSize.height - imageScaledSize.height);
-        
-        if (fTitle->width > windowSize.width || fTitle->height > windowSize.height)
+        // If the image is larger then the window, scale the image
+        viewSize = imageScaledSize;
+
+        if (imageScaledSize.width > areaSize.width || imageScaledSize.height > areaSize.height)
         {
-            CGFloat viewSizeAspect = viewSize.width / viewSize.height;
-            if (viewSizeAspect > 1.0) // we are wider than taller, so expand the width to fill the area and scale the height
+            CGFloat pictureAspectRatio = imageScaledSize.width / imageScaledSize.height;
+            CGFloat areaAspectRatio = areaSize.width / areaSize.height;
+            
+            if (pictureAspectRatio > areaAspectRatio)
             {
-                viewSize.width = viewSize.width * (windowSize.width / fTitle->width) ;
-                viewSize.height = viewSize.width / viewSizeAspect;
+                viewSize.width = areaSize.width;
+                viewSize.height = viewSize.width / pictureAspectRatio;
             }
             else
             {
-                viewSize.height = viewSize.height * (windowSize.height / fTitle->height);
-                viewSize.width = viewSize.height * viewSizeAspect;
+                viewSize.height = areaSize.height;
+                viewSize.width = viewSize.height * pictureAspectRatio;
             }
         }
-        
     }
-    
-    [self setViewSize:viewSize];
-    
-    /* relocate our hud origins as per setViewSize */
-    NSPoint hudControlBoxOrigin = [fPictureControlBox frame].origin;
-    hudControlBoxOrigin.y = ([[self window] frame].size.height / 2) - (viewSize.height / 2);
-    hudControlBoxOrigin.x = ([[self window] frame].size.width / 2) - ([fPictureControlBox frame].size.width / 2);
-    [fPictureControlBox setFrameOrigin:hudControlBoxOrigin];
-    [fEncodingControlBox setFrameOrigin:hudControlBoxOrigin];
-    [fMoviePlaybackControlBox setFrameOrigin:hudControlBoxOrigin];
 
+    // Resize the CALayers
+    [fWhiteBackground setBounds:CGRectMake(0, 0, viewSize.width + (BORDER_SIZE * 2), viewSize.height + (BORDER_SIZE * 2))];
+    [fPictureLayer setBounds:CGRectMake(0, 0, viewSize.width, viewSize.height)];
 
     NSString *scaleString;
-    CGFloat scale = ( ( CGFloat )[fPictureView frame].size.width) / ( ( CGFloat )imageScaledSize.width);
+    CGFloat scale = ( ( CGFloat )[fPictureLayer frame].size.width) / ( ( CGFloat )imageScaledSize.width);
     if (scale * 100.0 != 100)
-    {
         scaleString = [NSString stringWithFormat:
                        NSLocalizedString( @" (%.0f%% actual size)",
                                          @"String shown when a preview is scaled" ), scale * 100.0];
-    }
     else
-    {
         scaleString = @"(Actual size)";
-    }
     
     if (scaleToScreen == YES)
-    {
         scaleString = [scaleString stringByAppendingString:@" Scaled To Screen"];
-    }
+
     /* Set the info fields in the hud controller */
     [fInfoField setStringValue: [NSString stringWithFormat:
                                  @"%@", sizeInfoString]];
 
 - (IBAction) previewDurationPopUpChanged: (id) sender
 {
-    
     [[NSUserDefaults standardUserDefaults] setObject:[fPreviewMovieLengthPopUp titleOfSelectedItem] forKey:@"PreviewLength"];
+}
     
-}    
-    
-- (IBAction) SettingsChanged: (id) sender
+- (IBAction) settingsChanged: (id) sender
 {
-         // Purge the existing picture previews so they get recreated the next time
-        // they are needed.
-        [self purgeImageCache];
-        [self pictureSliderChanged:nil];
+    // Purge the existing picture previews so they get recreated the next time
+    // they are needed.
+    [self purgeImageCache];
+    [self pictureSliderChanged:nil];
 }
 
 - (IBAction) pictureSliderChanged: (id) sender
     [self cancelCreateMoviePreview:nil];
     
     // Show the picture view
-    [fPictureView setHidden:NO];
-    [fMovieView pause:nil];
-    [fMovieView setHidden:YES];
-       [fMovieView setMovie:nil];
-    [fEncodingControlBox setHidden: YES];
+    if (aMovie)
+    {
+        [fMoviePlaybackControlBox setHidden:YES];
+        [fMovieView pause:nil];
+        [fMovieView setHidden:YES];
+        [fMovieView setMovie:nil];
+        aMovie = nil;
+    }
     
     int newPicture = [fPictureSlider intValue];
     if (newPicture != fPicture)
     
 }
 
-- (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title
+- (IBAction)showWindow:(id)sender
 {
-    if ([fPreviewWindow isVisible])
-    {
-        [fPreviewWindow close];
-    }
-    else
-    {
-        [self showWindow:sender];
-        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"PreviewWindowIsOpen"];
-        [fPreviewWindow setAcceptsMouseMovedEvents:YES];
-        scaleToScreen = NO;
-        [self pictureSliderChanged:nil];
-    }
+    if (aMovie)
+        [self startMovieTimer];
     
+    [super showWindow:sender];
 }
-
 - (NSString*) pictureSizeInfoString
 {
     return [fInfoField stringValue];
     NSPoint mouseLoc = [theEvent locationInWindow];
     
     /* Test for mouse location to show/hide hud controls */
-    if( isEncoding == NO ) 
+    if( fEncodeState != 1 )
     {
         /* Since we are not encoding, verify which control hud to show
          * or hide based on aMovie ( aMovie indicates we need movie controls )
          */
-        NSBox           * hudBoxToShow;
+        NSBox *hudBoxToShow;
         if ( aMovie == nil ) // No movie loaded up
         {
             hudBoxToShow = fPictureControlBox;
             [[hudBoxToShow animator] setHidden: NO];
             [self stopHudTimer];
         }
-               else if( NSPointInRect( mouseLoc, [fPictureViewArea frame] ) )
+               else if( NSPointInRect( mouseLoc, [[[self window] contentView] frame] ) )
         {
             [[hudBoxToShow animator] setHidden: NO];
             [self startHudTimer];
     }
 }
 
-
-
 - (IBAction)toggleScaleToScreen:(id)sender
 {
     if (scaleToScreen == YES)
     
 }
 
-
-
-// Title-less windows normally don't receive key presses, override this
-- (BOOL)canBecomeKeyWindow
-{
-    return YES;
-}
-
-// Title-less windows normally can't become main which means that another
-// non-fullscreen window will have the "active" titlebar in expose. Bad, fix it.
-- (BOOL)canBecomeMainWindow
-{
-    return YES;
-}
-
-
-- (IBAction)goWindowedScreen:(id)sender
-{
-    
-    /* Get the screen info to release the display but don't actually do
-     * it until the windowed screen is setup.
-     */
-    scaleToScreen = NO;
-    [self pictureSliderChanged:nil];
-    [fScaleToScreenToggleButton setTitle:@"<->"];
-        
-    NSScreen* mainScreen = [NSScreen mainScreen]; 
-    NSDictionary* screenInfo = [mainScreen deviceDescription]; 
-    NSNumber* screenID = [screenInfo objectForKey:@"NSScreenNumber"];
-    CGDirectDisplayID displayID = (CGDirectDisplayID)[screenID longValue]; 
-    
-    [fFullScreenWindow dealloc];
-    [fFullScreenWindow release];
-    
-    
-    [fPreviewWindow setContentView:fPictureViewArea]; 
-    [fPictureViewArea setNeedsDisplay:YES];
-    [self setWindow:fPreviewWindow];
-    
-    // Show the window. 
-    [fPreviewWindow makeKeyAndOrderFront:self];
-    
-    /* Set the window back to regular level */
-    [fPreviewWindow setLevel:NSNormalWindowLevel];
-    
-    /* Set the isFullScreen flag back to NO */
-    //isFullScreen = NO;
-    scaleToScreen = NO;
-    /* make sure we are set to a still preview */
-    [self pictureSliderChanged:nil];
-    [self showPreviewWindow:nil];
-    
-    /* Change the name of fFullScreenToggleButton appropriately */
-    //[fFullScreenToggleButton setTitle: @"Full Screen"];
-    // [fScaleToScreenToggleButton setHidden:YES];
-    /* set the picture settings pallete back to normal level */
-    [fHBController picturePanelWindowed];
-    
-    /* Release the display now that the we are back in windowed mode */
-    CGDisplayRelease(displayID);
-    
-    [fPreviewWindow setAcceptsMouseMovedEvents:YES];
-    //[fFullScreenWindow setAcceptsMouseMovedEvents:NO];
-    
-    hudTimerSeconds = 0;
-    [self startHudTimer];
-    
-}
-
-
 #pragma mark Still Preview Image Processing
 
-
 // This function converts an image created by libhb (specified via pictureIndex) into
 // an NSImage suitable for the GUI code to use. If removeBorders is YES,
 // makeImageForPicture crops the image generated by libhb stripping off the gray
 // border around the content. This is the low-level method that generates the image.
 // -imageForPicture calls this function whenever it can't find an image in its cache.
-+ (NSImage *) makeImageForPicture: (int)pictureIndex
++ (NSImage *) makeImageForPicture: (NSInteger)pictureIndex
                 libhb:(hb_handle_t*)handle
                 title:(hb_title_t*)title
 {
         buffer     = (uint8_t *) realloc( buffer, bufferSize );
     }
 
-    hb_get_preview( handle, title->job, pictureIndex, buffer );
+    hb_get_preview( handle, title->job, (int)pictureIndex, buffer );
 
     // Create an NSBitmapImageRep and copy the libhb image into it, converting it from
     // libhb's format to one suitable for NSImage. Along the way, we'll strip off the
 // cache or by calling makeImageForPicture if it is not cached. Generally, you should
 // use imageForPicture so that images are cached. Calling makeImageForPicture will
 // always generate a new copy of the image.
-- (NSImage *) imageForPicture: (int) pictureIndex
+- (NSImage *) imageForPicture: (NSInteger) pictureIndex
 {
     // The preview for the specified index may not currently exist, so this method
     // generates it if necessary.
-    NSString * key = [NSString stringWithFormat:@"%d", pictureIndex];
+    NSNumber * key = [NSNumber numberWithInteger:pictureIndex];
     NSImage * theImage = [fPicturePreviews objectForKey:key];
     if (!theImage)
     {
     [fPicturePreviews removeAllObjects];
 }
 
-
 #pragma mark Movie Preview
 
 - (IBAction) cancelCreateMoviePreview: (id) sender
 {
-    
     hb_state_t s;
     hb_get_state2( fPreviewLibhb, &s );
     
-    if(isEncoding && (s.state == HB_STATE_WORKING || s.state == HB_STATE_PAUSED))
+    if(fEncodeState && (s.state == HB_STATE_WORKING || s.state == HB_STATE_PAUSED))
     {
+        fEncodeState = 2;
         hb_stop( fPreviewLibhb );
-        [fPictureView setHidden:NO];
-        [fMovieView pause:nil];
-        [fMovieView setHidden:YES];
-               [fMovieView setMovie:nil];
-        [fPictureSlider setHidden:NO];
-        isEncoding = NO;
-        
-        [self pictureSliderChanged:nil];
-        
+        [NSAnimationContext beginGrouping];
+        [[NSAnimationContext currentContext] setDuration:0.2];
+        [[fEncodingControlBox animator] setHidden:YES];
+        [[fPictureControlBox animator] setHidden:NO];
+        [NSAnimationContext endGrouping];
+
         return;
     }
-    
 }
 
 - (IBAction) createMoviePreview: (id) sender
-{
-    
-    
-    /* Lets make sure the still picture previews are showing in case
-     * there is currently a movie showing */
-    [self pictureSliderChanged:nil];
-    
+{    
     /* Rip or Cancel ? */
     hb_state_t s;
     hb_get_state2( fPreviewLibhb, &s );
     
-    if(sender == fCancelPreviewMovieButton && (s.state == HB_STATE_WORKING || s.state == HB_STATE_PAUSED))
-    {
-        hb_stop( fPreviewLibhb );
-        [fPictureView setHidden:NO];
-        [fMovieView pause:nil];
-        [fMovieView setHidden:YES];
-               [fMovieView setMovie:nil];
-        [fPictureSlider setHidden:NO];
-        isEncoding = NO;
-        
-        return;
-    }
-    
-    
     /* we use controller.mm's prepareJobForPreview to go ahead and set all of our settings
      * however, we want to use a temporary destination field of course
      * so that we do not put our temp preview in the users chosen
     /* we need to clean up the various lists after the job(s) have been set  */
     hb_job_reset( job );
 
-    [fEncodingControlBox setHidden: NO];
-    [fPictureControlBox setHidden: YES];
-    
-    [fMovieCreationProgressIndicator setHidden: NO];
-    [fPreviewMovieStatusField setHidden: NO];
-    
-    isEncoding = YES;
+    [fMovieCreationProgressIndicator setDoubleValue:0];
+
+    [NSAnimationContext beginGrouping];
+    [[NSAnimationContext currentContext] setDuration:0.2];
+    [[fEncodingControlBox animator] setHidden: NO];
+    [[fPictureControlBox animator] setHidden: YES];
+    [NSAnimationContext endGrouping];
 
     /* Let fPreviewLibhb do the job */
+    fEncodeState = 1;
     hb_start( fPreviewLibhb );
        
 }
     hb_state_t s;
     hb_get_state( fPreviewLibhb, &s );
     [self libhbStateChanged: s];
-    
 }
 
 - (void) libhbStateChanged: (hb_state_t)state
         case HB_STATE_WORKING:
         {
 #define p state.param.working
-            
             NSMutableString * string;
                        /* Update text field */
                        string = [NSMutableString stringWithFormat: NSLocalizedString( @"Encoding preview:  %.2f %%", @"" ), 100.0 * p.progress];
             
             [fMovieCreationProgressIndicator setIndeterminate: NO];
             /* Update slider */
-                       [fMovieCreationProgressIndicator setDoubleValue: 100.0 * p.progress];
-            
-            [fCreatePreviewMovieButton setTitle: @"Cancel Preview"];
+            [fMovieCreationProgressIndicator setDoubleValue: 100.0 * p.progress];
             
             break;
             
         }
 #undef p
             
-#define p state.param.muxing            
+#define p state.param.muxing
         case HB_STATE_MUXING:
         {
             // Update fMovieCreationProgressIndicator
             [fMovieCreationProgressIndicator setIndeterminate: YES];
             [fMovieCreationProgressIndicator startAnimation: nil];
-            [fPreviewMovieStatusField setStringValue: [NSString stringWithFormat:
-                                         NSLocalizedString( @"Muxing Preview ...", @"" )]];
+            [fPreviewMovieStatusField setStringValue: NSLocalizedString( @"Muxing Preview ...", @"" )];
             break;
         }
 #undef p                       
                 hb_rem( fHandle, job );
             
             [fPreviewMovieStatusField setStringValue: @""];
-            [fPreviewMovieStatusField setHidden: YES];
-            
             [fMovieCreationProgressIndicator stopAnimation: nil];
-            [fMovieCreationProgressIndicator setHidden: YES];
-            [fEncodingControlBox setHidden: YES];
-            [fPictureControlBox setHidden: YES];
-            isEncoding = NO;
-
-            // Show the movie view
-            [self showMoviePreview:fPreviewMoviePath];
-            [fCreatePreviewMovieButton setTitle: @"Live Preview"];
 
+            if (fEncodeState != 2)
+            {
+                // Show the movie view
+                [self showMoviePreview:fPreviewMoviePath];
+            }
+            
+            fEncodeState = 0;
             break;
         }
     }
          * object, given that, we detect the rate to determine whether the movie
          * is playing or not.
          */
-        if ([aMovie rate] != 0) // we are playing 
+        if ([self isPlaying]) // we are playing
         {
             [fMovieView pause:aMovie];
-            [fPlayPauseButton setTitle: @">"];
+            [fPlayPauseButton setState: NSOnState];
         }
         else // we are paused or stopped
         {
             [fMovieView play:aMovie];
-            [fPlayPauseButton setTitle: @"||"];   
+            [fPlayPauseButton setState: NSOffState];
         }
     }
-    
 }
 
 - (IBAction) moviePlaybackGoToBeginning: (id) sender
     if (aMovie != nil)
     {
         [fMovieView gotoBeginning:aMovie];
-     }
-    
+    }
 }
 
 - (IBAction) moviePlaybackGoToEnd: (id) sender
     if (aMovie != nil)
     {
         [fMovieView gotoEnd:aMovie];
-     }
-    
+    }
 }
 
 - (IBAction) moviePlaybackGoBackwardOneFrame: (id) sender
         [fMovieView pause:aMovie]; // Pause the movie
         [fMovieView stepBackward:aMovie];
      }
-    
 }
 
 - (IBAction) moviePlaybackGoForwardOneFrame: (id) sender
         [fMovieView pause:aMovie]; // Pause the movie
         [fMovieView stepForward:aMovie];
      }
-    
 }
 
-
 - (void) startMovieTimer
 {
        if( fMovieTimer ) {
 
 - (void) movieTimerFired: (NSTimer*)theTimer
 {
-     if (aMovie != nil)
+    if (aMovie != nil)
     {
         [self adjustPreviewScrubberForCurrentMovieTime];
-        [fMovieInfoField setStringValue: [NSString stringWithFormat:NSLocalizedString( @"%@", @"" ),[self calculatePlaybackSMTPETimecodeForDisplay]]];    
+        [fMovieInfoField setStringValue: [self SMTPETimecode:[aMovie currentTime]]];
     }
 }
 
+- (IBAction) showPicturesPreview: (id) sender
+{
+    [fMovieView pause:self];
+    [self stopMovieTimer];
+
+    [NSAnimationContext beginGrouping];
+    [[NSAnimationContext currentContext] setDuration:0.2];
+    [[fMoviePlaybackControlBox animator] setHidden:YES];
+    [[fMovieView animator] setHidden:YES];
+    [[fPictureControlBox animator] setHidden:NO];
+    [NSAnimationContext endGrouping];
+
+    [fMovieView setMovie:nil];
+    aMovie = nil;
+}
 
 
 - (IBAction) showMoviePreview: (NSString *) path
     /* Load the new movie into fMovieView */
     if (path) 
     {
-               //QTMovie * aMovie;
                NSError  *outError;
                NSURL *movieUrl = [NSURL fileURLWithPath:path];
                NSDictionary *movieAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
         
         aMovie = [[[QTMovie alloc] initWithAttributes:movieAttributes error:&outError] autorelease];
         
-        
                if (!aMovie) 
         {
-                       NSLog(@"Unable to open movie");
+            [fHBController writeToActivityLog: "showMoviePreview: Unable to open movie"];
                }
         else 
         {
             NSRect movieBounds;
+
+            [fMovieView setControllerVisible:NO];
+
             /* we get some size information from the preview movie */
-            NSSize movieSize= [[aMovie attributeForKey:QTMovieNaturalSizeAttribute] sizeValue];
+            NSSize movieSize = [[aMovie attributeForKey:QTMovieNaturalSizeAttribute] sizeValue];
             movieBounds = [fMovieView movieBounds];
             movieBounds.size.height = movieSize.height;
             /* We also get our view size to use for scaling fMovieView's size */
-            NSSize scaledMovieViewSize = [fPictureView frame].size;
-            [fMovieView setControllerVisible:FALSE];
-            if ([fMovieView isControllerVisible]) 
-            {
-                CGFloat controllerBarHeight = [fMovieView controllerBarHeight];
-                if ( controllerBarHeight != 0 ) //Check if QTKit return a real value or not.
-                {
-                    movieBounds.size.height += controllerBarHeight;
-                    scaledMovieViewSize.height += controllerBarHeight;
-                }
-                else
-                {
-                    movieBounds.size.height += 15;
-                    scaledMovieViewSize.height += 15;
-                }
-            }
-            
+            NSSize scaledMovieViewSize = [fPictureLayer frame].size;
             movieBounds.size.width = movieSize.width;
             
             /* we need to account for an issue where the scaledMovieViewSize > the window size */
                 [fHBController writeToActivityLog: "showMoviePreview: Our window is not tall enough to show the controller bar ..."];
             }
             
-            
-            
             /* Scale the fMovieView to scaledMovieViewSize */
             [fMovieView setFrameSize:scaledMovieViewSize];
             
             /*set our origin try using fPictureViewArea or fPictureView */
-            NSPoint origin = [fPictureView frame].origin;
-            origin.x += trunc( ( [fPictureView frame].size.width -
+            NSPoint origin = [fPictureLayer frame].origin;
+            origin.x += trunc( ( [fPictureLayer frame].size.width -
                                 [fMovieView frame].size.width ) / 2.0 );
-            origin.y += trunc( ( ( [fPictureView frame].size.height -
-                                      [fMovieView frame].size.height ) / 2.0 ) - 7.5 );
+            origin.y += trunc( ( ( [fPictureLayer frame].size.height -
+                                      [fMovieView frame].size.height ) / 2.0 ) );
 
             [fMovieView setFrameOrigin:origin];
             [fMovieView setMovie:aMovie];
-            [fMovieView setHidden:NO];
-            [fMoviePlaybackControlBox setHidden: NO];
-            [fPictureControlBox setHidden: YES];
             
             // get and enable subtitles
             NSArray *subtitlesArray;
             }
             
             // to actually play the movie
-            
+            [NSAnimationContext beginGrouping];
+            [[NSAnimationContext currentContext] setDuration:0.2];
+            [[fEncodingControlBox animator] setHidden: YES];
+            [[fMovieView animator] setHidden:NO];
+            [[fMoviePlaybackControlBox animator] setHidden: NO];
+            [NSAnimationContext endGrouping];
+
             [self initPreviewScrubberForMovie];
             [self startMovieTimer];
             /* Install amovie notifications */
             [aMovie setDelegate:self];
             [self installMovieCallbacks];
             [fMovieView play:aMovie];
-
         }
     }
-    isEncoding = NO;
-}
-#pragma mark *** Movie Playback Scrubber and time code methods ***
-
-/* Since MacOSX Leopard QTKit has taken over some responsibility for assessing movie playback
- * information from the old QuickTime carbon api ( time code information as well as fps, etc.).
- * However, the QTKit devs at apple were not really big on documentation and further ...
- * QuickTimes ability to playback HB's largely variable framerate output makes perfectly frame
- * accurate information at best convoluted. Still, for the purpose of a custom hud based custom
- * playback scrubber slider this has so far proven to be as accurate as I have found. To say it
- * could use some better accuracy is not understating it enough probably.
- * Most of this was gleaned from this obscure Apple Mail list thread:
- * http://www.mailinglistarchive.com/quicktime-api@lists.apple.com/msg05642.html
- * Now as we currently do not show a QTKit control bar with scrubber for display sizes > container
- * size, this seems to facilitate playback control from the HB custom HUD controller fairly close
- * to the built in controller bar.
- * Further work needs to be done to try to get accurate frame by frame playback display if we want it.
- * Note that the keyboard commands for frame by frame step through etc. work as always.
- */ 
-
-// Returns a human readable string from the currentTime of movie playback
-- (NSString*) calculatePlaybackSMTPETimecodeForDisplay
-{
-    QTTime time = [aMovie currentTime];
-    
-    NSString *smtpeTimeCodeString;
-    int days, hour, minute, second, frame;
-    long long result;
-    
-    result = time.timeValue / time.timeScale; // second
-    frame = (time.timeValue % time.timeScale) / 100;
-    
-    second = result % 60;
-    
-    result = result / 60; // minute
-    minute = result % 60;
-    
-    result = result / 60; // hour
-    hour = result % 24;         
-    days = result;
-    
-    smtpeTimeCodeString = [NSString stringWithFormat:@"Time: %02d:%02d:%02d", hour, minute, second]; // hh:mm:ss
-    return smtpeTimeCodeString;
-    
 }
 
+#pragma mark *** Movie Playback Scrubber and time code methods ***
 
 // Initialize the preview scrubber min/max to appropriate values for the current movie
 -(void) initPreviewScrubberForMovie
 {
     if (aMovie)
     {
-        
         QTTime duration = [aMovie duration];
-        float result = duration.timeValue / duration.timeScale;
+        CGFloat result = duration.timeValue / duration.timeScale;
         
         [fMovieScrubberSlider setMinValue:0.0];
-        [fMovieScrubberSlider setMaxValue: (float)result];
-        [fMovieScrubberSlider setFloatValue: 0.0];
+        [fMovieScrubberSlider setMaxValue: result];
+        [fMovieScrubberSlider setDoubleValue: 0.0];
     }
 }
 
-
 -(void) adjustPreviewScrubberForCurrentMovieTime
 {
     if (aMovie)
     {
         QTTime time = [aMovie currentTime];
         
-        float result = (float)time.timeValue / (float)time.timeScale;;
-        [fMovieScrubberSlider setFloatValue:result];
+        CGFloat result = (CGFloat)time.timeValue / (CGFloat)time.timeScale;;
+        [fMovieScrubberSlider setDoubleValue:result];
     }
 }
 
 {
     if (aMovie)
     {
-        [fMovieView pause:aMovie]; // Pause the movie
-        QTTime time = [aMovie currentTime];
-        [self setTime: time.timeScale * [fMovieScrubberSlider floatValue]];
-        [self calculatePlaybackSMTPETimecodeForDisplay];
+        [fMovieView pause:aMovie];
+        QTTime time = [self SliderToQTTime:[fMovieScrubberSlider doubleValue]];
+        [aMovie setCurrentTime:time];
+        [fMovieInfoField setStringValue: [self SMTPETimecode:time]];
     }
 }
-#pragma mark *** Movie Notifications ***
 
-- (void) installMovieCallbacks
+- (BOOL) isPlaying
 {
+    if (aMovie != nil)
+    {
+        /* For some stupid reason there is no "isPlaying" method for a QTMovie
+         * object, given that, we detect the rate to determine whether the movie
+         * is playing or not.
+         */
+        if ([aMovie rate] != 0.0f) // we are playing
+            return YES;
+        else // we are paused or stopped
+            return NO;
+    }
+    return NO;
+}
 
+#pragma mark *** Movie Notifications ***
 
-/*Notification for any time the movie rate changes */
-        [[NSNotificationCenter defaultCenter] addObserver:self
-                                                 selector:@selector(movieRateDidChange:)
-                                                     name:@"QTMovieRateDidChangeNotification"
-                                                   object:aMovie];
-        /*Notification for when the movie ends */
-        [[NSNotificationCenter defaultCenter] addObserver:self
-                                                 selector:@selector(movieDidEnd:)
-                                                     name:@"QTMovieDidEndNotification"
-                                                   object:aMovie];
+- (void) installMovieCallbacks
+{
+    /*Notification for any time the movie rate changes */
+    [[NSNotificationCenter defaultCenter] addObserver:self
+                                             selector:@selector(movieRateDidChange:)
+                                                 name:@"QTMovieRateDidChangeNotification"
+                                               object:aMovie];
+    /*Notification for when the movie ends */
+    [[NSNotificationCenter defaultCenter] addObserver:self  
+                                             selector:@selector(movieDidEnd:)
+                                                 name:@"QTMovieDidEndNotification"
+                                               object:aMovie];
 }
 
 - (void)removeMovieCallbacks
 {
     if (aMovie != nil)
     {
-        /* For some stupid reason there is no "isPlaying" method for a QTMovie
-         * object, given that, we detect the rate to determine whether the movie
-         * is playing or not.
-         */
-        //[self adjustPreviewScrubberForCurrentMovieTime];
-        if ([aMovie rate] != 0) // we are playing 
-        {
-            [fPlayPauseButton setTitle: @"||"];
-        }
-        else // we are paused or stopped
-        {
-            [fPlayPauseButton setTitle: @">"];
-        }
+        if ([self isPlaying])
+            [fPlayPauseButton setState: NSOnState];
+        else
+            [fPlayPauseButton setState: NSOffState];
     }
 }
+
 /* This notification is not currently used. However we should keep it "just in case" as
  * live preview playback is enhanced.
  */
 - (void)movieDidEnd:(NSNotification *)notification
 {
-
     //[fHBController writeToActivityLog: "Movie DidEnd Notification Received"];
 }
 
-
-#pragma mark *** QTTime Utilities ***
-
-       // convert a time value (long) to a QTTime structure
--(void)timeToQTTime:(long)timeValue resultTime:(QTTime *)aQTTime
+/* fMovieView Keyboard controls */
+- (void)keyDown:(NSEvent *)event
 {
-       NSNumber *timeScaleObj;
-       long timeScaleValue;
+    unichar key = [[event charactersIgnoringModifiers] characterAtIndex:0];
 
-       timeScaleObj = [aMovie attributeForKey:QTMovieTimeScaleAttribute];
-       timeScaleValue = [timeScaleObj longValue];
+    if (aMovie)
+    {
+        if (key == 32)
+        {
+            if ([self isPlaying])
+                [fMovieView pause:aMovie];
+            else
+                [fMovieView play:aMovie];
+        }
+        else if (key == 'k')
+            [fMovieView pause:aMovie];
+        else if (key == 'l')
+        {
+            float rate = [aMovie rate];
+            rate += 1.0f;
+            [fMovieView play:aMovie];
+            [aMovie setRate:rate];
+        }
+        else if (key == 'j')
+        {
+            float rate = [aMovie rate];
+            rate -= 1.0f;
+            [fMovieView play:aMovie];
+            [aMovie setRate:rate];
+        }
+        else if ([event modifierFlags] & NSAlternateKeyMask && key == NSLeftArrowFunctionKey)
+            [fMovieView gotoBeginning:self];
+        else if ([event modifierFlags] & NSAlternateKeyMask && key == NSRightArrowFunctionKey)
+            [fMovieView gotoEnd:self];
+        else if (key == NSLeftArrowFunctionKey)
+            [fMovieView stepBackward:self];
+        else if (key == NSRightArrowFunctionKey)
+            [fMovieView stepForward:self];
+        else
+            [super keyDown:event];
+    }
+    else if (!fEncodeState)
+    {
+        if (key == NSLeftArrowFunctionKey)
+        {
+            [fPictureSlider setIntegerValue:fPicture > [fPictureSlider minValue] ? fPicture - 1 : fPicture];
+            [self pictureSliderChanged:self];
+        }
+        else if (key == NSRightArrowFunctionKey)
+        {
+            [fPictureSlider setIntegerValue:fPicture < [fPictureSlider maxValue] ? fPicture + 1 : fPicture];
+            [self pictureSliderChanged:self];
+        }
+        [super keyDown:event];
+    }
 
-       *aQTTime = QTMakeTime(timeValue, timeScaleValue);
+    [super keyDown:event];
 }
 
-       // set the movie's current time
--(void)setTime:(int)timeValue
+#pragma mark *** QTTime Utilities ***
+
+       // convert a time value (long) to a QTTime structure
+-(QTTime)SliderToQTTime:(double)value
 {
-       QTTime movieQTTime;
-       NSValue *valueForQTTime;
-       
-       [self timeToQTTime:timeValue resultTime:&movieQTTime];
+       long timeScale = [[aMovie attributeForKey:QTMovieTimeScaleAttribute] longValue];
+       return QTMakeTime(value * timeScale, timeScale);
+}
 
-       valueForQTTime = [NSValue valueWithQTTime:movieQTTime];
+/* Since MacOSX Leopard QTKit has taken over some responsibility for assessing movie playback
+ * information from the old QuickTime carbon api ( time code information as well as fps, etc.).
+ * However, the QTKit devs at apple were not really big on documentation and further ...
+ * QuickTimes ability to playback HB's largely variable framerate output makes perfectly frame
+ * accurate information at best convoluted. Still, for the purpose of a custom hud based custom
+ * playback scrubber slider this has so far proven to be as accurate as I have found. To say it
+ * could use some better accuracy is not understating it enough probably.
+ * Most of this was gleaned from this obscure Apple Mail list thread:
+ * http://www.mailinglistarchive.com/quicktime-api@lists.apple.com/msg05642.html
+ * Now as we currently do not show a QTKit control bar with scrubber for display sizes > container
+ * size, this seems to facilitate playback control from the HB custom HUD controller fairly close
+ * to the built in controller bar.
+ * Further work needs to be done to try to get accurate frame by frame playback display if we want it.
+ * Note that the keyboard commands for frame by frame step through etc. work as always.
+ */
 
-       [aMovie setAttribute:valueForQTTime forKey:QTMovieCurrentTimeAttribute];
+// Returns a human readable string from the currentTime of movie playback
+- (NSString*) SMTPETimecode:(QTTime)time
+{
+    NSString *smtpeTimeCodeString;
+    int days, hour, minute, second, frame;
+    long long result;
+    
+    result = time.timeValue / time.timeScale; // second
+    frame = (time.timeValue % time.timeScale) / 100;
+    
+    second = result % 60;
+    
+    result = result / 60; // minute
+    minute = result % 60;
+    
+    result = result / 60; // hour
+    hour = result % 24;
+    days = result;
+    
+    smtpeTimeCodeString = [NSString stringWithFormat:@"%02d:%02d:%02d", hour, minute, second]; // hh:mm:ss
+    return smtpeTimeCodeString;
 }
 
-
 @end
 
 @implementation PreviewController (Private)
     CGFloat minHeight = 360.0;
 
     NSSize screenSize = [[[self window] screen] visibleFrame].size;
-    NSSize sheetSize = [[self window] frame].size;
-    NSSize viewAreaSize = [fPictureViewArea frame].size;
-    CGFloat paddingX = 0.00;
-    CGFloat paddingY = 0.00;
-    
-    if (fTitle->width > screenSize.width || fTitle->height > screenSize.height)
-    {
-        if (scaleToScreen == YES)
-        {
-            paddingX = screenSize.width - imageSize.width;
-            paddingY = screenSize.height - imageSize.height;
-        }
-        
-        else
-        {
-            paddingX = sheetSize.width - viewAreaSize.width;
-            paddingY = sheetSize.height - viewAreaSize.height;  
-        }
+    CGFloat maxWidth = screenSize.width;
+    CGFloat maxHeight = screenSize.height;
 
-    }
-    
-    CGFloat maxWidth;
-    CGFloat maxHeight;
-    maxWidth =  screenSize.width - paddingX;
-    maxHeight = screenSize.height - paddingY;
-    
     NSSize resultSize = imageSize;
     CGFloat resultPar = resultSize.width / resultSize.height;
 
     //note, a mbp 15" at 1440 x 900 is a 1.6 ar
     CGFloat screenAspect = screenSize.width / screenSize.height;
-    // Note, a standard dvd will use 720 x 480 which is a 1.5
-    CGFloat viewAreaAspect = viewAreaSize.width / viewAreaSize.height;
-    
-    if (scaleToScreen == YES)
-    {
-        
-        if (screenAspect < viewAreaAspect)
-        {
-            resultSize.width = screenSize.width;
-            resultSize.height = (screenSize.width / viewAreaAspect);
-        }
-        else
-        {
-            resultSize.height = screenSize.height;
-            resultSize.width = resultSize.height * viewAreaAspect;
-        }
-        
-    }
-    else if ( resultSize.width > maxWidth || resultSize.height > maxHeight )
+
+    if ( resultSize.width > maxWidth || resultSize.height > maxHeight )
     {
        // Source is larger than screen in one or more dimensions
         if ( resultPar > screenAspect )
 
     // If necessary, grow to minimum dimensions to ensure controls overlay is not obstructed
     if ( resultSize.width < minWidth )
-    {
         resultSize.width = minWidth;
-    }
     if ( resultSize.height < minHeight )
-    {
         resultSize.height = minHeight;
-    }
-    
-    return resultSize;
 
-    
+    return resultSize;
 }
 
 //
-// -[PictureController(Private) resizePanelForViewSize:animate:]
+// -[PictureController(Private) resizeWindowForViewSize:]
 //
 // Resizes the entire window to accomodate a view of a particular size.
 //
-- (void)resizeSheetForViewSize: (NSSize)viewSize
+- (void)resizeWindowForViewSize: (NSSize)viewSize
 {
     // Figure out the deltas for the new frame area
-    NSSize currentSize = [fPictureViewArea frame].size;
+    NSSize currentSize = [[[self window] contentView] frame].size;
     CGFloat deltaX = viewSize.width - currentSize.width;
     CGFloat deltaY = viewSize.height - currentSize.height;
     
     // Now resize the whole panel by those same deltas, but don't exceed the min
     NSRect frame = [[self window] frame];
     NSSize maxSize = [[[self window] screen] visibleFrame].size;
-    /* if we are not Scale To Screen, put an 85% of visible screen on the window */
+    /* if we are not Scale To Screen, put an 10% of visible screen on the window */
     if (scaleToScreen == NO )
     {
-        maxSize.width = maxSize.width * 0.85;
-        maxSize.height = maxSize.height * 0.85;
+        maxSize.width = maxSize.width * 0.90;
+        maxSize.height = maxSize.height * 0.90;
     }
     
     /* Set our min size to the storage size */
     NSSize minSize;
-    minSize.width = fTitle->width;
-    minSize.height = fTitle->height;
+    minSize.width = fTitle->width / backingScaleFactor;
+    minSize.height = fTitle->height / backingScaleFactor;
     
     frame.size.width += deltaX;
     frame.size.height += deltaY;
     if( frame.size.width < minSize.width )
     {
         frame.size.width = minSize.width;
+        deltaX = frame.size.width - currentSize.width;
     }
-    
     if( frame.size.height < minSize.height )
     {
         frame.size.height = minSize.height;
+        deltaY = frame.size.height - currentSize.height;
     }
     /* compare frame to max size of screen */
     
         frame.size.height = maxSize.height;
     }
     
-    
-    
-
-    
     // But now the sheet is off-center, so also shift the origin to center it and
     // keep the top aligned.
     if( frame.size.width != [[self window] frame].size.width )
         frame.origin.x -= (deltaX / 2.0);
     
-        
-        /* Since upon launch we can open up the preview window if it was open
-         * the last time we quit (and at the size it was) we want to make
-         * sure that upon resize we do not have the window off the screen
-         * So check the origin against the screen origin and adjust if
-         * necessary.
-         */
-        NSSize screenSize = [[[self window] screen] visibleFrame].size;
-        NSPoint screenOrigin = [[[self window] screen] frame].origin;
-        if (screenSize.height < frame.size.height)
-        {
-            frame.size.height = screenSize.height;
-        }
-        if (screenSize.width < frame.size.width)
-        {
-            frame.size.width = screenSize.width;
-        }
-        
-        
-        /* our origin is off the screen to the left*/
-        if (frame.origin.x < screenOrigin.x)
-        {
-            /* so shift our origin to the right */
-            frame.origin.x = screenOrigin.x;
-        }
-        else if ((frame.origin.x + frame.size.width) > (screenOrigin.x + screenSize.width))
-        {
-            /* the right side of the preview is off the screen, so shift to the left */
-            frame.origin.x = (screenOrigin.x + screenSize.width) - frame.size.width;
-        }
-        
-        [[self window] setFrame:frame display:YES animate:YES];
-    
-    
-}
-
-//
-// -[PictureController(Private) setViewSize:]
-//
-// Changes the view's size and centers it vertically inside of its area.
-// Assumes resizeSheetForViewSize: has already been called.
-//
-- (void)setViewSize: (NSSize)viewSize
-{   
-    
-    /* special case for scaleToScreen */
-    NSSize areaSize = [fPictureViewArea frame].size;
-    CGFloat viewSizeAspect = viewSize.width / viewSize.height;
-    
-    if (viewSize.width > areaSize.width || viewSize.height > areaSize.height)
+    /* Since upon launch we can open up the preview window if it was open
+     * the last time we quit (and at the size it was) we want to make
+     * sure that upon resize we do not have the window off the screen
+     * So check the origin against the screen origin and adjust if
+     * necessary.
+     */
+    NSSize screenSize = [[[self window] screen] visibleFrame].size;
+    NSPoint screenOrigin = [[[self window] screen] frame].origin;
+    if (screenSize.height < frame.size.height)
     {
-        
-        if (viewSizeAspect > 1.0) // we are wider than taller, so expand the width to fill the area and scale the height
-        {
-            viewSize.width = areaSize.width;
-            viewSize.height = viewSize.width / viewSizeAspect;
-        }
-        else
-        {
-            viewSize.height = areaSize.height;
-            viewSize.width = viewSize.height * viewSizeAspect;
-        }
-        
+        frame.size.height = screenSize.height;
+    }
+    if (screenSize.width < frame.size.width)
+    {
+        frame.size.width = screenSize.width;
     }
     
-    [fPictureView setFrameSize:viewSize];
-    
-    
-    // center it vertically and horizontally
-    NSPoint origin = [fPictureViewArea frame].origin;
-    origin.y += ([fPictureViewArea frame].size.height -
-                 [fPictureView frame].size.height) / 2.0;
-    
-    origin.x += ([fPictureViewArea frame].size.width -
-                 [fPictureView frame].size.width) / 2.0; 
-
-    origin.x = floor( origin.x );
-    origin.y = floor( origin.y );
-    
-    [fPictureView setFrameOrigin:origin];
+    /* our origin is off the screen to the left*/
+    if (frame.origin.x < screenOrigin.x)
+    {
+        /* so shift our origin to the right */
+        frame.origin.x = screenOrigin.x;
+    }
+    else if ((frame.origin.x + frame.size.width) > (screenOrigin.x + screenSize.width))
+    {
+        /* the right side of the preview is off the screen, so shift to the left */
+        frame.origin.x = (screenOrigin.x + screenSize.width) - frame.size.width;
+    }
     
-}
-
-
-- (BOOL)viewNeedsToResizeToSize: (NSSize)newSize
-{
-    NSSize viewSize = [fPictureViewArea frame].size;
-    return (newSize.width != viewSize.width || newSize.height != viewSize.height);
+    [[self window] setFrame:frame display:YES animate:YES];
 }
 
 @end
index aaa49109fb197a1412af12bbf2ae5199e861acb7..bb73b72cff6cad45ca37e7b2a92377bcaca3712e 100644 (file)
                27D6C77314B102DA00B785E4 /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C74014B102DA00B785E4 /* libxml2.a */; };
                3490BCB41614CF8D002A5AD7 /* HandBrake.icns in Resources */ = {isa = PBXBuildFile; fileRef = 3490BCB31614CF8D002A5AD7 /* HandBrake.icns */; };
                46AB433515F98A2B009C0961 /* DockTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 46AB433415F98A2B009C0961 /* DockTextField.m */; };
+               A9E1467B16BC2ABD00C307BC /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9E1467A16BC2ABD00C307BC /* QuartzCore.framework */; };
+               A9E1468016BC2AD800C307BC /* next-p.pdf in Resources */ = {isa = PBXBuildFile; fileRef = A9E1467C16BC2AD800C307BC /* next-p.pdf */; };
+               A9E1468116BC2AD800C307BC /* pause-p.pdf in Resources */ = {isa = PBXBuildFile; fileRef = A9E1467D16BC2AD800C307BC /* pause-p.pdf */; };
+               A9E1468216BC2AD800C307BC /* play-p.pdf in Resources */ = {isa = PBXBuildFile; fileRef = A9E1467E16BC2AD800C307BC /* play-p.pdf */; };
+               A9E1468316BC2AD800C307BC /* prev-p.pdf in Resources */ = {isa = PBXBuildFile; fileRef = A9E1467F16BC2AD800C307BC /* prev-p.pdf */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
                27D6C73E14B102DA00B785E4 /* libvorbisenc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvorbisenc.a; path = external/contrib/lib/libvorbisenc.a; sourceTree = BUILT_PRODUCTS_DIR; };
                27D6C73F14B102DA00B785E4 /* libx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libx264.a; path = external/contrib/lib/libx264.a; sourceTree = BUILT_PRODUCTS_DIR; };
                27D6C74014B102DA00B785E4 /* libxml2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libxml2.a; path = external/contrib/lib/libxml2.a; sourceTree = BUILT_PRODUCTS_DIR; };
-               3490BCB31614CF8D002A5AD7 /* HandBrake.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = HandBrake.icns; path = HandBrake.icns; sourceTree = "<group>"; };
+               3490BCB31614CF8D002A5AD7 /* HandBrake.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = HandBrake.icns; sourceTree = "<group>"; };
                34FF2FC014EEC363004C2400 /* HBAdvancedController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBAdvancedController.h; sourceTree = "<group>"; };
                46AB433315F98A2B009C0961 /* DockTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DockTextField.h; sourceTree = "<group>"; };
                46AB433415F98A2B009C0961 /* DockTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DockTextField.m; sourceTree = "<group>"; };
+               A9E1467A16BC2ABD00C307BC /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; };
+               A9E1467C16BC2AD800C307BC /* next-p.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "next-p.pdf"; sourceTree = "<group>"; };
+               A9E1467D16BC2AD800C307BC /* pause-p.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "pause-p.pdf"; sourceTree = "<group>"; };
+               A9E1467E16BC2AD800C307BC /* play-p.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "play-p.pdf"; sourceTree = "<group>"; };
+               A9E1467F16BC2AD800C307BC /* prev-p.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "prev-p.pdf"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               A9E1467B16BC2ABD00C307BC /* QuartzCore.framework in Frameworks */,
                                273F21C114ADE7A20021BE6D /* Growl.framework in Frameworks */,
                                273F21C214ADE7BC0021BE6D /* Sparkle.framework in Frameworks */,
                                273F20C914ADC5150021BE6D /* AudioToolbox.framework in Frameworks */,
                273F203414ADBAC30021BE6D /* Frameworks */ = {
                        isa = PBXGroup;
                        children = (
+                               A9E1467A16BC2ABD00C307BC /* QuartzCore.framework */,
                                273F20C714ADC4FF0021BE6D /* QTKit.framework */,
                                273F202F14ADB9790021BE6D /* AudioToolbox.framework */,
                                273F203B14ADBC210021BE6D /* Cocoa.framework */,
                273F212014ADCBF70021BE6D /* icons */ = {
                        isa = PBXGroup;
                        children = (
+                               A9E1467C16BC2AD800C307BC /* next-p.pdf */,
+                               A9E1467D16BC2AD800C307BC /* pause-p.pdf */,
+                               A9E1467E16BC2AD800C307BC /* play-p.pdf */,
+                               A9E1467F16BC2AD800C307BC /* prev-p.pdf */,
                                273F212114ADCBF70021BE6D /* ActivityWindow.tiff */,
                                273F212214ADCBF70021BE6D /* AddToQueue.tiff */,
                                273F212414ADCBF70021BE6D /* Brushed_Window.png */,
                                273F219014ADDDA10021BE6D /* Preferences.xib in Resources */,
                                273F219114ADDDA10021BE6D /* Queue.xib in Resources */,
                                3490BCB41614CF8D002A5AD7 /* HandBrake.icns in Resources */,
+                               A9E1468016BC2AD800C307BC /* next-p.pdf in Resources */,
+                               A9E1468116BC2AD800C307BC /* pause-p.pdf in Resources */,
+                               A9E1468216BC2AD800C307BC /* play-p.pdf in Resources */,
+                               A9E1468316BC2AD800C307BC /* prev-p.pdf in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
diff --git a/macosx/icons/next-p.pdf b/macosx/icons/next-p.pdf
new file mode 100644 (file)
index 0000000..bb11381
Binary files /dev/null and b/macosx/icons/next-p.pdf differ
diff --git a/macosx/icons/pause-p.pdf b/macosx/icons/pause-p.pdf
new file mode 100644 (file)
index 0000000..6a6224a
Binary files /dev/null and b/macosx/icons/pause-p.pdf differ
diff --git a/macosx/icons/play-p.pdf b/macosx/icons/play-p.pdf
new file mode 100644 (file)
index 0000000..028feb2
Binary files /dev/null and b/macosx/icons/play-p.pdf differ
diff --git a/macosx/icons/prev-p.pdf b/macosx/icons/prev-p.pdf
new file mode 100644 (file)
index 0000000..7f37c9a
Binary files /dev/null and b/macosx/icons/prev-p.pdf differ
index 260a8ad928ddd1725f26c9fa600d2ffdf08af1aa..24cd7547fca74a1647842e50ccb0522d3234c745 100644 (file)
@@ -23,10 +23,10 @@ void SigHandler( int signal )
  * this is the only place I could find that looked like C :)
 ****************************************************************************/
 extern "C" {
-void hb_error_handler( const char *errmsg )
-{
-    fprintf(stderr, "GUI ERROR dialog: %s\n", errmsg );
-}
+    void hb_error_handler( const char *errmsg )
+    {
+         fprintf(stderr, "GUI ERROR dialog: %s\n", errmsg );
+    }
 }
 
 char * str_printf(const char *fmt, ...)
@@ -64,80 +64,8 @@ char * str_printf(const char *fmt, ...)
     }
 }
 
-#define EXTRA_VLC_DYLD_PATH "/Applications/VLC.app/Contents/MacOS/lib"
-#define DEFAULT_DYLD_PATH "/usr/local/lib:/usr/lib"
-
 int main( int argc, const char ** argv )
 {
-    char *dylib_path;
-    int no_exec = 0;
-
-    // Check for flag that prevents exec bomb.  It
-    // incidentally can be used to prevent adding
-    // our modifications to the dyld env vars.
-    if ( argc > 1 && strncmp(argv[1], "-n", 2) == 0 )
-        no_exec = 1;
-
-    if ( !no_exec )
-    {
-        dylib_path = getenv("DYLD_FALLBACK_LIBRARY_PATH");
-        if ( dylib_path == NULL ||
-             strstr( dylib_path, "/Applications/VLC.app/Contents/MacOS/lib" ) == NULL )
-        {
-            char *path = NULL;
-            char *home;
-            int result = -1;
-
-            home = getenv("HOME");
-
-            if ( dylib_path == NULL )
-            {
-                // Set the system default of $HOME/lib:/usr/local/lib:/usr/lib
-                // And add our extra path
-                if ( home != NULL )
-                {
-                    path = str_printf("%s/lib:%s:%s:%s%s", home, 
-                                      DEFAULT_DYLD_PATH, 
-                                      EXTRA_VLC_DYLD_PATH, 
-                                      home, EXTRA_VLC_DYLD_PATH);
-                }
-                else
-                {
-                    path = str_printf("%s:%s", DEFAULT_DYLD_PATH, EXTRA_VLC_DYLD_PATH);
-                }
-                if ( path != NULL )
-                    result = setenv("DYLD_FALLBACK_LIBRARY_PATH", path, 1);
-            }
-            else
-            {
-                // add our extra path
-                if ( home != NULL )
-                {
-                    path = str_printf("%s:%s:%s%s", dylib_path, EXTRA_VLC_DYLD_PATH,
-                                                        home, EXTRA_VLC_DYLD_PATH);
-                }
-                else
-                {
-                    path = str_printf("%s:%s", dylib_path, EXTRA_VLC_DYLD_PATH);
-                }
-                if ( path != NULL )
-                    result = setenv("DYLD_FALLBACK_LIBRARY_PATH", path, 1);
-            }
-            if ( result == 0 )
-            {
-                const char ** new_argv;
-                int i;
-
-                new_argv = (const char**)malloc( (argc + 2) * sizeof(char*) );
-                new_argv[0] = argv[0];
-                new_argv[1] = "-n";
-                for (i = 1; i < argc; i++)
-                    new_argv[i+1] = argv[i];
-                new_argv[i+1] = NULL;
-                execv(new_argv[0], (char* const*)new_argv);
-            }
-        }
-    }
     signal( SIGINT, SigHandler );
     hb_register_error_handler(&hb_error_handler);
     return NSApplicationMain( argc, argv );
index 0fc32de0f444954cd3c194e3080d262414bd3f80..9c2a7981a1d0e6519ec8d5e9996f8c8c88c9702a 100644 (file)
@@ -818,6 +818,7 @@ class ToolProbe( Action ):
         self.name = self.names[0]
         self.pretext = self.name
         self.pathname = self.names[0]
+        self.minversion = kwargs.get('minversion', None)
 
     def _action( self ):
         self.session = []
@@ -832,6 +833,8 @@ class ToolProbe( Action ):
                 break
         if self.fail:
             self.msg_end = 'not found'
+        elif self.minversion:
+            self.version = VersionProbe( [self.pathname, '--version'], minversion=self.minversion )
 
     def cli_add_option( self, parser ):
         parser.add_option( '--'+self.name, metavar='PROG',
@@ -847,6 +850,93 @@ class ToolProbe( Action ):
 
 ###############################################################################
 
+###############################################################################
+##
+## version probe: passes --version to command and only cares about first line
+## of output. If probe fails, a default version of '0.0.0' results.
+## The default rexpr is useful for some very simple version strings. A Custom
+## expression would be required for more complex version strings.
+##
+## command = full command and arguments to pipe
+## rexpr   = a regular expression which must return named subgroups:
+##              name: mandatory. The tool name.
+##              svers: mandatory. The whole version tuple to be represented as string.
+##              i0: mandatory. First element of version tuple to be parsed as int.
+##              i1: optional. Second element of version tuple to be parsed as int.
+##              i2: optional. Third element of version tuple to be parsed as int.
+##           All matching is case-insensitive.
+## abort   = if true configure will exit on probe fail
+## session = result. array of lines (stdout/stderr) from command
+## fail    = result. true if probe failed
+## svers   = result. string of version tuple
+## ivers   = result. int[3] of version tuple
+##
+class VersionProbe( Action ):
+    def __init__( self, command, minversion=None, rexpr=None, abort=False ):
+        super( VersionProbe, self ).__init__( 'version probe', os.path.basename(command[0]), abort )
+        self.command = command
+        self.minversion = minversion
+        if not rexpr:
+            rexpr = '(?P<name>[^.]+)\s+(?P<svers>(?P<i0>\d+)(\.(?P<i1>\d+))?(\.(?P<i2>\d+))?)'
+        self.rexpr = rexpr
+
+    def _action( self ):
+        ## pipe and redirect stderr to stdout; effects communicate result
+        pipe = subprocess.Popen( self.command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT )
+
+        ## read data into memory buffers
+        data = pipe.communicate()
+        self.fail = pipe.returncode != 0
+
+        if data[0]:
+            self.session = data[0].splitlines()
+        else:
+            self.session = []
+
+        self.svers = '0.0.0'
+        self.ivers = [0,0,0]
+
+        try:
+            if not self.fail and self.session and len(self.session):
+                self.fail = True
+                self._parse()
+            self.fail = False
+            self.msg_end = self.svers
+        except Exception, x:
+            self.svers = '0.0.0'
+            self.ivers = [0,0,0]
+            self.msg_end = str(x)
+
+    def _dumpSession( self, printf ):
+        printf( '  + %s\n', ' '.join(self.command) )
+        super( VersionProbe, self )._dumpSession( printf )
+
+    def _parse( self ):
+        mo = re.match( self.rexpr, self.session[0], re.IGNORECASE )
+        md = mo.groupdict()
+        self.svers = md['svers']
+        if 'i0' in md and md['i0']:
+            self.ivers[0] = int(md['i0'])
+        if 'i1' in md and md['i1']:
+            self.ivers[1] = int(md['i1'])
+        if 'i2' in md and md['i2']:
+            self.ivers[2] = int(md['i2'])
+
+    def inadequate( self ):
+        if not self.minversion:
+            return False
+        return self.lesser( self.minversion )
+
+    def lesser( self, ivers ):
+        for i in range(0,3):
+            if self.ivers[i] < ivers[i]:
+                return True
+            elif self.ivers[i] > ivers[i]:
+                return False
+        return False
+
+###############################################################################
+
 class SelectTool( Action ):
     selects = []
 
@@ -1285,7 +1375,7 @@ try:
         strip    = ToolProbe( 'STRIP.exe',    'strip' )
         tar      = ToolProbe( 'TAR.exe',      'gtar', 'tar' )
         wget     = ToolProbe( 'WGET.exe',     'wget', abort=False )
-        yasm     = ToolProbe( 'YASM.exe',     'yasm', abort=False )
+        yasm     = ToolProbe( 'YASM.exe',     'yasm', abort=False, minversion=[1,2,0] )
         autoconf = ToolProbe( 'AUTOCONF.exe', 'autoconf', abort=False )
         automake = ToolProbe( 'AUTOMAKE.exe', 'automake', abort=False )
         libtool  = ToolProbe( 'LIBTOOL.exe',  'libtool', abort=False )
@@ -1345,12 +1435,19 @@ try:
     for action in Action.actions:
         action.run()
 
-    ## enable local yasm when yasm probe fails
-    if not options.enable_local_yasm and Tools.yasm.fail:
-        options.enable_local_yasm = True
+    ## enable local yasm when yasm probe fails or version is too old
+    ## x264 requires 1.2.0+
+    if not options.enable_local_yasm:
+        if Tools.yasm.fail:
+            stdout.write( 'note: enabling local yasm: missing system yasm\n' )
+            options.enable_local_yasm = True
+        elif Tools.yasm.version.inadequate():
+            stdout.write( 'note: enabling local yasm: minimum required version is %s and %s is %s\n' % ('.'.join([str(i) for i in Tools.yasm.version.minversion]),Tools.yasm.pathname,Tools.yasm.version.svers) )
+            options.enable_local_yasm = True
 
     ## enable local autotools when any of { autoconf, automake, libtool } probe fails
     if not options.enable_local_autotools and (Tools.autoconf.fail or Tools.automake.fail or Tools.libtool.fail):
+        stdout.write( 'note: enabling local autotools\n' )
         options.enable_local_autotools = True
 
     if build.system == 'mingw':
index 0eaab1fec78d51d14964883c180ae5c343a78cbd..a5950811bf2c267cc14eea378cf8d6d4e379b5d1 100755 (executable)
@@ -126,7 +126,7 @@ if [ -n "$reconfigure" ]; then
 
     case "$CONFIGURATION" in
     debug*)
-        debug="--debug=max --optimize=none"
+        debug="--debug=std --optimize=none"
         ;;
     release*|*)
         debug=
index 20894fd04928430dd9c0b5fcf20d27f99b4ea6f1..4fff9a296accce5370ac25eb1662c9338c468a7b 100644 (file)
@@ -2,7 +2,7 @@ Source: handbrake
 Section: graphics
 Priority: optional
 Maintainer: John Stebbins <jstebbins.hb@gmail.com>
-Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, yasm (>= 1.1.0), libbz2-dev, zlib1g-dev, libwebkitgtk-dev, libnotify-dev, libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev, wget, subversion, python (>= 2.6), libappindicator-dev, libfribidi-dev (>= 0.19.0), libxml2-dev, libogg-dev, libtheora-dev, libvorbis-dev, libsamplerate0-dev, libfreetype6-dev, libfontconfig1-dev, libass-dev
+Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, yasm (>= 1.1.0), libbz2-dev, zlib1g-dev, libgtk-3-dev, libwebkitgtk-3.0-dev, libnotify-dev, libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev, wget, subversion, python (>= 2.6), libappindicator3-dev, libfribidi-dev (>= 0.19.0), libxml2-dev, libogg-dev, libtheora-dev, libvorbis-dev, libsamplerate0-dev, libfreetype6-dev, libfontconfig1-dev, libass-dev
 Standards-Version: 3.8.4
 Homepage: http://www.handbrake.fr/
 
@@ -19,7 +19,7 @@ Description: versatile DVD ripper and video transcoder - command line
 
 Package: handbrake-gtk
 Architecture: i386 amd64
-Depends: ${shlibs:Depends}, ${misc:Depends}, libwebkitgtk-1.0-0, libnotify4
+Depends: ${shlibs:Depends}, ${misc:Depends}, gstreamer1.0-libav, gstreamer1.0-plugins-base, gstreamer1.0-plugins-good, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-ugly, gstreamer1.0-pulseaudio
 Conflicts: handbrake
 Description: versatile DVD ripper and video transcoder - GTK GUI
  HandBrake is a versatile, easy-to-use tool for converting DVDs and other videos
diff --git a/pkg/linux/debian/rules.natty b/pkg/linux/debian/rules.natty
new file mode 100755 (executable)
index 0000000..2545b4d
--- /dev/null
@@ -0,0 +1,85 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
+else
+CROSS= --build $(DEB_BUILD_GNU_TYPE)
+endif
+
+PKGDESTDIR   = ../
+CONFIGURE    = ./configure
+BUILDDIR     = build
+FORCEVERSION = 
+
+$(BUILDDIR)/GNUmakefile: $(CONFIGURE)
+       dh_testdir
+       unset CFLAGS; unset CPPLAGS; unset CXXLAGS; $(CONFIGURE) --enable-local-yasm --disable-gtk-update-checks --prefix=/usr
+
+build:  $(BUILDDIR)/GNUmakefile
+       dh_testdir
+       #We must build both the main project and the GTK project
+       unset CFLAGS ; unset CPPLAGS ; unset CXXLAGS; $(MAKE) -C $(BUILDDIR)
+
+clean: 
+       dh_testdir
+       dh_testroot
+
+       dh_clean
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_installdirs
+       $(MAKE) -C $(BUILDDIR) DESTDIR=$(CURDIR)/debian/tmp install
+
+# Build architecture-independent files here.
+binary-indep: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs -i
+       dh_installdocs -i
+       dh_install --sourcedir=debian/tmp -i
+       dh_icons -i
+       dh_link -i
+       dh_compress -i
+       dh_fixperms -i
+       dh_installdeb -i
+       dh_gencontrol -i $(FORCEVERSION)
+       dh_md5sums -i
+       dh_builddeb --destdir=$(PKGDESTDIR) -i
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_install --sourcedir=debian/tmp -a
+       dh_installchangelogs -a
+       dh_installdocs -a
+       dh_installexamples -a
+       dh_installman -a
+       dh_link -a
+       dh_icons -a
+       dh_strip -a
+       dh_compress -a
+       dh_fixperms -a
+       dh_installdeb -a
+       dh_shlibdeps -a
+       dh_gencontrol -a $(FORCEVERSION)
+       dh_md5sums -a
+       dh_builddeb -a --destdir=$(PKGDESTDIR) -- -Zbzip2
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install 
diff --git a/pkg/linux/debian/rules.oneiric b/pkg/linux/debian/rules.oneiric
new file mode 100755 (executable)
index 0000000..2545b4d
--- /dev/null
@@ -0,0 +1,85 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
+else
+CROSS= --build $(DEB_BUILD_GNU_TYPE)
+endif
+
+PKGDESTDIR   = ../
+CONFIGURE    = ./configure
+BUILDDIR     = build
+FORCEVERSION = 
+
+$(BUILDDIR)/GNUmakefile: $(CONFIGURE)
+       dh_testdir
+       unset CFLAGS; unset CPPLAGS; unset CXXLAGS; $(CONFIGURE) --enable-local-yasm --disable-gtk-update-checks --prefix=/usr
+
+build:  $(BUILDDIR)/GNUmakefile
+       dh_testdir
+       #We must build both the main project and the GTK project
+       unset CFLAGS ; unset CPPLAGS ; unset CXXLAGS; $(MAKE) -C $(BUILDDIR)
+
+clean: 
+       dh_testdir
+       dh_testroot
+
+       dh_clean
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_installdirs
+       $(MAKE) -C $(BUILDDIR) DESTDIR=$(CURDIR)/debian/tmp install
+
+# Build architecture-independent files here.
+binary-indep: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs -i
+       dh_installdocs -i
+       dh_install --sourcedir=debian/tmp -i
+       dh_icons -i
+       dh_link -i
+       dh_compress -i
+       dh_fixperms -i
+       dh_installdeb -i
+       dh_gencontrol -i $(FORCEVERSION)
+       dh_md5sums -i
+       dh_builddeb --destdir=$(PKGDESTDIR) -i
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_install --sourcedir=debian/tmp -a
+       dh_installchangelogs -a
+       dh_installdocs -a
+       dh_installexamples -a
+       dh_installman -a
+       dh_link -a
+       dh_icons -a
+       dh_strip -a
+       dh_compress -a
+       dh_fixperms -a
+       dh_installdeb -a
+       dh_shlibdeps -a
+       dh_gencontrol -a $(FORCEVERSION)
+       dh_md5sums -a
+       dh_builddeb -a --destdir=$(PKGDESTDIR) -- -Zbzip2
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install 
diff --git a/pkg/linux/debian/rules.precise b/pkg/linux/debian/rules.precise
new file mode 100755 (executable)
index 0000000..2545b4d
--- /dev/null
@@ -0,0 +1,85 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
+else
+CROSS= --build $(DEB_BUILD_GNU_TYPE)
+endif
+
+PKGDESTDIR   = ../
+CONFIGURE    = ./configure
+BUILDDIR     = build
+FORCEVERSION = 
+
+$(BUILDDIR)/GNUmakefile: $(CONFIGURE)
+       dh_testdir
+       unset CFLAGS; unset CPPLAGS; unset CXXLAGS; $(CONFIGURE) --enable-local-yasm --disable-gtk-update-checks --prefix=/usr
+
+build:  $(BUILDDIR)/GNUmakefile
+       dh_testdir
+       #We must build both the main project and the GTK project
+       unset CFLAGS ; unset CPPLAGS ; unset CXXLAGS; $(MAKE) -C $(BUILDDIR)
+
+clean: 
+       dh_testdir
+       dh_testroot
+
+       dh_clean
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_installdirs
+       $(MAKE) -C $(BUILDDIR) DESTDIR=$(CURDIR)/debian/tmp install
+
+# Build architecture-independent files here.
+binary-indep: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs -i
+       dh_installdocs -i
+       dh_install --sourcedir=debian/tmp -i
+       dh_icons -i
+       dh_link -i
+       dh_compress -i
+       dh_fixperms -i
+       dh_installdeb -i
+       dh_gencontrol -i $(FORCEVERSION)
+       dh_md5sums -i
+       dh_builddeb --destdir=$(PKGDESTDIR) -i
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_install --sourcedir=debian/tmp -a
+       dh_installchangelogs -a
+       dh_installdocs -a
+       dh_installexamples -a
+       dh_installman -a
+       dh_link -a
+       dh_icons -a
+       dh_strip -a
+       dh_compress -a
+       dh_fixperms -a
+       dh_installdeb -a
+       dh_shlibdeps -a
+       dh_gencontrol -a $(FORCEVERSION)
+       dh_md5sums -a
+       dh_builddeb -a --destdir=$(PKGDESTDIR) -- -Zbzip2
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install 
diff --git a/pkg/linux/debian/rules.quantal b/pkg/linux/debian/rules.quantal
new file mode 100755 (executable)
index 0000000..2545b4d
--- /dev/null
@@ -0,0 +1,85 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
+else
+CROSS= --build $(DEB_BUILD_GNU_TYPE)
+endif
+
+PKGDESTDIR   = ../
+CONFIGURE    = ./configure
+BUILDDIR     = build
+FORCEVERSION = 
+
+$(BUILDDIR)/GNUmakefile: $(CONFIGURE)
+       dh_testdir
+       unset CFLAGS; unset CPPLAGS; unset CXXLAGS; $(CONFIGURE) --enable-local-yasm --disable-gtk-update-checks --prefix=/usr
+
+build:  $(BUILDDIR)/GNUmakefile
+       dh_testdir
+       #We must build both the main project and the GTK project
+       unset CFLAGS ; unset CPPLAGS ; unset CXXLAGS; $(MAKE) -C $(BUILDDIR)
+
+clean: 
+       dh_testdir
+       dh_testroot
+
+       dh_clean
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_installdirs
+       $(MAKE) -C $(BUILDDIR) DESTDIR=$(CURDIR)/debian/tmp install
+
+# Build architecture-independent files here.
+binary-indep: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs -i
+       dh_installdocs -i
+       dh_install --sourcedir=debian/tmp -i
+       dh_icons -i
+       dh_link -i
+       dh_compress -i
+       dh_fixperms -i
+       dh_installdeb -i
+       dh_gencontrol -i $(FORCEVERSION)
+       dh_md5sums -i
+       dh_builddeb --destdir=$(PKGDESTDIR) -i
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_install --sourcedir=debian/tmp -a
+       dh_installchangelogs -a
+       dh_installdocs -a
+       dh_installexamples -a
+       dh_installman -a
+       dh_link -a
+       dh_icons -a
+       dh_strip -a
+       dh_compress -a
+       dh_fixperms -a
+       dh_installdeb -a
+       dh_shlibdeps -a
+       dh_gencontrol -a $(FORCEVERSION)
+       dh_md5sums -a
+       dh_builddeb -a --destdir=$(PKGDESTDIR) -- -Zbzip2
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install 
index 950aeca7e5dca2c9bc83e19b86c0bcc866798d1d..af38b061a4897b7e15f82e1386177dabe8344368 100644 (file)
@@ -73,6 +73,7 @@ $(PKG.src.deb.stamp): GNUmakefile
        $(CP.exe) -a $(SRC/)download $(STAGE.out.src/)quantal/$(PKG.deb.basename)
        cp -a $(PWD)/$(PKG.debian) $(STAGE.out.src/)quantal/$(PKG.deb.basename)
        $(CP.exe) $(STAGE.out.src/)quantal/$(PKG.deb.basename)/debian/control.quantal $(STAGE.out.src/)quantal/$(PKG.deb.basename)/debian/control
+       $(CP.exe) $(STAGE.out.src/)quantal/$(PKG.deb.basename)/debian/rules.quantal $(STAGE.out.src/)quantal/$(PKG.deb.basename)/debian/rules
        echo "handbrake ($(HB.version)ppa1~quantal1) quantal; urgency=low" > $(STAGE.out.src/)quantal/$(PKG.deb.basename)/debian/changelog
        echo "  * Snapshot" >> $(STAGE.out.src/)quantal/$(PKG.deb.basename)/debian/changelog
        echo "    - See timeline at http://trac.handbrake.fr/timeline" >> $(STAGE.out.src/)quantal/$(PKG.deb.basename)/debian/changelog
@@ -84,6 +85,7 @@ $(PKG.src.deb.stamp): GNUmakefile
        $(CP.exe) -a $(SRC/)download $(STAGE.out.src/)precise/$(PKG.deb.basename)
        cp -a $(PWD)/$(PKG.debian) $(STAGE.out.src/)precise/$(PKG.deb.basename)
        $(CP.exe) $(STAGE.out.src/)precise/$(PKG.deb.basename)/debian/control.precise $(STAGE.out.src/)precise/$(PKG.deb.basename)/debian/control
+       $(CP.exe) $(STAGE.out.src/)precise/$(PKG.deb.basename)/debian/rules.precise $(STAGE.out.src/)precise/$(PKG.deb.basename)/debian/rules
        echo "handbrake ($(HB.version)ppa1~precise1) precise; urgency=low" > $(STAGE.out.src/)precise/$(PKG.deb.basename)/debian/changelog
        echo "  * Snapshot" >> $(STAGE.out.src/)precise/$(PKG.deb.basename)/debian/changelog
        echo "    - See timeline at http://trac.handbrake.fr/timeline" >> $(STAGE.out.src/)precise/$(PKG.deb.basename)/debian/changelog
@@ -95,6 +97,7 @@ $(PKG.src.deb.stamp): GNUmakefile
        $(CP.exe) -a $(SRC/)download $(STAGE.out.src/)oneiric/$(PKG.deb.basename)
        cp -a $(PWD)/$(PKG.debian) $(STAGE.out.src/)oneiric/$(PKG.deb.basename)
        $(CP.exe) $(STAGE.out.src/)oneiric/$(PKG.deb.basename)/debian/control.oneiric $(STAGE.out.src/)oneiric/$(PKG.deb.basename)/debian/control
+       $(CP.exe) $(STAGE.out.src/)oneiric/$(PKG.deb.basename)/debian/rules.oneiric $(STAGE.out.src/)oneiric/$(PKG.deb.basename)/debian/rules
        echo "handbrake ($(HB.version)ppa1~oneiric1) oneiric; urgency=low" > $(STAGE.out.src/)oneiric/$(PKG.deb.basename)/debian/changelog
        echo "  * Snapshot" >> $(STAGE.out.src/)oneiric/$(PKG.deb.basename)/debian/changelog
        echo "    - See timeline at http://trac.handbrake.fr/timeline" >> $(STAGE.out.src/)oneiric/$(PKG.deb.basename)/debian/changelog
@@ -106,6 +109,7 @@ $(PKG.src.deb.stamp): GNUmakefile
        $(CP.exe) -a $(SRC/)download $(STAGE.out.src/)natty/$(PKG.deb.basename)
        cp -a $(PWD)/$(PKG.debian) $(STAGE.out.src/)natty/$(PKG.deb.basename)
        $(CP.exe) $(STAGE.out.src/)natty/$(PKG.deb.basename)/debian/control.natty $(STAGE.out.src/)natty/$(PKG.deb.basename)/debian/control
+       $(CP.exe) $(STAGE.out.src/)natty/$(PKG.deb.basename)/debian/rules.natty $(STAGE.out.src/)natty/$(PKG.deb.basename)/debian/rules
        echo "handbrake ($(HB.version)ppa1~natty1) natty; urgency=low" > $(STAGE.out.src/)natty/$(PKG.deb.basename)/debian/changelog
        echo "  * Snapshot" >> $(STAGE.out.src/)natty/$(PKG.deb.basename)/debian/changelog
        echo "    - See timeline at http://trac.handbrake.fr/timeline" >> $(STAGE.out.src/)natty/$(PKG.deb.basename)/debian/changelog
index ae63466229964bfcca7822e48034251e50e21bdc..1b331272cf6400489625ea198e5d6cc09129ed59 100755 (executable)
@@ -592,26 +592,27 @@ class Display
     if hash["VideoTurboTwoPass"] == 1 then commandString << " -T" end
 
     #Advanced Options
-    if hash["x264Preset"] != nil && hash["x264Preset"] != "" && hash["x264Preset"] != "custom"
+    if hash["x264UseAdvancedOptions"] != 1
+      if hash["x264Preset"] != ""
         commandString << " --x264-preset "
         commandString << hash["x264Preset"]
-
-        if hash["x264Tune"] != "" && hash["x264Tune"] != "none"
-            commandString << " --x264-tune "
-            commandString << hash["x264Tune"]
-        end
-        if hash["x264Profile"] != "" && hash["x264Profile"] != "auto"
-            commandString << " --x264-profile "
-            commandString << hash["x264Profile"]
-        end
-        if hash["x264Level"] != "" && hash["x264Level"] != "auto"
-            commandString << " --h264-level "
-            commandString << hash["x264Level"]
-        end
-        if hash["x264OptionExtra"] != ""
-          commandString << " -x "
-          commandString << hash["x264OptionExtra"]
-        end
+      end
+      if hash["x264Tune"] != "" && hash["x264Tune"] != "none"
+        commandString << " --x264-tune "
+        commandString << hash["x264Tune"]
+      end
+      if hash["h264Profile"] != "" && hash["h264Profile"] != "auto"
+        commandString << " --h264-profile "
+        commandString << hash["h264Profile"]
+      end
+      if hash["h264Level"] != "" && hash["h264Level"] != "auto"
+        commandString << " --h264-level "
+        commandString << hash["h264Level"]
+      end
+      if hash["x264OptionExtra"] != ""
+        commandString << " -x "
+        commandString << hash["x264OptionExtra"]
+      end
     elsif hash["x264Option"] != ""
       commandString << " -x "
       commandString << hash["x264Option"]
@@ -965,26 +966,27 @@ class Display
     if hash["VideoTurboTwoPass"] == 1 then commandString << " -T" end
 
     #Advanced Options
-    if hash["x264Preset"] != nil && hash["x264Preset"] != "" && hash["x264Preset"] != "custom"
+    if hash["x264UseAdvancedOptions"] != 1
+      if hash["x264Preset"] != ""
         commandString << " --x264-preset "
         commandString << hash["x264Preset"]
-
-        if hash["x264Tune"] != "" && hash["x264Tune"] != "none"
-            commandString << " --x264-tune "
-            commandString << hash["x264Tune"]
-        end
-        if hash["x264Profile"] != "" && hash["x264Profile"] != "auto"
-            commandString << " --x264-profile "
-            commandString << hash["x264Profile"]
-        end
-        if hash["x264Level"] != "" && hash["x264Level"] != "auto"
-            commandString << " --h264-level "
-            commandString << hash["x264Level"]
-        end
-        if hash["x264OptionExtra"] != ""
-          commandString << " -x "
-          commandString << hash["x264OptionExtra"]
-        end
+      end
+      if hash["x264Tune"] != "" && hash["x264Tune"] != "none"
+        commandString << " --x264-tune "
+        commandString << hash["x264Tune"]
+      end
+      if hash["h264Profile"] != "" && hash["h264Profile"] != "auto"
+        commandString << " --h264-profile "
+        commandString << hash["h264Profile"]
+      end
+      if hash["h264Level"] != "" && hash["h264Level"] != "auto"
+        commandString << " --h264-level "
+        commandString << hash["h264Level"]
+      end
+      if hash["x264OptionExtra"] != ""
+        commandString << " -x "
+        commandString << hash["x264OptionExtra"]
+      end
     elsif hash["x264Option"] != ""
       commandString << " -x "
       commandString << hash["x264Option"]
@@ -1263,42 +1265,43 @@ class Display
     end
     
     #Advanced Options
-    if hash["x264Preset"] != nil && hash["x264Preset"] != "" && hash["x264Preset"] != "custom"
+    if hash["x264UseAdvancedOptions"] != 1
+      if hash["x264Preset"] != ""
         commandString << "if (x264_preset == NULL)\n    "
         commandString << "{\n    "
         commandString << "    x264_preset = strdup(\""
         commandString << hash["x264Preset"] << "\");\n    "
         commandString << "}\n    "
-
-        if hash["x264Tune"] != "" && hash["x264Tune"] != "none"
-            commandString << "if (x264_tune == NULL)\n    "
-            commandString << "{\n    "
-            commandString << "    x264_tune = strdup(\""
-            commandString << hash["x264Tune"]
-            commandString << "\");\n    "
-            commandString << "}\n    "
-        end
-        if hash["x264Profile"] != "" && hash["x264Profile"] != "auto"
-            commandString << "if (x264_profile == NULL)\n    "
-            commandString << "{\n    "
-            commandString << "    x264_profile = strdup(\""
-            commandString << hash["x264Profile"] << "\");\n    "
-            commandString << "}\n    "
-        end
-        if hash["x264Level"] != "" && hash["x264Level"] != "auto"
-            commandString << "if (h264_level == NULL)\n    "
-            commandString << "{\n    "
-            commandString << "    h264_level = strdup(\""
-            commandString << hash["x264Level"] << "\");\n    "
-            commandString << "}\n    "
-        end
-        if hash["x264OptionExtra"] != ""
-          commandString << "if (advanced_opts == NULL)\n    "
-          commandString << "{\n    "
-          commandString << "    advanced_opts = strdup(\""
-          commandString << hash["x264OptionExtra"] << "\");\n    "
-          commandString << "}\n    "
-        end
+      end
+      if hash["x264Tune"] != "" && hash["x264Tune"] != "none"
+        commandString << "if (x264_tune == NULL)\n    "
+        commandString << "{\n    "
+        commandString << "    x264_tune = strdup(\""
+        commandString << hash["x264Tune"]
+        commandString << "\");\n    "
+        commandString << "}\n    "
+      end
+      if hash["h264Profile"] != "" && hash["h264Profile"] != "auto"
+        commandString << "if (h264_profile == NULL)\n    "
+        commandString << "{\n    "
+        commandString << "    h264_profile = strdup(\""
+        commandString << hash["h264Profile"] << "\");\n    "
+        commandString << "}\n    "
+      end
+      if hash["h264Level"] != "" && hash["h264Level"] != "auto"
+        commandString << "if (h264_level == NULL)\n    "
+        commandString << "{\n    "
+        commandString << "    h264_level = strdup(\""
+        commandString << hash["h264Level"] << "\");\n    "
+        commandString << "}\n    "
+      end
+      if hash["x264OptionExtra"] != ""
+        commandString << "if (advanced_opts == NULL)\n    "
+        commandString << "{\n    "
+        commandString << "    advanced_opts = strdup(\""
+        commandString << hash["x264OptionExtra"] << "\");\n    "
+        commandString << "}\n    "
+      end
     elsif hash["x264Option"] != ""
       commandString << "if (advanced_opts == NULL)\n    "
       commandString << "{\n    "
@@ -1765,30 +1768,31 @@ class Display
     if hash["VideoTwoPass"] == 1 then commandString << " -2" end
     if hash["VideoTurboTwoPass"] == 1 then commandString << " -T" end
     
-      #Advanced Options
-    if hash["x264Preset"] != nil && hash["x264Preset"] != "" && hash["x264Preset"] != "custom"
+    #Advanced Options
+    if hash["x264UseAdvancedOptions"] != 1
+      if hash["x264Preset"] != ""
         commandString << " --x264-preset "
         commandString << hash["x264Preset"]
-
-        if hash["x264Tune"] != "" && hash["x264Tune"] != "none"
-            commandString << " --x264-tune "
-            commandString << hash["x264Tune"]
-        end
-        if hash["x264Profile"] != "" && hash["x264Profile"] != "auto"
-            commandString << " --x264-profile "
-            commandString << hash["x264Profile"]
-        end
-        if hash["x264Level"] != "" && hash["x264Level"] != "auto"
-            commandString << " --h264-level "
-            commandString << hash["x264Level"]
-        end
-        if hash["x264OptionExtra"] != ""
-          commandString << " -x "
-          commandString << hash["x264OptionExtra"]
-        end
-    elsif hash["x264Option"] != ""
+      end
+      if hash["x264Tune"] != "" && hash["x264Tune"] != "none"
+        commandString << " --x264-tune "
+        commandString << hash["x264Tune"]
+      end
+      if hash["h264Profile"] != "" && hash["h264Profile"] != "auto"
+        commandString << " --h264-profile "
+        commandString << hash["h264Profile"]
+      end
+      if hash["h264Level"] != "" && hash["h264Level"] != "auto"
+        commandString << " --h264-level "
+        commandString << hash["h264Level"]
+      end
+      if hash["x264OptionExtra"] != ""
         commandString << " -x "
-        commandString << hash["x264Option"]
+        commandString << hash["x264OptionExtra"]
+      end
+    elsif hash["x264Option"] != ""
+      commandString << " -x "
+      commandString << hash["x264Option"]
     end
     
     commandString << "\\n\");"
index 42c53ab8dd9683ae4add2d2e0368de64cb3713df..15d3447d7dd7fb3a3bcf31f736b0fcbe2b518e90 100644 (file)
@@ -113,10 +113,10 @@ static int    chapter_start = 0;
 static int    chapter_end   = 0;
 static int    chapter_markers = 0;
 static char * marker_file   = NULL;
-static char * advanced_opts = NULL;
-static char * x264_profile  = NULL;
 static char * x264_preset   = NULL;
 static char * x264_tune     = NULL;
+static char * advanced_opts = NULL;
+static char * h264_profile  = NULL;
 static char * h264_level    = NULL;
 static int    maxHeight     = 0;
 static int    maxWidth      = 0;
@@ -378,7 +378,7 @@ int main( int argc, char ** argv )
     free(x264_preset);
     free(x264_tune);
     free(advanced_opts);
-    free(x264_profile);
+    free(h264_profile);
     free(h264_level);
 
     // write a carriage return to stdout
@@ -749,9 +749,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("fast");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("baseline");
+                        h264_profile = strdup("baseline");
                     }
                     if (h264_level == NULL)
                     {
@@ -804,9 +804,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("medium");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("baseline");
+                        h264_profile = strdup("baseline");
                     }
                     if (h264_level == NULL)
                     {
@@ -855,9 +855,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("medium");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("high");
+                        h264_profile = strdup("high");
                     }
                     if (h264_level == NULL)
                     {
@@ -910,9 +910,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("medium");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("high");
+                        h264_profile = strdup("high");
                     }
                     if (h264_level == NULL)
                     {
@@ -965,9 +965,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("medium");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("high");
+                        h264_profile = strdup("high");
                     }
                     if (h264_level == NULL)
                     {
@@ -1024,9 +1024,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("medium");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("high");
+                        h264_profile = strdup("high");
                     }
                     if (h264_level == NULL)
                     {
@@ -1079,9 +1079,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("medium");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("high");
+                        h264_profile = strdup("high");
                     }
                     if (h264_level == NULL)
                     {
@@ -1135,9 +1135,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("medium");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("main");
+                        h264_profile = strdup("main");
                     }
                     if (h264_level == NULL)
                     {
@@ -1188,9 +1188,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("medium");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("main");
+                        h264_profile = strdup("main");
                     }
                     if (h264_level == NULL)
                     {
@@ -1238,9 +1238,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("veryfast");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("main");
+                        h264_profile = strdup("main");
                     }
                     if (h264_level == NULL)
                     {
@@ -1290,9 +1290,9 @@ static int HandleEvents( hb_handle_t * h )
                     {
                         x264_preset = strdup("medium");
                     }
-                    if (x264_profile == NULL)
+                    if (h264_profile == NULL)
                     {
-                        x264_profile = strdup("high");
+                        h264_profile = strdup("high");
                     }
                     if (h264_level == NULL)
                     {
@@ -2475,8 +2475,8 @@ static int HandleEvents( hb_handle_t * h )
 
             hb_job_set_x264_preset(job, x264_preset);
             hb_job_set_x264_tune(job, x264_tune);
-            hb_job_set_x264_profile(job, x264_profile);
-            hb_job_set_x264_level(job, h264_level);
+            hb_job_set_h264_profile(job, h264_profile);
+            hb_job_set_h264_level(job, h264_level);
 
             if (maxWidth)
                 job->maxWidth = maxWidth;
@@ -2798,10 +2798,10 @@ static void ShowHelp()
     "    -x, --encopts <string>  Specify advanced encoder options in the\n"
     "                            same style as mencoder (x264 and ffmpeg only):\n"
     "                            option1=value1:option2=value2\n"
-    "        --x264-profile      When using x264, ensures compliance with the\n"
-    "          <string>          specified h.264 profile:\n"
+    "        --h264-profile      When using x264, ensures compliance with the\n"
+    "          <string>          specified H.264 profile:\n"
     "                            ");
-    x264_opts = hb_x264_profiles();
+    x264_opts = hb_h264_profiles();
     tmp[0] = 0;
     len = 0;
     while( x264_opts && *x264_opts )
@@ -2821,7 +2821,7 @@ static void ShowHelp()
         fprintf( out, "%s\n", tmp );
     fprintf( out,
     "        --h264-level        When using x264, ensures compliance with the\n"
-    "          <string>          specified h.264 level:\n"
+    "          <string>          specified H.264 level:\n"
     "                            ");
     x264_opts = hb_h264_levels();
     tmp[0] = 0;
@@ -3097,19 +3097,19 @@ static void ShowPresets()
     fprintf( stderr, "%s - %s - %s\n", HB_PROJECT_TITLE, HB_PROJECT_BUILD_TITLE, HB_PROJECT_URL_WEBSITE );
 
     printf("\n< Devices\n");
-    printf("\n   + Universal:  -e x264  -q 20.0 -r 30 --pfr  -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -X 720 --loose-anamorphic --modulus 2 -m --x264-preset fast --x264-profile baseline --h264-level 3.0\n");
-    printf("\n   + iPod:  -e x264  -q 22.0 -r 30 --pfr  -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -I -X 320 --modulus 2 -m --x264-preset medium --x264-profile baseline --h264-level 1.3\n");
-    printf("\n   + iPhone & iPod Touch:  -e x264  -q 22.0 -r 29.97 --pfr  -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 960 --loose-anamorphic --modulus 2 -m --x264-preset medium --x264-profile high --h264-level 3.1\n");
-    printf("\n   + iPad:  -e x264  -q 20.0 -r 29.97 --pfr  -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 1280 --loose-anamorphic --modulus 2 -m --x264-preset medium --x264-profile high --h264-level 3.1\n");
-    printf("\n   + AppleTV:  -e x264  -q 20.0 -r 30 --pfr  -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 960 --loose-anamorphic --modulus 2 -m --x264-preset medium --x264-profile high --h264-level 3.1 -x cabac=0:ref=2:b-pyramid=none:weightb=0:weightp=0:vbv-maxrate=9500:vbv-bufsize=9500\n");
-    printf("\n   + AppleTV 2:  -e x264  -q 20.0 -r 29.97 --pfr  -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 1280 --loose-anamorphic --modulus 2 -m --x264-preset medium --x264-profile high --h264-level 3.1\n");
-    printf("\n   + AppleTV 3:  -e x264  -q 20.0 -r 30 --pfr  -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 1920 --decomb=fast --loose-anamorphic --modulus 2 -m --x264-preset medium --x264-profile high --h264-level 4.0\n");
-    printf("\n   + Android:  -e x264  -q 22.0 -r 29.97 --pfr  -a 1 -E faac -B 128 -6 dpl2 -R Auto -D 0.0 -f mp4 -X 720 --loose-anamorphic --modulus 2 --x264-preset medium --x264-profile main --h264-level 2.2\n");
-    printf("\n   + Android Tablet:  -e x264  -q 22.0 -r 29.97 --pfr  -a 1 -E faac -B 128 -6 dpl2 -R Auto -D 0.0 -f mp4 -X 1280 --loose-anamorphic --modulus 2 --x264-preset medium --x264-profile main --h264-level 3.1\n");
+    printf("\n   + Universal:  -e x264  -q 20.0 -r 30 --pfr  -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -X 720 --loose-anamorphic --modulus 2 -m --x264-preset fast --h264-profile baseline --h264-level 3.0\n");
+    printf("\n   + iPod:  -e x264  -q 22.0 -r 30 --pfr  -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -I -X 320 --modulus 2 -m --x264-preset medium --h264-profile baseline --h264-level 1.3\n");
+    printf("\n   + iPhone & iPod Touch:  -e x264  -q 22.0 -r 29.97 --pfr  -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 960 --loose-anamorphic --modulus 2 -m --x264-preset medium --h264-profile high --h264-level 3.1\n");
+    printf("\n   + iPad:  -e x264  -q 20.0 -r 29.97 --pfr  -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 1280 --loose-anamorphic --modulus 2 -m --x264-preset medium --h264-profile high --h264-level 3.1\n");
+    printf("\n   + AppleTV:  -e x264  -q 20.0 -r 30 --pfr  -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 960 --loose-anamorphic --modulus 2 -m --x264-preset medium --h264-profile high --h264-level 3.1 -x cabac=0:ref=2:b-pyramid=none:weightb=0:weightp=0:vbv-maxrate=9500:vbv-bufsize=9500\n");
+    printf("\n   + AppleTV 2:  -e x264  -q 20.0 -r 29.97 --pfr  -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 1280 --loose-anamorphic --modulus 2 -m --x264-preset medium --h264-profile high --h264-level 3.1\n");
+    printf("\n   + AppleTV 3:  -e x264  -q 20.0 -r 30 --pfr  -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 1920 --decomb=fast --loose-anamorphic --modulus 2 -m --x264-preset medium --h264-profile high --h264-level 4.0\n");
+    printf("\n   + Android:  -e x264  -q 22.0 -r 29.97 --pfr  -a 1 -E faac -B 128 -6 dpl2 -R Auto -D 0.0 -f mp4 -X 720 --loose-anamorphic --modulus 2 --x264-preset medium --h264-profile main --h264-level 2.2\n");
+    printf("\n   + Android Tablet:  -e x264  -q 22.0 -r 29.97 --pfr  -a 1 -E faac -B 128 -6 dpl2 -R Auto -D 0.0 -f mp4 -X 1280 --loose-anamorphic --modulus 2 --x264-preset medium --h264-profile main --h264-level 3.1\n");
     printf("\n>\n");
     printf("\n< Regular\n");
-    printf("\n   + Normal:  -e x264  -q 20.0 -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 --loose-anamorphic --modulus 2 -m --x264-preset veryfast --x264-profile main --h264-level 4.0\n");
-    printf("\n   + High Profile:  -e x264  -q 20.0 -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 --decomb --loose-anamorphic --modulus 2 -m --x264-preset medium --x264-profile high --h264-level 4.1\n");
+    printf("\n   + Normal:  -e x264  -q 20.0 -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 --loose-anamorphic --modulus 2 -m --x264-preset veryfast --h264-profile main --h264-level 4.0\n");
+    printf("\n   + High Profile:  -e x264  -q 20.0 -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 --decomb --loose-anamorphic --modulus 2 -m --x264-preset medium --h264-profile high --h264-level 4.1\n");
     printf("\n>\n");
 
 }
@@ -3223,9 +3223,9 @@ static int ParseOptions( int argc, char ** argv )
     #define ALLOWED_AUDIO_COPY  280
     #define AUDIO_FALLBACK      281
     #define LOOSE_CROP          282
-    #define X264_PROFILE        283
-    #define X264_PRESET         284
-    #define X264_TUNE           285
+    #define X264_PRESET         283
+    #define X264_TUNE           284
+    #define H264_PROFILE        285
     #define H264_LEVEL          286
        #define NO_OPENCL           287
     #define NORMALIZE_MIX       288
@@ -3302,11 +3302,11 @@ static int ParseOptions( int argc, char ** argv )
             { "ac",          required_argument, NULL,    'C' },
             { "rate",        required_argument, NULL,    'r' },
             { "arate",       required_argument, NULL,    'R' },
-            { "encopts",     required_argument, NULL,    'x' },
-            { "x264-profile", required_argument, NULL,   X264_PROFILE },
-            { "h264-profile", required_argument, NULL,   X264_PROFILE },
             { "x264-preset", required_argument, NULL,    X264_PRESET },
             { "x264-tune",   required_argument, NULL,    X264_TUNE },
+            { "encopts",     required_argument, NULL,    'x' },
+            { "x264-profile", required_argument, NULL,   H264_PROFILE },
+            { "h264-profile", required_argument, NULL,   H264_PROFILE },
             { "h264-level",  required_argument, NULL,    H264_LEVEL },
             { "turbo",       no_argument,       NULL,    'T' },
             { "maxHeight",   required_argument, NULL,    'Y' },
@@ -3748,18 +3748,18 @@ static int ParseOptions( int argc, char ** argv )
             case 'C':
                 acompressions = str_split( optarg, ',' );
                 break;
-            case 'x':
-                advanced_opts = strdup( optarg );
-                break;
-            case X264_PROFILE:
-                x264_profile = strdup( optarg );
-                break;
             case X264_PRESET:
                 x264_preset = strdup( optarg );
                 break;
             case X264_TUNE:
                 x264_tune = strdup( optarg );
                 break;
+            case 'x':
+                advanced_opts = strdup( optarg );
+                break;
+            case H264_PROFILE:
+                h264_profile = strdup( optarg );
+                break;
             case H264_LEVEL:
                 h264_level = strdup( optarg );
                 break;
diff --git a/win/CS/HandBrake.ApplicationServices/EventArgs/SettingChangedEventArgs.cs b/win/CS/HandBrake.ApplicationServices/EventArgs/SettingChangedEventArgs.cs
new file mode 100644 (file)
index 0000000..2687508
--- /dev/null
@@ -0,0 +1,27 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="SettingChangedEventArgs.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The setting changed event args.\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrake.ApplicationServices.EventArgs\r
+{\r
+    /// <summary>\r
+    /// The setting changed event args.\r
+    /// </summary>\r
+    public class SettingChangedEventArgs\r
+    {\r
+        /// <summary>\r
+        /// Gets or sets the key.\r
+        /// </summary>\r
+        public string Key { get; set; }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the value.\r
+        /// </summary>\r
+        public object Value { get; set; }\r
+    }\r
+}\r
index 56df4d2182475e4cbf63bc10acd9e2a92faf1f18..1448380b007987747ff9542ff2cf4d4955fec430 100644 (file)
@@ -84,6 +84,7 @@
   <ItemGroup>\r
     <Compile Include="Collections\SerializableDictionary.cs" />\r
     <Compile Include="Converters\EnumToDescConverter.cs" />\r
+    <Compile Include="EventArgs\SettingChangedEventArgs.cs" />\r
     <Compile Include="Exceptions\GeneralApplicationException.cs" />\r
     <Compile Include="EventArgs\EncodeCompletedEventArgs.cs" />\r
     <Compile Include="EventArgs\EncodeProgressEventArgs.cs" />\r
index f9053a8bb2d9928e0cfb18f6136a17b716cf3a1f..36d416c9dd4b71d3fa48d8a06ce714268d86c421 100644 (file)
@@ -12,6 +12,8 @@ namespace HandBrake.ApplicationServices.Model
     using System.Collections.ObjectModel;\r
     using System.Linq;\r
 \r
+    using Caliburn.Micro;\r
+\r
     using HandBrake.ApplicationServices.Model.Encoding;\r
     using HandBrake.Interop.Model;\r
     using HandBrake.Interop.Model.Encoding;\r
@@ -22,8 +24,17 @@ namespace HandBrake.ApplicationServices.Model
     /// <summary>\r
     /// An Encode Task\r
     /// </summary>\r
-    public class EncodeTask\r
+    public class EncodeTask : PropertyChangedBase\r
     {\r
+        #region Private Fields\r
+\r
+        /// <summary>\r
+        /// The advanced panel enabled.\r
+        /// </summary>\r
+        private bool showAdvancedTab;\r
+\r
+        #endregion\r
+\r
         /// <summary>\r
         /// Initializes a new instance of the <see cref="EncodeTask"/> class.\r
         /// </summary>\r
@@ -436,7 +447,7 @@ namespace HandBrake.ApplicationServices.Model
         public bool FastDecode { get; set; }\r
 \r
         /// <summary>\r
-        /// Extra Advanced Arguments for the Video Tab.\r
+        /// Gets or sets Extra Advanced Arguments for the Video Tab.\r
         /// </summary>\r
         public string ExtraAdvancedArguments { get; set; }\r
 \r
@@ -493,6 +504,25 @@ namespace HandBrake.ApplicationServices.Model
         /// Gets or sets PreviewEncodeStartAt.\r
         /// </summary>\r
         public string PreviewEncodeStartAt { get; set; }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether advanced panel enabled.\r
+        /// </summary>\r
+        public bool ShowAdvancedTab\r
+        {\r
+            get\r
+            {\r
+                return this.showAdvancedTab;\r
+            }\r
+            set\r
+            {\r
+                if (!object.Equals(value, this.showAdvancedTab))\r
+                {\r
+                    this.showAdvancedTab = value;\r
+                    this.NotifyOfPropertyChange(() => this.ShowAdvancedTab);\r
+                }\r
+            }\r
+        }\r
         #endregion\r
     }\r
 }\r
index db3794151029ec18d6983a29fc2512bf0f957b2e..1a20379f4383f02ca90954dd249f35d45a76a4a7 100644 (file)
@@ -9,6 +9,8 @@
 \r
 namespace HandBrake.ApplicationServices.Model.Encoding\r
 {\r
+    using System;\r
+\r
     using Caliburn.Micro;\r
 \r
     /// <summary>\r
@@ -37,10 +39,14 @@ namespace HandBrake.ApplicationServices.Model.Encoding
         /// <param name="name">\r
         /// The name.\r
         /// </param>\r
-        public ChapterMarker(int number, string name)\r
+        /// <param name="duration">\r
+        /// The duration.\r
+        /// </param>\r
+        public ChapterMarker(int number, string name, TimeSpan duration)\r
         {\r
             this.ChapterName = name;\r
             this.ChapterNumber = number;\r
+            this.Duration = duration;\r
         }\r
 \r
         /// <summary>\r
@@ -54,6 +60,7 @@ namespace HandBrake.ApplicationServices.Model.Encoding
         {\r
             this.ChapterName = chapter.ChapterName;\r
             this.ChapterNumber = chapter.ChapterNumber;\r
+            this.Duration = chapter.Duration;\r
         }\r
 \r
         /// <summary>\r
@@ -61,6 +68,11 @@ namespace HandBrake.ApplicationServices.Model.Encoding
         /// </summary>\r
         public int ChapterNumber { get; set; }\r
 \r
+        /// <summary>\r
+        /// Gets or sets the duration.\r
+        /// </summary>\r
+        public TimeSpan Duration { get; set; }\r
+\r
         /// <summary>\r
         /// Gets or sets ChapterName.\r
         /// </summary>\r
index 15f158381b11b42d26d0f4f65b3184f4688424a4..84e9eee9fe1fd6e6a3165f3dd88c1ef5f31eb75b 100644 (file)
@@ -29,6 +29,14 @@ namespace HandBrake.ApplicationServices.Model
 \r
         #region Properties\r
 \r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="QueueTask"/> class.\r
+        /// </summary>\r
+        public QueueTask()\r
+        {\r
+            this.Status = QueueItemStatus.Waiting;\r
+        }\r
+\r
         /// <summary>\r
         /// Gets or sets ScannedSource.\r
         /// </summary>\r
@@ -62,5 +70,66 @@ namespace HandBrake.ApplicationServices.Model
         public EncodeTask Task { get; set; }\r
 \r
         #endregion\r
+\r
+        /// <summary>\r
+        /// The equals.\r
+        /// </summary>\r
+        /// <param name="other">\r
+        /// The other.\r
+        /// </param>\r
+        /// <returns>\r
+        /// The <see cref="bool"/>.\r
+        /// </returns>\r
+        protected bool Equals(QueueTask other)\r
+        {\r
+            return Equals(this.ScannedSource, other.ScannedSource) && this.CustomQuery.Equals(other.CustomQuery) && Equals(this.Task, other.Task) && this.status == other.status;\r
+        }\r
+\r
+        /// <summary>\r
+        /// The equals.\r
+        /// </summary>\r
+        /// <param name="obj">\r
+        /// The obj.\r
+        /// </param>\r
+        /// <returns>\r
+        /// The <see cref="bool"/>.\r
+        /// </returns>\r
+        public override bool Equals(object obj)\r
+        {\r
+            if (ReferenceEquals(null, obj))\r
+            {\r
+                return false;\r
+            }\r
+\r
+            if (ReferenceEquals(this, obj))\r
+            {\r
+                return true;\r
+            }\r
+\r
+            if (obj.GetType() != this.GetType())\r
+            {\r
+                return false;\r
+            }\r
+\r
+            return Equals((QueueTask)obj);\r
+        }\r
+\r
+        /// <summary>\r
+        /// The get hash code.\r
+        /// </summary>\r
+        /// <returns>\r
+        /// The <see cref="int"/>.\r
+        /// </returns>\r
+        public override int GetHashCode()\r
+        {\r
+            unchecked\r
+            {\r
+                int hashCode = (this.ScannedSource != null ? this.ScannedSource.GetHashCode() : 0);\r
+                hashCode = (hashCode * 397) ^ this.CustomQuery.GetHashCode();\r
+                hashCode = (hashCode * 397) ^ (this.Task != null ? this.Task.GetHashCode() : 0);\r
+                hashCode = (hashCode * 397) ^ (int)this.status;\r
+                return hashCode;\r
+            }\r
+        }\r
     }\r
 }
\ No newline at end of file
index 7f79e8aec4c78403bc6e48a0766ec4bbdc47cfba..f17a6a51bb0f1f04bf455ff72a7be358072990c1 100644 (file)
@@ -78,10 +78,6 @@ namespace HandBrake.ApplicationServices.Parsing
         /// </summary>\r
         public event ScanProgressEventHandler OnScanProgress;\r
 \r
-        /// <summary>\r
-        /// Raised upon the catching of a "Scanning title # of #..." in the stream\r
-        /// </summary>\r
-        public event EncodeProgressEventHandler OnEncodeProgress;\r
 \r
         /// <summary>\r
         /// Gets the buffer of data that came from the CLI standard input/error\r
@@ -133,34 +129,5 @@ namespace HandBrake.ApplicationServices.Parsing
 \r
             return tmp;\r
         }\r
-\r
-        /// <summary>\r
-        /// Pase the CLI status output (from standard output)\r
-        /// </summary>\r
-        public void ReadEncodeStatus()\r
-        {\r
-            string tmp = base.ReadLine();\r
-\r
-            Match m = Regex.Match(tmp, @"^Encoding: task ([0-9]*) of ([0-9]*), ([0-9]*\.[0-9]*) %( \(([0-9]*\.[0-9]*) fps, avg ([0-9]*\.[0-9]*) fps, ETA ([0-9]{2})h([0-9]{2})m([0-9]{2})s\))?");\r
-            if (m.Success && OnEncodeProgress != null)\r
-            {\r
-                int currentTask = int.Parse(m.Groups[1].Value);\r
-                int totalTasks = int.Parse(m.Groups[2].Value);\r
-                float percent = float.Parse(m.Groups[3].Value, CultureInfo.InvariantCulture);\r
-                float currentFps = m.Groups[5].Value == string.Empty ? 0.0F : float.Parse(m.Groups[5].Value, CultureInfo.InvariantCulture);\r
-                float avgFps = m.Groups[6].Value == string.Empty ? 0.0F : float.Parse(m.Groups[6].Value, CultureInfo.InvariantCulture);\r
-                string remaining = string.Empty;\r
-                if (m.Groups[7].Value != string.Empty)\r
-                {\r
-                    remaining = m.Groups[7].Value + ":" + m.Groups[8].Value + ":" + m.Groups[9].Value;\r
-                }\r
-                if (string.IsNullOrEmpty(remaining))\r
-                {\r
-                    remaining = "Calculating ...";\r
-                }\r
-\r
-                OnEncodeProgress(this, currentTask, totalTasks, percent, currentFps, avgFps, remaining);\r
-            }\r
-        }\r
     }\r
 }
\ No newline at end of file
index 00488eac8883e16941574ba0ca5de4632ffe5dae..324e97c161a6ada6bbe56b93aa1730d92ca9147c 100644 (file)
@@ -16,9 +16,6 @@ namespace HandBrake.ApplicationServices.Parsing
     using System.Linq;\r
     using System.Text.RegularExpressions;\r
 \r
-    using Caliburn.Micro;\r
-\r
-    using HandBrake.ApplicationServices.Services.Interfaces;\r
     using HandBrake.Interop.Model;\r
 \r
     using Size = System.Drawing.Size;\r
index 8ef67b28dcd8077c7e4d97c2a6c2a41bcb1cc823..866edb794bd99c6d5b8e559d72e3693f5dd68d16 100644 (file)
 namespace HandBrake.ApplicationServices.Services.Base\r
 {\r
     using System;\r
+    using System.Globalization;\r
     using System.IO;\r
     using System.Text;\r
+    using System.Text.RegularExpressions;\r
+\r
+    using Caliburn.Micro;\r
 \r
     using HandBrake.ApplicationServices.EventArgs;\r
     using HandBrake.ApplicationServices.Exceptions;\r
@@ -148,11 +152,15 @@ namespace HandBrake.ApplicationServices.Services.Base
         /// </param>\r
         public void InvokeEncodeStatusChanged(EncodeProgressEventArgs e)\r
         {\r
-            EncodeProgessStatus handler = this.EncodeStatusChanged;\r
-            if (handler != null)\r
-            {\r
-                handler(this, e);\r
-            }\r
+            Execute.OnUIThread(\r
+                () =>\r
+                {\r
+                    EncodeProgessStatus handler = this.EncodeStatusChanged;\r
+                    if (handler != null)\r
+                    {\r
+                        handler(this, e);\r
+                    }\r
+                });\r
         }\r
 \r
         /// <summary>\r
@@ -163,11 +171,15 @@ namespace HandBrake.ApplicationServices.Services.Base
         /// </param>\r
         public void InvokeEncodeCompleted(EncodeCompletedEventArgs e)\r
         {\r
-            EncodeCompletedStatus handler = this.EncodeCompleted;\r
-            if (handler != null)\r
-            {\r
-                handler(this, e);\r
-            }\r
+            Execute.OnUIThread(\r
+                () =>\r
+                {\r
+                    EncodeCompletedStatus handler = this.EncodeCompleted;\r
+                    if (handler != null)\r
+                    {\r
+                        handler(this, e);\r
+                    }\r
+                });\r
         }\r
 \r
         /// <summary>\r
@@ -178,11 +190,14 @@ namespace HandBrake.ApplicationServices.Services.Base
         /// </param>\r
         public void InvokeEncodeStarted(EventArgs e)\r
         {\r
-            EventHandler handler = this.EncodeStarted;\r
-            if (handler != null)\r
-            {\r
-                handler(this, e);\r
-            }\r
+            Execute.OnUIThread(() =>\r
+                {\r
+                    EventHandler handler = this.EncodeStarted;\r
+                    if (handler != null)\r
+                    {\r
+                        handler(this, e);\r
+                    }\r
+                });\r
         }\r
 \r
         #endregion\r
@@ -192,10 +207,7 @@ namespace HandBrake.ApplicationServices.Services.Base
         /// <summary>\r
         /// A Stop Method to be implemeneted.\r
         /// </summary>\r
-        /// <param name="exc">\r
-        /// The Exception that occured that required a STOP action.\r
-        /// </param>\r
-        public virtual void Stop(Exception exc)\r
+        public virtual void Stop()\r
         {\r
             // Do Nothing\r
         }\r
@@ -249,6 +261,73 @@ namespace HandBrake.ApplicationServices.Services.Base
             }\r
         }\r
 \r
+\r
+        /// <summary>\r
+        /// Pase the CLI status output (from standard output)\r
+        /// </summary>\r
+        /// <param name="encodeStatus">\r
+        /// The encode Status.\r
+        /// </param>\r
+        /// <param name="startTime">\r
+        /// The start Time.\r
+        /// </param>\r
+        /// <returns>\r
+        /// The <see cref="EncodeProgressEventArgs"/>.\r
+        /// </returns>\r
+        public EncodeProgressEventArgs ReadEncodeStatus(string encodeStatus, DateTime startTime)\r
+        {\r
+            try\r
+            {\r
+                Match m = Regex.Match(\r
+                    encodeStatus,\r
+                    @"^Encoding: task ([0-9]*) of ([0-9]*), ([0-9]*\.[0-9]*) %( \(([0-9]*\.[0-9]*) fps, avg ([0-9]*\.[0-9]*) fps, ETA ([0-9]{2})h([0-9]{2})m([0-9]{2})s\))?");\r
+\r
+                if (m.Success)\r
+                {\r
+                    int currentTask = int.Parse(m.Groups[1].Value);\r
+                    int totalTasks = int.Parse(m.Groups[2].Value);\r
+                    float percent = float.Parse(m.Groups[3].Value, CultureInfo.InvariantCulture);\r
+                    float currentFps = m.Groups[5].Value == string.Empty\r
+                                           ? 0.0F\r
+                                           : float.Parse(m.Groups[5].Value, CultureInfo.InvariantCulture);\r
+                    float avgFps = m.Groups[6].Value == string.Empty\r
+                                       ? 0.0F\r
+                                       : float.Parse(m.Groups[6].Value, CultureInfo.InvariantCulture);\r
+                    string remaining = string.Empty;\r
+                    if (m.Groups[7].Value != string.Empty)\r
+                    {\r
+                        remaining = m.Groups[7].Value + ":" + m.Groups[8].Value + ":" + m.Groups[9].Value;\r
+                    }\r
+                    if (string.IsNullOrEmpty(remaining))\r
+                    {\r
+                        remaining = "Calculating ...";\r
+                    }\r
+\r
+                    EncodeProgressEventArgs eventArgs = new EncodeProgressEventArgs\r
+                                                            {\r
+                                                                AverageFrameRate = avgFps,\r
+                                                                CurrentFrameRate = currentFps,\r
+                                                                EstimatedTimeLeft =\r
+                                                                    Converters.EncodeToTimespan(\r
+                                                                        remaining),\r
+                                                                PercentComplete = percent,\r
+                                                                Task = currentTask,\r
+                                                                TaskCount = totalTasks,\r
+                                                                ElapsedTime =\r
+                                                                    DateTime.Now - startTime,\r
+                                                            };\r
+\r
+                    return eventArgs;\r
+                }\r
+\r
+                return null;\r
+            }\r
+            catch (Exception exc)\r
+            {\r
+                return null;\r
+            }\r
+        }\r
+\r
         /// <summary>\r
         /// Setup the logging.\r
         /// </summary>\r
@@ -286,8 +365,8 @@ namespace HandBrake.ApplicationServices.Services.Base
 \r
                 this.fileWriter = new StreamWriter(logFile) { AutoFlush = true };\r
                 this.fileWriter.WriteLine(header);\r
-                this.fileWriter.WriteLine(String.Format("CLI Query: {0}", query));\r
-                this.fileWriter.WriteLine(String.Format("User Query: {0}", encodeQueueTask.CustomQuery));\r
+                this.fileWriter.WriteLine(string.Format("CLI Query: {0}", query));\r
+                this.fileWriter.WriteLine(string.Format("User Query: {0}", encodeQueueTask.CustomQuery));\r
                 this.fileWriter.WriteLine();\r
             }\r
             catch (Exception)\r
@@ -324,22 +403,9 @@ namespace HandBrake.ApplicationServices.Services.Base
                         if (this.fileWriter != null && this.fileWriter.BaseStream.CanWrite)\r
                         {\r
                             this.fileWriter.WriteLine(message);\r
-\r
-                            // If the logging grows past 100MB, kill the encode and stop.\r
-                            if (this.fileWriter.BaseStream.Length > 100000000)\r
-                            {\r
-                                this.Stop(\r
-                                    new GeneralApplicationException(\r
-                                        "The encode has been stopped. The log file has grown to over 100MB which indicates a serious problem has occured with the encode.", \r
-                                        "Please check the encode log for an indication of what the problem is.", null));\r
-                            }\r
                         }\r
                     }\r
                 }\r
-                catch (GeneralApplicationException)\r
-                {\r
-                    throw;\r
-                }\r
                 catch (Exception exc)\r
                 {\r
                     // Do Nothing.\r
index c136c18eec6e5e5c30c7f485c2a9b229ef916e52..5770670505a5f94f11abed3cb80d4bf771a0c318 100644 (file)
@@ -11,18 +11,18 @@ namespace HandBrake.ApplicationServices.Services
 {\r
     using System;\r
     using System.Diagnostics;\r
+    using System.Globalization;\r
     using System.IO;\r
-    using System.Threading;\r
     using System.Windows.Forms;\r
 \r
+    using Caliburn.Micro;\r
+\r
     using HandBrake.ApplicationServices.EventArgs;\r
     using HandBrake.ApplicationServices.Model;\r
     using HandBrake.ApplicationServices.Services.Base;\r
     using HandBrake.ApplicationServices.Services.Interfaces;\r
     using HandBrake.ApplicationServices.Utilities;\r
 \r
-    using Parser = HandBrake.ApplicationServices.Parsing.Parser;\r
-\r
     /// <summary>\r
     /// Class which handles the CLI\r
     /// </summary>\r
@@ -35,11 +35,6 @@ namespace HandBrake.ApplicationServices.Services
         /// </summary>\r
         private readonly IUserSettingService userSettingService;\r
 \r
-        /// <summary>\r
-        /// Gets The Process Handle\r
-        /// </summary>\r
-        private IntPtr processHandle;\r
-\r
         /// <summary>\r
         /// Gets the Process ID\r
         /// </summary>\r
@@ -55,6 +50,11 @@ namespace HandBrake.ApplicationServices.Services
         /// </summary>\r
         private QueueTask currentTask;\r
 \r
+        /// <summary>\r
+        /// The init shutdown.\r
+        /// </summary>\r
+        private bool initShutdown;\r
+\r
         #endregion\r
 \r
         /// <summary>\r
@@ -66,8 +66,7 @@ namespace HandBrake.ApplicationServices.Services
         public Encode(IUserSettingService userSettingService)\r
             : base(userSettingService)\r
         {\r
-            this.userSettingService = userSettingService;\r
-            this.EncodeStarted += this.EncodeEncodeStarted;     \r
+            this.userSettingService = userSettingService;  \r
         }\r
 \r
         #region Properties\r
@@ -83,6 +82,7 @@ namespace HandBrake.ApplicationServices.Services
 \r
         /// <summary>\r
         /// Execute a HandBrakeCLI process.\r
+        /// This should only be called from the UI thread.\r
         /// </summary>\r
         /// <param name="encodeQueueTask">\r
         /// The encodeQueueTask.\r
@@ -94,8 +94,6 @@ namespace HandBrake.ApplicationServices.Services
         {\r
             try\r
             {\r
-                this.currentTask = encodeQueueTask;\r
-\r
                 if (this.IsEncoding)\r
                 {\r
                     throw new Exception("HandBrake is already encodeing.");\r
@@ -103,6 +101,8 @@ namespace HandBrake.ApplicationServices.Services
 \r
                 this.IsEncoding = true;\r
 \r
+                this.currentTask = encodeQueueTask;\r
+\r
                 if (enableLogging)\r
                 {\r
                     try\r
@@ -160,8 +160,10 @@ namespace HandBrake.ApplicationServices.Services
                     this.HbProcess.BeginErrorReadLine();\r
                 }\r
 \r
+                this.HbProcess.OutputDataReceived += HbProcess_OutputDataReceived;\r
+                this.HbProcess.BeginOutputReadLine();\r
+\r
                 this.processId = this.HbProcess.Id;\r
-                this.processHandle = this.HbProcess.Handle;\r
 \r
                 // Set the process Priority\r
                 if (this.processId != -1)\r
@@ -206,22 +208,10 @@ namespace HandBrake.ApplicationServices.Services
             }\r
         }\r
 \r
-        /// <summary>\r
-        /// Stop the Encode\r
-        /// </summary>\r
-        public void Stop()\r
-        {\r
-            this.Stop(null);\r
-        }\r
-\r
         /// <summary>\r
         /// Kill the CLI process\r
         /// </summary>\r
-        /// <param name="exc">\r
-        /// The Exception that has occured.\r
-        /// This will get bubbled up through the EncodeCompletedEventArgs\r
-        /// </param>\r
-        public override void Stop(Exception exc)\r
+        public override void Stop()\r
         {\r
             try\r
             {\r
@@ -234,11 +224,6 @@ namespace HandBrake.ApplicationServices.Services
             {\r
                 // No need to report anything to the user. If it fails, it's probably already stopped.\r
             }\r
-\r
-            this.InvokeEncodeCompleted(\r
-                exc == null\r
-                    ? new EncodeCompletedEventArgs(true, null, string.Empty)\r
-                    : new EncodeCompletedEventArgs(false, exc, "An Unknown Error has occured when trying to Stop this encode."));\r
         }\r
 \r
         /// <summary>\r
@@ -264,25 +249,12 @@ namespace HandBrake.ApplicationServices.Services
         /// </param>\r
         private void HbProcessExited(object sender, EventArgs e)\r
         {\r
-            this.IsEncoding = false;\r
-            if (this.WindowsSeven.IsWindowsSeven)\r
-            {\r
-                this.WindowsSeven.SetTaskBarProgressToNoProgress();\r
-            }\r
-\r
-            if (this.userSettingService.GetUserSetting<bool>(ASUserSettingConstants.PreventSleep))\r
-            {\r
-                Win32.AllowSleep();\r
-            }\r
+            HbProcess.WaitForExit();\r
 \r
             try\r
             {\r
-                // This is just a quick hack to ensure that we are done processing the logging data.\r
-                // Logging data comes in after the exit event has processed sometimes. We should really impliment ISyncronizingInvoke\r
-                // and set the SyncObject on the process. I think this may resolve this properly.\r
-                // For now, just wait 2.5 seconds to let any trailing log messages come in and be processed.\r
-                Thread.Sleep(2500);\r
                 this.HbProcess.CancelErrorRead();\r
+                this.HbProcess.CancelOutputRead();\r
                 this.ShutdownFileWriter();\r
             }\r
             catch (Exception exc)\r
@@ -290,8 +262,22 @@ namespace HandBrake.ApplicationServices.Services
                 // This exception doesn't warrent user interaction, but it should be logged (TODO)\r
             }\r
 \r
-            this.currentTask.Status = QueueItemStatus.Completed;\r
-            this.InvokeEncodeCompleted(new EncodeCompletedEventArgs(true, null, string.Empty));\r
+            Execute.OnUIThread(() =>\r
+                {\r
+                    if (this.WindowsSeven.IsWindowsSeven)\r
+                    {\r
+                        this.WindowsSeven.SetTaskBarProgressToNoProgress();\r
+                    }\r
+\r
+                    if (this.userSettingService.GetUserSetting<bool>(ASUserSettingConstants.PreventSleep))\r
+                    {\r
+                        Win32.AllowSleep();\r
+                    }\r
+\r
+                    this.currentTask.Status = QueueItemStatus.Completed;\r
+                    this.IsEncoding = false;\r
+                    this.InvokeEncodeCompleted(new EncodeCompletedEventArgs(true, null, string.Empty));\r
+                });\r
         }\r
 \r
         /// <summary>\r
@@ -303,88 +289,69 @@ namespace HandBrake.ApplicationServices.Services
         /// <param name="e">\r
         /// DataReceived EventArgs\r
         /// </param>\r
+        /// <remarks>\r
+        /// Worker Thread.\r
+        /// </remarks>\r
         private void HbProcErrorDataReceived(object sender, DataReceivedEventArgs e)\r
         {\r
             if (!String.IsNullOrEmpty(e.Data))\r
             {\r
+                if (initShutdown && this.LogBuffer.Length < 25000000) \r
+                {\r
+                    initShutdown = false; // Reset this flag.\r
+                }\r
+\r
+                if (this.LogBuffer.Length > 25000000 && !initShutdown) // Approx 23.8MB and make sure it's only printed once\r
+                {\r
+                    this.ProcessLogMessage("ERROR: Initiating automatic shutdown of encode process. The size of the log file inidcates that there is an error! ");\r
+                    initShutdown = true;\r
+                    this.Stop();\r
+                }\r
+\r
                 this.ProcessLogMessage(e.Data);\r
             }\r
         }\r
 \r
         /// <summary>\r
-        /// Encode Started\r
+        /// The hb process output data received.\r
         /// </summary>\r
         /// <param name="sender">\r
         /// The sender.\r
         /// </param>\r
         /// <param name="e">\r
-        /// The EventArgs.\r
+        /// The e.\r
         /// </param>\r
-        private void EncodeEncodeStarted(object sender, EventArgs e)\r
+        private void HbProcess_OutputDataReceived(object sender, DataReceivedEventArgs e)\r
         {\r
-            Thread monitor = new Thread(this.EncodeMonitor);\r
-            monitor.Start();\r
-        }\r
-\r
-        /// <summary>\r
-        /// Monitor the QueueTask\r
-        /// </summary>\r
-        private void EncodeMonitor()\r
-        {\r
-            try\r
+            if (!String.IsNullOrEmpty(e.Data) && this.IsEncoding)\r
             {\r
-                Parser encode = new Parser(this.HbProcess.StandardOutput.BaseStream);\r
-                encode.OnEncodeProgress += this.EncodeOnEncodeProgress;\r
-                while (!encode.EndOfStream)\r
+                EncodeProgressEventArgs eventArgs = this.ReadEncodeStatus(e.Data, this.startTime);\r
+                if (eventArgs != null)\r
                 {\r
-                    encode.ReadEncodeStatus();\r
+                    Execute.OnUIThread(\r
+                        () =>\r
+                            {\r
+                                if (!this.IsEncoding)\r
+                                {\r
+                                    // We can get events out of order since the CLI progress is monitored on a background thread.\r
+                                    // So make sure we don't send a status update after an encode complete event.\r
+                                    return;\r
+                                }\r
+\r
+                                this.InvokeEncodeStatusChanged(eventArgs);\r
+\r
+                                if (this.WindowsSeven.IsWindowsSeven)\r
+                                {\r
+                                    int percent;\r
+                                    int.TryParse(\r
+                                        Math.Round(eventArgs.PercentComplete).ToString(CultureInfo.InvariantCulture),\r
+                                        out percent);\r
+\r
+                                    this.WindowsSeven.SetTaskBarProgress(percent);\r
+                                }\r
+                            });\r
                 }\r
             }\r
-            catch (Exception)\r
-            {\r
-                this.EncodeOnEncodeProgress(null, 0, 0, 0, 0, 0, "Unknown, status not available..");\r
-            }\r
-        }\r
-\r
-        /// <summary>\r
-        /// Displays the Encode status in the GUI\r
-        /// </summary>\r
-        /// <param name="sender">The sender</param>\r
-        /// <param name="currentTask">The current task</param>\r
-        /// <param name="taskCount">Number of tasks</param>\r
-        /// <param name="percentComplete">Percent complete</param>\r
-        /// <param name="currentFps">Current encode speed in fps</param>\r
-        /// <param name="avg">Avg encode speed</param>\r
-        /// <param name="timeRemaining">Time Left</param>\r
-        private void EncodeOnEncodeProgress(object sender, int currentTask, int taskCount, float percentComplete, float currentFps, float avg, string timeRemaining)\r
-        {\r
-            if (!this.IsEncoding)\r
-            {\r
-                // We can get events out of order since the CLI progress is monitored on a background thread.\r
-                // So make sure we don't send a status update after an encode complete event.\r
-                return;\r
-            }\r
-\r
-            EncodeProgressEventArgs eventArgs = new EncodeProgressEventArgs\r
-            {\r
-                AverageFrameRate = avg,\r
-                CurrentFrameRate = currentFps,\r
-                EstimatedTimeLeft = Converters.EncodeToTimespan(timeRemaining),\r
-                PercentComplete = percentComplete,\r
-                Task = currentTask,\r
-                TaskCount = taskCount,\r
-                ElapsedTime = DateTime.Now - this.startTime,\r
-            };\r
-\r
-            this.InvokeEncodeStatusChanged(eventArgs);\r
-\r
-            if (this.WindowsSeven.IsWindowsSeven)\r
-            {\r
-                int percent;\r
-                int.TryParse(Math.Round(percentComplete).ToString(), out percent);\r
-\r
-                this.WindowsSeven.SetTaskBarProgress(percent);\r
-            }\r
         }\r
 \r
         #endregion\r
index 0a952e516f262622d0170a2e7c9b479752cb7b1b..b4c8872c0005881ddaab51d660b0fd9569d86584 100644 (file)
@@ -10,7 +10,7 @@
 namespace HandBrake.ApplicationServices.Services.Interfaces\r
 {\r
     using System;\r
-    using System.Collections.ObjectModel;\r
+    using System.ComponentModel;\r
 \r
     using HandBrake.ApplicationServices.Model;\r
 \r
@@ -70,7 +70,7 @@ namespace HandBrake.ApplicationServices.Services.Interfaces
         /// <summary>\r
         /// Gets The current queue.\r
         /// </summary>\r
-        ObservableCollection<QueueTask> Queue { get; }\r
+        BindingList<QueueTask> Queue { get; }\r
 \r
         #endregion\r
 \r
index d7bba95501c661ceb0fbaa0d4a4e8e410503ad2b..bf6cb9c9193a2f6c15e3185b60e693357c964e20 100644 (file)
@@ -9,11 +9,29 @@
 \r
 namespace HandBrake.ApplicationServices.Services.Interfaces\r
 {\r
+    using HandBrake.ApplicationServices.EventArgs;\r
+\r
+    /// <summary>\r
+    /// The setting event handler.\r
+    /// </summary>\r
+    /// <param name="sender">\r
+    /// The sender.\r
+    /// </param>\r
+    /// <param name="e">\r
+    /// The e.\r
+    /// </param>\r
+    public delegate void SettingEventHandler(object sender, SettingChangedEventArgs e);\r
+\r
     /// <summary>\r
     /// The User Setting Service Interace.\r
     /// </summary>\r
     public interface IUserSettingService\r
     {\r
+        /// <summary>\r
+        /// The setting changed.\r
+        /// </summary>\r
+        event SettingEventHandler SettingChanged;\r
+\r
         /// <summary>\r
         /// Set the specified user setting.\r
         /// </summary>\r
index 64d604a3470cf0c5d05b7fbb1c7bd29228a7836e..320b96f1ba4f2226b845b6c8e7d3bdf822a9c9a4 100644 (file)
@@ -12,7 +12,6 @@ namespace HandBrake.ApplicationServices.Services
     using System;\r
     using System.Diagnostics;\r
 \r
-    using HandBrake.ApplicationServices.Exceptions;\r
     using HandBrake.ApplicationServices.Model;\r
     using HandBrake.ApplicationServices.Services.Base;\r
     using HandBrake.ApplicationServices.Services.Interfaces;\r
@@ -169,19 +168,7 @@ namespace HandBrake.ApplicationServices.Services
         /// <summary>\r
         /// Kill the CLI process\r
         /// </summary>\r
-        public void Stop()\r
-        {\r
-            this.Stop(null);\r
-        }\r
-\r
-        /// <summary>\r
-        /// Kill the CLI process\r
-        /// </summary>\r
-        /// <param name="exc">\r
-        /// The Exception that has occured.\r
-        /// This will get bubbled up through the EncodeCompletedEventArgs\r
-        /// </param>\r
-        public override void Stop(Exception exc)\r
+        public override void Stop()\r
         {\r
             try\r
             {\r
@@ -192,11 +179,6 @@ namespace HandBrake.ApplicationServices.Services
             {\r
                 // Do Nothing.\r
             }\r
-\r
-            this.InvokeEncodeCompleted(\r
-                exc == null\r
-                    ? new EncodeCompletedEventArgs(true, null, string.Empty)\r
-                    : new EncodeCompletedEventArgs(false, exc, "An Error has occured."));\r
         }\r
 \r
         /// <summary>\r
index 7aefd285fcf34d9df64e40ec3539ffd830502d4a..172fe729129466bf9948520a6337f15195fd2377 100644 (file)
@@ -11,7 +11,7 @@ namespace HandBrake.ApplicationServices.Services
 {\r
     using System;\r
     using System.Collections.Generic;\r
-    using System.Collections.ObjectModel;\r
+    using System.ComponentModel;\r
     using System.Diagnostics;\r
     using System.IO;\r
     using System.Linq;\r
@@ -41,7 +41,7 @@ namespace HandBrake.ApplicationServices.Services
         /// <summary>\r
         /// The Queue of Job objects\r
         /// </summary>\r
-        private readonly ObservableCollection<QueueTask> queue = new ObservableCollection<QueueTask>();\r
+        private readonly BindingList<QueueTask> queue = new BindingList<QueueTask>();\r
 \r
         /// <summary>\r
         /// The User Setting Service\r
@@ -152,7 +152,7 @@ namespace HandBrake.ApplicationServices.Services
         /// <summary>\r
         /// Gets The current queue.\r
         /// </summary>\r
-        public ObservableCollection<QueueTask> Queue\r
+        public BindingList<QueueTask> Queue\r
         {\r
             get\r
             {\r
@@ -595,13 +595,6 @@ namespace HandBrake.ApplicationServices.Services
         /// </summary>\r
         private void ProcessNextJob()\r
         {\r
-            if (this.EncodeService.IsEncoding || !this.IsProcessing)\r
-            {\r
-                // We don't want to try start a second encode, so just return out. The event will trigger the next encode automatically.\r
-                // Also, we don't want to start a new encode if we are paused.\r
-                return;\r
-            }\r
-\r
             QueueTask job = this.GetNextJobForProcessing();\r
             if (job != null)\r
             {\r
index ab77ce8000a8bc41a23f7d5cdbccb533423c3ef2..db7389637991d54a3de0b5564cde6830f59806a8 100644 (file)
@@ -16,6 +16,7 @@ namespace HandBrake.ApplicationServices.Services
     using System.Xml.Serialization;\r
 \r
     using HandBrake.ApplicationServices.Collections;\r
+    using HandBrake.ApplicationServices.EventArgs;\r
     using HandBrake.ApplicationServices.Exceptions;\r
     using HandBrake.ApplicationServices.Services.Interfaces;\r
 \r
@@ -47,6 +48,11 @@ namespace HandBrake.ApplicationServices.Services
             this.Load();\r
         }\r
 \r
+        /// <summary>\r
+        /// The setting changed.\r
+        /// </summary>\r
+        public event SettingEventHandler SettingChanged;\r
+\r
         /// <summary>\r
         /// Set the specified user setting.\r
         /// </summary>\r
@@ -60,6 +66,8 @@ namespace HandBrake.ApplicationServices.Services
         {\r
             this.userSettings[name] = value;\r
             this.Save();\r
+\r
+            this.OnSettingChanged(new SettingChangedEventArgs {Key = name, Value = value});\r
         }\r
 \r
         /// <summary>\r
@@ -98,6 +106,21 @@ namespace HandBrake.ApplicationServices.Services
             return (StringCollection)this.userSettings[name];\r
         }\r
 \r
+        /// <summary>\r
+        /// The on setting changed.\r
+        /// </summary>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        protected virtual void OnSettingChanged(SettingChangedEventArgs e)\r
+        {\r
+            SettingEventHandler handler = this.SettingChanged;\r
+            if (handler != null)\r
+            {\r
+                handler(this, e);\r
+            }\r
+        }\r
+\r
         /// <summary>\r
         /// Save the User Settings\r
         /// </summary>\r
index 618dd43cc3c510afd17512f843d210b00797a670..63a98abe492523b969efa7f539eb98338561ab0e 100644 (file)
@@ -23,10 +23,6 @@ namespace HandBrake.ApplicationServices.Utilities
     /// </summary>\r
     public class InteropModelCreator\r
     {\r
-        /*\r
-         * TODO: This conversion class needs to be finished off before libencode will work.\r
-         */\r
-\r
         /// <summary>\r
         /// Get an EncodeJob model for a LibHB Encode.\r
         /// </summary>\r
@@ -182,12 +178,37 @@ namespace HandBrake.ApplicationServices.Utilities
             // job.SourceType = work.Type;\r
             job.Title = work.Title;\r
 \r
-            // TODO Setup subtitles\r
+            // Subtitles\r
             job.Subtitles = new Subtitles { SourceSubtitles = new List<SourceSubtitle>(), SrtSubtitles = new List<SrtSubtitle>() };\r
-            //foreach (SubtitleTrack track in work.SubtitleTracks)\r
-            //{\r
-            //    // TODO\r
-            //}\r
+            foreach (SubtitleTrack track in work.SubtitleTracks)\r
+            {\r
+                if (track.IsSrtSubtitle)\r
+                {\r
+                    job.Subtitles.SrtSubtitles.Add(\r
+                        new SrtSubtitle\r
+                            {\r
+                                CharacterCode = track.SrtCharCode,\r
+                                Default = track.Default,\r
+                                FileName = track.SrtFileName,\r
+                                LanguageCode = track.SrtLang,\r
+                                Offset = track.SrtOffset\r
+                            });\r
+                }\r
+                else\r
+                {\r
+                    if (track.SourceTrack != null)\r
+                    {\r
+                        job.Subtitles.SourceSubtitles.Add(\r
+                            new SourceSubtitle\r
+                                {\r
+                                    BurnedIn = track.Burned,\r
+                                    Default = track.Default,\r
+                                    Forced = track.Forced,\r
+                                    TrackNumber = track.SourceTrack.TrackNumber\r
+                                });\r
+                    }\r
+                }\r
+            }\r
 \r
             return job;\r
         }\r
index acc8948a1467effa8bb45998a2195e67985104c2..81d4846ec1075dc539808bfab7ce6d5cfa7025ac 100644 (file)
@@ -168,7 +168,7 @@ namespace HandBrake.ApplicationServices.Utilities
         /// </summary>\r
         public static void AllowSleep()\r
         {\r
-            SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS);\r
+            executor(() => SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS));\r
         }\r
 \r
         /// <summary>\r
index 344759c1d9df8518fc30dcfb03f0757e9b261b8a..fbe8e8532966bee42e6c9086d481cc7c5c8bce02 100644 (file)
@@ -19,9 +19,20 @@ namespace HandBrake.Interop.SourceData
        /// </summary>\r
        public class Title\r
        {\r
-               private readonly List<AudioTrack> audioTracks;\r
-               private readonly List<Chapter> chapters;\r
-               private readonly List<Subtitle> subtitles;\r
+           /// <summary>\r
+           /// The audio tracks.\r
+           /// </summary>\r
+           private readonly List<AudioTrack> audioTracks;\r
+\r
+           /// <summary>\r
+           /// The chapters.\r
+           /// </summary>\r
+           private readonly List<Chapter> chapters;\r
+\r
+           /// <summary>\r
+           /// The subtitles.\r
+           /// </summary>\r
+           private readonly List<Subtitle> subtitles;\r
                \r
                /// <summary>\r
                /// Initializes a new instance of the Title class.\r
diff --git a/win/CS/HandBrakeWPF/Controls/TimeSpanBox.xaml b/win/CS/HandBrakeWPF/Controls/TimeSpanBox.xaml
new file mode 100644 (file)
index 0000000..3fdc8d2
--- /dev/null
@@ -0,0 +1,175 @@
+<UserControl x:Class="HandBrakeWPF.Controls.TimeSpanBox"\r
+       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\r
+       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"\r
+       Loaded="UserControl_Loaded">\r
+    <UserControl.Resources>\r
+        <Style x:Key="Arrow" TargetType="Polygon">\r
+            <Setter Property="Fill" Value="#333" />\r
+        </Style>\r
+        <!-- UpButton and DownButton are identical except for the border radius in the control template.\r
+                       We can't pass that through so we need to duplicate the template. After a change is made from one button\r
+                       template it should be copied to the other. -->\r
+        <Style x:Key="UpButton" TargetType="Button">\r
+            <Setter Property="Margin" Value="0"/>\r
+            <Setter Property="Background" >\r
+                <Setter.Value>\r
+                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >\r
+                        <GradientStop Color="#EEE" Offset="0.4"/>\r
+                        <GradientStop Color="#BBB" Offset="1"/>\r
+                    </LinearGradientBrush>\r
+                </Setter.Value>\r
+            </Setter>\r
+            <Setter Property="Template">\r
+                <Setter.Value>\r
+                    <ControlTemplate TargetType="Button">\r
+                        <Border\r
+                                                       Name="border"\r
+                                                       BorderThickness="1"\r
+                                                       BorderBrush="#888"\r
+                                                       CornerRadius="0,2,0,0"\r
+                                                       Background="{TemplateBinding Background}">\r
+                            <ContentPresenter\r
+                                                               Name="content"\r
+                                                               HorizontalAlignment="Center" VerticalAlignment="Center" />\r
+                        </Border>\r
+                        <ControlTemplate.Triggers>\r
+                            <Trigger Property="IsMouseOver" Value="True">\r
+                                <Setter TargetName="border" Property="BorderBrush" Value="#FF4788c8" />\r
+                                <Setter Property="Foreground" Value="#FF4788c8" />\r
+                            </Trigger>\r
+                            <Trigger Property="IsPressed" Value="True">\r
+                                <Setter Property="Background" >\r
+                                    <Setter.Value>\r
+                                        <LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >\r
+                                            <GradientStop Color="#CCC" Offset="0.4"/>\r
+                                            <GradientStop Color="#999" Offset="1"/>\r
+                                        </LinearGradientBrush>\r
+                                    </Setter.Value>\r
+                                </Setter>\r
+                                <Setter TargetName="content" Property="RenderTransform" >\r
+                                    <Setter.Value>\r
+                                        <TranslateTransform Y="1.0" />\r
+                                    </Setter.Value>\r
+                                </Setter>\r
+                            </Trigger>\r
+                            <Trigger Property="IsDefaulted" Value="True">\r
+                                <Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />\r
+                            </Trigger>\r
+                            <Trigger Property="IsFocused" Value="True">\r
+                                <Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />\r
+                            </Trigger>\r
+                            <Trigger Property="IsEnabled" Value="False">\r
+                                <Setter TargetName="border" Property="Opacity" Value="0.7" />\r
+                                <Setter Property="Foreground" Value="Gray" />\r
+                            </Trigger>\r
+                        </ControlTemplate.Triggers>\r
+                    </ControlTemplate>\r
+                </Setter.Value>\r
+            </Setter>\r
+        </Style>\r
+        <Style x:Key="DownButton" TargetType="Button">\r
+            <Setter Property="Margin" Value="0"/>\r
+            <Setter Property="Background" >\r
+                <Setter.Value>\r
+                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >\r
+                        <GradientStop Color="#EEE" Offset="0.4"/>\r
+                        <GradientStop Color="#BBB" Offset="1"/>\r
+                    </LinearGradientBrush>\r
+                </Setter.Value>\r
+            </Setter>\r
+            <Setter Property="Template">\r
+                <Setter.Value>\r
+                    <ControlTemplate TargetType="Button">\r
+                        <Border\r
+                                                       Name="border"\r
+                                                       BorderThickness="1"\r
+                                                       BorderBrush="#888"\r
+                                                       CornerRadius="0,0,2,0"\r
+                                                       Background="{TemplateBinding Background}">\r
+                            <ContentPresenter\r
+                                                               Name="content"\r
+                                                               HorizontalAlignment="Center" VerticalAlignment="Center" />\r
+                        </Border>\r
+                        <ControlTemplate.Triggers>\r
+                            <Trigger Property="IsMouseOver" Value="True">\r
+                                <Setter TargetName="border" Property="BorderBrush" Value="#FF4788c8" />\r
+                                <Setter Property="Foreground" Value="#FF4788c8" />\r
+                            </Trigger>\r
+                            <Trigger Property="IsPressed" Value="True">\r
+                                <Setter Property="Background" >\r
+                                    <Setter.Value>\r
+                                        <LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >\r
+                                            <GradientStop Color="#CCC" Offset="0.4"/>\r
+                                            <GradientStop Color="#999" Offset="1"/>\r
+                                        </LinearGradientBrush>\r
+                                    </Setter.Value>\r
+                                </Setter>\r
+                                <Setter TargetName="content" Property="RenderTransform" >\r
+                                    <Setter.Value>\r
+                                        <TranslateTransform Y="1.0" />\r
+                                    </Setter.Value>\r
+                                </Setter>\r
+                            </Trigger>\r
+                            <Trigger Property="IsDefaulted" Value="True">\r
+                                <Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />\r
+                            </Trigger>\r
+                            <Trigger Property="IsFocused" Value="True">\r
+                                <Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />\r
+                            </Trigger>\r
+                            <Trigger Property="IsEnabled" Value="False">\r
+                                <Setter TargetName="border" Property="Opacity" Value="0.7" />\r
+                                <Setter Property="Foreground" Value="Gray" />\r
+                            </Trigger>\r
+                        </ControlTemplate.Triggers>\r
+                    </ControlTemplate>\r
+                </Setter.Value>\r
+            </Setter>\r
+        </Style>\r
+    </UserControl.Resources>\r
+    <Grid>\r
+        <Grid.ColumnDefinitions>\r
+            <ColumnDefinition Width="*" />\r
+            <ColumnDefinition Width="Auto" />\r
+        </Grid.ColumnDefinitions>\r
+        <TextBox\r
+                       Name="numberBox"\r
+                       Grid.Column="0"\r
+                       GotFocus="NumberBoxGotFocus"\r
+                       LostFocus="NumberBoxLostFocus"\r
+                       PreviewTextInput="NumberBoxPreviewTextInput"\r
+                       PreviewKeyDown="NumberBoxPreviewKeyDown"\r
+                       PreviewMouseDown="NumberBoxPreviewMouseDown"\r
+                       PreviewMouseUp="NumberBoxPreviewMouseUp"\r
+                       TextChanged="NumberBoxTextChanged"\r
+                       VerticalContentAlignment="Center"/>\r
+        <Grid\r
+                       Name="incrementButtonsGrid"\r
+                       Grid.Column="1"\r
+                       Width="16">\r
+            <Grid.RowDefinitions>\r
+                <RowDefinition Height="*" />\r
+                <RowDefinition Height="*" />\r
+            </Grid.RowDefinitions>\r
+            <Button\r
+                               Style="{StaticResource UpButton}"\r
+                               Grid.Row="0"\r
+                               FontSize="4"\r
+                               PreviewMouseLeftButtonDown="UpButtonMouseLeftButtonDown"\r
+                               PreviewMouseLeftButtonUp="UpButtonMouseLeftButtonUp">\r
+                <Polygon\r
+                                       Style="{StaticResource Arrow}"\r
+                                       Points="4,0 0,4 8,4" />\r
+            </Button>\r
+            <Button\r
+                               Style="{StaticResource DownButton}"\r
+                               Grid.Row="1"\r
+                               FontSize="4"\r
+                               PreviewMouseLeftButtonDown="DownButtonMouseLeftButtonDown"\r
+                               PreviewMouseLeftButtonUp="DownButtonMouseLeftButtonUp">\r
+                <Polygon\r
+                                       Style="{StaticResource Arrow}"\r
+                                       Points="0,0 8,0 4,4" />\r
+            </Button>\r
+        </Grid>\r
+    </Grid>\r
+</UserControl>\r
diff --git a/win/CS/HandBrakeWPF/Controls/TimeSpanBox.xaml.cs b/win/CS/HandBrakeWPF/Controls/TimeSpanBox.xaml.cs
new file mode 100644 (file)
index 0000000..5f983a6
--- /dev/null
@@ -0,0 +1,721 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="TimeSpanBox.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   Interaction logic for TimeSpanBox.xaml\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.Controls\r
+{\r
+    using System;\r
+    using System.Globalization;\r
+    using System.Linq;\r
+    using System.Windows;\r
+    using System.Windows.Controls;\r
+    using System.Windows.Input;\r
+    using System.Windows.Media;\r
+\r
+    /// <summary>\r
+    ///     Interaction logic for TimeSpanBox.xaml\r
+    /// </summary>\r
+    public partial class TimeSpanBox\r
+    {\r
+        #region Constants and Fields\r
+\r
+        /// <summary>\r
+        /// The maximum property name.\r
+        /// </summary>\r
+        public const string MaximumPropertyName = "Maximum";\r
+\r
+        /// <summary>\r
+        /// The minimum property name.\r
+        /// </summary>\r
+        public const string MinimumPropertyName = "Minimum";\r
+\r
+        /// <summary>\r
+        /// The modulus property name.\r
+        /// </summary>\r
+        public const string ModulusPropertyName = "Modulus";\r
+\r
+        /// <summary>\r
+        /// The allow empty property.\r
+        /// </summary>\r
+        public static readonly DependencyProperty AllowEmptyProperty = DependencyProperty.Register(\r
+            "AllowEmpty", typeof(bool), typeof(TimeSpanBox), new PropertyMetadata(true, OnAllowEmptyChanged));\r
+\r
+        /// <summary>\r
+        /// The maximum property.\r
+        /// </summary>\r
+        public static readonly DependencyProperty MaximumProperty = DependencyProperty.Register(\r
+            MaximumPropertyName, typeof(int), typeof(TimeSpanBox), new UIPropertyMetadata(int.MaxValue));\r
+\r
+        /// <summary>\r
+        /// The minimum property.\r
+        /// </summary>\r
+        public static readonly DependencyProperty MinimumProperty = DependencyProperty.Register(\r
+            MinimumPropertyName, typeof(int), typeof(TimeSpanBox), new UIPropertyMetadata(int.MinValue));\r
+\r
+        /// <summary>\r
+        /// The modulus property.\r
+        /// </summary>\r
+        public static readonly DependencyProperty ModulusProperty = DependencyProperty.Register(\r
+            ModulusPropertyName, typeof(int), typeof(TimeSpanBox), new UIPropertyMetadata(0));\r
+\r
+        /// <summary>\r
+        /// The number property.\r
+        /// </summary>\r
+        public static readonly DependencyProperty NumberProperty = DependencyProperty.Register(\r
+            "Number", typeof(int), typeof(TimeSpanBox), new PropertyMetadata(OnNumberChanged));\r
+\r
+        /// <summary>\r
+        /// The show time span property.\r
+        /// </summary>\r
+        public static readonly DependencyProperty ShowTimeSpanProperty = DependencyProperty.Register(\r
+            "ShowTimeSpan", typeof(bool), typeof(TimeSpanBox), new PropertyMetadata(OnShowTimeSpanChanged));\r
+\r
+        /// <summary>\r
+        /// The select all threshold.\r
+        /// </summary>\r
+        private static readonly TimeSpan SelectAllThreshold = TimeSpan.FromMilliseconds(500);\r
+\r
+        /// <summary>\r
+        /// The has focus.\r
+        /// </summary>\r
+        private bool hasFocus;\r
+\r
+        /// <summary>\r
+        /// The last focus mouse down.\r
+        /// </summary>\r
+        private DateTime lastFocusMouseDown;\r
+\r
+        /// <summary>\r
+        /// The none caption.\r
+        /// </summary>\r
+        private string noneCaption;\r
+\r
+        /// <summary>\r
+        /// The refire control.\r
+        /// </summary>\r
+        private RefireControl refireControl;\r
+\r
+        /// <summary>\r
+        /// The suppress refresh.\r
+        /// </summary>\r
+        private bool suppressRefresh;\r
+\r
+        #endregion\r
+\r
+        #region Constructors and Destructors\r
+\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="TimeSpanBox"/> class. \r
+        /// </summary>\r
+        public TimeSpanBox()\r
+        {\r
+            this.noneCaption = "(none)";\r
+            this.UpdateBindingOnTextChange = true;\r
+            this.ShowIncrementButtons = true;\r
+            this.SelectAllOnClick = true;\r
+\r
+            this.InitializeComponent();\r
+\r
+            this.RefreshNumberBox();\r
+        }\r
+\r
+        #endregion\r
+\r
+        #region Properties\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether show time span.\r
+        /// </summary>\r
+        public bool ShowTimeSpan\r
+        {\r
+            get\r
+            {\r
+                return (bool)this.GetValue(ShowTimeSpanProperty);\r
+            }\r
+\r
+            set\r
+            {\r
+                this.SetValue(ShowTimeSpanProperty, value);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether allow empty.\r
+        /// </summary>\r
+        public bool AllowEmpty\r
+        {\r
+            get\r
+            {\r
+                return (bool)this.GetValue(AllowEmptyProperty);\r
+            }\r
+\r
+            set\r
+            {\r
+                this.SetValue(AllowEmptyProperty, value);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the maximum.\r
+        /// </summary>\r
+        public int Maximum\r
+        {\r
+            get\r
+            {\r
+                return (int)this.GetValue(MaximumProperty);\r
+            }\r
+            set\r
+            {\r
+                this.SetValue(MaximumProperty, value);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the minimum.\r
+        /// </summary>\r
+        public int Minimum\r
+        {\r
+            get\r
+            {\r
+                return (int)this.GetValue(MinimumProperty);\r
+            }\r
+            set\r
+            {\r
+                this.SetValue(MinimumProperty, value);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the modulus.\r
+        /// </summary>\r
+        public int Modulus\r
+        {\r
+            get\r
+            {\r
+                return (int)this.GetValue(ModulusProperty);\r
+            }\r
+            set\r
+            {\r
+                this.SetValue(ModulusProperty, value);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the none caption.\r
+        /// </summary>\r
+        public string NoneCaption\r
+        {\r
+            get\r
+            {\r
+                return this.noneCaption;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.noneCaption = value;\r
+                this.RefreshNumberBox();\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the number.\r
+        /// </summary>\r
+        public int Number\r
+        {\r
+            get\r
+            {\r
+                return (int)this.GetValue(NumberProperty);\r
+            }\r
+\r
+            set\r
+            {\r
+                this.SetValue(NumberProperty, value);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether select all on click.\r
+        /// </summary>\r
+        public bool SelectAllOnClick { get; set; }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether show increment buttons.\r
+        /// </summary>\r
+        public bool ShowIncrementButtons { get; set; }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether update binding on text change.\r
+        /// </summary>\r
+        public bool UpdateBindingOnTextChange { get; set; }\r
+\r
+        /// <summary>\r
+        /// Gets the increment.\r
+        /// </summary>\r
+        private int Increment\r
+        {\r
+            get\r
+            {\r
+                return this.Modulus > 0 ? this.Modulus : 1;\r
+            }\r
+        }\r
+\r
+        #endregion\r
+\r
+        #region Methods\r
+\r
+        /// <summary>\r
+        /// The on allow empty changed.\r
+        /// </summary>\r
+        /// <param name="dependencyObject">\r
+        /// The dependency object.\r
+        /// </param>\r
+        /// <param name="eventArgs">\r
+        /// The event args.\r
+        /// </param>\r
+        private static void OnAllowEmptyChanged(\r
+            DependencyObject dependencyObject, DependencyPropertyChangedEventArgs eventArgs)\r
+        {\r
+            var numBox = dependencyObject as TimeSpanBox;\r
+            if (numBox != null)\r
+            {\r
+                numBox.RefreshNumberBox();\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The on number changed.\r
+        /// </summary>\r
+        /// <param name="dependencyObject">\r
+        /// The dependency object.\r
+        /// </param>\r
+        /// <param name="eventArgs">\r
+        /// The event args.\r
+        /// </param>\r
+        private static void OnNumberChanged(\r
+            DependencyObject dependencyObject, DependencyPropertyChangedEventArgs eventArgs)\r
+        {\r
+            if (eventArgs.NewValue != eventArgs.OldValue)\r
+            {\r
+                var numBox = dependencyObject as TimeSpanBox;\r
+\r
+                if (!numBox.suppressRefresh)\r
+                {\r
+                    numBox.RefreshNumberBox();\r
+                }\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The on show timespan number changed.\r
+        /// </summary>\r
+        /// <param name="dependencyObject">\r
+        /// The dependency object.\r
+        /// </param>\r
+        /// <param name="eventArgs">\r
+        /// The event args.\r
+        /// </param>\r
+        private static void OnShowTimeSpanChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs eventArgs)\r
+        {\r
+            if (eventArgs.NewValue != eventArgs.OldValue)\r
+            {\r
+                var numBox = dependencyObject as TimeSpanBox;\r
+\r
+                if (!numBox.suppressRefresh)\r
+                {\r
+                    numBox.RefreshNumberBox();\r
+                }\r
+            }\r
+        }     \r
+\r
+        /// <summary>\r
+        /// The decrement number.\r
+        /// </summary>\r
+        private void DecrementNumber()\r
+        {\r
+            int newNumber;\r
+            if (this.AllowEmpty && this.Number == 0)\r
+            {\r
+                newNumber = Math.Min(this.Maximum, -this.Increment);\r
+            }\r
+            else\r
+            {\r
+                newNumber = this.Number - this.Increment;\r
+            }\r
+\r
+            if (newNumber < this.Minimum)\r
+            {\r
+                newNumber = this.Minimum;\r
+            }\r
+\r
+            if (newNumber != this.Number)\r
+            {\r
+                this.Number = newNumber;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The down button mouse left button down.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void DownButtonMouseLeftButtonDown(object sender, MouseButtonEventArgs e)\r
+        {\r
+            this.refireControl = new RefireControl(this.DecrementNumber);\r
+            this.refireControl.Begin();\r
+        }\r
+\r
+        /// <summary>\r
+        /// The down button mouse left button up.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void DownButtonMouseLeftButtonUp(object sender, MouseButtonEventArgs e)\r
+        {\r
+            this.refireControl.Stop();\r
+        }\r
+\r
+        /// <summary>\r
+        /// The get nearest value.\r
+        /// </summary>\r
+        /// <param name="number">\r
+        /// The number.\r
+        /// </param>\r
+        /// <param name="modulus">\r
+        /// The modulus.\r
+        /// </param>\r
+        /// <returns>\r
+        /// The <see cref="double"/>.\r
+        /// </returns>\r
+        private int GetNearestValue(int number, int modulus)\r
+        {\r
+            int remainder = number % modulus;\r
+\r
+            if (remainder == 0)\r
+            {\r
+                return number;\r
+            }\r
+\r
+            return remainder >= (modulus / 2) ? number + (modulus - remainder) : number - remainder;\r
+        }\r
+\r
+        /// <summary>\r
+        /// The increment number.\r
+        /// </summary>\r
+        private void IncrementNumber()\r
+        {\r
+            int newNumber;\r
+            if (this.AllowEmpty && this.Number == 0)\r
+            {\r
+                newNumber = Math.Max(this.Minimum, this.Increment);\r
+            }\r
+            else\r
+            {\r
+                newNumber = this.Number + this.Increment;\r
+            }\r
+\r
+            if (newNumber > this.Maximum)\r
+            {\r
+                newNumber = this.Maximum;\r
+            }\r
+\r
+            if (newNumber != this.Number)\r
+            {\r
+                this.Number = newNumber;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The number box got focus.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void NumberBoxGotFocus(object sender, RoutedEventArgs e)\r
+        {\r
+            this.hasFocus = true;\r
+\r
+            if (this.AllowEmpty)\r
+            {\r
+                if (this.Number == 0)\r
+                {\r
+                    this.numberBox.Text = string.Empty;\r
+                }\r
+\r
+                this.numberBox.Foreground = new SolidColorBrush(Colors.Black);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The number box lost focus.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void NumberBoxLostFocus(object sender, RoutedEventArgs e)\r
+        {\r
+            this.hasFocus = false;\r
+\r
+            if (this.AllowEmpty && this.numberBox.Text == string.Empty)\r
+            {\r
+                this.Number = 0;\r
+                this.RefreshNumberBox();\r
+                return;\r
+            }\r
+\r
+            this.UpdateNumberBindingFromBox();\r
+            this.RefreshNumberBox();\r
+        }\r
+\r
+        /// <summary>\r
+        /// The number box preview key down.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void NumberBoxPreviewKeyDown(object sender, KeyEventArgs e)\r
+        {\r
+            if (e.Key == Key.Space)\r
+            {\r
+                e.Handled = true;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The number box preview mouse down.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void NumberBoxPreviewMouseDown(object sender, MouseButtonEventArgs e)\r
+        {\r
+            if (!this.hasFocus)\r
+            {\r
+                this.lastFocusMouseDown = DateTime.Now;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The number box preview mouse up.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void NumberBoxPreviewMouseUp(object sender, MouseButtonEventArgs e)\r
+        {\r
+            // If this mouse up is soon enough after an initial click on the box, select all.\r
+            if (this.SelectAllOnClick && DateTime.Now - this.lastFocusMouseDown < SelectAllThreshold)\r
+            {\r
+                this.Dispatcher.BeginInvoke(new Action(() => this.numberBox.SelectAll()));\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The number box preview text input.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void NumberBoxPreviewTextInput(object sender, TextCompositionEventArgs e)\r
+        {\r
+            if (e.Text.Any(c => !char.IsNumber(c) && c != '.' && c != ':' && (this.Minimum >= 0 || c != '-')))\r
+            {\r
+                e.Handled = true;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The number box text changed.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void NumberBoxTextChanged(object sender, TextChangedEventArgs e)\r
+        {\r
+            if (this.UpdateBindingOnTextChange)\r
+            {\r
+                if (this.AllowEmpty && this.numberBox.Text == string.Empty)\r
+                {\r
+                    this.Number = 0;\r
+                    return;\r
+                }\r
+\r
+                this.UpdateNumberBindingFromBox();\r
+            }\r
+\r
+            this.RefreshNumberBoxColor();\r
+        }\r
+\r
+        /// <summary>\r
+        /// The number is valid.\r
+        /// </summary>\r
+        /// <param name="number">\r
+        /// The number.\r
+        /// </param>\r
+        /// <returns>\r
+        /// The <see cref="bool"/>.\r
+        /// </returns>\r
+        private bool NumberIsValid(double number)\r
+        {\r
+            return number >= this.Minimum && number <= this.Maximum;\r
+        }\r
+\r
+        /// <summary>\r
+        /// The refresh number box.\r
+        /// </summary>\r
+        private void RefreshNumberBox()\r
+        {\r
+            if (this.AllowEmpty && this.Number == 0)\r
+            {\r
+                this.numberBox.Text = this.hasFocus ? string.Empty : this.NoneCaption;\r
+\r
+                // this.numberBox.Foreground = new SolidColorBrush(Colors.Gray);\r
+            }\r
+            else\r
+            {\r
+                if (this.ShowTimeSpan)\r
+                {\r
+                    this.numberBox.Text = TimeSpan.FromSeconds(this.Number).ToString();\r
+                }\r
+                else\r
+                {\r
+                    this.numberBox.Text = this.Number.ToString(CultureInfo.InvariantCulture);\r
+                }\r
+\r
+                // this.numberBox.Foreground = new SolidColorBrush(Colors.Black);\r
+            }\r
+\r
+            this.RefreshNumberBoxColor();\r
+        }\r
+\r
+        /// <summary>\r
+        /// The refresh number box color.\r
+        /// </summary>\r
+        private void RefreshNumberBoxColor()\r
+        {\r
+            this.numberBox.Foreground = this.numberBox.Text == this.NoneCaption ? new SolidColorBrush(Colors.Gray) : new SolidColorBrush(Colors.Black);\r
+        }\r
+\r
+        /// <summary>\r
+        /// The up button mouse left button down.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void UpButtonMouseLeftButtonDown(object sender, MouseButtonEventArgs e)\r
+        {\r
+            this.refireControl = new RefireControl(this.IncrementNumber);\r
+            this.refireControl.Begin();\r
+        }\r
+\r
+        /// <summary>\r
+        /// The up button mouse left button up.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void UpButtonMouseLeftButtonUp(object sender, MouseButtonEventArgs e)\r
+        {\r
+            this.refireControl.Stop();\r
+        }\r
+\r
+        /// <summary>\r
+        /// The update number binding from box.\r
+        /// </summary>\r
+        private void UpdateNumberBindingFromBox()\r
+        {\r
+            int newNumber;\r
+            TimeSpan newTimespanNumber;\r
+            if (int.TryParse(this.numberBox.Text, out newNumber))\r
+            {\r
+                if (this.NumberIsValid(newNumber))\r
+                {\r
+                    if (this.Modulus != 0)\r
+                    {\r
+                        newNumber = this.GetNearestValue(newNumber, this.Modulus);\r
+                    }\r
+\r
+                    if (newNumber != this.Number)\r
+                    {\r
+                        // While updating the binding we don't need to react to the change.\r
+                        this.suppressRefresh = true;\r
+                        this.Number = newNumber;\r
+                        this.suppressRefresh = false;\r
+                    }\r
+                }\r
+            } \r
+            else if (TimeSpan.TryParse(this.numberBox.Text, out newTimespanNumber))\r
+            {\r
+                if (newTimespanNumber != TimeSpan.Zero)\r
+                {\r
+                    int seconds = (int)Math.Round(newTimespanNumber.TotalSeconds, 0);\r
+                    if (seconds != this.Number)\r
+                    {\r
+                        // While updating the binding we don't need to react to the change.\r
+                        this.suppressRefresh = true;\r
+                        this.Number = seconds;\r
+                        this.suppressRefresh = false;\r
+                    }\r
+                }\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The user control_ loaded.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void UserControl_Loaded(object sender, RoutedEventArgs e)\r
+        {\r
+            if (!this.ShowIncrementButtons)\r
+            {\r
+                this.incrementButtonsGrid.Visibility = Visibility.Collapsed;\r
+            }\r
+        }\r
+\r
+        #endregion\r
+    }\r
+}
\ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Converters/InverseBooleanConverter.cs b/win/CS/HandBrakeWPF/Converters/InverseBooleanConverter.cs
new file mode 100644 (file)
index 0000000..f44e18a
--- /dev/null
@@ -0,0 +1,81 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="InverseBooleanConverter.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The inverse boolean converter.\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.Converters\r
+{\r
+    using System;\r
+    using System.Globalization;\r
+    using System.Windows.Data;\r
+\r
+    /// <summary>\r
+    /// The inverse boolean converter.\r
+    /// </summary>\r
+    [ValueConversion(typeof(bool), typeof(bool))]\r
+    public class InverseBooleanConverter : IValueConverter\r
+    {\r
+        #region Implemented Interfaces\r
+\r
+        #region IValueConverter\r
+\r
+        /// <summary>\r
+        /// The convert.\r
+        /// </summary>\r
+        /// <param name="value">\r
+        /// The value.\r
+        /// </param>\r
+        /// <param name="targetType">\r
+        /// The target type.\r
+        /// </param>\r
+        /// <param name="parameter">\r
+        /// The parameter.\r
+        /// </param>\r
+        /// <param name="culture">\r
+        /// The culture.\r
+        /// </param>\r
+        /// <returns>\r
+        /// The <see cref="object"/>.\r
+        /// </returns>\r
+        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\r
+        {\r
+            if (targetType != typeof(bool))\r
+            {\r
+                throw new InvalidOperationException("The target must be a boolean");\r
+            }\r
+\r
+            return !(bool)value;\r
+        }\r
+\r
+        /// <summary>\r
+        /// The convert back.\r
+        /// </summary>\r
+        /// <param name="value">\r
+        /// The value.\r
+        /// </param>\r
+        /// <param name="targetType">\r
+        /// The target type.\r
+        /// </param>\r
+        /// <param name="parameter">\r
+        /// The parameter.\r
+        /// </param>\r
+        /// <param name="culture">\r
+        /// The culture.\r
+        /// </param>\r
+        /// <returns>\r
+        /// The <see cref="object"/>.\r
+        /// </returns>\r
+        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)\r
+        {\r
+            throw new NotSupportedException();\r
+        }\r
+\r
+        #endregion\r
+\r
+        #endregion\r
+    }\r
+}
\ No newline at end of file
index e11f8e8f98d0ac3140748518a602d61ffdbd0a5c..c2214eee404b750d1adc0a0512e87a5d077cf74e 100644 (file)
     <Compile Include="Commands\ProcessShortcutCommand.cs" />\r
     <Compile Include="Commands\SourceMenuCommand.cs" />\r
     <Compile Include="Commands\AdvancedEncoderOptionsCommand.cs" />\r
+    <Compile Include="Controls\TimeSpanBox.xaml.cs">\r
+      <DependentUpon>TimeSpanBox.xaml</DependentUpon>\r
+    </Compile>\r
     <Compile Include="Controls\Loading.xaml.cs">\r
       <DependentUpon>Loading.xaml</DependentUpon>\r
     </Compile>\r
     <Compile Include="Converters\Audio\AudioEncoderConverter.cs" />\r
     <Compile Include="Converters\Audio\AudioQueueDisplayConverter.cs" />\r
     <Compile Include="Converters\BooleanToHiddenVisibilityConverter.cs" />\r
+    <Compile Include="Converters\InverseBooleanConverter.cs" />\r
     <Compile Include="Converters\Options\OptionsTabConverter.cs" />\r
     <Compile Include="Converters\Options\OptionsTabNameConverter.cs" />\r
     <Compile Include="Converters\Subtitles\SubtitlesQueueDisplayConverter.cs" />\r
     <Compile Include="Helpers\GrayscaleImage.cs" />\r
     <Compile Include="Helpers\GrowlCommunicator.cs" />\r
     <Compile Include="Model\OptionsTab.cs" />\r
+    <Compile Include="Model\SelectionTitle.cs" />\r
     <Compile Include="Services\DriveDetectService.cs" />\r
     <Compile Include="Services\EncodeServiceWrapper.cs" />\r
     <Compile Include="Services\Interfaces\IDriveDetectService.cs" />\r
     <Compile Include="Services\NotificationService.cs" />\r
     <Compile Include="Services\ScanServiceWrapper.cs" />\r
     <Compile Include="Services\UpdateService.cs" />\r
+    <Compile Include="ViewModels\Interfaces\IQueueSelectionViewModel.cs" />\r
+    <Compile Include="ViewModels\QueueSelectionViewModel.cs" />\r
+    <Compile Include="Views\QueueSelectionView.xaml.cs">\r
+      <DependentUpon>QueueSelectionView.xaml</DependentUpon>\r
+    </Compile>\r
     <Compile Include="Views\ShellView.xaml.cs">\r
       <DependentUpon>ShellView.xaml</DependentUpon>\r
     </Compile>\r
     <AppDesigner Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <Page Include="Controls\TimeSpanBox.xaml">\r
+      <Generator>MSBuild:Compile</Generator>\r
+      <SubType>Designer</SubType>\r
+    </Page>\r
     <Page Include="Controls\Loading.xaml">\r
       <SubType>Designer</SubType>\r
       <Generator>MSBuild:Compile</Generator>\r
       <SubType>Designer</SubType>\r
       <Generator>MSBuild:Compile</Generator>\r
     </Page>\r
+    <Page Include="Views\QueueSelectionView.xaml">\r
+      <Generator>MSBuild:Compile</Generator>\r
+      <SubType>Designer</SubType>\r
+    </Page>\r
     <Page Include="Views\ShellView.xaml">\r
       <SubType>Designer</SubType>\r
       <Generator>MSBuild:Compile</Generator>\r
diff --git a/win/CS/HandBrakeWPF/Model/SelectionTitle.cs b/win/CS/HandBrakeWPF/Model/SelectionTitle.cs
new file mode 100644 (file)
index 0000000..63ad477
--- /dev/null
@@ -0,0 +1,88 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="SelectionTitle.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   TODO: Update summary.\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.Model\r
+{\r
+    using Caliburn.Micro;\r
+\r
+    using HandBrake.ApplicationServices.Parsing;\r
+\r
+    /// <summary>\r
+    /// A model for the multiple selection window for adding to the queue.\r
+    /// </summary>\r
+    public class SelectionTitle : PropertyChangedBase\r
+    {\r
+        /// <summary>\r
+        /// The source name.\r
+        /// </summary>\r
+        private readonly string sourceName;\r
+\r
+        /// <summary>\r
+        /// The is selected.\r
+        /// </summary>\r
+        private bool isSelected;\r
+\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="SelectionTitle"/> class.\r
+        /// </summary>\r
+        /// <param name="title">\r
+        /// The title.\r
+        /// </param>\r
+        /// <param name="sourceName">\r
+        /// The source Name.\r
+        /// </param>\r
+        public SelectionTitle(Title title, string sourceName)\r
+        {\r
+            this.sourceName = sourceName;\r
+            this.Title = title;\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets the source name.\r
+        /// </summary>\r
+        public string SourceName\r
+        {\r
+            get\r
+            {\r
+                return !string.IsNullOrEmpty(Title.SourceName) ? Title.SourceName : sourceName;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the end point.\r
+        /// </summary>\r
+        public int EndPoint { get; set; }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether is selected.\r
+        /// </summary>\r
+        public bool IsSelected\r
+        {\r
+            get\r
+            {\r
+                return this.isSelected;\r
+            }\r
+            set\r
+            {\r
+                this.isSelected = value;\r
+                this.NotifyOfPropertyChange(() => this.IsSelected);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the start point.\r
+        /// </summary>\r
+        public int StartPoint { get; set; }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the title.\r
+        /// </summary>\r
+        public Title Title { get; set; }\r
+    }\r
+}
\ No newline at end of file
index 5adc3801106efac1e70f8d2ad96fb9bb56ca4304..e2ccbcbda309092b16a57d872e6b80250d62474f 100644 (file)
@@ -216,7 +216,7 @@ namespace HandBrakeWPF.Properties {
         \r
         /// <summary>\r
         ///   Looks up a localized string similar to This is the distance x264 searches from its best guess at the motion of a block in order to try to find its actual motion.  \r
-        ///Doesn&apos;t apply to Diamond or Hexagon search options.  \r
+        ///\r
         ///The default is fine for most content, but extremely high motion video, especially at HD resolutions, may benefit from higher ranges, albeit at a high speed cost..\r
         /// </summary>\r
         public static string Advanced_MotionEstimationRangeToolTip {\r
@@ -236,6 +236,19 @@ namespace HandBrakeWPF.Properties {
             }\r
         }\r
         \r
+        /// <summary>\r
+        ///   Looks up a localized string similar to The x264 Preset / Tune / Profile and Level options are currently in use on the Video Tab. \r
+        ///\r
+        ///To enable this tab, check the &quot;Use Advanced Tab instead&quot; option on the Video Tab.\r
+        ///\r
+        ///If you do not use this tab, it can be hidden from: Tools Menu &gt; Options &gt; Advanced..\r
+        /// </summary>\r
+        public static string Advanced_NotInUse {\r
+            get {\r
+                return ResourceManager.GetString("Advanced_NotInUse", resourceCulture);\r
+            }\r
+        }\r
+        \r
         /// <summary>\r
         ///   Looks up a localized string similar to Psychovisual Rate Distortion means x264 tries to retain detail, for better quality to the human eye, \r
         ///as opposed to trying to maximize quality the way a computer understands it, through signal-to-noise ratios that have trouble telling apart fine detail and noise..\r
index 6148d29c600edeb2080c4345c162189a2164a2de..b39ace5a5405b02212221c56bb39b023df4f6e59 100644 (file)
@@ -178,7 +178,7 @@ Transformed Exhaustive: Like exhaustive, but makes even more accurate decisions.
   </data>\r
   <data name="Advanced_MotionEstimationRangeToolTip" xml:space="preserve">\r
     <value>This is the distance x264 searches from its best guess at the motion of a block in order to try to find its actual motion.  \r
-Doesn't apply to Diamond or Hexagon search options.  \r
+\r
 The default is fine for most content, but extremely high motion video, especially at HD resolutions, may benefit from higher ranges, albeit at a high speed cost.</value>\r
   </data>\r
   <data name="Advanced_NoDctDecimateToolTip" xml:space="preserve">\r
@@ -321,4 +321,11 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software\r
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.</value>\r
   </data>\r
+  <data name="Advanced_NotInUse" xml:space="preserve">\r
+    <value>The x264 Preset / Tune / Profile and Level options are currently in use on the Video Tab. \r
+\r
+To enable this tab, check the "Use Advanced Tab instead" option on the Video Tab.\r
+\r
+If you do not use this tab, it can be hidden from: Tools Menu &gt; Options &gt; Advanced.</value>\r
+  </data>\r
 </root>
\ No newline at end of file
index 5b06c97ba8893aab5b918413a3419071200ae3c2..97930ba4d1e38c2da162b9d164e07fcbddd82ed2 100644 (file)
@@ -78,6 +78,8 @@ namespace HandBrakeWPF.Startup
             this.windsorContainer.Register(Component.For<IOptionsViewModel>().ImplementedBy<OptionsViewModel>().LifeStyle.Is(LifestyleType.Singleton));\r
             this.windsorContainer.Register(Component.For<IUpdateVersionService>().ImplementedBy<UpdateVersionService>().LifeStyle.Is(LifestyleType.Singleton));\r
             this.windsorContainer.Register(Component.For<ITitleSpecificViewModel>().ImplementedBy<TitleSpecificViewModel>().LifeStyle.Is(LifestyleType.Singleton));\r
+            this.windsorContainer.Register(Component.For<IQueueSelectionViewModel>().ImplementedBy<QueueSelectionViewModel>().LifeStyle.Is(LifestyleType.Singleton));\r
+            \r
 \r
             // Tab Components\r
             this.windsorContainer.Register(Component.For<IAudioViewModel>().ImplementedBy<AudioViewModel>().LifeStyle.Is(LifestyleType.Singleton));\r
index 01fcea409df865422594227aabc601af78aa461f..f0414ef6bad1c15e7dddbe9150a348d73746ab11 100644 (file)
@@ -216,6 +216,11 @@ namespace HandBrakeWPF
         /// </summary>\r
         public const string ShowAdvancedTab = "ShowAdvancedTab";\r
 \r
+        /// <summary>\r
+        /// The last preview duration\r
+        /// </summary>\r
+        public const string LastPreviewDuration = "LastPreviewDuration";\r
+\r
         #endregion\r
     }\r
 }
\ No newline at end of file
index 741f31876778bf325fd3ec456d37f718a4585bcf..1c0f9de67103930cdd257432d352817a2d90c764 100644 (file)
@@ -172,6 +172,9 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Initializes a new instance of the <see cref="AdvancedViewModel"/> class.\r
         /// </summary>\r
+        /// <param name="advancedEncoderOptionsCommand">\r
+        /// The advanced Encoder Options Command.\r
+        /// </param>\r
         public AdvancedViewModel(IAdvancedEncoderOptionsCommand advancedEncoderOptionsCommand)\r
         {\r
             this.advancedEncoderOptionsCommand = advancedEncoderOptionsCommand;\r
@@ -179,10 +182,33 @@ namespace HandBrakeWPF.ViewModels
             this.UpdateUIFromAdvancedOptions();\r
         }\r
 \r
+        /// <summary>\r
+        /// The task object property changed.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The PropertyChangedEventArgs.\r
+        /// </param>\r
+        private void Task_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)\r
+        {\r
+            if (e.PropertyName == UserSettingConstants.ShowAdvancedTab)\r
+            {\r
+                ShowX264AdvancedOptions = this.Task.ShowAdvancedTab;\r
+                this.NotifyOfPropertyChange(() => ShowX264AdvancedOptions);\r
+            }\r
+        }\r
+\r
         #endregion\r
 \r
         #region Properties\r
 \r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether show x 264 advanced options.\r
+        /// </summary>\r
+        public bool ShowX264AdvancedOptions { get; set; }\r
+\r
         /// <summary>\r
         /// Gets or sets a value indicating whether DisplayX264Options.\r
         /// </summary>\r
@@ -195,7 +221,19 @@ namespace HandBrakeWPF.ViewModels
             set\r
             {\r
                 this.displayX264Options = value;\r
+\r
+                if (this.displayX264Options == false)\r
+                {\r
+                    this.ShowX264AdvancedOptions = false;\r
+                }\r
+\r
+                if (this.displayX264Options == true && this.Task.ShowAdvancedTab)\r
+                {\r
+                    this.ShowX264AdvancedOptions = true;\r
+                }\r
+\r
                 this.NotifyOfPropertyChange(() => this.DisplayX264Options);\r
+                this.NotifyOfPropertyChange(() => this.ShowX264AdvancedOptions);\r
             }\r
         }\r
 \r
@@ -959,7 +997,9 @@ namespace HandBrakeWPF.ViewModels
         /// </param>\r
         public void SetPreset(Preset preset, EncodeTask task)\r
         {\r
+            this.Task.PropertyChanged -= this.Task_PropertyChanged;\r
             this.Task = task;\r
+            this.Task.PropertyChanged += this.Task_PropertyChanged;\r
             this.AdvancedOptionsString = preset.Task.AdvancedEncoderOptions;\r
         }\r
 \r
index 69a8a5d053a287ff5515c2020c420f27aca76a67..4276b97a41906c12417786b3d92749d106507c51 100644 (file)
@@ -274,7 +274,7 @@ namespace HandBrakeWPF.ViewModels
             foreach (Chapter chapter in this.SourceChapterList)\r
             {\r
                 string chapterName = string.IsNullOrEmpty(chapter.ChapterName) ? string.Format("Chapter {0}", counter) : chapter.ChapterName;\r
-                var marker = new ChapterMarker(chapter.ChapterNumber, chapterName);\r
+                var marker = new ChapterMarker(chapter.ChapterNumber, chapterName, chapter.Duration);\r
                 this.Task.ChapterNames.Add(marker);\r
 \r
                 counter += 1;\r
diff --git a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IQueueSelectionViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IQueueSelectionViewModel.cs
new file mode 100644 (file)
index 0000000..36a6484
--- /dev/null
@@ -0,0 +1,40 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="IQueueSelectionViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The Queue Selection View Model Interface\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.ViewModels.Interfaces\r
+{\r
+    using System.Collections.Generic;\r
+    using System.ComponentModel;\r
+\r
+    using HandBrake.ApplicationServices.Parsing;\r
+\r
+    using HandBrakeWPF.Model;\r
+\r
+    /// <summary>\r
+    /// The Add Preset View Model\r
+    /// </summary>\r
+    public interface IQueueSelectionViewModel\r
+    {\r
+        /// <summary>\r
+        /// Gets the selected titles.\r
+        /// </summary>\r
+        BindingList<SelectionTitle> TitleList { get; }\r
+\r
+        /// <summary>\r
+        /// The setup.\r
+        /// </summary>\r
+        /// <param name="scannedSource">\r
+        /// The scanned source.\r
+        /// </param>\r
+        /// <param name="sourceName">\r
+        /// The source Name.\r
+        /// </param>\r
+        void Setup(Source scannedSource, string sourceName);\r
+    }\r
+}\r
index ad09f3043616d24c8e84c33ac4acac796a819a3a..fe52f88cecd780cbf8747d5ca570de4e3117e95c 100644 (file)
@@ -221,6 +221,7 @@ namespace HandBrakeWPF.ViewModels
             // Setup Properties\r
             this.WindowTitle = "HandBrake";\r
             this.CurrentTask = new EncodeTask();\r
+            this.CurrentTask.PropertyChanged += this.CurrentTask_PropertyChanged;\r
             this.ScannedSource = new Source();\r
 \r
             // Setup Events\r
@@ -231,6 +232,7 @@ namespace HandBrakeWPF.ViewModels
             this.queueProcessor.QueueCompleted += this.QueueCompleted;\r
             this.queueProcessor.QueueChanged += this.QueueChanged;\r
             this.queueProcessor.EncodeService.EncodeStatusChanged += this.EncodeStatusChanged;\r
+            this.userSettingService.SettingChanged += this.UserSettingServiceSettingChanged;\r
 \r
             this.Presets = this.presetService.Presets;\r
             this.CancelScanCommand = new CancelScanCommand(this.scanService);\r
@@ -448,6 +450,12 @@ namespace HandBrakeWPF.ViewModels
         {\r
             get\r
             {\r
+                // Sanity Check\r
+                if (ScannedSource == null || ScannedSource.ScanPath == null)\r
+                {\r
+                    return string.Empty;\r
+                }\r
+\r
                 // The title that is selected has a source name. This means it's part of a batch scan.\r
                 if (selectedTitle != null && !string.IsNullOrEmpty(selectedTitle.SourceName))\r
                 {\r
@@ -597,7 +605,7 @@ namespace HandBrakeWPF.ViewModels
             set\r
             {\r
                 this.isMkv = value;\r
-                this.NotifyOfPropertyChange("IsMkv");\r
+                this.NotifyOfPropertyChange(() => this.IsMkv);\r
             }\r
         }\r
   \r
@@ -737,6 +745,7 @@ namespace HandBrakeWPF.ViewModels
             {\r
                 return this.CurrentTask.StartPoint;\r
             }\r
+\r
             set\r
             {\r
                 this.CurrentTask.Angle = value;\r
@@ -744,6 +753,11 @@ namespace HandBrakeWPF.ViewModels
             }\r
         }\r
 \r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether is timespan range.\r
+        /// </summary>\r
+        public bool IsTimespanRange { get; set; }\r
+\r
         /// <summary>\r
         /// Gets or sets SelectedStartPoint.\r
         /// </summary>\r
@@ -759,7 +773,7 @@ namespace HandBrakeWPF.ViewModels
                 this.NotifyOfPropertyChange(() => this.SelectedStartPoint);\r
                 this.Duration = this.DurationCalculation();\r
 \r
-                if (this.UserSettingService.GetUserSetting<bool>(UserSettingConstants.AutoNaming))\r
+                if (this.UserSettingService.GetUserSetting<bool>(UserSettingConstants.AutoNaming) && this.ScannedSource.ScanPath != null)\r
                 {\r
                     this.Destination = AutoNameHelper.AutoName(this.CurrentTask, this.SourceName);\r
                 }\r
@@ -781,7 +795,7 @@ namespace HandBrakeWPF.ViewModels
                 this.NotifyOfPropertyChange(() => this.SelectedEndPoint);\r
                 this.Duration = this.DurationCalculation();\r
 \r
-                if (this.UserSettingService.GetUserSetting<bool>(UserSettingConstants.AutoNaming))\r
+                if (this.UserSettingService.GetUserSetting<bool>(UserSettingConstants.AutoNaming) && this.ScannedSource.ScanPath != null)\r
                 {\r
                     this.Destination = AutoNameHelper.AutoName(this.CurrentTask, this.SourceName);\r
                 }\r
@@ -805,21 +819,41 @@ namespace HandBrakeWPF.ViewModels
 \r
                 if (value == PointToPointMode.Chapters && this.SelectedTitle != null)\r
                 {\r
+                    if (this.selectedTitle == null)\r
+                    {\r
+                        return;\r
+                    }\r
+\r
+\r
                     this.SelectedStartPoint = 1;\r
                     this.SelectedEndPoint = selectedTitle.Chapters.Last().ChapterNumber;\r
                 } \r
                 else if (value == PointToPointMode.Seconds)\r
                 {\r
+                    if (this.selectedTitle == null)\r
+                    {\r
+                        return;\r
+                    }\r
+\r
+\r
                     this.SelectedStartPoint = 0;\r
 \r
                     int timeInSeconds;\r
                     if (int.TryParse(selectedTitle.Duration.TotalSeconds.ToString(CultureInfo.InvariantCulture), out timeInSeconds))\r
                     {\r
                         this.SelectedEndPoint = timeInSeconds;\r
-                    }    \r
+                    }\r
+\r
+                    this.IsTimespanRange = true;\r
+                    this.NotifyOfPropertyChange(() => this.IsTimespanRange);\r
                 }\r
                 else\r
                 {\r
+                    if (this.selectedTitle == null)\r
+                    {\r
+                        return;\r
+                    }\r
+\r
                     // Note this does not account for VFR. It's only a guesstimate. \r
                     double estimatedTotalFrames = selectedTitle.Fps * selectedTitle.Duration.TotalSeconds;\r
 \r
@@ -829,6 +863,9 @@ namespace HandBrakeWPF.ViewModels
                     {\r
                         this.SelectedEndPoint = totalFrames;\r
                     }\r
+\r
+                    this.IsTimespanRange = false;\r
+                    this.NotifyOfPropertyChange(() => this.IsTimespanRange);\r
                 }\r
             }\r
         }\r
@@ -927,6 +964,7 @@ namespace HandBrakeWPF.ViewModels
             this.queueProcessor.QueueChanged -= this.QueueChanged;\r
             this.queueProcessor.JobProcessingStarted -= this.QueueProcessorJobProcessingStarted;\r
             this.queueProcessor.EncodeService.EncodeStatusChanged -= this.EncodeStatusChanged;\r
+            this.userSettingService.SettingChanged -= this.UserSettingServiceSettingChanged;\r
         }\r
 \r
         #endregion\r
@@ -1072,6 +1110,38 @@ namespace HandBrakeWPF.ViewModels
             }\r
         }\r
 \r
+        /// <summary>\r
+        /// The add selection to queue.\r
+        /// </summary>\r
+        public void AddSelectionToQueue()\r
+        {\r
+            if (this.ScannedSource == null || this.ScannedSource.Titles == null || this.ScannedSource.Titles.Count == 0)\r
+            {\r
+                this.errorService.ShowMessageBox("You must first scan a source and setup your job before adding to the queue.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);\r
+                return;\r
+            }\r
+\r
+            if (!AutoNameHelper.IsAutonamingEnabled())\r
+            {\r
+                this.errorService.ShowMessageBox("You must turn on automatic file naming in preferences before you can add to the queue.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);\r
+                return;\r
+            }\r
+\r
+            Window window = Application.Current.Windows.Cast<Window>().FirstOrDefault(x => x.GetType() == typeof(QueueSelectionViewModel));\r
+            IQueueSelectionViewModel viewModel = IoC.Get<IQueueSelectionViewModel>();\r
+\r
+            viewModel.Setup(this.ScannedSource, this.SourceName);\r
+\r
+            if (window != null)\r
+            {\r
+                window.Activate();\r
+            }\r
+            else\r
+            {\r
+                this.WindowManager.ShowWindow(viewModel);\r
+            }\r
+        }\r
+\r
         /// <summary>\r
         /// Folder Scan\r
         /// </summary>\r
@@ -1521,15 +1591,20 @@ namespace HandBrakeWPF.ViewModels
                     this.NotifyOfPropertyChange(() => this.ScannedSource.Titles);\r
 \r
                     // Select the Users Title\r
-                    this.CurrentTask = new EncodeTask(queueEditTask);\r
-                    this.NotifyOfPropertyChange(() => this.CurrentTask);\r
                     this.SelectedTitle = this.ScannedSource.Titles.FirstOrDefault(t => t.TitleNumber == this.CurrentTask.Title);\r
-\r
-                    // Update the Main UI control Area (TODO)\r
                     this.CurrentTask = new EncodeTask(queueEditTask);\r
                     this.NotifyOfPropertyChange(() => this.CurrentTask);\r
 \r
-                    // Update the Tab Controls (TODO)\r
+                    // Update the Main Window\r
+                    this.NotifyOfPropertyChange(() => this.Destination);\r
+                    this.NotifyOfPropertyChange(() => this.SelectedStartPoint);\r
+                    this.NotifyOfPropertyChange(() => this.SelectedEndPoint);\r
+                    this.NotifyOfPropertyChange(() => this.SelectedAngle);\r
+                    this.NotifyOfPropertyChange(() => this.SelectedPointToPoint);\r
+                    this.NotifyOfPropertyChange(() => this.SelectedOutputFormat);\r
+                    this.NotifyOfPropertyChange(() => IsMkv);\r
+\r
+                    // Update the Tab Controls\r
                     this.PictureSettingsViewModel.UpdateTask(this.CurrentTask);\r
                     this.VideoViewModel.UpdateTask(this.CurrentTask);\r
                     this.FiltersViewModel.UpdateTask(this.CurrentTask);\r
@@ -1538,8 +1613,23 @@ namespace HandBrakeWPF.ViewModels
                     this.ChaptersViewModel.UpdateTask(this.CurrentTask);\r
                     this.AdvancedViewModel.UpdateTask(this.CurrentTask);\r
 \r
+                    // Tell the Preivew Window\r
+                    IPreviewViewModel viewModel = IoC.Get<IPreviewViewModel>();\r
+                    viewModel.Task = this.CurrentTask;\r
+\r
                     // Cleanup\r
                     this.ShowStatusWindow = false;\r
+\r
+                    if (this.SelectedTitle != null && !string.IsNullOrEmpty(this.SelectedTitle.SourceName))\r
+                    {\r
+                        this.SourceLabel = this.SelectedTitle.SourceName;\r
+                    }\r
+                    else\r
+                    {\r
+                        this.SourceLabel = this.SourceName;\r
+                    }\r
+\r
+                    this.StatusLabel = "Scan Completed";\r
                 });\r
         }\r
 \r
@@ -1648,6 +1738,7 @@ namespace HandBrakeWPF.ViewModels
                 this.ProgramStatusLabel = "A New Update is Available. Goto Tools Menu > Options to Install";\r
             }\r
         }\r
+\r
         #endregion\r
 \r
         #region Event Handlers\r
@@ -1921,6 +2012,41 @@ namespace HandBrakeWPF.ViewModels
             Caliburn.Micro.Execute.OnUIThread(() => this.SourceMenu = this.GenerateSourceMenu());\r
         }\r
 \r
+        /// <summary>\r
+        /// Allows the main window to respond to setting changes.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void UserSettingServiceSettingChanged(object sender, HandBrake.ApplicationServices.EventArgs.SettingChangedEventArgs e)\r
+        {\r
+            if (e.Key == UserSettingConstants.ShowAdvancedTab)\r
+            {\r
+                this.NotifyOfPropertyChange(() => this.ShowAdvancedTab);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Handle the property changed event of the encode task. \r
+        /// Allows the main window to respond to changes.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void CurrentTask_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)\r
+        {\r
+           if (e.PropertyName == UserSettingConstants.ShowAdvancedTab)\r
+           {\r
+               this.NotifyOfPropertyChange(() => this.ShowAdvancedTab);\r
+           }\r
+        }\r
+\r
         #endregion\r
     }\r
 }
\ No newline at end of file
index d917c20c8d1e362e9700ad499c0384a073a138c3..7ebb886196218c6491f56bcc3f20b9ed333f1ad1 100644 (file)
@@ -95,6 +95,7 @@ namespace HandBrakeWPF.ViewModels
             this.Duration = 30;\r
 \r
             UseSystemDefaultPlayer = userSettingService.GetUserSetting<bool>(UserSettingConstants.DefaultPlayer);\r
+            this.Duration = userSettingService.GetUserSetting<int>(UserSettingConstants.LastPreviewDuration);\r
         }\r
 \r
         #endregion\r
@@ -113,7 +114,7 @@ namespace HandBrakeWPF.ViewModels
         {\r
             get\r
             {\r
-                return new List<int> { 10, 30, 45, 60, 75, 90, 105, 120 };\r
+                return new List<int> { 5, 10, 30, 45, 60, 75, 90, 105, 120 };\r
             }\r
         }\r
 \r
@@ -381,6 +382,7 @@ namespace HandBrakeWPF.ViewModels
             this.encodeService.EncodeStatusChanged += this.encodeService_EncodeStatusChanged;\r
 \r
             this.encodeService.Start((QueueTask)state, false);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.LastPreviewDuration, this.Duration);\r
         }\r
         #endregion\r
 \r
diff --git a/win/CS/HandBrakeWPF/ViewModels/QueueSelectionViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/QueueSelectionViewModel.cs
new file mode 100644 (file)
index 0000000..c5b6072
--- /dev/null
@@ -0,0 +1,198 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="QueueSelectionViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The Queue Selection View Model\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.ViewModels\r
+{\r
+    using System;\r
+    using System.Collections.Generic;\r
+    using System.ComponentModel;\r
+    using System.Linq;\r
+\r
+    using HandBrake.ApplicationServices.Parsing;\r
+\r
+    using HandBrakeWPF.Model;\r
+    using HandBrakeWPF.Services.Interfaces;\r
+    using HandBrakeWPF.ViewModels.Interfaces;\r
+\r
+    /// <summary>\r
+    /// The Queue Selection View Model\r
+    /// </summary>\r
+    public class QueueSelectionViewModel : ViewModelBase, IQueueSelectionViewModel\r
+    {\r
+        /// <summary>\r
+        /// The error service.\r
+        /// </summary>\r
+        private readonly IErrorService errorService;\r
+\r
+        /// <summary>\r
+        /// The ordered by duration.\r
+        /// </summary>\r
+        private bool orderedByDuration;\r
+\r
+        /// <summary>\r
+        /// The ordered by title.\r
+        /// </summary>\r
+        private bool orderedByTitle;\r
+\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="QueueSelectionViewModel"/> class. \r
+        /// </summary>\r
+        /// <param name="errorService">\r
+        /// The Error Service\r
+        /// </param>\r
+        public QueueSelectionViewModel(IErrorService errorService)\r
+        {\r
+            this.errorService = errorService;\r
+            this.Title = "Add to Queue";\r
+            this.TitleList = new BindingList<SelectionTitle>();\r
+            this.OrderedByTitle = true;\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the source.\r
+        /// </summary>\r
+        public string Source { get; set; }\r
+\r
+        /// <summary>\r
+        /// Gets or sets the selected titles.\r
+        /// </summary>\r
+        public BindingList<SelectionTitle> TitleList { get; set; }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether ordered by title.\r
+        /// </summary>\r
+        public bool OrderedByTitle\r
+        {\r
+            get\r
+            {\r
+                return this.orderedByTitle;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.orderedByTitle = value;\r
+                this.NotifyOfPropertyChange(() => OrderedByTitle);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether ordered by duration.\r
+        /// </summary>\r
+        public bool OrderedByDuration\r
+        {\r
+            get\r
+            {\r
+                return this.orderedByDuration;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.orderedByDuration = value;\r
+                this.NotifyOfPropertyChange(() => OrderedByDuration);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The order by title.\r
+        /// </summary>\r
+        public void OrderByTitle()\r
+        {\r
+            TitleList = new BindingList<SelectionTitle>(TitleList.OrderBy(o => o.Title.TitleNumber).ToList());\r
+            this.NotifyOfPropertyChange(() => TitleList);\r
+            this.OrderedByTitle = true;\r
+            this.OrderedByDuration = false;\r
+        }\r
+\r
+        /// <summary>\r
+        /// The order by duration.\r
+        /// </summary>\r
+        public void OrderByDuration()\r
+        {\r
+            TitleList = new BindingList<SelectionTitle>(TitleList.OrderByDescending(o => o.Title.Duration).ToList());\r
+            this.NotifyOfPropertyChange(() => TitleList);\r
+            this.OrderedByTitle = false;\r
+            this.OrderedByDuration = true;\r
+        }\r
+\r
+        /// <summary>\r
+        /// The select all.\r
+        /// </summary>\r
+        public void SelectAll()\r
+        {\r
+            foreach (var item in TitleList)\r
+            {\r
+                item.IsSelected = true;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// The select all.\r
+        /// </summary>\r
+        public void UnSelectAll()\r
+        {\r
+            foreach (var item in TitleList)\r
+            {\r
+                item.IsSelected = false;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Add a Preset\r
+        /// </summary>\r
+        public void Add()\r
+        {\r
+            this.Close();\r
+        }\r
+\r
+        /// <summary>\r
+        /// Cancel adding a preset\r
+        /// </summary>\r
+        public void Cancel()\r
+        {\r
+            this.TitleList.Clear();\r
+            this.Close();\r
+        }\r
+\r
+        /// <summary>\r
+        /// Close this window.\r
+        /// </summary>\r
+        public void Close()\r
+        {\r
+            this.TryClose();\r
+        }\r
+\r
+        /// <summary>\r
+        /// The setup.\r
+        /// </summary>\r
+        /// <param name="scannedSource">\r
+        /// The scanned source.\r
+        /// </param>\r
+        /// <param name="srcName">\r
+        /// The src Name.\r
+        /// </param>\r
+        public void Setup(Source scannedSource, string srcName)\r
+        {\r
+            this.TitleList.Clear();\r
+\r
+            if (scannedSource != null)\r
+            {\r
+\r
+                IEnumerable<Title> titles = orderedByTitle\r
+                                         ? scannedSource.Titles\r
+                                         : scannedSource.Titles.OrderByDescending(o => o.Duration).ToList();\r
+\r
+                foreach (Title item in titles)\r
+                {\r
+                    SelectionTitle title = new SelectionTitle(item, srcName);\r
+                    TitleList.Add(title);\r
+                }\r
+            }\r
+        }\r
+    }\r
+}\r
index a3998be2169fd873c70eec786a2be34b0cec9eca..4f344db08057e45b29ef3ea729c43661f1d9620f 100644 (file)
@@ -11,6 +11,7 @@ namespace HandBrakeWPF.ViewModels
 {\r
     using System;\r
     using System.Collections.ObjectModel;\r
+    using System.ComponentModel;\r
     using System.Windows;\r
 \r
     using Caliburn.Micro;\r
@@ -30,6 +31,13 @@ namespace HandBrakeWPF.ViewModels
     /// </summary>\r
     public class QueueViewModel : ViewModelBase, IQueueViewModel\r
     {\r
+        /*\r
+         \r
+         * TODO FIX THE DRAP/DROP ADORNER!\r
+         */\r
+\r
+\r
+\r
         #region Constants and Fields\r
 \r
         /// <summary>\r
@@ -151,17 +159,6 @@ namespace HandBrakeWPF.ViewModels
             }\r
         }\r
 \r
-        /// <summary>\r
-        /// Gets QueueJobs.\r
-        /// </summary>\r
-        public ObservableCollection<QueueTask> QueueJobs\r
-        {\r
-            get\r
-            {\r
-                return this.queueProcessor.Queue;\r
-            }\r
-        }\r
-\r
         /// <summary>\r
         /// Gets or sets WhenDoneAction.\r
         /// </summary>\r
@@ -178,6 +175,17 @@ namespace HandBrakeWPF.ViewModels
             }\r
         }\r
 \r
+        /// <summary>\r
+        /// Gets the queue tasks.\r
+        /// </summary>\r
+        public BindingList<QueueTask> QueueTasks\r
+        {\r
+            get\r
+            {\r
+                return this.queueProcessor.Queue;\r
+            }\r
+        }\r
+\r
         #endregion\r
 \r
         #region Public Methods\r
@@ -270,8 +278,6 @@ namespace HandBrakeWPF.ViewModels
             {\r
                 this.queueProcessor.Remove(task);\r
             }\r
-\r
-            this.JobsPending = string.Format("{0} jobs pending", this.queueProcessor.Count);\r
         }\r
 \r
         /// <summary>\r
@@ -408,16 +414,19 @@ namespace HandBrakeWPF.ViewModels
         private void EncodeService_EncodeStatusChanged(\r
             object sender, EncodeProgressEventArgs e)\r
         {\r
-            this.JobStatus =\r
-                string.Format(\r
-                    "Encoding: Pass {0} of {1},  {2:00.00}%, FPS: {3:000.0},  Avg FPS: {4:000.0},  Time Remaining: {5},  Elapsed: {6:hh\\:mm\\:ss}", \r
-                    e.Task, \r
-                    e.TaskCount, \r
-                    e.PercentComplete, \r
-                    e.CurrentFrameRate, \r
-                    e.AverageFrameRate, \r
-                    e.EstimatedTimeLeft, \r
-                    e.ElapsedTime);\r
+            if (this.IsEncoding)\r
+            {\r
+                this.JobStatus =\r
+                    string.Format(\r
+                        "Encoding: Pass {0} of {1},  {2:00.00}%, FPS: {3:000.0},  Avg FPS: {4:000.0},  Time Remaining: {5},  Elapsed: {6:hh\\:mm\\:ss}",\r
+                        e.Task,\r
+                        e.TaskCount,\r
+                        e.PercentComplete,\r
+                        e.CurrentFrameRate,\r
+                        e.AverageFrameRate,\r
+                        e.EstimatedTimeLeft,\r
+                        e.ElapsedTime);\r
+            }\r
         }\r
 \r
         /// <summary>\r
index 6164e36034db879ac632f32695f8d820bf6e8329..a591050844c1aa3ac3f95bd0171d09fd37ce4c68 100644 (file)
@@ -27,6 +27,7 @@ namespace HandBrakeWPF.ViewModels
     using HandBrake.Interop.Model.Encoding.x264;\r
 \r
     using HandBrakeWPF.Commands.Interfaces;\r
+    using HandBrakeWPF.Model;\r
     using HandBrakeWPF.ViewModels.Interfaces;\r
 \r
     /// <summary>\r
@@ -95,6 +96,11 @@ namespace HandBrakeWPF.ViewModels
         /// </summary>\r
         private bool canClear;\r
 \r
+        /// <summary>\r
+        /// The use advanced tab.\r
+        /// </summary>\r
+        private bool useAdvancedTab;\r
+\r
         #endregion\r
 \r
         #region Constructors and Destructors\r
@@ -122,6 +128,8 @@ namespace HandBrakeWPF.ViewModels
             H264Profiles = EnumHelper<x264Profile>.GetEnumList();\r
             X264Tunes = EnumHelper<x264Tune>.GetEnumList().Where(t => t != x264Tune.Fastdecode);\r
             this.H264Levels = Levels;\r
+\r
+            this.userSettingService.SettingChanged += this.UserSettingServiceSettingChanged;\r
         }\r
 \r
         #endregion\r
@@ -133,6 +141,44 @@ namespace HandBrakeWPF.ViewModels
         /// </summary>\r
         public EncodeTask Task { get; set; }\r
 \r
+        /// <summary>\r
+        /// Gets a value indicating whether show advanced tab.\r
+        /// </summary>\r
+        public bool ShowAdvancedTab\r
+        {\r
+            get\r
+            {\r
+                bool showAdvTabSetting =\r
+                    this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowAdvancedTab);\r
+                if (!showAdvTabSetting)\r
+                {\r
+                    this.UseAdvancedTab = false;\r
+                }\r
+\r
+                return showAdvTabSetting;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether use video tab.\r
+        /// </summary>\r
+        public bool UseAdvancedTab\r
+        {\r
+            get\r
+            {\r
+                return this.useAdvancedTab;\r
+            }\r
+            set\r
+            {\r
+                if (!object.Equals(value, this.useAdvancedTab))\r
+                {\r
+                    this.useAdvancedTab = value;\r
+                    this.Task.ShowAdvancedTab = value;\r
+                    this.NotifyOfPropertyChange(() => this.UseAdvancedTab);\r
+                }\r
+            }\r
+        }\r
+\r
         /// <summary>\r
         /// Gets Framerates.\r
         /// </summary>\r
@@ -335,6 +381,9 @@ namespace HandBrakeWPF.ViewModels
             }\r
         }\r
 \r
+        /// <summary>\r
+        /// Gets the rfqp.\r
+        /// </summary>\r
         public string Rfqp\r
         {\r
             get\r
@@ -729,6 +778,8 @@ namespace HandBrakeWPF.ViewModels
                 this.H264Level = preset.Task.VideoEncoder == VideoEncoder.X264 ? preset.Task.H264Level : "Auto";\r
                 this.FastDecode = preset.Task.VideoEncoder == VideoEncoder.X264 && preset.Task.FastDecode;\r
                 this.ExtraArguments = preset.Task.ExtraAdvancedArguments;\r
+\r
+                this.UseAdvancedTab = !string.IsNullOrEmpty(preset.Task.AdvancedEncoderOptions) && this.ShowAdvancedTab;\r
             }\r
         }\r
 \r
@@ -866,5 +917,22 @@ namespace HandBrakeWPF.ViewModels
             // TODO figure out what is wrong with this??\r
             return HandBrakeUtils.CreateX264OptionsString(preset, tunes, this.ExtraArguments, profile, this.H264Level, width, height);\r
         }\r
+\r
+        /// <summary>\r
+        /// The user setting service_ setting changed.\r
+        /// </summary>\r
+        /// <param name="sender">\r
+        /// The sender.\r
+        /// </param>\r
+        /// <param name="e">\r
+        /// The e.\r
+        /// </param>\r
+        private void UserSettingServiceSettingChanged(object sender, HandBrake.ApplicationServices.EventArgs.SettingChangedEventArgs e)\r
+        {\r
+            if (e.Key == UserSettingConstants.ShowAdvancedTab)\r
+            {\r
+                this.NotifyOfPropertyChange(() => this.ShowAdvancedTab);\r
+            }\r
+        }\r
     }\r
 }
\ No newline at end of file
index 91968fdc054ed402b9f060d7a917d15ddc98df46..d3485d2c02bc72019e1eaec9d3c863bed5299bee 100644 (file)
@@ -3,7 +3,7 @@
 //   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
 // </copyright>\r
 // <summary>\r
-//   Interaction logic for VideoView.xaml\r
+//   Interaction logic for AddPresetView.xaml\r
 // </summary>\r
 // --------------------------------------------------------------------------------------------------------------------\r
 \r
@@ -12,7 +12,7 @@ namespace HandBrakeWPF.Views
     using System.Windows;\r
 \r
     /// <summary>\r
-    /// Interaction logic for VideoView.xaml\r
+    /// Interaction logic for AddPresetView.xaml\r
     /// </summary>\r
     public partial class AddPresetView : Window\r
     {\r
index 785102cd25f545eeeb54922d842e827f75116f6c..b0b7698d2b21e33cba7dee200dbb7b6d2351b574 100644 (file)
@@ -42,7 +42,7 @@
                            VerticalAlignment="Center"\r
                            FontWeight="Bold"\r
                            Text="x264 Encoder Options:"\r
-                   Visibility="{Binding DisplayX264Options, Converter={StaticResource BooleanVisibilityConverter}, ConverterParameter=false}"\r
+                   Visibility="{Binding ShowX264AdvancedOptions, Converter={StaticResource BooleanVisibilityConverter}, ConverterParameter=false}"\r
                            />\r
         \r
         <TextBox Grid.Row="3"\r
@@ -54,7 +54,7 @@
                  Text="{Binding AdvancedOptionsString,\r
                                 UpdateSourceTrigger=PropertyChanged}"\r
                  TextWrapping="Wrap"\r
-                 Visibility="{Binding DisplayX264Options, Converter={StaticResource BooleanVisibilityConverter}, ConverterParameter=false}"\r
+                 Visibility="{Binding ShowX264AdvancedOptions, Converter={StaticResource BooleanVisibilityConverter}, ConverterParameter=false}"\r
                  />\r
 \r
         <StackPanel Orientation="Vertical">\r
             </Grid>\r
 \r
             <!--  X264  -->\r
-            <Grid Visibility="{Binding DisplayX264Options, Converter={StaticResource BooleanVisibilityConverter}, ConverterParameter=false}">\r
+            <TextBlock Text="{x:Static Properties:Resources.Advanced_NotInUse}"\r
+                       TextWrapping="Wrap" Width="480" Margin="0, 100, 0, 0" FontSize="12"\r
+                       Visibility="{Binding ShowX264AdvancedOptions, Converter={StaticResource BooleanVisibilityConverter}, ConverterParameter=true}" />\r
+            \r
+            <Grid Visibility="{Binding ShowX264AdvancedOptions, Converter={StaticResource BooleanVisibilityConverter}, ConverterParameter=false}">\r
                 <Grid.RowDefinitions>\r
                     <RowDefinition Height="Auto" />\r
                     <RowDefinition Height="*" />\r
index af5b81514137016285ea9dcea3e55404072d7544..c633466429dcd8a83c5cab7efe05b99e140ec23c 100644 (file)
@@ -9,6 +9,7 @@
              xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"\r
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"\r
              xmlns:NumericUpDown="clr-namespace:EagleBoost.Wpf.Presentation.Controls.NumericUpDown;assembly=EagleBoost.Wpf.Presentation"\r
+             xmlns:controls="clr-namespace:HandBrakeWPF.Controls"\r
              d:DesignHeight="170"\r
              d:DesignWidth="616"\r
              mc:Ignorable="d">\r
                                        Visibility="{Binding IsPassthru,\r
                                                             Converter={StaticResource boolToVisConverter},\r
                                                             ConverterParameter=true}" />\r
+\r
                             <NumericUpDown:NumericUpDown Name="drcNumericCtl"\r
                                                          Grid.Row="1"\r
                                                          Grid.Column="3"\r
index c6cefb35ef8371fab3684a3c950b0069b37f4c6d..a5fa6a6dab0dae43db4408f856772509f5593ee3 100644 (file)
@@ -38,7 +38,8 @@
                 </ContextMenu>\r
             </DataGrid.ContextMenu>\r
             <DataGrid.Columns>\r
-                <DataGridTextColumn Header="Chapter Number" Width="150" Binding="{Binding ChapterNumber}" IsReadOnly="True" />\r
+                <DataGridTextColumn Header="Chapter Number" Width="120" Binding="{Binding ChapterNumber}" IsReadOnly="True" />\r
+                <DataGridTextColumn Header="Duration" Width="100" Binding="{Binding Duration}" IsReadOnly="True" />\r
                 <DataGridTextColumn Header="Chapter Name"  Width="*" Binding="{Binding ChapterName}" IsReadOnly="False" />\r
             </DataGrid.Columns>\r
         </DataGrid>\r
index 0f85a2b73c2c00ffb3cccd6481454b86d19ab5c4..1a020b603544ebc536b9d45a22a8bc4f95b2d444 100644 (file)
                             </StackPanel>\r
                         </MenuItem.Header>\r
                         <MenuItem Header="Add All" Micro:Message.Attach="[Event Click] = [Action AddAllToQueue]" />\r
+                        <!--<MenuItem Header="Add Selection" Micro:Message.Attach="[Event Click] = [Action AddSelectionToQueue]" />-->\r
                     </MenuItem>\r
                 </Menu>\r
 \r
                                                        Converter={StaticResource boolToVisConverter},\r
                                                        ConverterParameter=true}"\r
                                   />\r
-                        <TextBox Name="StartPointText"\r
-                                 MinWidth="60"\r
-                                 Margin="8,0,0,0"\r
-                                 Text="{Binding SelectedStartPoint, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"\r
-                                 Visibility="{Binding ShowTextEntryForPointToPointMode,\r
-                                                      Converter={StaticResource boolToVisConverter},\r
-                                                      ConverterParameter=false}"\r
-                                 />\r
+                        <Controls:TimeSpanBox  Number="{Binding SelectedStartPoint, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"\r
+                                               Minimum="0" AllowEmpty="False" ShowTimeSpan="{Binding IsTimespanRange}"\r
+                                               MinWidth="80" Margin="8,0,0,0"  Visibility="{Binding ShowTextEntryForPointToPointMode,\r
+                                                       Converter={StaticResource boolToVisConverter},\r
+                                                       ConverterParameter=false}"\r
+                                                />\r
+                        \r
                         <Label Margin="8,0,0,0" Content="through" />\r
                         <ComboBox Name="EndPoint"\r
                                   MinWidth="60"\r
                                                        Converter={StaticResource boolToVisConverter},\r
                                                        ConverterParameter=true}"\r
                                   />\r
-                        <TextBox Name="EndPointText"\r
-                                 MinWidth="60"\r
-                                 Margin="8,0,0,0"\r
-                                 Text="{Binding SelectedEndPoint, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"\r
-                                 Visibility="{Binding ShowTextEntryForPointToPointMode,\r
-                                                      Converter={StaticResource boolToVisConverter},\r
-                                                      ConverterParameter=false}"\r
-                                 />\r
+                        <Controls:TimeSpanBox  Number="{Binding SelectedEndPoint, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"\r
+                                               Minimum="0" AllowEmpty="False" ShowTimeSpan="{Binding IsTimespanRange}"\r
+                                               MinWidth="80" Margin="8,0,0,0"  Visibility="{Binding ShowTextEntryForPointToPointMode,\r
+                                                       Converter={StaticResource boolToVisConverter},\r
+                                                       ConverterParameter=false}"\r
+                                                />\r
+  \r
                         <Label Margin="8,0,0,0" Content="Duration" />\r
                         <Label Margin="8,0,0,0" Content="{Binding Duration}" />\r
                     </StackPanel>\r
diff --git a/win/CS/HandBrakeWPF/Views/QueueSelectionView.xaml b/win/CS/HandBrakeWPF/Views/QueueSelectionView.xaml
new file mode 100644 (file)
index 0000000..b46b07f
--- /dev/null
@@ -0,0 +1,140 @@
+<Window x:Class="HandBrakeWPF.Views.QueueSelectionView"\r
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\r
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"\r
+        xmlns:cal="http://www.caliburnproject.org"\r
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"\r
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"\r
+        Title="{Binding Title}"\r
+        Width="450"\r
+        MaxHeight="450"\r
+        SizeToContent="Height"\r
+        WindowStartupLocation="CenterScreen"\r
+        TextOptions.TextFormattingMode="Display"\r
+        mc:Ignorable="d">\r
+\r
+    <Window.Resources>\r
+\r
+        <Style x:Key="LongToolTipHolder" TargetType="FrameworkElement">\r
+            <Setter Property="ToolTipService.ShowDuration" Value="20000" />\r
+            <Setter Property="Margin" Value="0,2,0,2" />\r
+        </Style>\r
+    </Window.Resources>\r
+\r
+    <Grid HorizontalAlignment="Stretch"\r
+          VerticalAlignment="Stretch"\r
+          Background="#FFF1F0EF">\r
+        <Grid.RowDefinitions>\r
+            <RowDefinition Height="Auto" />\r
+            <RowDefinition Height="Auto" />\r
+            <RowDefinition Height="*" />\r
+            <RowDefinition Height="Auto" />\r
+            <RowDefinition Height="Auto" />\r
+        </Grid.RowDefinitions>\r
+\r
+        <!--  Header  -->\r
+        <StackPanel Grid.Row="0"\r
+                    Height="30"\r
+                    Margin="0,0,0,10"\r
+                    Background="White"\r
+                    Orientation="Horizontal">\r
+            <Image Width="24"\r
+                   Height="24"\r
+                   Margin="10,0,5,0"\r
+                   VerticalAlignment="Center"\r
+                   Source="Images/AddToQueue_small.png" />\r
+            <StackPanel VerticalAlignment="Center" Orientation="Vertical">\r
+                <TextBlock FontWeight="Bold" Text="Queue Multiple Items" />\r
+            </StackPanel>\r
+        </StackPanel>\r
+\r
+        <!-- Text -->\r
+        <StackPanel Orientation="Vertical" Grid.Row="1" Margin="10,10,10,0">\r
+            <TextBlock Text="Select multiple titles to add: " />\r
+        </StackPanel>\r
+\r
+        <!-- Selection -->\r
+        <ListBox Grid.Row="2"\r
+                 Margin="10,10,10,10"\r
+                 VerticalAlignment="Stretch"\r
+                 Background="LightGray"\r
+                 ItemsSource="{Binding TitleList}"\r
+                 SelectionMode="Single">\r
+            <ListBox.ItemContainerStyle>\r
+                <Style TargetType="ListBoxItem">\r
+                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />\r
+                    <Setter Property="Background" Value="WhiteSmoke" />\r
+                    <Setter Property="Margin" Value="0,0,0,1" />\r
+                </Style>\r
+            </ListBox.ItemContainerStyle>\r
+\r
+            <ListBox.ContextMenu>\r
+                <ContextMenu>\r
+                    <MenuItem Header="Select All" cal:Message.Attach="[Event Click] = [Action SelectAll]" />\r
+                    <MenuItem Header="Select All" cal:Message.Attach="[Event Click] = [Action UnSelectAll]" />\r
+                    <Separator />\r
+                    <MenuItem Header="Order by Title" IsChecked="{Binding OrderedByTitle}" cal:Message.Attach="[Event Click] = [Action OrderByTitle]" />\r
+                    <MenuItem Header="Order by Duration" IsChecked="{Binding OrderedByDuration}" cal:Message.Attach="[Event Click] = [Action OrderByDuration]" />\r
+                </ContextMenu>\r
+            </ListBox.ContextMenu>\r
+\r
+            <ListBox.ItemTemplate>\r
+                <DataTemplate>\r
+                    <Grid HorizontalAlignment="Stretch" MinHeight="28">\r
+                        <Grid.RowDefinitions>\r
+                            <RowDefinition Height="Auto" />\r
+                            <RowDefinition Height="Auto" />\r
+                        </Grid.RowDefinitions>\r
+                        <Grid.ColumnDefinitions>\r
+                            <ColumnDefinition Width="Auto" />\r
+                            <ColumnDefinition Width="*" />\r
+                            <ColumnDefinition Width="Auto" />\r
+                        </Grid.ColumnDefinitions>\r
+                        \r
+                        <CheckBox IsChecked="{Binding IsSelected}" Grid.RowSpan="2" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" />\r
+\r
+                        <StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" Margin="10,0,0,0" >                           \r
+                            <TextBlock Text="Title:" Margin="0,0,5,0" FontWeight="Bold" />\r
+                            <TextBlock Text="{Binding Title}" Margin="5,0,5,0" />\r
+                        </StackPanel>\r
+\r
+                        <StackPanel Grid.Row="1" Grid.Column="1" Orientation="Horizontal" Margin="10,0,0,0" >\r
+                            <TextBlock Text="Source:" Margin="0,0,5,0" FontWeight="Bold" />\r
+                            <TextBlock Text="{Binding SourceName}" Margin="5,0,5,0" />\r
+                        </StackPanel>\r
+                    </Grid>\r
+\r
+                </DataTemplate>\r
+            </ListBox.ItemTemplate>\r
+        </ListBox>\r
+\r
+        <!-- Checlist -->\r
+        <StackPanel Orientation="Vertical" Grid.Row="3" Margin="10,10,10,0">\r
+            <TextBlock Text="Checklist " />\r
+        </StackPanel>\r
+\r
+        <!--  Controls  -->\r
+        <Grid Grid.Row="4"\r
+              Margin="0,20,0,0"\r
+              Background="LightGray">\r
+            <Grid.ColumnDefinitions>\r
+                <ColumnDefinition Width="*" />\r
+                <ColumnDefinition Width="Auto" />\r
+                <ColumnDefinition Width="Auto" />\r
+            </Grid.ColumnDefinitions>\r
+\r
+            <Button Grid.Column="1"\r
+                    Margin="0,5,10,5"\r
+                    cal:Message.Attach="[Event Click] = [Action Cancel]"\r
+                    Content="Cancel"\r
+                    IsCancel="True"\r
+                    Padding="8,2" />\r
+            <Button Grid.Column="2"\r
+                    Margin="0,5,10,5"\r
+                    cal:Message.Attach="[Event Click] = [Action Add]"\r
+                    Content="Add"\r
+                    IsDefault="True"\r
+                    Padding="8,2" />\r
+        </Grid>\r
+\r
+    </Grid>\r
+</Window>\r
diff --git a/win/CS/HandBrakeWPF/Views/QueueSelectionView.xaml.cs b/win/CS/HandBrakeWPF/Views/QueueSelectionView.xaml.cs
new file mode 100644 (file)
index 0000000..553c720
--- /dev/null
@@ -0,0 +1,27 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="QueueSelectionView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   Interaction logic for QueueSelectionView.xaml\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.Views\r
+{\r
+    using System.Windows;\r
+\r
+    /// <summary>\r
+    /// Interaction logic for QueueSelectionView.xaml\r
+    /// </summary>\r
+    public partial class QueueSelectionView : Window\r
+    {\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="QueueSelectionView"/> class.\r
+        /// </summary>\r
+        public QueueSelectionView()\r
+        {\r
+            InitializeComponent();\r
+        }\r
+    }\r
+}\r
index 5384948b35b3c24cefe01563ed4c4497a7933e58..394eb35e447d10ae6f05b434790b1094ac189f78 100644 (file)
             <TextBlock Text="{Binding JobsPending}" />\r
             <TextBlock Text="{Binding JobStatus}" />\r
         </StackPanel>\r
-\r
+        \r
         <ListBox Grid.Row="2"\r
                  Margin="10,0,10,10"\r
                  Background="LightGray"\r
                  dd:DragDrop.DropHandler="{Binding}"\r
                  dd:DragDrop.IsDragSource="True"\r
                  dd:DragDrop.IsDropTarget="True"\r
-                 ItemsSource="{Binding QueueJobs}"\r
-                 SelectedItem="{Binding SelectedJob}"\r
+                 ItemsSource="{Binding QueueTasks, Mode=OneWay}"\r
                  SelectionMode="Extended">\r
 \r
             <ListBox.ContextMenu>\r
 \r
                             <Grid.RowDefinitions>\r
                                 <RowDefinition Height="Auto" />\r
-                                <RowDefinition Height="Auto" />\r
                             </Grid.RowDefinitions>\r
 \r
                             <Grid.ColumnDefinitions>\r
                                 <ColumnDefinition Width="Auto" />\r
                                 <ColumnDefinition Width="Auto" />\r
+                                <ColumnDefinition Width="Auto" />\r
                             </Grid.ColumnDefinitions>\r
 \r
-                            <Image Width="20"  Grid.Row="0" Grid.Column="0" Grid.RowSpan="2"\r
-                                       Height="20" VerticalAlignment="Center" Margin="0,0,5,0"\r
+                            <Image Width="20"  Grid.Row="0" Grid.Column="0"\r
+                                       Height="20" VerticalAlignment="Center" Margin="0,5,0,0"\r
                                        Source="Images/Refresh.ico"\r
                                        ToolTip="Reset job status to Waiting."\r
                                        Visibility="{Binding Status,\r
 \r
                             <Image Width="20" Grid.Row="0" Grid.Column="1"\r
                                        Height="20"\r
-                                       Margin="0,5,0,0"\r
+                                       Margin="10,5,0,0"\r
                                        Source="Images/Options24.png"\r
                                        ToolTip="Edit this Job">\r
                                 <i:Interaction.Triggers>\r
                                 </i:Interaction.Triggers>\r
                             </Image>\r
 \r
-                            <Image Width="20"  Grid.Row="1" Grid.Column="1"\r
+                            <Image Width="20"  Grid.Row="0" Grid.Column="2"\r
                                        Height="20"\r
-                                       Margin="0,5,0,0"\r
+                                       Margin="10,5,0,0"\r
                                        Source="Images/delete.png"\r
                                        ToolTip="Remove this Job">\r
                                 <i:Interaction.Triggers>\r
 \r
                         </Grid>\r
 \r
-\r
-\r
                     </Grid>\r
-\r
-\r
                 </DataTemplate>\r
             </ListBox.ItemTemplate>\r
         </ListBox>\r
index 362734851e6344fdc7fa46b5db29e7f466f11edb..a999891898481fd514d4bad53c595b0fdc7587ef 100644 (file)
@@ -8,6 +8,7 @@
              xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"\r
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"\r
              xmlns:NumericUpDown="clr-namespace:EagleBoost.Wpf.Presentation.Controls.NumericUpDown;assembly=EagleBoost.Wpf.Presentation"\r
+             xmlns:controls="clr-namespace:HandBrakeWPF.Controls"\r
              d:DesignHeight="153"\r
              d:DesignWidth="319"\r
              mc:Ignorable="d">\r
                                        VerticalAlignment="Center"\r
                                        FontWeight="Bold"\r
                                        Text="Offset (ms)" />\r
-                            <NumericUpDown:NumericUpDown Grid.Row="1"\r
-                                                         Grid.Column="5"\r
-                                                         Width="65"\r
-                                                         Margin="5,0,5,0"\r
-                                                         HorizontalAlignment="Left"\r
-                                                         IsEnabled="{Binding IsSrtSubtitle}"\r
-                                                         Minimum="-10800"\r
-                                                         Value="{Binding SrtOffset, Mode=TwoWay}" />\r
 \r
+                            <controls:NumberBox Grid.Row="1" Grid.Column="5" Width="65" Height="24" Margin="5,0,5,0"\r
+                                            Minimum="-900000" Maximum="900000" IsEnabled="{Binding IsSrtSubtitle}"\r
+                                            Number="{Binding SrtOffset, Mode=TwoWay}" />\r
+                            \r
                         </Grid>\r
 \r
                         <!--  Delete  -->\r
index 57323617085136533cfca9e5b681ba224a08effe..00add413e53eec4083d411f6c670a31c725c9af4 100644 (file)
@@ -5,6 +5,7 @@
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"\r
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"\r
         xmlns:NumericUpDown="clr-namespace:EagleBoost.Wpf.Presentation.Controls.NumericUpDown;assembly=EagleBoost.Wpf.Presentation"\r
+        xmlns:controls="clr-namespace:HandBrakeWPF.Controls"\r
         Title="Scan Title"\r
         Width="250"\r
         Background="#FFF1F0EF"\r
                     Margin="10,10,0,10"\r
                     Orientation="Horizontal">\r
             <TextBlock Text="Choose a title to scan:" />\r
-            <NumericUpDown:NumericUpDown Width="60"\r
-                                         Margin="10,0,0,0"\r
-                                         Maximum="1000"\r
-                                         Minimum="0"\r
-                                         Value="{Binding SelectedTitle,\r
-                                                         Mode=TwoWay}" />\r
+\r
+            <controls:NumberBox Width="60" Height="24" Margin="10,0,0,0"\r
+                                Minimum="0" Maximum="1000" Number="{Binding SelectedTitle, Mode=TwoWay}" />\r
         </StackPanel>\r
 \r
         <StackPanel Grid.Row="2"\r
index c9b125abee67ebd9d18911935acfbd75880408e9..4cc1b6b9e0c139736ad98fbbb7ba544b49a460b9 100644 (file)
@@ -11,8 +11,9 @@
         <Converters:BooleanConverter x:Key="boolConverter" />\r
         <Converters:BooleanToVisibilityConverter x:Key="boolToVisConverter" />\r
         <Converters:EnumComboConverter x:Key="enumComboConverter" />\r
+        <Converters:InverseBooleanConverter x:Key="inverseConverter" />\r
         <Video:VideoEncoderConverter x:Key="videoEncoderConverter" />\r
-\r
+        \r
         <Style x:Key="LongToolTipHolder" TargetType="FrameworkElement">\r
             <Setter Property="ToolTipService.ShowDuration" Value="20000" />\r
         </Style>\r
             <!-- H264 settings -->\r
             <Grid Grid.Row="1" Grid.ColumnSpan="2" Margin="0,20,0,0" Visibility="{Binding DisplayX264Options, Converter={StaticResource boolToVisConverter}}">\r
                 <Grid.RowDefinitions>\r
-                    <RowDefinition Height="Auto" />\r
-                    <RowDefinition Height="Auto" />\r
-                    <RowDefinition Height="Auto" />\r
                     <RowDefinition Height="Auto" />\r
                     <RowDefinition Height="Auto" />\r
                     <RowDefinition Height="*" />\r
                 </Grid.RowDefinitions>\r
-                \r
-                <Grid.ColumnDefinitions>\r
-                    <ColumnDefinition Width="Auto" />\r
-                    <ColumnDefinition Width="Auto" />\r
-                    <ColumnDefinition Width="Auto" />\r
-                    <ColumnDefinition Width="Auto" />\r
-                </Grid.ColumnDefinitions>\r
-\r
-                <TextBlock Text="Optimise Video:" Margin="0,0,0,8" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" FontWeight="Bold" VerticalAlignment="Center" />\r
-\r
-                <!-- Row 1 -->\r
-                <TextBlock Text="x264 Preset:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />\r
-                <StackPanel Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" Orientation="Horizontal">\r
-                    <Slider Minimum="0" Maximum="9" Width="150" Value="{Binding X264PresetValue, Mode=Default, UpdateSourceTrigger=PropertyChanged}" \r
+\r
+                <TextBlock Text="Optimise Video:" Margin="0,0,0,8" Grid.Row="0"  Grid.ColumnSpan="2" FontWeight="Bold" VerticalAlignment="Center" />\r
+\r
+                <CheckBox Content="Use Advanced Tab instead" Grid.Row="1" IsChecked="{Binding UseAdvancedTab}" \r
+                          Visibility="{Binding ShowAdvancedTab, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" />\r
+\r
+                <Grid Grid.Row="2" Margin="0,5,0,0" IsEnabled="{Binding UseAdvancedTab, Converter={StaticResource inverseConverter}}"\r
+                      Visibility="{Binding DisplayX264Options, Converter={StaticResource boolToVisConverter}}">\r
+                    <Grid.RowDefinitions>\r
+                        <RowDefinition Height="Auto" />\r
+                        <RowDefinition Height="Auto" />\r
+                        <RowDefinition Height="Auto" />\r
+                        <RowDefinition Height="Auto" />\r
+                        <RowDefinition Height="Auto" />\r
+                        <RowDefinition Height="*" />\r
+                    </Grid.RowDefinitions>\r
+\r
+                    <Grid.ColumnDefinitions>\r
+                        <ColumnDefinition Width="Auto" />\r
+                        <ColumnDefinition Width="Auto" />\r
+                        <ColumnDefinition Width="Auto" />\r
+                        <ColumnDefinition Width="Auto" />\r
+                    </Grid.ColumnDefinitions>\r
+\r
+\r
+\r
+                    <!-- Row 1 -->\r
+                    <TextBlock Text="x264 Preset:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />\r
+                    <StackPanel Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" Orientation="Horizontal">\r
+                        <Slider Minimum="0" Maximum="9" Width="150" Value="{Binding X264PresetValue, Mode=Default, UpdateSourceTrigger=PropertyChanged}" \r
                             IsSnapToTickEnabled="True" TickFrequency="1" TickPlacement="BottomRight" ToolTip="{x:Static Properties:Resources.Video_x264Preset}" \r
                             Style="{StaticResource LongToolTipHolder}" />\r
-                    <TextBlock Text="{Binding X264Preset, Converter={StaticResource enumComboConverter}}" Margin="5,0,0,0" />\r
-                </StackPanel>\r
+                        <TextBlock Text="{Binding X264Preset, Converter={StaticResource enumComboConverter}}" Margin="5,0,0,0" />\r
+                    </StackPanel>\r
 \r
-                <TextBlock Text="x264 Tune:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Margin="0,10,0,0"  />\r
-                <ComboBox Width="100" Grid.Row="2" Grid.Column="1" Margin="5,10,5,0" Height="22"\r
+                    <TextBlock Text="x264 Tune:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Margin="0,10,0,0"  />\r
+                    <ComboBox Width="100" Grid.Row="2" Grid.Column="1" Margin="5,10,5,0" Height="22"\r
                           ItemsSource="{Binding X264Tunes, Converter={StaticResource enumComboConverter}}" \r
                           SelectedItem="{Binding X264Tune, Converter={StaticResource enumComboConverter}}"\r
                           ToolTip="{x:Static Properties:Resources.Video_x264Tune}"\r
                           Style="{StaticResource LongToolTipHolder}" />\r
-                <CheckBox IsChecked="{Binding FastDecode}" Content="Fast Decode" Grid.Row="2" Grid.Column="2" Margin="10,10,10,0" VerticalAlignment="Center"\r
+                    <CheckBox IsChecked="{Binding FastDecode}" Content="Fast Decode" Grid.Row="2" Grid.Column="2" Margin="10,10,10,0" VerticalAlignment="Center"\r
                           ToolTip="{x:Static Properties:Resources.Video_x264FastDecode}"/>\r
-                \r
 \r
-                <!-- Row 2-->\r
-                <TextBlock Text="H.264 Profile:" Grid.Row="3" Grid.Column="0" Margin="0,10,0,0" VerticalAlignment="Center" />\r
-                <ComboBox Width="100" Grid.Row="3" Grid.Column="1" Margin="5,10,5,0" Height="22" VerticalAlignment="Center"\r
+\r
+                    <!-- Row 2-->\r
+                    <TextBlock Text="H.264 Profile:" Grid.Row="3" Grid.Column="0" Margin="0,10,0,0" VerticalAlignment="Center" />\r
+                    <ComboBox Width="100" Grid.Row="3" Grid.Column="1" Margin="5,10,5,0" Height="22" VerticalAlignment="Center"\r
                           ItemsSource="{Binding H264Profiles, Converter={StaticResource enumComboConverter}}" \r
                           SelectedItem="{Binding H264Profile, Converter={StaticResource enumComboConverter}}"\r
                           Style="{StaticResource LongToolTipHolder}"\r
                           ToolTip="{x:Static Properties:Resources.Video_x264Profile}" />\r
 \r
-                <TextBlock Text="H.264 Level:" Grid.Row="3" Grid.Column="2" Margin="10,10,0,0" VerticalAlignment="Center" />\r
-                <ComboBox Width="100" Grid.Row="3" Grid.Column="3" Margin="5,10,5,0" Height="22" VerticalAlignment="Center"\r
+                    <TextBlock Text="H.264 Level:" Grid.Row="3" Grid.Column="2" Margin="10,10,0,0" VerticalAlignment="Center" />\r
+                    <ComboBox Width="100" Grid.Row="3" Grid.Column="3" Margin="5,10,5,0" Height="22" VerticalAlignment="Center"\r
                           ItemsSource="{Binding H264Levels}" \r
                           SelectedItem="{Binding H264Level}"\r
                           Style="{StaticResource LongToolTipHolder}"\r
                           ToolTip="{x:Static Properties:Resources.Video_x264Level}"/>\r
-                \r
-                <!-- Row 3 -->\r
-                <TextBlock Text="Extra Options:" Grid.Row="4" Grid.Column="0" Margin="0,10,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" />\r
-                <TextBox Text="{Binding ExtraArguments, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"\r
+\r
+                    <!-- Row 3 -->\r
+                    <TextBlock Text="Extra Options:" Grid.Row="4" Grid.Column="0" Margin="0,10,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" />\r
+                    <TextBox Text="{Binding ExtraArguments, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"\r
                          Height="30" MaxLines="2" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="3" Margin="5,10,0,0" VerticalAlignment="Center"\r
                          ToolTip="{Binding FullOptionsTooltip}"/>\r
-                \r
-                \r
+\r
+\r
+                </Grid>\r
             </Grid>\r
+            \r
+         \r
         </Grid>\r
 \r
     </Grid>\r
index 73d5742fc684f6e5dc4d13681ab2a7a48ee4fb96..c1a645647545af9b94071ef769b2e5d89157c2cc 100644 (file)
       <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:boolean" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">true</anyType>\r
     </value>\r
   </item>\r
+  <item>\r
+    <key>\r
+      <string>LastPreviewDuration</string>\r
+    </key>\r
+    <value>\r
+      <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:int" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">30</anyType>\r
+    </value>\r
+  </item>\r
 </dictionary>
\ No newline at end of file
index 24df8ef256843c07478cfd542cff89a19962dcb9..37d4ff9b9cdca10e462c2bc9813596f830e26544 100644 (file)
@@ -4,6 +4,35 @@
         <name>GongSolutions.Wpf.DragDrop</name>\r
     </assembly>\r
     <members>\r
+        <member name="T:GongSolutions.Wpf.DragDrop.IDropTarget">\r
+            <summary>\r
+            Interface implemented by Drop Handlers.\r
+            </summary>\r
+        </member>\r
+        <member name="M:GongSolutions.Wpf.DragDrop.IDropTarget.DragOver(GongSolutions.Wpf.DragDrop.IDropInfo)">\r
+            <summary>\r
+            Updates the current drag state.\r
+            </summary>\r
+            \r
+            <param name="dropInfo">\r
+              Information about the drag.\r
+            </param>\r
+            \r
+            <remarks>\r
+            To allow a drop at the current drag position, the <see cref="P:GongSolutions.Wpf.DragDrop.DropInfo.Effects"/> property on \r
+            <paramref name="dropInfo"/> should be set to a value other than <see cref="F:System.Windows.DragDropEffects.None"/>\r
+            and <see cref="P:GongSolutions.Wpf.DragDrop.DropInfo.Data"/> should be set to a non-null value.\r
+            </remarks>\r
+        </member>\r
+        <member name="M:GongSolutions.Wpf.DragDrop.IDropTarget.Drop(GongSolutions.Wpf.DragDrop.IDropInfo)">\r
+            <summary>\r
+            Performs a drop.\r
+            </summary>\r
+            \r
+            <param name="dropInfo">\r
+              Information about the drop.\r
+            </param>\r
+        </member>\r
         <member name="P:GongSolutions.Wpf.DragDrop.IDropInfo.Data">\r
             <summary>\r
             Gets the drag data.\r
             Gets th orientation of the current drop target.\r
             </summary>\r
         </member>\r
-        <member name="T:GongSolutions.Wpf.DragDrop.IDropTarget">\r
+        <member name="T:GongSolutions.Wpf.DragDrop.IDragSource">\r
             <summary>\r
-            Interface implemented by Drop Handlers.\r
+            Interface implemented by Drag Handlers.\r
             </summary>\r
         </member>\r
-        <member name="M:GongSolutions.Wpf.DragDrop.IDropTarget.DragOver(GongSolutions.Wpf.DragDrop.IDropInfo)">\r
+        <member name="M:GongSolutions.Wpf.DragDrop.IDragSource.StartDrag(GongSolutions.Wpf.DragDrop.IDragInfo)">\r
             <summary>\r
-            Updates the current drag state.\r
+            Queries whether a drag can be started.\r
             </summary>\r
             \r
-            <param name="dropInfo">\r
-              Information about the drag.\r
+            <param name="dragInfo">\r
+            Information about the drag.\r
             </param>\r
             \r
             <remarks>\r
-            To allow a drop at the current drag position, the <see cref="P:GongSolutions.Wpf.DragDrop.DropInfo.Effects"/> property on \r
-            <paramref name="dropInfo"/> should be set to a value other than <see cref="F:System.Windows.DragDropEffects.None"/>\r
-            and <see cref="P:GongSolutions.Wpf.DragDrop.DropInfo.Data"/> should be set to a non-null value.\r
+            To allow a drag to be started, the <see cref="P:GongSolutions.Wpf.DragDrop.DragInfo.Effects"/> property on <paramref name="dragInfo"/> \r
+            should be set to a value other than <see cref="!:DragDropEffects.None"/>. \r
             </remarks>\r
         </member>\r
-        <member name="M:GongSolutions.Wpf.DragDrop.IDropTarget.Drop(GongSolutions.Wpf.DragDrop.IDropInfo)">\r
+        <member name="M:GongSolutions.Wpf.DragDrop.IDragSource.Dropped(GongSolutions.Wpf.DragDrop.IDropInfo)">\r
             <summary>\r
-            Performs a drop.\r
+            Notifies the drag handler that a drop has occurred.\r
             </summary>\r
             \r
             <param name="dropInfo">\r
             will hold a ListBoxItem.\r
             </remarks>\r
         </member>\r
-        <member name="T:GongSolutions.Wpf.DragDrop.IDragSource">\r
-            <summary>\r
-            Interface implemented by Drag Handlers.\r
-            </summary>\r
-        </member>\r
-        <member name="M:GongSolutions.Wpf.DragDrop.IDragSource.StartDrag(GongSolutions.Wpf.DragDrop.IDragInfo)">\r
-            <summary>\r
-            Queries whether a drag can be started.\r
-            </summary>\r
-            \r
-            <param name="dragInfo">\r
-            Information about the drag.\r
-            </param>\r
-            \r
-            <remarks>\r
-            To allow a drag to be started, the <see cref="P:GongSolutions.Wpf.DragDrop.DragInfo.Effects"/> property on <paramref name="dragInfo"/> \r
-            should be set to a value other than <see cref="!:DragDropEffects.None"/>. \r
-            </remarks>\r
-        </member>\r
-        <member name="M:GongSolutions.Wpf.DragDrop.IDragSource.Dropped(GongSolutions.Wpf.DragDrop.IDropInfo)">\r
-            <summary>\r
-            Notifies the drag handler that a drop has occurred.\r
-            </summary>\r
-            \r
-            <param name="dropInfo">\r
-              Information about the drop.\r
-            </param>\r
-        </member>\r
     </members>\r
 </doc>\r
index 47a513ca6cfa3c2fab12ea8340cb178292682e6a..5617d91b9b4ea699a7457cc732ea239dc376c4c5 100644 (file)
Binary files a/win/CS/libraries/WPFDragDrop/GongSolutions.Wpf.DragDrop.dll and b/win/CS/libraries/WPFDragDrop/GongSolutions.Wpf.DragDrop.dll differ
index 90b4417361da3590b7c40116fa7988a17a336825..ce74a4036db0d8abdfd5b4a9a6deeef2bcd4ba79 100644 (file)
Binary files a/win/CS/libraries/WPFDragDrop/GongSolutions.Wpf.DragDrop.pdb and b/win/CS/libraries/WPFDragDrop/GongSolutions.Wpf.DragDrop.pdb differ
index a08196a6e6a6000efe725d959a1c33aaf0231474..9d050d455cf11a7bc4c8988613d54157959b4c9b 100644 (file)
Binary files a/win/CS/libraries/WPFDragDrop/SourceModifications.zip and b/win/CS/libraries/WPFDragDrop/SourceModifications.zip differ