--- /dev/null
+diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c
+index 3852f6e..86aecf7 100644
+--- a/libavcodec/mlpdec.c
++++ b/libavcodec/mlpdec.c
+@@ -394,14 +394,24 @@ static int read_restart_header(MLPDecodeContext *m, GetBitContext *gbp,
+ return AVERROR_INVALIDDATA;
+ }
+
+- if (m->avctx->request_channels > 0
+- && s->max_channel + 1 >= m->avctx->request_channels
+- && substr < m->max_decoded_substream) {
++#if FF_API_REQUEST_CHANNELS
++ if (m->avctx->request_channels > 0 &&
++ m->avctx->request_channels <= s->max_channel + 1 &&
++ m->max_decoded_substream > substr) {
+ av_log(m->avctx, AV_LOG_DEBUG,
+- "Extracting %d channel downmix from substream %d. "
++ "Extracting %d-channel downmix from substream %d. "
+ "Further substreams will be skipped.\n",
+ s->max_channel + 1, substr);
+ m->max_decoded_substream = substr;
++ } else
++#endif
++ if (m->avctx->request_channel_layout == s->ch_layout &&
++ m->max_decoded_substream > substr) {
++ av_log(m->avctx, AV_LOG_DEBUG,
++ "Extracting %d-channel downmix (0x%"PRIx64") from substream %d. "
++ "Further substreams will be skipped.\n",
++ s->max_channel + 1, s->ch_layout, substr);
++ m->max_decoded_substream = substr;
+ }
+
+ s->noise_shift = get_bits(gbp, 4);
+@@ -463,8 +473,10 @@ static int read_restart_header(MLPDecodeContext *m, GetBitContext *gbp,
+ cp->huff_lsbs = 24;
+ }
+
+- if (substr == m->max_decoded_substream)
+- m->avctx->channels = s->max_matrix_channel + 1;
++ if (substr == m->max_decoded_substream) {
++ m->avctx->channels = s->max_matrix_channel + 1;
++ m->avctx->channel_layout = s->ch_layout;
++ }
+
+ return 0;
+ }
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);
+ }
}
}
<?xml version="1.0"?>
<!--*- mode: xml -*-->
<interface>
+ <object class="GtkLabel" id="SubTrackLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Track</b></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"><b>Forced Only</b></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"><b>Burned In</b></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"><b>Default</b></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"><b>SRT Offset</b></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>
<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>
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);
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);
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);
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));
static hb_error_handler_t *error_handler = NULL;
+hb_dither_t hb_audio_dithers[] =
+{
+ { "default", "auto", AV_RESAMPLE_DITHER_NONE - 1, },
+ { "none", "none", AV_RESAMPLE_DITHER_NONE, },
+ { "rectangular", "rectangular", AV_RESAMPLE_DITHER_RECTANGULAR, },
+ { "triangular", "triangular", AV_RESAMPLE_DITHER_TRIANGULAR, },
+ { "triangular with high pass", "triangular_hp", AV_RESAMPLE_DITHER_TRIANGULAR_HP, },
+ { "triangular with noise shaping", "triangular_ns", AV_RESAMPLE_DITHER_TRIANGULAR_NS, },
+};
+int hb_audio_dithers_count = sizeof(hb_audio_dithers) / sizeof(hb_dither_t);
+
hb_mixdown_t hb_audio_mixdowns[] =
{
{ "None", "HB_AMIXDOWN_NONE", "none", HB_AMIXDOWN_NONE },
int hb_get_audio_rates_count() { return hb_audio_rates_count; }
hb_rate_t* hb_get_audio_bitrates() { return hb_audio_bitrates; }
int hb_get_audio_bitrates_count() { return hb_audio_bitrates_count; }
+hb_dither_t* hb_get_audio_dithers() { return hb_audio_dithers; }
+int hb_get_audio_dithers_count() { return hb_audio_dithers_count; }
hb_mixdown_t* hb_get_audio_mixdowns() { return hb_audio_mixdowns; }
int hb_get_audio_mixdowns_count() { return hb_audio_mixdowns_count; }
hb_encoder_t* hb_get_video_encoders() { return hb_video_encoders; }
hb_encoder_t* hb_get_audio_encoders() { return hb_audio_encoders; }
int hb_get_audio_encoders_count() { return hb_audio_encoders_count; }
+int hb_audio_dither_get_default()
+{
+ // "auto"
+ return hb_audio_dithers[0].method;
+}
+
+int hb_audio_dither_get_default_method()
+{
+ /*
+ * input could be s16 (possibly already dithered) converted to flt, so
+ * let's use a "low-risk" dither algorithm (standard triangular).
+ */
+ return AV_RESAMPLE_DITHER_TRIANGULAR;
+}
+
+int hb_audio_dither_is_supported(uint32_t codec)
+{
+ // encoder's input sample format must be s16(p)
+ switch (codec)
+ {
+ case HB_ACODEC_FFFLAC:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+const char* hb_audio_dither_get_description(int method)
+{
+ int i;
+ for (i = 0; i < hb_audio_dithers_count; i++)
+ {
+ if (hb_audio_dithers[i].method == method)
+ {
+ return hb_audio_dithers[i].description;
+ }
+ }
+ return "";
+}
+
+
int hb_mixdown_is_supported(int mixdown, uint32_t codec, uint64_t layout)
{
return (hb_mixdown_has_codec_support(mixdown, codec) &&
audiocfg->out.dynamic_range_compression = 0;
audiocfg->out.gain = 0;
audiocfg->out.normalize_mix_level = 0;
+ audiocfg->out.dither_method = hb_audio_dither_get_default();
audiocfg->out.name = NULL;
}
audio->config.out.normalize_mix_level = 0;
audio->config.out.compression_level = -1;
audio->config.out.quality = HB_INVALID_AUDIO_QUALITY;
+ audio->config.out.dither_method = AV_RESAMPLE_DITHER_NONE;
}
else
{
audio->config.out.mixdown = audiocfg->out.mixdown;
audio->config.out.gain = audiocfg->out.gain;
audio->config.out.normalize_mix_level = audiocfg->out.normalize_mix_level;
+ audio->config.out.dither_method = audiocfg->out.dither_method;
}
if (audiocfg->out.name && *audiocfg->out.name)
{
typedef struct hb_handle_s hb_handle_t;
typedef struct hb_list_s hb_list_t;
typedef struct hb_rate_s hb_rate_t;
+typedef struct hb_dither_s hb_dither_t;
typedef struct hb_mixdown_s hb_mixdown_t;
typedef struct hb_encoder_s hb_encoder_t;
typedef struct hb_job_s hb_job_t;
int rate;
};
+struct hb_dither_s
+{
+ const char *description;
+ const char *short_name;
+ int method;
+};
+
struct hb_mixdown_s
{
const char *human_readable_name;
extern int hb_audio_rates_default;
extern hb_rate_t hb_audio_bitrates[];
extern int hb_audio_bitrates_count;
+extern hb_dither_t hb_audio_dithers[];
+extern int hb_audio_dithers_count;
extern hb_mixdown_t hb_audio_mixdowns[];
extern int hb_audio_mixdowns_count;
extern hb_encoder_t hb_video_encoders[];
int hb_get_audio_rates_default();
hb_rate_t* hb_get_audio_bitrates();
int hb_get_audio_bitrates_count();
+hb_dither_t* hb_get_audio_dithers();
+int hb_get_audio_dithers_count();
hb_mixdown_t* hb_get_audio_mixdowns();
int hb_get_audio_mixdowns_count();
hb_encoder_t* hb_get_video_encoders();
hb_encoder_t* hb_get_audio_encoders();
int hb_get_audio_encoders_count();
+int hb_audio_dither_get_default();
+int hb_audio_dither_get_default_method();
+int hb_audio_dither_is_supported(uint32_t codec);
+const char* hb_audio_dither_get_description(int method);
+
int hb_mixdown_is_supported(int mixdown, uint32_t codec, uint64_t layout);
int hb_mixdown_has_codec_support(int mixdown, uint32_t codec);
int hb_mixdown_has_remix_support(int mixdown, uint64_t layout);
double dynamic_range_compression; /* Amount of DRC applied to this track */
double gain; /* Gain (in dB), negative is quieter */
int normalize_mix_level; /* mix level normalization (boolean) */
+ int dither_method; /* dither algorithm */
char * name; /* Output track name */
} out;
pv->title = w->title;
pv->list = hb_list_init();
+ codec = avcodec_find_decoder(w->codec_param);
+ pv->context = avcodec_alloc_context3(codec);
+ if (pv->title->opaque_priv != NULL)
+ {
+ AVFormatContext *ic = (AVFormatContext*)pv->title->opaque_priv;
+ avcodec_copy_context(pv->context, ic->streams[w->audio->id]->codec);
+ }
+ else
+ {
+ pv->parser = av_parser_init(w->codec_param);
+ }
+ hb_ff_set_sample_fmt(pv->context, codec, AV_SAMPLE_FMT_FLT);
+
/* Downmixing & sample_fmt conversion */
if (!(w->audio->config.out.codec & HB_ACODEC_PASS_FLAG))
{
hb_error("decavcodecaInit: hb_audio_resample_init() failed");
return 1;
}
+ // some decoders can downmix using embedded coefficients,
+ // or dedicated audio substreams for a specific channel layout
+ switch (w->audio->config.out.mixdown)
+ {
+ case HB_AMIXDOWN_MONO:
+ if (w->codec_param == AV_CODEC_ID_TRUEHD)
+ {
+ // libavcodec can't decode TrueHD Mono (bug #356)
+ // work around it by requesting Stereo and downmixing
+ pv->context->request_channels = 2;
+ pv->context->request_channel_layout = AV_CH_LAYOUT_STEREO;
+ break;
+ }
+ pv->context->request_channel_layout = AV_CH_LAYOUT_MONO;
+ break;
+ // request 5.1 before downmixing to dpl1/dpl2
+ case HB_AMIXDOWN_DOLBY:
+ case HB_AMIXDOWN_DOLBYPLII:
+ pv->context->request_channel_layout = AV_CH_LAYOUT_5POINT1;
+ break;
+ // request the layout corresponding to the selected mixdown
+ default:
+ pv->context->request_channel_layout =
+ hb_ff_mixdown_xlat(w->audio->config.out.mixdown, NULL);
+ break;
+ }
}
- codec = avcodec_find_decoder( w->codec_param );
- if ( pv->title->opaque_priv )
- {
- AVFormatContext *ic = (AVFormatContext*)pv->title->opaque_priv;
- pv->context = avcodec_alloc_context3(codec);
- avcodec_copy_context( pv->context, ic->streams[w->audio->id]->codec);
- hb_ff_set_sample_fmt( pv->context, codec, AV_SAMPLE_FMT_FLT );
- }
- else
- {
- pv->parser = av_parser_init( w->codec_param );
-
- pv->context = avcodec_alloc_context3(codec);
- hb_ff_set_sample_fmt( pv->context, codec, AV_SAMPLE_FMT_FLT );
- }
- if ( hb_avcodec_open( pv->context, codec, NULL, 0 ) )
+ if (hb_avcodec_open(pv->context, codec, NULL, 0))
{
- hb_log( "decavcodecaInit: avcodec_open failed" );
+ hb_log("decavcodecaInit: avcodec_open failed");
return 1;
}
unsigned char *pbuffer;
int pos, pbuffer_size;
- while ( buf && !ret )
+ while (buf != NULL && !ret)
{
pos = 0;
- while ( pos < buf->size )
+ while (pos < buf->size)
{
- int len;
+ int len, truehd_mono = 0;
- if ( parser != NULL )
+ if (parser != NULL)
{
- len = av_parser_parse2( parser, context, &pbuffer,
- &pbuffer_size, buf->data + pos,
- buf->size - pos, buf->s.start,
- buf->s.start, 0 );
+ len = av_parser_parse2(parser, context, &pbuffer, &pbuffer_size,
+ buf->data + pos, buf->size - pos,
+ buf->s.start, buf->s.start, 0);
+ if (context->codec_id == AV_CODEC_ID_TRUEHD &&
+ context->channel_layout == AV_CH_LAYOUT_MONO)
+ {
+ // libavcodec can't decode TrueHD Mono (bug #356)
+ // work around it by requesting Stereo before decoding
+ truehd_mono = 1;
+ context->request_channels = 2;
+ context->request_channel_layout = AV_CH_LAYOUT_STEREO;
+ }
+ else
+ {
+ context->request_channels = 0;
+ context->request_channel_layout = 0;
+ }
}
else
{
len = pbuffer_size = buf->size;
}
pos += len;
- if ( pbuffer_size > 0 )
+ if (pbuffer_size > 0)
{
int got_frame;
AVFrame frame = { { 0 } };
avp.data = pbuffer;
avp.size = pbuffer_size;
- len = avcodec_decode_audio4( context, &frame, &got_frame, &avp );
- if ( len > 0 && context->sample_rate > 0 )
+ len = avcodec_decode_audio4(context, &frame, &got_frame, &avp);
+ if (len > 0 && context->sample_rate > 0)
{
- info->bitrate = context->bit_rate;
- info->rate = context->sample_rate;
- info->rate_base = 1;
- info->channel_layout =
- hb_ff_layout_xlat(context->channel_layout,
- context->channels);
+ info->rate_base = 1;
+ info->rate = context->sample_rate;
+ info->bitrate = context->bit_rate;
+ info->samples_per_frame = frame.nb_samples;
+ if (truehd_mono)
+ {
+ info->channel_layout = AV_CH_LAYOUT_MONO;
+ }
+ else
+ {
+ info->channel_layout =
+ hb_ff_layout_xlat(context->channel_layout,
+ context->channels);
+ }
ret = 1;
- info->samples_per_frame = frame.nb_samples;
break;
}
}
context->channel_layout, 0);
av_opt_set_int(pv->avresample, "out_channel_layout",
context->channel_layout, 0);
+ if (hb_audio_dither_is_supported(audio->config.out.codec))
+ {
+ // dithering needs the sample rate
+ av_opt_set_int(pv->avresample, "in_sample_rate",
+ context->sample_rate, 0);
+ av_opt_set_int(pv->avresample, "out_sample_rate",
+ context->sample_rate, 0);
+ av_opt_set_int(pv->avresample, "dither_method",
+ audio->config.out.dither_method, 0);
+ }
if (avresample_open(pv->avresample))
{
hb_error("encavcodecaInit: avresample_open() failed");
on multi-pass encodes where frames get dropped. */
hb_interjob_t * interjob;
-};
+ // Power Management opaque pointer
+ // For OSX, it's an IOPMAssertionID*
+ void * hb_system_sleep_opaque;
+} ;
hb_work_object_t * hb_objects = NULL;
int hb_instance_counter = 0;
/* Check for an update on the website if asked to */
h->build = -1;
+ /* Initialize opaque for PowerManagement purposes */
+ h->hb_system_sleep_opaque = hb_system_sleep_opaque_init();
+
if( update_check )
{
hb_log( "hb_init: checking for updates" );
/* Check for an update on the website if asked to */
h->build = -1;
+ /* Initialize opaque for PowerManagement purposes */
+ h->hb_system_sleep_opaque = hb_system_sleep_opaque_init();
+
if( update_check )
{
hb_log( "hb_init: checking for updates" );
h->paused = 0;
h->work_die = 0;
- h->work_thread = hb_work_init( h->jobs, &h->work_die, &h->work_error, &h->current_job );
+ h->work_thread = hb_work_init( h, h->jobs, &h->work_die, &h->work_error, &h->current_job );
}
/**
hb_lock( h->state_lock );
h->state.state = HB_STATE_PAUSED;
hb_unlock( h->state_lock );
+
+ hb_allow_sleep( h );
}
}
{
if( h->paused )
{
+ hb_prevent_sleep( h );
+
#define job hb_current_job( h )
if( job->st_pause_date != -1 )
{
hb_unlock( h->pause_lock );
}
+void hb_prevent_sleep( hb_handle_t * h )
+{
+ hb_system_sleep_prevent( h->hb_system_sleep_opaque );
+}
+
+void hb_allow_sleep( hb_handle_t * h )
+{
+ hb_system_sleep_allow( h->hb_system_sleep_opaque );
+}
+
/* Passes a pointer to persistent data */
hb_interjob_t * hb_interjob_get( hb_handle_t * h )
{
**********************************************************************/
int hb_get_pid( hb_handle_t * );
void hb_set_state( hb_handle_t *, hb_state_t * );
+void hb_prevent_sleep( hb_handle_t * );
+void hb_allow_sleep( hb_handle_t * );
/***********************************************************************
* fifo.c
const char * path, int title_index,
hb_title_set_t * title_set, int preview_count,
int store_previews, uint64_t min_duration );
-hb_thread_t * hb_work_init( hb_list_t * jobs,
+hb_thread_t * hb_work_init( hb_handle_t * handle, hb_list_t * jobs,
volatile int * die, int * error, hb_job_t ** job );
void ReadLoop( void * _w );
hb_work_object_t * hb_muxer_init( hb_job_t * );
#include <sys/ioctl.h>
#endif
+#ifdef __APPLE__
+#include <IOKit/pwr_mgt/IOPMLib.h>
+#endif
+
#include <stddef.h>
#include <unistd.h>
return token;
}
#endif
+
+/************************************************************************
+* OS Sleep Allow / Prevent
+***********************************************************************/
+
+#ifdef __APPLE__
+// 128 chars limit for IOPMAssertionCreateWithName
+static CFStringRef reasonForActivity= CFSTR("HandBrake is currently scanning and/or encoding");
+#endif
+
+void* hb_system_sleep_opaque_init()
+{
+ void* opaque;
+#ifdef __APPLE__
+ opaque = calloc( sizeof( IOPMAssertionID ), 1);
+ IOPMAssertionID * assertionID = (IOPMAssertionID *)opaque;
+ *assertionID = -1;
+#endif
+
+ return opaque;
+}
+
+void hb_system_sleep_opaque_close(void **_opaque)
+{
+#ifdef __APPLE__
+ IOPMAssertionID * assertionID = (IOPMAssertionID *) *_opaque;
+ free( assertionID );
+#endif
+ *_opaque = NULL;
+}
+
+void hb_system_sleep_allow(void *opaque)
+{
+#ifdef __APPLE__
+ IOPMAssertionID * assertionID = (IOPMAssertionID *)opaque;
+
+ if (*assertionID == -1)
+ return;
+
+ IOReturn success = IOPMAssertionRelease(*assertionID);
+
+ if (success == kIOReturnSuccess) {
+ hb_deep_log( 3, "osxsleep: IOPM assertion %d successfully released, sleep allowed", *assertionID );
+ *assertionID = -1;
+ } else {
+ hb_log( "osxsleep: error while trying to unset power management assertion" );
+ }
+#endif
+}
+
+void hb_system_sleep_prevent(void *opaque)
+{
+#ifdef __APPLE__
+ IOPMAssertionID * assertionID = (IOPMAssertionID *)opaque;
+
+ if (*assertionID != -1)
+ return;
+
+ IOReturn success = IOPMAssertionCreateWithName(kIOPMAssertionTypeNoIdleSleep,
+ kIOPMAssertionLevelOn, reasonForActivity, assertionID);
+ if (success == kIOReturnSuccess) {
+ hb_deep_log( 3, "IOPM assertion %d successfully created, prevent sleep", *assertionID);
+ } else {
+ hb_log( "osxsleep: error while trying to set power management assertion" );
+ }
+#endif
+}
int hb_net_recv( hb_net_t *, char *, int );
void hb_net_close( hb_net_t ** );
+/************************************************************************
+* OS Sleep Allow / Prevent
+***********************************************************************/
+void * hb_system_sleep_opaque_init();
+void hb_system_sleep_opaque_close( void ** opaque );
+void hb_system_sleep_allow( void * opaque );
+void hb_system_sleep_prevent( void * opaque );
+
#endif /* __LIBHB__ */
#endif
typedef struct
{
- hb_list_t * jobs;
- hb_job_t ** current_job;
- int * error;
+ hb_handle_t * handle;
+ hb_list_t * jobs;
+ hb_job_t ** current_job;
+ int * error;
volatile int * die;
} hb_work_t;
* @param die Handle to user inititated exit indicator.
* @param error Handle to error indicator.
*/
-hb_thread_t * hb_work_init( hb_list_t * jobs, volatile int * die, int * error, hb_job_t ** job )
+hb_thread_t * hb_work_init( hb_handle_t * handle, hb_list_t * jobs, volatile int * die, int * error, hb_job_t ** job )
{
hb_work_t * work = calloc( sizeof( hb_work_t ), 1 );
- work->jobs = jobs;
+ work->handle = handle;
+ work->jobs = jobs;
work->current_job = job;
- work->die = die;
- work->error = error;
+ work->die = die;
+ work->error = error;
return hb_thread_init( "work", work_func, work, HB_LOW_PRIORITY );
}
hb_log( "%d job(s) to process", hb_list_count( work->jobs ) );
+ hb_prevent_sleep( work->handle );
+
while( !*work->die && ( job = hb_list_item( work->jobs, 0 ) ) )
{
hb_list_rem( work->jobs, job );
job->die = work->die;
*(work->current_job) = job;
+
InitWorkState( job->h );
do_job( job );
+
*(work->current_job) = NULL;
}
+ hb_allow_sleep( work->handle );
+
*(work->error) = HB_ERROR_NONE;
free( work );
{
hb_log( " + dynamic range compression: %f", audio->config.out.dynamic_range_compression );
}
+ if (hb_audio_dither_is_supported(audio->config.out.codec))
+ {
+ hb_log(" + dither: %s",
+ hb_audio_dither_get_description(audio->config.out.dither_method));
+ }
for( j = 0; j < hb_audio_encoders_count; j++ )
{
if( hb_audio_encoders[j].encoder == audio->config.out.codec )
audio->config.out.bitrate = best_bitrate;
}
}
+
+ /* sense-check the requested dither */
+ if (hb_audio_dither_is_supported(audio->config.out.codec))
+ {
+ if (audio->config.out.dither_method ==
+ hb_audio_dither_get_default())
+ {
+ /* "auto", enable with default settings */
+ audio->config.out.dither_method =
+ hb_audio_dither_get_default_method();
+ }
+ }
+ else if (audio->config.out.dither_method !=
+ hb_audio_dither_get_default())
+ {
+ /* specific dither requested but dithering not supported */
+ hb_log("work: track %d, dithering not supported by codec",
+ audio->config.out.track);
+ }
}
}
// width or height may have changed, unparse
[self x264PresetsChangedDisplayExpandedOptions:nil];
- //[fPictureController reloadStillPreview];
+ [fPictureController decombDeinterlacePreviewImage];
}
<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">|<</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">>|</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>
audio->out.codec = [[[anAudio codec] objectForKey: keyAudioCodec] intValue];
audio->out.compression_level = hb_get_default_audio_compression(audio->out.codec);
audio->out.mixdown = [[[anAudio mixdown] objectForKey: keyAudioMixdown] intValue];
+ audio->out.normalize_mix_level = 0;
audio->out.bitrate = [[[anAudio bitRate] objectForKey: keyAudioBitrate] intValue];
audio->out.samplerate = [sampleRateToUse intValue];
audio->out.dynamic_range_compression = [[anAudio drc] floatValue];
audio->out.gain = [[anAudio gain] floatValue];
+ audio->out.dither_method = hb_audio_dither_get_default();
hb_audio_add(aJob, audio);
free(audio);
@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;
-
CGFloat backingScaleFactor;
-
- int MaxOutputWidth;
- int MaxOutputHeight;
-
- int output_width, output_height, output_par_width, output_par_height;
- int display_width;
/* 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
#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];
@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 {
- (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.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;
- }
+ }
else // No Anamorphic
{
sizeInfoString = [NSString stringWithFormat:
imageScaledSize.width /= backingScaleFactor;
}
+ // Get the optimal view size for the image
NSSize viewSize = [self optimalViewSizeForImageSize:displaySize];
- [self resizeSheetForViewSize:viewSize];
-
- NSSize windowSize = [[self window] frame].size;
+ 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 / backingScaleFactor;
- minSize.height = fTitle->height / backingScaleFactor;
-
- /* 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 / backingScaleFactor > windowSize.width || fTitle->height / backingScaleFactor > 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 / backingScaleFactor) ;
- viewSize.height = viewSize.width / viewSizeAspect;
+ viewSize.width = areaSize.width;
+ viewSize.height = viewSize.width / pictureAspectRatio;
}
else
{
- viewSize.height = viewSize.height * (windowSize.height / fTitle->height / backingScaleFactor);
- 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"];
}
+/* fMovieView Keyboard controls */
+- (void)keyDown:(NSEvent *)event
+{
+ unichar key = [[event charactersIgnoringModifiers] characterAtIndex:0];
+
+ 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];
+ }
+ else
+ [super keyDown:event];
+ }
+ else
+ [super keyDown:event];
+}
#pragma mark *** QTTime Utilities ***
// convert a time value (long) to a QTTime structure
--(void)timeToQTTime:(long)timeValue resultTime:(QTTime *)aQTTime
+-(QTTime)SliderToQTTime:(double)value
{
- NSNumber *timeScaleObj;
- long timeScaleValue;
-
- timeScaleObj = [aMovie attributeForKey:QTMovieTimeScaleAttribute];
- timeScaleValue = [timeScaleObj longValue];
-
- *aQTTime = QTMakeTime(timeValue, timeScaleValue);
+ long timeScale = [[aMovie attributeForKey:QTMovieTimeScaleAttribute] longValue];
+ return QTMakeTime(value * timeScale, timeScale);
}
- // set the movie's current time
--(void)setTime:(int)timeValue
-{
- QTTime movieQTTime;
- NSValue *valueForQTTime;
-
- [self timeToQTTime:timeValue resultTime:&movieQTTime];
-
- 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 / backingScaleFactor > screenSize.width || fTitle->height / backingScaleFactor > 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 */
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
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;
};
- (IBAction) modeDecombDeinterlaceSliderChanged: (id) sender;
- (IBAction) deblockSliderChanged: (id) sender;
+- (void) decombDeinterlacePreviewImage;
+
- (int) detelecine;
- (NSString*) detelecineCustomString;
- (void) setDetelecine: (int) setting;
hb_job_t * job = fTitle->job;
[fPreviewController SetTitle:fTitle];
- /* Sanity Check Here for < 16 px preview to avoid
- crashing hb_get_preview. In fact, just for kicks
- lets getting previews at a min limit of 32, since
- no human can see any meaningful detail below that */
- if (job->width >= 64 && job->height >= 64)
- {
-
- // Purge the existing picture previews so they get recreated the next time
- // they are needed.
- // [fPreviewController purgeImageCache];
- /* We actually call displayPreview now from pictureSliderChanged which keeps
- * our picture preview slider in sync with the previews being shown
- */
-
- //[fPreviewController pictureSliderChanged:nil];
- }
}
fPictureFilterSettings.grayscale = [fGrayscaleCheck state];
+ [self decombDeinterlacePreviewImage];
+
if (sender != nil)
{
[fHBController pictureSettingsDidChange];
}
-
+- (void) decombDeinterlacePreviewImage
+{
+ if ([fDecombDeinterlaceSlider floatValue] < 0.50)
+ {
+ /* Since Libhb only shows a deinterlaced preview image via deinterlace .. for decomb we
+ do a quick switch to get libhb to show a deinterlaced image if needed even though deinterlace
+ has not been changed by the user. so we temporarily switch deinterace accoring to decomb then
+ call reloadStillPreview quickly and then switch deinterlace back to its proper state.
+ */
+
+ // decomb is chosen
+ if (fPictureFilterSettings.decomb > 0)
+ {
+ /* Temporarily turn on deinterlacing .... */
+ fTitle->job->deinterlace = 1;
+ /* Grab a still preview ... */
+ [self reloadStillPreview];
+ /* ... then reset deinterlace back to where specified in the ui */
+ fTitle->job->deinterlace = [fDeinterlacePopUp indexOfSelectedItem];
+
+ }
+ else
+ {
+ [self reloadStillPreview];
+ }
+
+ }
+ else
+ {
+ fTitle->job->deinterlace = [fDeinterlacePopUp indexOfSelectedItem];
+ [self reloadStillPreview];
+ }
+
+
+}
#pragma mark -
- (IBAction) deblockSliderChanged: (id) sender
static char * mixdowns = NULL;
static char * dynamic_range_compression = NULL;
static char * audio_gain = NULL;
+static char ** audio_dither = NULL;
static char ** normalize_mix_level = NULL;
static char * atracks = NULL;
static char * arates = NULL;
static int CheckOptions( int argc, char ** argv );
static int HandleEvents( hb_handle_t * h );
+static int get_dither_for_string(const char *dither);
static int get_acodec_for_string(const char *codec);
static const char* get_string_for_acodec(int acodec);
str_vfree(abitrates);
str_vfree(acompressions);
str_vfree(aqualities);
+ str_vfree(audio_dither);
free(acodecs);
free(arates);
free(atracks);
}
/* Audio Gain */
+ /* Audio Dither */
+ if (audio_dither != NULL)
+ {
+ int dither_method = hb_audio_dither_get_default();
+ for (i = 0; audio_dither[i] != NULL; i++)
+ {
+ dither_method = get_dither_for_string(audio_dither[i]);
+ audio = hb_list_audio_config_item(job->list_audio, i);
+ if (audio != NULL)
+ {
+ if (hb_audio_dither_is_supported(audio->out.codec))
+ {
+ audio->out.dither_method = dither_method;
+ }
+ else if (dither_method != hb_audio_dither_get_default())
+ {
+ fprintf(stderr,
+ "Ignoring dither %s, not supported by codec\n",
+ audio_dither[i]);
+ }
+ }
+ else
+ {
+ fprintf(stderr, "Ignoring dither %s, no audio tracks\n",
+ audio_dither[i]);
+ }
+ }
+ if (i < num_audio_tracks && i == 1)
+ {
+ /*
+ * We have fewer inputs than audio tracks, and we only have
+ * one input: use that for all tracks.
+ */
+ while (i < num_audio_tracks)
+ {
+ audio = hb_list_audio_config_item(job->list_audio, i);
+ if (hb_audio_dither_is_supported(audio->out.codec))
+ {
+ audio->out.dither_method = dither_method;
+ }
+ else if (dither_method != hb_audio_dither_get_default())
+ {
+ fprintf(stderr,
+ "Ignoring dither %s, not supported by codec\n",
+ audio_dither[0]);
+ }
+ i++;
+ }
+ }
+ }
+ /* Audio Dither */
+
/* Audio Mix Normalization */
i = 0;
int norm = 0;
" NOT work with audio passthru (copy). Values are in\n"
" dB. Negative values attenuate, positive values\n"
" amplify. A 1 dB difference is barely audible.\n"
+ " --adither <string> Apply dithering to the audio before encoding.\n"
+ " Separated by commas for more than one audio track.\n"
+ " Only supported by some encoders (");
+ for (i = j = 0; i < hb_audio_encoders_count; i++)
+ {
+ if (hb_audio_dither_is_supported(hb_audio_encoders[i].encoder))
+ {
+ if (j)
+ fprintf(out, "/");
+ fprintf(out, "%s", hb_audio_encoders[i].short_name);
+ j = 1;
+ }
+ }
+ fprintf(out, ").\n");
+ fprintf(out,
+ " Options:\n");
+ for (i = 0; i < hb_audio_dithers_count; i++)
+ {
+ if (hb_audio_dithers[i].method == hb_audio_dither_get_default())
+ {
+ fprintf(out, " %s (default)\n",
+ hb_audio_dithers[i].short_name);
+ }
+ else
+ {
+ fprintf(out, " %s\n",
+ hb_audio_dithers[i].short_name);
+ }
+ }
+ fprintf(out,
" -A, --aname <string> Audio track name(s),\n"
" Separated by commas for more than one audio track.\n"
"\n"
#define H264_PROFILE 285
#define H264_LEVEL 286
#define NORMALIZE_MIX 287
-
+ #define AUDIO_DITHER 288
+
for( ;; )
{
static struct option long_options[] =
{ "normalize-mix", required_argument, NULL, NORMALIZE_MIX },
{ "drc", required_argument, NULL, 'D' },
{ "gain", required_argument, NULL, AUDIO_GAIN },
+ { "adither", required_argument, NULL, AUDIO_DITHER },
{ "subtitle", required_argument, NULL, 's' },
{ "subtitle-forced", optional_argument, NULL, 'F' },
{ "subtitle-burned", optional_argument, NULL, SUB_BURNED },
audio_gain = strdup( optarg );
}
break;
+ case AUDIO_DITHER:
+ if (optarg != NULL)
+ {
+ audio_dither = str_split(optarg, ',');
+ }
+ break;
case NORMALIZE_MIX:
if( optarg != NULL )
{
return 0;
}
+static int get_dither_for_string(const char *dither)
+{
+ int i;
+ for (i = 0; i < hb_audio_dithers_count; i++)
+ {
+ if (!strcasecmp(hb_audio_dithers[i].short_name, dither))
+ {
+ return hb_audio_dithers[i].method;
+ }
+ }
+ return hb_audio_dither_get_default();
+}
+
static int get_acodec_for_string(const char *codec)
{
int i;
{\r
using System;\r
using System.Diagnostics;\r
+ using System.Globalization;\r
\r
using HandBrake.ApplicationServices.Model;\r
using HandBrake.ApplicationServices.Services.Base;\r
using HandBrake.ApplicationServices.Services.Interfaces;\r
using HandBrake.ApplicationServices.Utilities;\r
using HandBrake.Interop;\r
+ using HandBrake.Interop.EventArgs;\r
using HandBrake.Interop.Interfaces;\r
using HandBrake.Interop.Model;\r
\r
{\r
this.IsEncoding = false;\r
this.instance.StopEncode();\r
- } \r
- catch(Exception)\r
+ }\r
+ catch (Exception)\r
{\r
// Do Nothing.\r
}\r
/// <param name="e">\r
/// The Interop.EncodeProgressEventArgs.\r
/// </param>\r
- private void InstanceEncodeProgress(object sender, Interop.EncodeProgressEventArgs e)\r
+ private void InstanceEncodeProgress(object sender, Interop.EventArgs.EncodeProgressEventArgs e)\r
{\r
EncodeProgressEventArgs args = new EncodeProgressEventArgs\r
{\r
if (this.WindowsSeven.IsWindowsSeven)\r
{\r
int percent;\r
- int.TryParse(Math.Round(e.FractionComplete).ToString(), out percent);\r
+ int.TryParse(Math.Round(e.FractionComplete).ToString(CultureInfo.InvariantCulture), out percent);\r
\r
this.WindowsSeven.SetTaskBarProgress(percent);\r
}\r
/// <param name="e">\r
/// The e.\r
/// </param>\r
- private void InstanceEncodeCompleted(object sender, Interop.EncodeCompletedEventArgs e)\r
+ private void InstanceEncodeCompleted(object sender, Interop.EventArgs.EncodeCompletedEventArgs e)\r
{\r
this.IsEncoding = false;\r
\r
using HandBrake.ApplicationServices.Services.Interfaces;\r
using HandBrake.ApplicationServices.Utilities;\r
using HandBrake.Interop;\r
+ using HandBrake.Interop.EventArgs;\r
using HandBrake.Interop.Interfaces;\r
\r
using AudioTrack = HandBrake.ApplicationServices.Parsing.Audio;\r
- using ScanProgressEventArgs = HandBrake.Interop.ScanProgressEventArgs;\r
+ using ScanProgressEventArgs = HandBrake.Interop.EventArgs.ScanProgressEventArgs;\r
using Size = System.Drawing.Size;\r
\r
/// <summary>\r
using HandBrake.Interop.SourceData;\r
using HandBrake.Interop.Model;\r
\r
+ /// <summary>\r
+ /// The converters.\r
+ /// </summary>\r
public static class Converters\r
{\r
/// <summary>\r
/// Video Frame Rates\r
/// </summary>\r
- private static Dictionary<double, int> vrates = new Dictionary<double, int>\r
+ private static readonly Dictionary<double, int> VideoRates = new Dictionary<double, int>\r
{\r
{5, 5400000},\r
{10, 2700000},\r
/// </exception>\r
public static int FramerateToVrate(double framerate)\r
{\r
- if (!vrates.ContainsKey(framerate))\r
+ if (!VideoRates.ContainsKey(framerate))\r
{\r
throw new ArgumentException("Framerate not recognized.", "framerate");\r
}\r
\r
- return vrates[framerate];\r
+ return VideoRates[framerate];\r
}\r
\r
/// <summary>\r
// </summary>\r
// --------------------------------------------------------------------------------------------------------------------\r
\r
-namespace HandBrake.Interop\r
+namespace HandBrake.Interop.EventArgs\r
{\r
- using System;\r
+ using System;\r
\r
/// <summary>\r
/// Encode Completed Event Args\r
// </summary>\r
// --------------------------------------------------------------------------------------------------------------------\r
\r
-namespace HandBrake.Interop\r
+namespace HandBrake.Interop.EventArgs\r
{\r
- using System;\r
+ using System;\r
\r
- /// <summary>\r
+ /// <summary>s\r
/// Encode Progress Event Args\r
/// </summary>\r
public class EncodeProgressEventArgs : EventArgs\r
// </summary>\r
// --------------------------------------------------------------------------------------------------------------------\r
\r
-namespace HandBrake.Interop\r
+namespace HandBrake.Interop.EventArgs\r
{\r
- using System;\r
+ using System;\r
\r
- /// <summary>\r
+ /// <summary>\r
/// The Message Logged Event Args\r
/// </summary>\r
public class MessageLoggedEventArgs : EventArgs\r
// </summary>\r
// --------------------------------------------------------------------------------------------------------------------\r
\r
-namespace HandBrake.Interop\r
+namespace HandBrake.Interop.EventArgs\r
{\r
- using System;\r
+ using System;\r
\r
/// <summary>\r
/// The Scan Progress Event Args\r
using System.Runtime.InteropServices;\r
using System.Windows.Media.Imaging;\r
\r
+ using HandBrake.Interop.EventArgs;\r
using HandBrake.Interop.HbLib;\r
using HandBrake.Interop.Interfaces;\r
using HandBrake.Interop.Model;\r
/// <summary>\r
/// Fires when a scan has completed.\r
/// </summary>\r
- public event EventHandler<EventArgs> ScanCompleted;\r
+ public event EventHandler<System.EventArgs> ScanCompleted;\r
\r
/// <summary>\r
/// Fires for progress updates when encoding.\r
\r
if (this.ScanCompleted != null)\r
{\r
- this.ScanCompleted(this, new EventArgs());\r
+ this.ScanCompleted(this, new System.EventArgs());\r
}\r
}\r
}\r
</ItemGroup>\r
<ItemGroup>\r
<Compile Include="Converters.cs" />\r
- <Compile Include="EncodeCompletedEventArgs.cs" />\r
- <Compile Include="EncodeProgressEventArgs.cs" />\r
+ <Compile Include="EventArgs\EncodeCompletedEventArgs.cs" />\r
+ <Compile Include="EventArgs\EncodeProgressEventArgs.cs" />\r
<Compile Include="HandBrakeUtils.cs" />\r
<Compile Include="HandBrakeInstance.cs" />\r
<Compile Include="HbLib\HBFunctions.cs" />\r
<Compile Include="Language.cs" />\r
<Compile Include="LanguageCodes.cs" />\r
<Compile Include="MarshalingConstants.cs" />\r
- <Compile Include="MessageLoggedEventArgs.cs" />\r
+ <Compile Include="EventArgs\MessageLoggedEventArgs.cs" />\r
<Compile Include="Model\Cropping.cs" />\r
<Compile Include="Model\EncodeJob.cs" />\r
<Compile Include="Model\Encoders.cs" />\r
<Compile Include="Model\VideoRangeType.cs" />\r
<Compile Include="NativeList.cs" />\r
<Compile Include="Properties\AssemblyInfo.cs" />\r
- <Compile Include="ScanProgressEventArgs.cs" />\r
+ <Compile Include="EventArgs\ScanProgressEventArgs.cs" />\r
<Compile Include="SourceData\AudioCodec.cs" />\r
<Compile Include="SourceData\AudioTrack.cs" />\r
<Compile Include="SourceData\Chapter.cs" />\r
using System;\r
using System.Collections.Generic;\r
using System.Runtime.InteropServices;\r
+\r
+ using HandBrake.Interop.EventArgs;\r
using HandBrake.Interop.HbLib;\r
using HandBrake.Interop.Model;\r
using HandBrake.Interop.Model.Encoding;\r
using System.Collections.Generic;\r
using System.Windows.Media.Imaging;\r
\r
+ using HandBrake.Interop.EventArgs;\r
using HandBrake.Interop.Model;\r
using HandBrake.Interop.SourceData;\r
\r
IntPtr nativeListInternal = Marshal.AllocHGlobal(capacity * intSize);\r
returnList.AllocatedMemory.Add(nativeListInternal);\r
\r
- hb_list_s nativeListStruct = new hb_list_s();\r
- nativeListStruct.items = nativeListInternal;\r
- nativeListStruct.items_alloc = capacity;\r
- nativeListStruct.items_count = 0;\r
+ hb_list_s nativeListStruct = new hb_list_s { items = nativeListInternal, items_alloc = capacity, items_count = 0 };\r
\r
- IntPtr nativeListStructPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(hb_list_s)));\r
+ IntPtr nativeListStructPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(hb_list_s)));\r
Marshal.StructureToPtr(nativeListStruct, nativeListStructPtr, false);\r
\r
returnList.ListPtr = nativeListStructPtr;\r
Marshal.WriteIntPtr(nativeListInternal, i * intSize, list[i]);\r
}\r
\r
- hb_list_s nativeListStruct = new hb_list_s();\r
- nativeListStruct.items = nativeListInternal;\r
- nativeListStruct.items_alloc = list.Count;\r
- nativeListStruct.items_count = list.Count;\r
+ hb_list_s nativeListStruct = new hb_list_s\r
+ {\r
+ items = nativeListInternal,\r
+ items_alloc = list.Count,\r
+ items_count = list.Count\r
+ };\r
\r
- IntPtr nativeListStructPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(hb_list_s)));\r
+ IntPtr nativeListStructPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(hb_list_s)));\r
Marshal.StructureToPtr(nativeListStruct, nativeListStructPtr, false);\r
\r
returnList.ListPtr = nativeListStructPtr;\r
Marshal.WriteIntPtr(nativeListInternal, i * intSize, itemPtr);\r
}\r
\r
- hb_list_s nativeListStruct = new hb_list_s();\r
- nativeListStruct.items = nativeListInternal;\r
- nativeListStruct.items_alloc = list.Count;\r
- nativeListStruct.items_count = list.Count;\r
+ hb_list_s nativeListStruct = new hb_list_s\r
+ {\r
+ items = nativeListInternal,\r
+ items_alloc = list.Count,\r
+ items_count = list.Count\r
+ };\r
\r
- IntPtr nativeListStructPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(hb_list_s)));\r
+ IntPtr nativeListStructPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(hb_list_s)));\r
Marshal.StructureToPtr(nativeListStruct, nativeListStructPtr, false);\r
\r
returnList.ListPtr = nativeListStructPtr;\r
namespace HandBrake.Interop\r
{\r
using System.Collections.Generic;\r
+ using System.Linq;\r
\r
/// <summary>\r
/// Contains utilities for converting language codes.\r
{\r
get\r
{\r
- List<Language> languages = new List<Language>();\r
-\r
- foreach (string languageCode in LanguageMap.Keys)\r
- {\r
- languages.Add(new Language(languageCode));\r
- }\r
-\r
- return languages;\r
+ return LanguageMap.Keys.Select(languageCode => new Language(languageCode)).ToList();\r
}\r
}\r
\r
\r
namespace HandBrake.Interop\r
{\r
- public static class MarshalingConstants\r
+ /// <summary>\r
+ /// The marshaling constants.\r
+ /// </summary>\r
+ public static class MarshalingConstants\r
{\r
#if X64\r
public const int JobPaddingBytes = 49264;\r
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="BitrateLimits.cs" company="HandBrake Project (http://handbrake.fr)">
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
-// </copyright>
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="BitrateLimits.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
+// Defines the BitrateLimits type.\r
+// </summary>\r
// --------------------------------------------------------------------------------------------------------------------
namespace HandBrake.Interop.Model
-{
- public class BitrateLimits
- {
- public int Low { get; set; }
-
- public int High { get; set; }
+{\r
+ /// <summary>\r
+ /// The bitrate limits.\r
+ /// </summary>\r
+ public class BitrateLimits
+ {\r
+ /// <summary>\r
+ /// Gets or sets the low.\r
+ /// </summary>\r
+ public int Low { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the high.\r
+ /// </summary>\r
+ public int High { get; set; }
}
}
\r
namespace HandBrake.Interop.Model\r
{\r
- using System;\r
- using System.Collections.Generic;\r
- using System.Xml.Serialization;\r
-\r
- using HandBrake.Interop.Model.Encoding;\r
-\r
- public class EncodeJob\r
- {\r
- public SourceType SourceType { get; set; }\r
- public string SourcePath { get; set; }\r
-\r
- /// <summary>\r
- /// Gets or sets the 1-based index of the title to encode.\r
- /// </summary>\r
- public int Title { get; set; }\r
-\r
- /// <summary>\r
- /// Gets or sets the angle to encode. 0 for default, 1+ for specified angle.\r
- /// </summary>\r
- public int Angle { get; set; }\r
-\r
- public VideoRangeType RangeType { get; set; }\r
- public int ChapterStart { get; set; }\r
- public int ChapterEnd { get; set; }\r
-\r
- public double SecondsStart { get; set; }\r
- public double SecondsEnd { get; set; }\r
-\r
- public int FramesStart { get; set; }\r
- public int FramesEnd { get; set; }\r
-\r
- /// <summary>\r
- /// Gets or sets the list of chosen audio tracks (1-based)\r
- /// </summary>\r
- public List<int> ChosenAudioTracks { get; set; }\r
- public Subtitles Subtitles { get; set; }\r
- public bool UseDefaultChapterNames { get; set; }\r
- public List<string> CustomChapterNames { get; set; }\r
-\r
- public string OutputPath { get; set; }\r
-\r
- public EncodingProfile EncodingProfile { get; set; }\r
-\r
- // The length of video to encode.\r
- [XmlIgnore]\r
- public TimeSpan Length { get; set; }\r
-\r
- [XmlElement("Length")]\r
- public string XmlLength\r
- {\r
- get { return this.Length.ToString(); }\r
- set { this.Length = TimeSpan.Parse(value); }\r
- }\r
-\r
- public EncodeJob Clone()\r
- {\r
- EncodeJob clone = new EncodeJob\r
- {\r
- SourceType = this.SourceType,\r
- SourcePath = this.SourcePath,\r
- Title = this.Title,\r
- Angle = this.Angle,\r
- RangeType = this.RangeType,\r
- ChapterStart = this.ChapterStart,\r
- ChapterEnd = this.ChapterEnd,\r
- SecondsStart = this.SecondsStart,\r
- SecondsEnd = this.SecondsEnd,\r
- FramesStart = this.FramesStart,\r
- FramesEnd = this.FramesEnd,\r
- ChosenAudioTracks = new List<int>(this.ChosenAudioTracks),\r
- Subtitles = this.Subtitles,\r
- UseDefaultChapterNames = this.UseDefaultChapterNames,\r
- OutputPath = this.OutputPath,\r
- EncodingProfile = this.EncodingProfile,\r
- Length = this.Length\r
- };\r
-\r
- return clone;\r
- }\r
- }\r
-}\r
+ using System;\r
+ using System.Collections.Generic;\r
+ using System.Xml.Serialization;\r
+\r
+ using HandBrake.Interop.Model.Encoding;\r
+\r
+ /// <summary>\r
+ /// The encode job.\r
+ /// </summary>\r
+ public class EncodeJob\r
+ {\r
+ #region Properties\r
+\r
+ /// <summary>\r
+ /// Gets or sets the angle to encode. 0 for default, 1+ for specified angle.\r
+ /// </summary>\r
+ public int Angle { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the chapter end.\r
+ /// </summary>\r
+ public int ChapterEnd { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the chapter start.\r
+ /// </summary>\r
+ public int ChapterStart { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the list of chosen audio tracks (1-based)\r
+ /// </summary>\r
+ public List<int> ChosenAudioTracks { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the custom chapter names.\r
+ /// </summary>\r
+ public List<string> CustomChapterNames { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the encoding profile.\r
+ /// </summary>\r
+ public EncodingProfile EncodingProfile { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the frames end.\r
+ /// </summary>\r
+ public int FramesEnd { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the frames start.\r
+ /// </summary>\r
+ public int FramesStart { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the length. The length of video to encode.\r
+ /// </summary>\r
+ [XmlIgnore]\r
+ public TimeSpan Length { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the output path.\r
+ /// </summary>\r
+ public string OutputPath { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the range type.\r
+ /// </summary>\r
+ public VideoRangeType RangeType { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the seconds end.\r
+ /// </summary>\r
+ public double SecondsEnd { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the seconds start.\r
+ /// </summary>\r
+ public double SecondsStart { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the source path.\r
+ /// </summary>\r
+ public string SourcePath { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the source type.\r
+ /// </summary>\r
+ public SourceType SourceType { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the subtitles.\r
+ /// </summary>\r
+ public Subtitles Subtitles { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the 1-based index of the title to encode.\r
+ /// </summary>\r
+ public int Title { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets a value indicating whether use default chapter names.\r
+ /// </summary>\r
+ public bool UseDefaultChapterNames { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the xml length.\r
+ /// </summary>\r
+ [XmlElement("Length")]\r
+ public string XmlLength\r
+ {\r
+ get\r
+ {\r
+ return this.Length.ToString();\r
+ }\r
+ set\r
+ {\r
+ this.Length = TimeSpan.Parse(value);\r
+ }\r
+ }\r
+\r
+ #endregion\r
+\r
+ #region Public Methods\r
+\r
+ /// <summary>\r
+ /// The clone.\r
+ /// </summary>\r
+ /// <returns>\r
+ /// The <see cref="EncodeJob"/>.\r
+ /// </returns>\r
+ public EncodeJob Clone()\r
+ {\r
+ var clone = new EncodeJob\r
+ {\r
+ SourceType = this.SourceType, \r
+ SourcePath = this.SourcePath, \r
+ Title = this.Title, \r
+ Angle = this.Angle, \r
+ RangeType = this.RangeType, \r
+ ChapterStart = this.ChapterStart, \r
+ ChapterEnd = this.ChapterEnd, \r
+ SecondsStart = this.SecondsStart, \r
+ SecondsEnd = this.SecondsEnd, \r
+ FramesStart = this.FramesStart, \r
+ FramesEnd = this.FramesEnd, \r
+ ChosenAudioTracks = new List<int>(this.ChosenAudioTracks), \r
+ Subtitles = this.Subtitles, \r
+ UseDefaultChapterNames = this.UseDefaultChapterNames, \r
+ OutputPath = this.OutputPath, \r
+ EncodingProfile = this.EncodingProfile, \r
+ Length = this.Length\r
+ };\r
+\r
+ return clone;\r
+ }\r
+\r
+ #endregion\r
+ }\r
+}
\ No newline at end of file
// <copyright file="Encoders.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 encoders.\r
+// </summary>\r
// --------------------------------------------------------------------------------------------------------------------\r
\r
namespace HandBrake.Interop.Model\r
using System;\r
using System.Collections.Generic;\r
using System.Linq;\r
- using System.Runtime.InteropServices;\r
+\r
using HandBrake.Interop.HbLib;\r
using HandBrake.Interop.Model.Encoding;\r
using HandBrake.Interop.SourceData;\r
\r
- public static class Encoders\r
+ /// <summary>\r
+ /// The encoders.\r
+ /// </summary>\r
+ public static class Encoders\r
{\r
- private static List<HBAudioEncoder> audioEncoders;\r
- private static List<HBVideoEncoder> videoEncoders;\r
- private static List<HBMixdown> mixdowns;\r
- private static List<int> audioBitrates; \r
+ /// <summary>\r
+ /// The audio encoders.\r
+ /// </summary>\r
+ private static List<HBAudioEncoder> audioEncoders;\r
+\r
+ /// <summary>\r
+ /// The video encoders.\r
+ /// </summary>\r
+ private static List<HBVideoEncoder> videoEncoders;\r
+\r
+ /// <summary>\r
+ /// The mixdowns.\r
+ /// </summary>\r
+ private static List<HBMixdown> mixdowns;\r
+\r
+ /// <summary>\r
+ /// The audio bitrates.\r
+ /// </summary>\r
+ private static List<int> audioBitrates; \r
\r
/// <summary>\r
/// Gets a list of supported audio encoders.\r
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="RangeLimits.cs" company="HandBrake Project (http://handbrake.fr)">
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
-// </copyright>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.Interop.Model
-{
- public class RangeLimits
- {
- public float Low { get; set; }
- public float High { get; set; }
- public float Granularity { get; set; }
- public bool Ascending { get; set; }
- }
-}
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="RangeLimits.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 range limits.\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrake.Interop.Model\r
+{\r
+ /// <summary>\r
+ /// The range limits.\r
+ /// </summary>\r
+ public class RangeLimits\r
+ {\r
+ #region Properties\r
+\r
+ /// <summary>\r
+ /// Gets or sets a value indicating whether ascending.\r
+ /// </summary>\r
+ public bool Ascending { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the granularity.\r
+ /// </summary>\r
+ public float Granularity { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the high.\r
+ /// </summary>\r
+ public float High { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the low.\r
+ /// </summary>\r
+ public float Low { get; set; }\r
+\r
+ #endregion\r
+ }\r
+}
\ No newline at end of file
\r
namespace HandBrake.Interop.Model\r
{\r
- public class Size\r
- {\r
- public Size(int width, int height)\r
- {\r
- this.Width = width;\r
- this.Height = height;\r
- }\r
+ /// <summary>\r
+ /// The size.\r
+ /// </summary>\r
+ public class Size\r
+ {\r
+ #region Constructors and Destructors\r
\r
- public int Width { get; set; }\r
- public int Height { get; set; }\r
- }\r
-}\r
+ /// <summary>\r
+ /// Initializes a new instance of the <see cref="Size"/> class.\r
+ /// </summary>\r
+ /// <param name="width">\r
+ /// The width.\r
+ /// </param>\r
+ /// <param name="height">\r
+ /// The height.\r
+ /// </param>\r
+ public Size(int width, int height)\r
+ {\r
+ this.Width = width;\r
+ this.Height = height;\r
+ }\r
+\r
+ #endregion\r
+\r
+ #region Properties\r
+\r
+ /// <summary>\r
+ /// Gets or sets the height.\r
+ /// </summary>\r
+ public int Height { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the width.\r
+ /// </summary>\r
+ public int Width { get; set; }\r
+\r
+ #endregion\r
+ }\r
+}
\ No newline at end of file
\r
namespace HandBrake.Interop.Model\r
{\r
- public class SourceSubtitle\r
- {\r
- /// <summary>\r
- /// Gets or sets the 1-based subtitle track number. 0 means foreign audio search.\r
- /// </summary>\r
- public int TrackNumber { get; set; }\r
- public bool Default { get; set; }\r
- public bool Forced { get; set; }\r
- public bool BurnedIn { get; set; }\r
-\r
- public SourceSubtitle Clone()\r
- {\r
- return new SourceSubtitle\r
- {\r
- TrackNumber = this.TrackNumber,\r
- Default = this.Default,\r
- Forced = this.Forced,\r
- BurnedIn = this.BurnedIn\r
- };\r
- }\r
- }\r
-}\r
+ /// <summary>\r
+ /// The source subtitle.\r
+ /// </summary>\r
+ public class SourceSubtitle\r
+ {\r
+ #region Properties\r
+\r
+ /// <summary>\r
+ /// Gets or sets a value indicating whether burned in.\r
+ /// </summary>\r
+ public bool BurnedIn { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets a value indicating whether default.\r
+ /// </summary>\r
+ public bool Default { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets a value indicating whether forced.\r
+ /// </summary>\r
+ public bool Forced { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the 1-based subtitle track number. 0 means foreign audio search.\r
+ /// </summary>\r
+ public int TrackNumber { get; set; }\r
+\r
+ #endregion\r
+\r
+ #region Public Methods\r
+\r
+ /// <summary>\r
+ /// The clone.\r
+ /// </summary>\r
+ /// <returns>\r
+ /// The <see cref="SourceSubtitle"/>.\r
+ /// </returns>\r
+ public SourceSubtitle Clone()\r
+ {\r
+ return new SourceSubtitle\r
+ {\r
+ TrackNumber = this.TrackNumber, \r
+ Default = this.Default, \r
+ Forced = this.Forced, \r
+ BurnedIn = this.BurnedIn\r
+ };\r
+ }\r
+\r
+ #endregion\r
+ }\r
+}
\ No newline at end of file
\r
namespace HandBrake.Interop.Model\r
{\r
- public enum SourceType\r
- {\r
- None = 0,\r
- File,\r
- VideoFolder,\r
- Dvd\r
- }\r
+ /// <summary>\r
+ /// The source type.\r
+ /// </summary>\r
+ public enum SourceType\r
+ {\r
+ /// <summary>\r
+ /// The none.\r
+ /// </summary>\r
+ None = 0, \r
+\r
+ /// <summary>\r
+ /// The file.\r
+ /// </summary>\r
+ File, \r
+\r
+ /// <summary>\r
+ /// The video folder.\r
+ /// </summary>\r
+ VideoFolder, \r
+\r
+ /// <summary>\r
+ /// The dvd.\r
+ /// </summary>\r
+ Dvd\r
+ }\r
}
\ No newline at end of file
\r
namespace HandBrake.Interop.Model\r
{\r
- public class SrtSubtitle\r
- {\r
- public bool Default { get; set; }\r
- public string FileName { get; set; }\r
- public string LanguageCode { get; set; }\r
- public string CharacterCode { get; set; }\r
- public int Offset { get; set; }\r
-\r
- public SrtSubtitle Clone()\r
- {\r
- return new SrtSubtitle\r
- {\r
- Default = this.Default,\r
- FileName = this.FileName,\r
- LanguageCode = this.LanguageCode,\r
- CharacterCode = this.CharacterCode,\r
- Offset = this.Offset\r
- };\r
- }\r
- }\r
-}\r
+ /// <summary>\r
+ /// The srt subtitle.\r
+ /// </summary>\r
+ public class SrtSubtitle\r
+ {\r
+ #region Properties\r
+\r
+ /// <summary>\r
+ /// Gets or sets the character code.\r
+ /// </summary>\r
+ public string CharacterCode { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets a value indicating whether default.\r
+ /// </summary>\r
+ public bool Default { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the file name.\r
+ /// </summary>\r
+ public string FileName { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the language code.\r
+ /// </summary>\r
+ public string LanguageCode { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the offset.\r
+ /// </summary>\r
+ public int Offset { get; set; }\r
+\r
+ #endregion\r
+\r
+ #region Public Methods\r
+\r
+ /// <summary>\r
+ /// The clone.\r
+ /// </summary>\r
+ /// <returns>\r
+ /// The <see cref="SrtSubtitle"/>.\r
+ /// </returns>\r
+ public SrtSubtitle Clone()\r
+ {\r
+ return new SrtSubtitle\r
+ {\r
+ Default = this.Default, \r
+ FileName = this.FileName, \r
+ LanguageCode = this.LanguageCode, \r
+ CharacterCode = this.CharacterCode, \r
+ Offset = this.Offset\r
+ };\r
+ }\r
+\r
+ #endregion\r
+ }\r
+}
\ No newline at end of file
{\r
using System.Collections.Generic;\r
\r
+ /// <summary>\r
+ /// The subtitles.\r
+ /// </summary>\r
public class Subtitles\r
- {\r
- public List<SrtSubtitle> SrtSubtitles { get; set; }\r
- public List<SourceSubtitle> SourceSubtitles { get; set; }\r
- }\r
-}\r
+ {\r
+ #region Properties\r
+\r
+ /// <summary>\r
+ /// Gets or sets the source subtitles.\r
+ /// </summary>\r
+ public List<SourceSubtitle> SourceSubtitles { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets the srt subtitles.\r
+ /// </summary>\r
+ public List<SrtSubtitle> SrtSubtitles { get; set; }\r
+\r
+ #endregion\r
+ }\r
+}
\ No newline at end of file
{\r
using System.ComponentModel.DataAnnotations;\r
\r
+ /// <summary>\r
+ /// The video range type.\r
+ /// </summary>\r
public enum VideoRangeType\r
- {\r
- [Display(Name = "Chapters")]\r
- Chapters,\r
+ {\r
+ /// <summary>\r
+ /// The chapters.\r
+ /// </summary>\r
+ [Display(Name = "Chapters")]\r
+ Chapters, \r
\r
- [Display(Name = "Seconds")]\r
- Seconds,\r
+ /// <summary>\r
+ /// The seconds.\r
+ /// </summary>\r
+ [Display(Name = "Seconds")]\r
+ Seconds, \r
\r
- [Display(Name = "Frames")]\r
- Frames\r
- }\r
-}\r
+ /// <summary>\r
+ /// The frames.\r
+ /// </summary>\r
+ [Display(Name = "Frames")]\r
+ Frames\r
+ }\r
+}
\ No newline at end of file
\r
namespace HandBrake.Interop.SourceData\r
{\r
- // Only contains 2 real codecs at the moment as those are what we care about. More will be added later.\r
- public enum AudioCodec\r
- {\r
- Ac3,\r
+ /// <summary>\r
+ /// The audio codec.\r
+ /// Only contains 2 real codecs at the moment as those are what we care about. More will be added later.\r
+ /// </summary>\r
+ public enum AudioCodec\r
+ {\r
+ /// <summary>\r
+ /// The ac 3.\r
+ /// </summary>\r
+ Ac3, \r
\r
- Dts,\r
+ /// <summary>\r
+ /// The dts.\r
+ /// </summary>\r
+ Dts, \r
\r
- DtsHD,\r
+ /// <summary>\r
+ /// The dts hd.\r
+ /// </summary>\r
+ DtsHD, \r
\r
- Mp3,\r
+ /// <summary>\r
+ /// The mp 3.\r
+ /// </summary>\r
+ Mp3, \r
\r
- Aac,\r
+ /// <summary>\r
+ /// The aac.\r
+ /// </summary>\r
+ Aac, \r
\r
- Other,\r
+ /// <summary>\r
+ /// The other.\r
+ /// </summary>\r
+ Other, \r
\r
+ /// <summary>\r
+ /// The flac.\r
+ /// </summary>\r
Flac\r
- }\r
-}\r
+ }\r
+}
\ No newline at end of file
return this.GetDisplayString(true);\r
}\r
\r
- private string GetDisplayString(bool includeTrackNumber)\r
- {\r
- if (includeTrackNumber)\r
+ /// <summary>\r
+ /// The get display string.\r
+ /// </summary>\r
+ /// <param name="includeTrackNumber">\r
+ /// The include track number.\r
+ /// </param>\r
+ /// <returns>\r
+ /// The <see cref="string"/>.\r
+ /// </returns>\r
+ private string GetDisplayString(bool includeTrackNumber)\r
+ {\r
+ if (includeTrackNumber)\r
{\r
return this.TrackNumber + " " + this.Description;\r
}\r
- else\r
- {\r
- return this.Description;\r
- }\r
- }\r
+ \r
+ return this.Description;\r
+ }\r
}\r
}
\ No newline at end of file
namespace HandBrake.Interop.SourceData\r
{\r
using System;\r
+ using System.Globalization;\r
\r
/// <summary>\r
/// An object representing a Chapter aosciated with a Title, in a DVD\r
/// <returns>A string formatted as: {chapter #}</returns>\r
public override string ToString()\r
{\r
- return this.ChapterNumber.ToString();\r
+ return this.ChapterNumber.ToString(CultureInfo.InvariantCulture);\r
}\r
}\r
}
\ No newline at end of file
{\r
using System.ComponentModel.DataAnnotations;\r
\r
+ /// <summary>\r
+ /// The input type.\r
+ /// </summary>\r
public enum InputType\r
{\r
[Display(Name = "File")]\r
return string.Format("{0} {1} ({2})", this.TrackNumber, this.Language, this.SubtitleSource);\r
}\r
\r
- public string Display\r
+ /// <summary>\r
+ /// Gets the display.\r
+ /// </summary>\r
+ public string Display\r
{\r
get\r
{\r
\r
namespace HandBrake.Interop.SourceData\r
{\r
- public enum SubtitleSource\r
+ /// <summary>\r
+ /// The subtitle source.\r
+ /// </summary>\r
+ public enum SubtitleSource\r
{\r
VobSub,\r
SRT,\r
\r
namespace HandBrake.Interop.SourceData\r
{\r
- public enum SubtitleType\r
+ /// <summary>\r
+ /// The subtitle type.\r
+ /// </summary>\r
+ public enum SubtitleType\r
{\r
Picture,\r
Text\r
{\r
get\r
{\r
- return (int)Math.Ceiling(((double)this.Duration.TotalSeconds) * this.Framerate);\r
+ return (int)Math.Ceiling(this.Duration.TotalSeconds * this.Framerate);\r
}\r
}\r
\r
{\r
using HandBrake.Interop.Model.Encoding;\r
\r
+ /// <summary>\r
+ /// The utilities.\r
+ /// </summary>\r
public static class Utilities\r
{\r
/// <summary>\r
/// The b.\r
/// </param>\r
/// <returns>\r
+ /// The greatest common factor\r
/// </returns>\r
public static int GreatestCommonFactor(int a, int b)\r
{\r
{\r
return GreatestCommonFactor(a % b, b);\r
}\r
- else\r
- {\r
- return GreatestCommonFactor(a, b % a);\r
- }\r
+ \r
+ return GreatestCommonFactor(a, b % a);\r
}\r
\r
/// <summary>\r
+++ /dev/null
-<Configuration>\r
- <CodeStyleSettings>\r
- <ExternalPath IsNull="False">\r
- </ExternalPath>\r
- <Sharing>SOLUTION</Sharing>\r
- <CSharp>\r
- <FormatSettings>\r
- <ALIGN_MULTILINE_ARGUMENT>False</ALIGN_MULTILINE_ARGUMENT>\r
- <BLANK_LINES_AROUND_SINGLE_LINE_FIELD>1</BLANK_LINES_AROUND_SINGLE_LINE_FIELD>\r
- <BLANK_LINES_AROUND_SINGLE_LINE_INVOCABLE>1</BLANK_LINES_AROUND_SINGLE_LINE_INVOCABLE>\r
- <BLANK_LINES_BETWEEN_USING_GROUPS>1</BLANK_LINES_BETWEEN_USING_GROUPS>\r
- <FORCE_ATTRIBUTE_STYLE>SEPARATE</FORCE_ATTRIBUTE_STYLE>\r
- <FORCE_FOR_BRACES_STYLE>ALWAYS_ADD</FORCE_FOR_BRACES_STYLE>\r
- <FORCE_FOREACH_BRACES_STYLE>ALWAYS_ADD</FORCE_FOREACH_BRACES_STYLE>\r
- <FORCE_IFELSE_BRACES_STYLE>ALWAYS_ADD</FORCE_IFELSE_BRACES_STYLE>\r
- <FORCE_WHILE_BRACES_STYLE>ALWAYS_ADD</FORCE_WHILE_BRACES_STYLE>\r
- <INDENT_ANONYMOUS_METHOD_BLOCK>False</INDENT_ANONYMOUS_METHOD_BLOCK>\r
- <INDENT_EMBRACED_INITIALIZER_BLOCK>False</INDENT_EMBRACED_INITIALIZER_BLOCK>\r
- <KEEP_BLANK_LINES_IN_CODE>1</KEEP_BLANK_LINES_IN_CODE>\r
- <KEEP_BLANK_LINES_IN_DECLARATIONS>1</KEEP_BLANK_LINES_IN_DECLARATIONS>\r
- <KEEP_USER_LINEBREAKS>False</KEEP_USER_LINEBREAKS>\r
- <MODIFIERS_ORDER IsNull="False">\r
- <Item>public</Item>\r
- <Item>protected</Item>\r
- <Item>internal</Item>\r
- <Item>private</Item>\r
- <Item>new</Item>\r
- <Item>abstract</Item>\r
- <Item>virtual</Item>\r
- <Item>override</Item>\r
- <Item>sealed</Item>\r
- <Item>static</Item>\r
- <Item>readonly</Item>\r
- <Item>extern</Item>\r
- <Item>unsafe</Item>\r
- <Item>volatile</Item>\r
- </MODIFIERS_ORDER>\r
- <PLACE_CONSTRUCTOR_INITIALIZER_ON_SAME_LINE>False</PLACE_CONSTRUCTOR_INITIALIZER_ON_SAME_LINE>\r
- <PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE>False</PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE>\r
- <PLACE_SIMPLE_ACCESSOR_ON_SINGLE_LINE>False</PLACE_SIMPLE_ACCESSOR_ON_SINGLE_LINE>\r
- <PLACE_TYPE_CONSTRAINTS_ON_SAME_LINE>False</PLACE_TYPE_CONSTRAINTS_ON_SAME_LINE>\r
- <PLACE_WHILE_ON_NEW_LINE>True</PLACE_WHILE_ON_NEW_LINE>\r
- <REDUNDANT_THIS_QUALIFIER_STYLE>ALWAYS_USE</REDUNDANT_THIS_QUALIFIER_STYLE>\r
- <SIMPLE_EMBEDDED_STATEMENT_STYLE>ON_SINGLE_LINE</SIMPLE_EMBEDDED_STATEMENT_STYLE>\r
- <SPACE_AFTER_TYPECAST_PARENTHESES>False</SPACE_AFTER_TYPECAST_PARENTHESES>\r
- <SPACE_AROUND_MULTIPLICATIVE_OP>True</SPACE_AROUND_MULTIPLICATIVE_OP>\r
- <SPACE_BEFORE_SIZEOF_PARENTHESES>False</SPACE_BEFORE_SIZEOF_PARENTHESES>\r
- <SPACE_BEFORE_TYPEOF_PARENTHESES>False</SPACE_BEFORE_TYPEOF_PARENTHESES>\r
- <SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES>True</SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES>\r
- <STICK_COMMENT>False</STICK_COMMENT>\r
- <WRAP_AFTER_DECLARATION_LPAR>True</WRAP_AFTER_DECLARATION_LPAR>\r
- <WRAP_AFTER_INVOCATION_LPAR>True</WRAP_AFTER_INVOCATION_LPAR>\r
- <WRAP_ARGUMENTS_STYLE>CHOP_IF_LONG</WRAP_ARGUMENTS_STYLE>\r
- <WRAP_BEFORE_FIRST_TYPE_PARAMETER_CONSTRAINT>True</WRAP_BEFORE_FIRST_TYPE_PARAMETER_CONSTRAINT>\r
- <WRAP_EXTENDS_LIST_STYLE>CHOP_IF_LONG</WRAP_EXTENDS_LIST_STYLE>\r
- <WRAP_PARAMETERS_STYLE>CHOP_IF_LONG</WRAP_PARAMETERS_STYLE>\r
- </FormatSettings>\r
- <UsingsSettings>\r
- <AddImportsToDeepestScope>True</AddImportsToDeepestScope>\r
- <QualifiedUsingAtNestedScope>True</QualifiedUsingAtNestedScope>\r
- </UsingsSettings>\r
- <Naming2>\r
- <EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>\r
- <EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>\r
- <ExceptionName IsNull="False">\r
- </ExceptionName>\r
- <OverrideDefaultSettings>True</OverrideDefaultSettings>\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />\r
- <PredefinedRule Inspect="True" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />\r
- <PredefinedRule Inspect="True" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="Aa_bb" ElementKind="MethodPropertyEvent" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PublicFields" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Constants" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateConstants" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateStaticReadonly" />\r
- <Abbreviation Text="SSA" />\r
- <Abbreviation Text="CC" />\r
- <Abbreviation Text="UTF" />\r
- <Abbreviation Text="TX" />\r
- <Abbreviation Text="SRT" />\r
- <Abbreviation Text="CLI" />\r
- <Abbreviation Text="MP" />\r
- <Abbreviation Text="II" />\r
- <Abbreviation Text="GUI" />\r
- </Naming2>\r
- <CustomMemberReorderingPatterns><![CDATA[<?xml version="1.0" encoding="utf-8"?>\r
-<Patterns xmlns="urn:shemas-jetbrains-com:member-reordering-patterns">\r
-\r
- <!-- Do not reorder COM interfaces -->\r
- <Pattern>\r
- <Match>\r
- <And Weight="2000">\r
- <Kind Is="interface"/>\r
- <HasAttribute CLRName="System.Runtime.InteropServices.InterfaceTypeAttribute"\r
- Inherit="true"/>\r
- </And>\r
- </Match>\r
- </Pattern>\r
-\r
- <!-- Do not reorder P/Invoke structs -->\r
- <Pattern>\r
- <Match>\r
- <And Weight="2000">\r
- <Or>\r
- <Kind Is="struct"/>\r
- <Kind Is="class"/>\r
- </Or>\r
- <HasAttribute CLRName="System.Runtime.InteropServices.StructLayoutAttribute"\r
- Inherit="true"/>\r
- </And>\r
- </Match>\r
- </Pattern>\r
-\r
- <!-- Do not reorder P/Invoke classes (called xxxNativeMethods) -->\r
- <Pattern>\r
- <Match>\r
- <And Weight="2000">\r
- <Kind Is="class"/>\r
- <Name Is=".*NativeMethods" />\r
- </And>\r
- </Match>\r
- </Pattern>\r
-\r
- <!-- StyleCop pattern -->\r
- <Pattern RemoveAllRegions="true">\r
- <Match>\r
- <Or Weight="1000" >\r
- <Kind Is="class" />\r
- <Kind Is="struct" />\r
- <Kind Is="interface"/>\r
- </Or>\r
- </Match>\r
-\r
- <!-- constants and fields -->\r
- <Entry>\r
- <Match>\r
- <Or>\r
- <Kind Is="constant"/>\r
- <Kind Is="field"/>\r
- </Or>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private"/>\r
- <Kind Order="constant field"/>\r
- <Readonly/>\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Constants and Fields"/>\r
- </Entry>\r
-\r
- <!-- constructors -->\r
- <Entry>\r
- <Match>\r
- <Or Weight="200">\r
- <Kind Is="constructor"/>\r
- <Kind Is="destructor"/>\r
- </Or>\r
- </Match>\r
- <Sort>\r
- <Static/>\r
- <Kind Order="constructor destructor"/>\r
- <Access Order="public internal protected-internal protected private"/>\r
- </Sort>\r
- <Group Region="Constructors and Destructors"/>\r
- </Entry>\r
-\r
- <!-- delegates -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="delegate"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Static />\r
- <Name/>\r
- </Sort>\r
- <Group Region="Delegates"/>\r
- </Entry>\r
-\r
- <!-- events -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="event"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Static />\r
- <Name/>\r
- </Sort>\r
- <Group Region="Events"/>\r
- </Entry>\r
-\r
- <!-- enum -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="enum"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Name/>\r
- </Sort>\r
- <Group Region="Enums"/>\r
- </Entry>\r
-\r
- <!-- interfaces -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="interface" />\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Name/>\r
- </Sort>\r
- <Group Region="Interfaces"/>\r
- </Entry>\r
-\r
- <!-- properties -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="property"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private"/>\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Properties"/>\r
- </Entry>\r
-\r
- <!-- indexers -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="indexer"\r
- Weight="300" />\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Indexers"/>\r
- </Entry>\r
-\r
- <!-- operator -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="operator"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Operators"/>\r
- </Entry>\r
-\r
- <!-- public methods -->\r
- <Entry>\r
- <Match>\r
- <And>\r
- <Kind Is="method"/>\r
- <Access Is="public"/>\r
- </And>\r
- </Match>\r
- <Sort>\r
- <Access Order="public"/>\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Public Methods"/>\r
- </Entry>\r
-\r
- <!-- Implemented Interfaces -->\r
- <Entry>\r
- <Match>\r
- <And Weight="500">\r
- <Kind Is="method"/>\r
- <ImplementsInterface CLRName=".*"/>\r
- </And>\r
- </Match>\r
- <Sort>\r
- <ImplementsInterface />\r
- <Access Order="public internal protected-internal protected private"/>\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Implemented Interfaces">\r
- <ImplementsInterface Region="${ImplementsInterface}" />\r
- </Group>\r
- </Entry>\r
-\r
- <!-- other methods -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="method"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private"/>\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Methods"/>\r
- </Entry>\r
-\r
- <!-- Nested structs -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="struct"\r
- Weight="600" />\r
- </Match>\r
- <Sort>\r
- <Static />\r
- <Access Order="public internal protected-internal protected private" />\r
- <Name/>\r
- </Sort>\r
- </Entry>\r
-\r
- <!-- Nested classes -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="class"\r
- Weight="700" />\r
- </Match>\r
- <Sort>\r
- <Static />\r
- <Access Order="public internal protected-internal protected private" />\r
- <Name/>\r
- </Sort>\r
- </Entry>\r
-\r
- <!-- all other members -->\r
- <Entry/>\r
-\r
- </Pattern>\r
-</Patterns>\r
-]]></CustomMemberReorderingPatterns>\r
- </CSharp>\r
- <VB>\r
- <FormatSettings />\r
- <ImportsSettings />\r
- <Naming2>\r
- <EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>\r
- <EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>\r
- </Naming2>\r
- </VB>\r
- <Web>\r
- <Naming2 />\r
- </Web>\r
- <Xaml>\r
- <Naming2 />\r
- </Xaml>\r
- <XML>\r
- <FormatSettings />\r
- </XML>\r
- <GenerateMemberBody />\r
- <Naming2>\r
- <EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>\r
- <EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>\r
- <ExceptionName IsNull="False">\r
- </ExceptionName>\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />\r
- <PredefinedRule Inspect="False" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />\r
- <PredefinedRule Inspect="False" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="MethodPropertyEvent" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="PublicFields" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="Constants" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateConstants" />\r
- <PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />\r
- <PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateStaticReadonly" />\r
- </Naming2>\r
- </CodeStyleSettings>\r
-</Configuration>
\ No newline at end of file
+++ /dev/null
-<Configuration>\r
- <CodeStyleSettings>\r
- <ExternalPath IsNull="False" />\r
- <Sharing>SOLUTION</Sharing>\r
- <CSS>\r
- <FormatSettings />\r
- <Naming2 />\r
- </CSS>\r
- <CSharp>\r
- <FormatSettings>\r
- <ALIGN_MULTILINE_ARGUMENT>False</ALIGN_MULTILINE_ARGUMENT>\r
- <BLANK_LINES_AROUND_SINGLE_LINE_FIELD>1</BLANK_LINES_AROUND_SINGLE_LINE_FIELD>\r
- <BLANK_LINES_AROUND_SINGLE_LINE_INVOCABLE>1</BLANK_LINES_AROUND_SINGLE_LINE_INVOCABLE>\r
- <BLANK_LINES_BETWEEN_USING_GROUPS>1</BLANK_LINES_BETWEEN_USING_GROUPS>\r
- <FORCE_ATTRIBUTE_STYLE>SEPARATE</FORCE_ATTRIBUTE_STYLE>\r
- <FORCE_FOR_BRACES_STYLE>ALWAYS_ADD</FORCE_FOR_BRACES_STYLE>\r
- <FORCE_FOREACH_BRACES_STYLE>ALWAYS_ADD</FORCE_FOREACH_BRACES_STYLE>\r
- <FORCE_IFELSE_BRACES_STYLE>ALWAYS_ADD</FORCE_IFELSE_BRACES_STYLE>\r
- <FORCE_WHILE_BRACES_STYLE>ALWAYS_ADD</FORCE_WHILE_BRACES_STYLE>\r
- <INDENT_ANONYMOUS_METHOD_BLOCK>False</INDENT_ANONYMOUS_METHOD_BLOCK>\r
- <INDENT_EMBRACED_INITIALIZER_BLOCK>False</INDENT_EMBRACED_INITIALIZER_BLOCK>\r
- <KEEP_BLANK_LINES_IN_CODE>1</KEEP_BLANK_LINES_IN_CODE>\r
- <KEEP_BLANK_LINES_IN_DECLARATIONS>1</KEEP_BLANK_LINES_IN_DECLARATIONS>\r
- <KEEP_USER_LINEBREAKS>False</KEEP_USER_LINEBREAKS>\r
- <MODIFIERS_ORDER IsNull="False">\r
- <Item>public</Item>\r
- <Item>protected</Item>\r
- <Item>internal</Item>\r
- <Item>private</Item>\r
- <Item>new</Item>\r
- <Item>abstract</Item>\r
- <Item>virtual</Item>\r
- <Item>override</Item>\r
- <Item>sealed</Item>\r
- <Item>static</Item>\r
- <Item>readonly</Item>\r
- <Item>extern</Item>\r
- <Item>unsafe</Item>\r
- <Item>volatile</Item>\r
- </MODIFIERS_ORDER>\r
- <PLACE_CONSTRUCTOR_INITIALIZER_ON_SAME_LINE>False</PLACE_CONSTRUCTOR_INITIALIZER_ON_SAME_LINE>\r
- <PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE>False</PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE>\r
- <PLACE_SIMPLE_ACCESSOR_ON_SINGLE_LINE>False</PLACE_SIMPLE_ACCESSOR_ON_SINGLE_LINE>\r
- <PLACE_TYPE_CONSTRAINTS_ON_SAME_LINE>False</PLACE_TYPE_CONSTRAINTS_ON_SAME_LINE>\r
- <PLACE_WHILE_ON_NEW_LINE>True</PLACE_WHILE_ON_NEW_LINE>\r
- <REDUNDANT_THIS_QUALIFIER_STYLE>ALWAYS_USE</REDUNDANT_THIS_QUALIFIER_STYLE>\r
- <SIMPLE_EMBEDDED_STATEMENT_STYLE>ON_SINGLE_LINE</SIMPLE_EMBEDDED_STATEMENT_STYLE>\r
- <SPACE_AFTER_TYPECAST_PARENTHESES>False</SPACE_AFTER_TYPECAST_PARENTHESES>\r
- <SPACE_AROUND_MULTIPLICATIVE_OP>True</SPACE_AROUND_MULTIPLICATIVE_OP>\r
- <SPACE_BEFORE_SIZEOF_PARENTHESES>False</SPACE_BEFORE_SIZEOF_PARENTHESES>\r
- <SPACE_BEFORE_TYPEOF_PARENTHESES>False</SPACE_BEFORE_TYPEOF_PARENTHESES>\r
- <SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES>True</SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES>\r
- <STICK_COMMENT>False</STICK_COMMENT>\r
- <WRAP_AFTER_DECLARATION_LPAR>True</WRAP_AFTER_DECLARATION_LPAR>\r
- <WRAP_AFTER_INVOCATION_LPAR>True</WRAP_AFTER_INVOCATION_LPAR>\r
- <WRAP_ARGUMENTS_STYLE>CHOP_IF_LONG</WRAP_ARGUMENTS_STYLE>\r
- <WRAP_BEFORE_FIRST_TYPE_PARAMETER_CONSTRAINT>True</WRAP_BEFORE_FIRST_TYPE_PARAMETER_CONSTRAINT>\r
- <WRAP_EXTENDS_LIST_STYLE>CHOP_IF_LONG</WRAP_EXTENDS_LIST_STYLE>\r
- <WRAP_PARAMETERS_STYLE>CHOP_IF_LONG</WRAP_PARAMETERS_STYLE>\r
- </FormatSettings>\r
- <UsingsSettings>\r
- <AddImportsToDeepestScope>True</AddImportsToDeepestScope>\r
- <QualifiedUsingAtNestedScope>True</QualifiedUsingAtNestedScope>\r
- </UsingsSettings>\r
- <Naming2>\r
- <EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>\r
- <EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>\r
- <ExceptionName IsNull="False" />\r
- <OverrideDefaultSettings>True</OverrideDefaultSettings>\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />\r
- <PredefinedRule Inspect="True" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />\r
- <PredefinedRule Inspect="True" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="Aa_bb" ElementKind="MethodPropertyEvent" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PublicFields" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Constants" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateConstants" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateStaticReadonly" />\r
- <Abbreviation Text="SSA" />\r
- <Abbreviation Text="CC" />\r
- <Abbreviation Text="UTF" />\r
- <Abbreviation Text="TX" />\r
- <Abbreviation Text="SRT" />\r
- <Abbreviation Text="CLI" />\r
- <Abbreviation Text="MP" />\r
- <Abbreviation Text="II" />\r
- <Abbreviation Text="GUI" />\r
- </Naming2>\r
- <CustomMemberReorderingPatterns><![CDATA[<?xml version="1.0" encoding="utf-8"?>\r
-<Patterns xmlns="urn:shemas-jetbrains-com:member-reordering-patterns">\r
-\r
- <!-- Do not reorder COM interfaces -->\r
- <Pattern>\r
- <Match>\r
- <And Weight="2000">\r
- <Kind Is="interface"/>\r
- <HasAttribute CLRName="System.Runtime.InteropServices.InterfaceTypeAttribute"\r
- Inherit="true"/>\r
- </And>\r
- </Match>\r
- </Pattern>\r
-\r
- <!-- Do not reorder P/Invoke structs -->\r
- <Pattern>\r
- <Match>\r
- <And Weight="2000">\r
- <Or>\r
- <Kind Is="struct"/>\r
- <Kind Is="class"/>\r
- </Or>\r
- <HasAttribute CLRName="System.Runtime.InteropServices.StructLayoutAttribute"\r
- Inherit="true"/>\r
- </And>\r
- </Match>\r
- </Pattern>\r
-\r
- <!-- Do not reorder P/Invoke classes (called xxxNativeMethods) -->\r
- <Pattern>\r
- <Match>\r
- <And Weight="2000">\r
- <Kind Is="class"/>\r
- <Name Is=".*NativeMethods" />\r
- </And>\r
- </Match>\r
- </Pattern>\r
-\r
- <!-- StyleCop pattern -->\r
- <Pattern RemoveAllRegions="true">\r
- <Match>\r
- <Or Weight="1000" >\r
- <Kind Is="class" />\r
- <Kind Is="struct" />\r
- <Kind Is="interface"/>\r
- </Or>\r
- </Match>\r
-\r
- <!-- constants and fields -->\r
- <Entry>\r
- <Match>\r
- <Or>\r
- <Kind Is="constant"/>\r
- <Kind Is="field"/>\r
- </Or>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private"/>\r
- <Kind Order="constant field"/>\r
- <Readonly/>\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Constants and Fields"/>\r
- </Entry>\r
-\r
- <!-- constructors -->\r
- <Entry>\r
- <Match>\r
- <Or Weight="200">\r
- <Kind Is="constructor"/>\r
- <Kind Is="destructor"/>\r
- </Or>\r
- </Match>\r
- <Sort>\r
- <Static/>\r
- <Kind Order="constructor destructor"/>\r
- <Access Order="public internal protected-internal protected private"/>\r
- </Sort>\r
- <Group Region="Constructors and Destructors"/>\r
- </Entry>\r
-\r
- <!-- delegates -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="delegate"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Static />\r
- <Name/>\r
- </Sort>\r
- <Group Region="Delegates"/>\r
- </Entry>\r
-\r
- <!-- events -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="event"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Static />\r
- <Name/>\r
- </Sort>\r
- <Group Region="Events"/>\r
- </Entry>\r
-\r
- <!-- enum -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="enum"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Name/>\r
- </Sort>\r
- <Group Region="Enums"/>\r
- </Entry>\r
-\r
- <!-- interfaces -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="interface" />\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Name/>\r
- </Sort>\r
- <Group Region="Interfaces"/>\r
- </Entry>\r
-\r
- <!-- properties -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="property"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private"/>\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Properties"/>\r
- </Entry>\r
-\r
- <!-- indexers -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="indexer"\r
- Weight="300" />\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Indexers"/>\r
- </Entry>\r
-\r
- <!-- operator -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="operator"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private" />\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Operators"/>\r
- </Entry>\r
-\r
- <!-- public methods -->\r
- <Entry>\r
- <Match>\r
- <And>\r
- <Kind Is="method"/>\r
- <Access Is="public"/>\r
- </And>\r
- </Match>\r
- <Sort>\r
- <Access Order="public"/>\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Public Methods"/>\r
- </Entry>\r
-\r
- <!-- Implemented Interfaces -->\r
- <Entry>\r
- <Match>\r
- <And Weight="500">\r
- <Kind Is="method"/>\r
- <ImplementsInterface CLRName=".*"/>\r
- </And>\r
- </Match>\r
- <Sort>\r
- <ImplementsInterface />\r
- <Access Order="public internal protected-internal protected private"/>\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Implemented Interfaces">\r
- <ImplementsInterface Region="${ImplementsInterface}" />\r
- </Group>\r
- </Entry>\r
-\r
- <!-- other methods -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="method"/>\r
- </Match>\r
- <Sort>\r
- <Access Order="public internal protected-internal protected private"/>\r
- <Static/>\r
- <Name/>\r
- </Sort>\r
- <Group Region="Methods"/>\r
- </Entry>\r
-\r
- <!-- Nested structs -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="struct"\r
- Weight="600" />\r
- </Match>\r
- <Sort>\r
- <Static />\r
- <Access Order="public internal protected-internal protected private" />\r
- <Name/>\r
- </Sort>\r
- </Entry>\r
-\r
- <!-- Nested classes -->\r
- <Entry>\r
- <Match>\r
- <Kind Is="class"\r
- Weight="700" />\r
- </Match>\r
- <Sort>\r
- <Static />\r
- <Access Order="public internal protected-internal protected private" />\r
- <Name/>\r
- </Sort>\r
- </Entry>\r
-\r
- <!-- all other members -->\r
- <Entry/>\r
-\r
- </Pattern>\r
-</Patterns>\r
-]]></CustomMemberReorderingPatterns>\r
- </CSharp>\r
- <HTML>\r
- <FormatSettings />\r
- </HTML>\r
- <JavaScript>\r
- <FormatSettings />\r
- <Naming2 />\r
- </JavaScript>\r
- <VB>\r
- <FormatSettings />\r
- <ImportsSettings />\r
- <Naming2>\r
- <EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>\r
- <EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>\r
- </Naming2>\r
- </VB>\r
- <Web>\r
- <Naming2 />\r
- </Web>\r
- <XML>\r
- <FormatSettings />\r
- </XML>\r
- <Xaml>\r
- <Naming2 />\r
- </Xaml>\r
- <GenerateMemberBody />\r
- <Naming2>\r
- <EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>\r
- <EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>\r
- <ExceptionName IsNull="False" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />\r
- <PredefinedRule Inspect="False" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />\r
- <PredefinedRule Inspect="False" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="MethodPropertyEvent" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="PublicFields" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="Constants" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />\r
- <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateConstants" />\r
- <PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />\r
- <PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />\r
- <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateStaticReadonly" />\r
- </Naming2>\r
- </CodeStyleSettings>\r
-</Configuration>
\ No newline at end of file
--- /dev/null
+<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+ <s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutoCompleteBasicCompletion/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/IntelliSenseCompletingCharacters/IntelliSenseCompletingCharactersSettingCSharp/UpgradedFromVSSettings/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeEditing/Intellisense/LookupWindow/ShowSummary/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeEditing/Localization/CSharpLocalizationOptions/DontAnalyseVerbatimStrings/@EntryValue">False</s:Boolean>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=CompareOfFloatsByEqualityOperator/@EntryIndexedValue">HINT</s:String>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=InconsistentNaming/@EntryIndexedValue">HINT</s:String>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=LocalizableElement/@EntryIndexedValue">DO_NOT_SHOW</s:String>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantNameQualifier/@EntryIndexedValue">DO_NOT_SHOW</s:String>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantStringFormatCall/@EntryIndexedValue">HINT</s:String>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantThisQualifier/@EntryIndexedValue">DO_NOT_SHOW</s:String>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=StyleCop_002ESA1126/@EntryIndexedValue">HINT</s:String>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=StyleCop_002ESA1650/@EntryIndexedValue">HINT</s:String>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestUseVarKeywordEverywhere/@EntryIndexedValue">DO_NOT_SHOW</s:String>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestUseVarKeywordEvident/@EntryIndexedValue">DO_NOT_SHOW</s:String>
+ <s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuspiciousTypeConversion_002EGlobal/@EntryIndexedValue">HINT</s:String>
+ <s:String x:Key="/Default/CodeStyle/CodeCleanup/Profiles/=StyleCop/@EntryIndexedValue"><?xml version="1.0" encoding="utf-16"?><Profile name="StyleCop"><CSArrangeThisQualifier>True</CSArrangeThisQualifier><CSOptimizeUsings><OptimizeUsings>True</OptimizeUsings><EmbraceInRegion>False</EmbraceInRegion><RegionName></RegionName></CSOptimizeUsings><CSReformatCode>True</CSReformatCode><CSReorderTypeMembers>True</CSReorderTypeMembers><StyleCop.Documentation><SA1600ElementsMustBeDocumented>True</SA1600ElementsMustBeDocumented><SA1604ElementDocumentationMustHaveSummary>True</SA1604ElementDocumentationMustHaveSummary><SA1609PropertyDocumentationMustHaveValueDocumented>True</SA1609PropertyDocumentationMustHaveValueDocumented><SA1611ElementParametersMustBeDocumented>True</SA1611ElementParametersMustBeDocumented><SA1615ElementReturnValueMustBeDocumented>True</SA1615ElementReturnValueMustBeDocumented><SA1617VoidReturnValueMustNotBeDocumented>True</SA1617VoidReturnValueMustNotBeDocumented><SA1618GenericTypeParametersMustBeDocumented>True</SA1618GenericTypeParametersMustBeDocumented><SA1626SingleLineCommentsMustNotUseDocumentationStyleSlashes>True</SA1626SingleLineCommentsMustNotUseDocumentationStyleSlashes><SA1628DocumentationTextMustBeginWithACapitalLetter>True</SA1628DocumentationTextMustBeginWithACapitalLetter><SA1629DocumentationTextMustEndWithAPeriod>True</SA1629DocumentationTextMustEndWithAPeriod><SA1633SA1641UpdateFileHeader>ReplaceCopyrightElement</SA1633SA1641UpdateFileHeader><SA1639FileHeaderMustHaveSummary>True</SA1639FileHeaderMustHaveSummary><SA1642ConstructorSummaryDocumentationMustBeginWithStandardText>True</SA1642ConstructorSummaryDocumentationMustBeginWithStandardText><SA1643DestructorSummaryDocumentationMustBeginWithStandardText>True</SA1643DestructorSummaryDocumentationMustBeginWithStandardText><SA1644DocumentationHeadersMustNotContainBlankLines>True</SA1644DocumentationHeadersMustNotContainBlankLines></StyleCop.Documentation><StyleCop.Layout><SA1500CurlyBracketsForMultiLineStatementsMustNotShareLine>True</SA1500CurlyBracketsForMultiLineStatementsMustNotShareLine><SA1509OpeningCurlyBracketsMustNotBePrecededByBlankLine>True</SA1509OpeningCurlyBracketsMustNotBePrecededByBlankLine><SA1510ChainedStatementBlocksMustNotBePrecededByBlankLine>True</SA1510ChainedStatementBlocksMustNotBePrecededByBlankLine><SA1511WhileDoFooterMustNotBePrecededByBlankLine>True</SA1511WhileDoFooterMustNotBePrecededByBlankLine><SA1512SingleLineCommentsMustNotBeFollowedByBlankLine>True</SA1512SingleLineCommentsMustNotBeFollowedByBlankLine><SA1513ClosingCurlyBracketMustBeFollowedByBlankLine>True</SA1513ClosingCurlyBracketMustBeFollowedByBlankLine><SA1514ElementDocumentationHeaderMustBePrecededByBlankLine>True</SA1514ElementDocumentationHeaderMustBePrecededByBlankLine><SA1515SingleLineCommentMustBeProceededByBlankLine>True</SA1515SingleLineCommentMustBeProceededByBlankLine></StyleCop.Layout><StyleCop.Maintainability><SA1119StatementMustNotUseUnnecessaryParenthesis>True</SA1119StatementMustNotUseUnnecessaryParenthesis></StyleCop.Maintainability><StyleCop.Ordering><AlphabeticalUsingDirectives>Alphabetical</AlphabeticalUsingDirectives><ExpandUsingDirectives>FullyQualify</ExpandUsingDirectives><SA1212PropertyAccessorsMustFollowOrder>True</SA1212PropertyAccessorsMustFollowOrder><SA1213EventAccessorsMustFollowOrder>True</SA1213EventAccessorsMustFollowOrder></StyleCop.Ordering><StyleCop.Readability><SA1100DoNotPrefixCallsWithBaseUnlessLocalImplementationExists>True</SA1100DoNotPrefixCallsWithBaseUnlessLocalImplementationExists><SA1106CodeMustNotContainEmptyStatements>True</SA1106CodeMustNotContainEmptyStatements><SA1108BlockStatementsMustNotContainEmbeddedComments>True</SA1108BlockStatementsMustNotContainEmbeddedComments><SA1109BlockStatementsMustNotContainEmbeddedRegions>True</SA1109BlockStatementsMustNotContainEmbeddedRegions><SA1120CommentsMustContainText>True</SA1120CommentsMustContainText><SA1121UseBuiltInTypeAlias>True</SA1121UseBuiltInTypeAlias><SA1122UseStringEmptyForEmptyStrings>True</SA1122UseStringEmptyForEmptyStrings><SA1123DoNotPlaceRegionsWithinElements>True</SA1123DoNotPlaceRegionsWithinElements><SA1124CodeMustNotContainEmptyRegions>True</SA1124CodeMustNotContainEmptyRegions></StyleCop.Readability><StyleCop.Spacing><SA1001CommasMustBeSpacedCorrectly>True</SA1001CommasMustBeSpacedCorrectly><SA1005SingleLineCommentsMustBeginWithSingleSpace>True</SA1005SingleLineCommentsMustBeginWithSingleSpace><SA1006PreprocessorKeywordsMustNotBePrecededBySpace>True</SA1006PreprocessorKeywordsMustNotBePrecededBySpace><SA1021NegativeSignsMustBeSpacedCorrectly>True</SA1021NegativeSignsMustBeSpacedCorrectly><SA1022PositiveSignsMustBeSpacedCorrectly>True</SA1022PositiveSignsMustBeSpacedCorrectly><SA1025CodeMustNotContainMultipleWhitespaceInARow>True</SA1025CodeMustNotContainMultipleWhitespaceInARow></StyleCop.Spacing></Profile></s:String>
+ <s:String x:Key="/Default/CodeStyle/CodeCleanup/RecentlyUsedProfile/@EntryValue">Default: Full Cleanup</s:String>
+ <s:String x:Key="/Default/CodeStyle/CodeCleanup/SilentCleanupProfile/@EntryValue">StyleCop</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_ARGUMENT/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_ARRAY_AND_OBJECT_INITIALIZER/@EntryValue">True</s:Boolean>
+ <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_SINGLE_LINE_FIELD/@EntryValue">1</s:Int64>
+ <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_SINGLE_LINE_INVOCABLE/@EntryValue">1</s:Int64>
+ <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_BETWEEN_USING_GROUPS/@EntryValue">1</s:Int64>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_ATTRIBUTE_STYLE/@EntryValue">SEPARATE</s:String>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FIXED_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FOR_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FOREACH_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_IFELSE_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_WHILE_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/INDENT_ANONYMOUS_METHOD_BLOCK/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/INDENT_EMBRACED_INITIALIZER_BLOCK/@EntryValue">False</s:Boolean>
+ <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_BLANK_LINES_IN_CODE/@EntryValue">1</s:Int64>
+ <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_BLANK_LINES_IN_DECLARATIONS/@EntryValue">1</s:Int64>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_USER_LINEBREAKS/@EntryValue">False</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/MODIFIERS_ORDER/@EntryValue">public protected internal private static new abstract virtual override sealed readonly extern unsafe volatile async</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_CONSTRUCTOR_INITIALIZER_ON_SAME_LINE/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_ACCESSOR_ON_SINGLE_LINE/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_TYPE_CONSTRAINTS_ON_SAME_LINE/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_WHILE_ON_NEW_LINE/@EntryValue">True</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/REDUNDANT_THIS_QUALIFIER_STYLE/@EntryValue">ALWAYS_USE</s:String>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SIMPLE_EMBEDDED_STATEMENT_STYLE/@EntryValue">ON_SINGLE_LINE</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AROUND_MULTIPLICATIVE_OP/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_SIZEOF_PARENTHESES/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_TYPEOF_PARENTHESES/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/STICK_COMMENT/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_AFTER_DECLARATION_LPAR/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_AFTER_INVOCATION_LPAR/@EntryValue">True</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_ARGUMENTS_STYLE/@EntryValue">CHOP_IF_LONG</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_BEFORE_BINARY_OPSIGN/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_BEFORE_FIRST_TYPE_PARAMETER_CONSTRAINT/@EntryValue">True</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_EXTENDS_LIST_STYLE/@EntryValue">CHOP_IF_LONG</s:String>
+ <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_PARAMETERS_STYLE/@EntryValue">CHOP_IF_LONG</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/JavaScriptCodeFormatting/JavaScriptFormatOther/ALIGN_MULTIPLE_DECLARATION/@EntryValue">True</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/CSharpMemberOrderPattern/CustomPattern/@EntryValue"><?xml version="1.0" encoding="utf-8"?>
+<!-- Last updated 15.05.2012 -->
+<Patterns xmlns="urn:shemas-jetbrains-com:member-reordering-patterns">
+
+ <!-- Do not reorder COM interfaces -->
+ <Pattern>
+ <Match>
+ <And Weight="2000">
+ <Kind Is="interface"/>
+ <Or>
+ <HasAttribute CLRName="System.Runtime.InteropServices.InterfaceTypeAttribute"/>
+ <HasAttribute CLRName="System.Runtime.InteropServices.ComImport"/>
+ </Or>
+ </And>
+ </Match>
+ </Pattern>
+
+ <!-- Do not reorder P/Invoke structs -->
+ <Pattern>
+ <Match>
+ <And Weight="2000">
+ <Or>
+ <Kind Is="struct"/>
+ <Kind Is="class"/>
+ </Or>
+ <HasAttribute CLRName="System.Runtime.InteropServices.StructLayoutAttribute"/>
+ </And>
+ </Match>
+ </Pattern>
+
+ <!-- Do not reorder P/Invoke classes (called xxxNativeMethods) -->
+ <Pattern>
+ <Match>
+ <And Weight="2000">
+ <Kind Is="class"/>
+ <Name Is=".*NativeMethods" />
+ </And>
+ </Match>
+ </Pattern>
+
+ <!-- StyleCop pattern -->
+ <Pattern RemoveAllRegions="true">
+ <Match>
+ <Or Weight="1000" >
+ <Kind Is="class" />
+ <Kind Is="struct" />
+ <Kind Is="interface"/>
+ </Or>
+ </Match>
+
+ <!-- Constants -->
+ <Entry>
+ <Match>
+ <Kind Is="constant"/>
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private"/>
+ <Name/>
+ </Sort>
+ <Group Region="Constants"/>
+ </Entry>
+
+ <!-- Static fields -->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="field"/>
+ <Static />
+ </And>
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private"/>
+ <Readonly/>
+ <Name/>
+ </Sort>
+ <Group Region="Static Fields"/>
+ </Entry>
+
+ <!-- Fields -->
+ <Entry>
+ <Match>
+ <Kind Is="field"/>
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private"/>
+ <Readonly/>
+ <Name/>
+ </Sort>
+ <Group Region="Fields"/>
+ </Entry>
+
+ <!-- constructors and destructors -->
+ <Entry>
+ <Match>
+ <Or Weight="200">
+ <Kind Is="constructor"/>
+ <Kind Is="destructor"/>
+ </Or>
+ </Match>
+ <Sort>
+ <Static/>
+ <Kind Order="constructor destructor"/>
+ <Access Order="public internal protected-internal protected private"/>
+ </Sort>
+ <Group Region="Constructors and Destructors"/>
+ </Entry>
+
+ <!-- delegates -->
+ <Entry>
+ <Match>
+ <Kind Is="delegate"/>
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private" />
+ <Static />
+ <Name/>
+ </Sort>
+ <Group Region="Delegates"/>
+ </Entry>
+
+ <!-- public events -->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="event"/>
+ <Access Is="public"/>
+ </And>
+ </Match>
+ <Sort>
+ <Access Order="public" />
+ <Static />
+ <Name/>
+ </Sort>
+ <Group Region="Public Events"/>
+ </Entry>
+
+ <!-- interface events -->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="event"/>
+ <ImplementsInterface/>
+ </And>
+ </Match>
+ <Sort>
+ <ImplementsInterface Immediate="true"/>
+ <Name/>
+ </Sort>
+ <Group Region="Explicit Interface Events" />
+ </Entry>
+
+ <!-- other events -->
+ <Entry>
+ <Match>
+ <Kind Is="event"/>
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private" />
+ <Static />
+ <Name/>
+ </Sort>
+ <Group Region="Events"/>
+ </Entry>
+
+ <!-- enum -->
+ <Entry>
+ <Match>
+ <Kind Is="enum"/>
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private" />
+ <Name/>
+ </Sort>
+ <Group Region="Enums"/>
+ </Entry>
+
+ <!-- interfaces -->
+ <Entry>
+ <Match>
+ <Kind Is="interface" />
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private" />
+ <Name/>
+ </Sort>
+ <Group Region="Interfaces"/>
+ </Entry>
+
+ <!-- public properties -->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="property"/>
+ <Access Is="public"/>
+ </And>
+ </Match>
+ <Sort>
+ <Access Order="public"/>
+ <Static/>
+ <Name/>
+ </Sort>
+ <Group Region="Public Properties"/>
+ </Entry>
+
+ <!-- interface properties -->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="property"/>
+ <ImplementsInterface/>
+ </And>
+ </Match>
+ <Sort>
+ <ImplementsInterface Immediate="true"/>
+ <Name/>
+ </Sort>
+ <Group Region="Explicit Interface Properties" />
+ </Entry>
+
+ <!-- other properties -->
+ <Entry>
+ <Match>
+ <Kind Is="property"/>
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private"/>
+ <Static/>
+ <Name/>
+ </Sort>
+ <Group Region="Properties"/>
+ </Entry>
+
+ <!-- public indexers -->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="indexer" Weight="1000" />
+ <Access Is="public"/>
+ </And>
+ </Match>
+ <Sort>
+ <Access Order="public" />
+ <Static/>
+ <Name/>
+ </Sort>
+ <Group Region="Public Indexers"/>
+ </Entry>
+
+ <!-- interface indexers -->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="indexer" Weight="1000"/>
+ <ImplementsInterface/>
+ </And>
+ </Match>
+ <Sort>
+ <ImplementsInterface Immediate="true"/>
+ <Name/>
+ </Sort>
+ <Group Region="Explicit Interface Indexers" />
+ </Entry>
+
+ <!-- other indexers -->
+ <Entry>
+ <Match>
+ <Kind Is="indexer" Weight="1000" />
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private" />
+ <Static/>
+ <Name/>
+ </Sort>
+ <Group Region="Indexers"/>
+ </Entry>
+
+ <!-- public methods (includes operators) -->
+ <Entry>
+ <Match>
+ <And>
+ <Or>
+ <Kind Is="method"/>
+ <Kind Is="operator"/>
+ </Or>
+ <Access Is="public"/>
+ </And>
+ </Match>
+ <Sort>
+ <Access Order="public"/>
+ <Static/>
+ <Name/>
+ </Sort>
+ <Group Region="Public Methods and Operators"/>
+ </Entry>
+
+ <!-- interface methods -->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="method"/>
+ <ImplementsInterface/>
+ </And>
+ </Match>
+ <Sort>
+ <ImplementsInterface Immediate="true"/>
+ <Name/>
+ </Sort>
+ <Group Region="Explicit Interface Methods" />
+ </Entry>
+
+ <!-- other methods -->
+ <Entry>
+ <Match>
+ <Kind Is="method"/>
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private"/>
+ <Static/>
+ <Name/>
+ </Sort>
+ <Group Region="Methods"/>
+ </Entry>
+
+ <!-- operators -->
+ <Entry>
+ <Match>
+ <Kind Is="operator"/>
+ </Match>
+ <Sort>
+ <Access Order="public internal protected-internal protected private" />
+ <Static/>
+ <Name/>
+ </Sort>
+ <Group Region="Operators"/>
+ </Entry>
+
+ <!-- Nested structs -->
+ <Entry>
+ <Match>
+ <Kind Is="struct"
+ Weight="600" />
+ </Match>
+ <Sort>
+ <Static />
+ <Access Order="public internal protected-internal protected private" />
+ <Name/>
+ </Sort>
+ </Entry>
+
+ <!-- Nested classes -->
+ <Entry>
+ <Match>
+ <Kind Is="class"
+ Weight="700" />
+ </Match>
+ <Sort>
+ <Static />
+ <Access Order="public internal protected-internal protected private" />
+ <Name/>
+ </Sort>
+ </Entry>
+
+ <!-- all other members -->
+ <Entry/>
+
+ </Pattern>
+</Patterns></s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/CSharpUsing/AddImportsToDeepestScope/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/CSharpUsing/QualifiedUsingAtNestedScope/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/CodeStyle/Generate/=Constructor/@KeyIndexDefined">True</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/Generate/=Constructor/Options/=XmlDocumentation/@EntryIndexedValue">False</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/Generate/=Equality/@KeyIndexDefined">True</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/Generate/=Equality/Options/=EqualityOperators/@EntryIndexedValue">True</s:String>
+ <s:String x:Key="/Default/CodeStyle/Generate/=Equality/Options/=ImplementIEquatable/@EntryIndexedValue">False</s:String>
+ <s:String x:Key="/Default/CodeStyle/Generate/=Equality/Options/=XmlDocumentation/@EntryIndexedValue">True</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/Generate/=EqualityMembers/@KeyIndexDefined">True</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/Generate/=EqualityMembers/Options/=EqualityOperators/@EntryIndexedValue">False</s:String>
+ <s:String x:Key="/Default/CodeStyle/Generate/=EqualityMembers/Options/=ImplementIEquatable/@EntryIndexedValue">False</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/Generate/=Global/@KeyIndexDefined">True</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/Generate/=Global/Options/=PropertyBody/@EntryIndexedValue">Automatic property</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/Generate/=Implementations/@KeyIndexDefined">True</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/Generate/=Implementations/Options/=WrapInRegion/@EntryIndexedValue">True</s:String>
+ <s:String x:Key="/Default/CodeStyle/Generate/=Implementations/Options/=XmlDocumentation/@EntryIndexedValue">True</s:String>
+ <s:Boolean x:Key="/Default/CodeStyle/Generate/=Overrides/@KeyIndexDefined">True</s:Boolean>
+ <s:String x:Key="/Default/CodeStyle/Generate/=Overrides/Options/=WrapInRegion/@EntryIndexedValue">False</s:String>
+ <s:String x:Key="/Default/CodeStyle/Generate/=Overrides/Options/=XmlDocumentation/@EntryIndexedValue">False</s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AAC/@EntryIndexedValue">AAC</s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AC/@EntryIndexedValue">AC</s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DTS/@EntryIndexedValue">DTS</s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DTSHD/@EntryIndexedValue">DTSHD</s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=HD/@EntryIndexedValue">HD</s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MP/@EntryIndexedValue">MP</s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RF/@EntryIndexedValue">RF</s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=UI/@EntryIndexedValue">UI</s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/EventHandlerPatternLong/@EntryValue">$object$_On$event$</s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Constants/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=EnumMember/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Interfaces/@EntryIndexedValue"><Policy Inspect="True" Prefix="I" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=LocalConstants/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Locals/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=MethodPropertyEvent/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Other/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Parameters/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateConstants/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticReadonly/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PublicFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=StaticReadonly/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=TypeParameters/@EntryIndexedValue"><Policy Inspect="True" Prefix="T" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=TypesAndNamespaces/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
+ <s:String x:Key="/Default/CodeStyle/Naming/VBNaming/EventHandlerPatternLong/@EntryValue">$object$_On$event$</s:String>
+ <s:Boolean x:Key="/Default/Environment/Editor/UseCamelHumps/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/ExternalSources/FirstTimeFormShown/@EntryValue">True</s:Boolean>
+ <s:String x:Key="/Default/Environment/ExternalSources/NavigationMode/@EntryValue">ObjectBrowser</s:String>
+ <s:Boolean x:Key="/Default/Environment/Feedback/ShouldPrompt/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/GenerateMru/GroupByType/=Constructor/@EntryIndexedValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/GenerateMru/GroupByType/=Equality/@EntryIndexedValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/GenerateMru/GroupByType/=EqualityMembers/@EntryIndexedValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/GenerateMru/GroupByType/=Implementations/@EntryIndexedValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/GenerateMru/GroupByType/=Overrides/@EntryIndexedValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/GenerateMru/SortByName/=Constructor/@EntryIndexedValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/GenerateMru/SortByName/=Equality/@EntryIndexedValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/GenerateMru/SortByName/=EqualityMembers/@EntryIndexedValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/GenerateMru/SortByName/=Implementations/@EntryIndexedValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/GenerateMru/SortByName/=Overrides/@EntryIndexedValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/MemoryUsageIndicator/IsVisible/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/OpenDocument/OpenDocumentAfterModification/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/SearchAndNavigation/MergeOccurences/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Environment/UpdatesManger/IsDownloadUpdateDataAllowed/@EntryValue">False</s:Boolean>
+ <s:String x:Key="/Default/Environment/UserInterface/ShortcutSchemeName/@EntryValue">VS</s:String>
+ <s:String x:Key="/Default/Environment/UserInterface/ThemedIcon/PsiSymbolIcon/PsiSymbolIconThemeSelection/@EntryValue">SymbolsVs08</s:String>
+ <s:Boolean x:Key="/Default/Environment/UserInterface/TipsManager/ShowTipsOnStartup/@EntryValue">False</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/GlobalSettingsUpgraded/IsUpgraded/@EntryValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/IntellisenseHousekeeping/HintUsed/@EntryValue">True</s:Boolean>
+ <s:String x:Key="/Default/Housekeeping/Layout/DialogWindows/OptionsDialog/SelectedPageId/@EntryValue">Updates</s:String>
+ <s:String x:Key="/Default/Housekeeping/Layout/DialogWindows/RefactoringWizardWindow/Location/@EntryValue">-13,-311</s:String>
+ <s:Boolean x:Key="/Default/Housekeeping/LiveTemplatesHousekeeping/HotspotSessionHintIsShown/@EntryValue">True</s:Boolean>
+ <s:Int64 x:Key="/Default/Housekeeping/TreeModelBrowserPanelPersistance/PreviewSplitterHorizontalPosition/=AnalyzeReferencesDescriptor/@EntryIndexedValue">271</s:Int64>
+ <s:Int64 x:Key="/Default/Housekeeping/TreeModelBrowserPanelPersistance/PreviewSplitterHorizontalPosition/=SearchUsagesDescriptor/@EntryIndexedValue">269</s:Int64>
+ <s:Int64 x:Key="/Default/Housekeeping/TreeModelBrowserPanelPersistance/PreviewSplitterHorizontalPosition/=TextualChangeDescriptor/@EntryIndexedValue">91</s:Int64>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=AnalyzeReferences/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=BlockComment/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EBookmarksMenu/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EGoToBookmark0/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EGoToBookmark1/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EGoToBookmark2/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EGoToBookmark3/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EGoToBookmark4/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EGoToBookmark5/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EGoToBookmark6/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EGoToBookmark7/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EGoToBookmark8/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EGoToBookmark9/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EToggleBookmark0/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EToggleBookmark1/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EToggleBookmark2/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EToggleBookmark3/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EToggleBookmark4/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EToggleBookmark5/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EToggleBookmark6/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EToggleBookmark7/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EToggleBookmark8/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Bookmarks_002EToggleBookmark9/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ChangeSignature/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=CleanupCode/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=CompleteCodeSmart/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=CompleteCodeTypeName/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=DuplicateText/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=EnableDaemon/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=EncapsulateField/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ExploreStackTrace/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ExtendSelection/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ExtractMethod/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=FindUsagesAdvanced/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ForceCompleteItem/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Generate/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GenerateFileBesides/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoBase/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoContainingDeclaration/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoFile/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoFileMember/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoInheritors/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoLastEditLocation/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoNextErrorInSolution/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoNextHighlight/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoNextMethod/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoNextOccurence/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoPrevErrorInSolution/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoPrevHighlight/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoPreviousOccurence/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoPrevMethod/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoRecentEdits/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoRecentFiles/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoRelatedFiles/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoSymbol/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoType/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoTypeDeclaration/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=GotoUsage/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=HighlightUsages/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=InlineVariable/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=InspectThis/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=IntroduceField/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=IntroduceVariable/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=IntroParameter/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=LineComment/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=LiveTemplates_002EInsert/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=LocateInSolutionExplorerAction/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Move/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=MoveDown/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=MoveLeft/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=MoveRight/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=MoveUp/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=NavigateTo/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ParameterInfo_002EGoToPreviousSignature/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=QuickDoc/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=QuickFix/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=RefactorThis/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=Rename/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ReSharper_005FUnitTest_005FDebugContext/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ReSharper_005FUnitTest_005FRunContext/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=SafeDelete/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=SelectContainingDeclaration/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ShowAnalyzeReferences/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ShowCodeStructure/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ShowFindResults/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ShowHierarchyWindow/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ShowInspectionWindow/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ShowTodoExplorer/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ShowUnitTestExplorer/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ShowUnitTestSessions/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=ShrinkSelection/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=SilentCleanupCode/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=SurroundWith/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=TypeHierarchy_002EBrowse/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=UnitTest_002ERunCurrentSession/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=UnitTest_002ERunSolution/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=UnitTestSession_002ERepeatPreviousRun/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=WindowManager_002EActivateRecentTool/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ActionsWithShortcuts/=WindowManager_002ECloseRecentTool/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark1/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark1/Shortcuts/=Control_002BD1/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark2/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark2/Shortcuts/=Control_002BD2/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark3/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark3/Shortcuts/=Control_002BD3/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark4/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark4/Shortcuts/=Control_002BD4/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark5/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark5/Shortcuts/=Control_002BD5/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark6/Shortcuts/=Control_002BD6/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark7/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark7/Shortcuts/=Control_002BD7/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark8/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark8/Shortcuts/=Control_002BD8/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark9/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EGoToBookmark9/Shortcuts/=Control_002BD9/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EToggleBookmark1/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EToggleBookmark1/Shortcuts/=Shift_002BControl_002BD1/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EToggleBookmark2/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EToggleBookmark2/Shortcuts/=Shift_002BControl_002BD2/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EToggleBookmark7/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EToggleBookmark7/Shortcuts/=Shift_002BControl_002BD7/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EToggleBookmark8/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Bookmarks_002EToggleBookmark8/Shortcuts/=Shift_002BControl_002BD8/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ChangeSignature/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ChangeSignature/Shortcuts/=Control_002BR_0020Control_002BS/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ChangeSignature/Shortcuts/=Control_002BR_0020S/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=CompleteCodeSmart/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=CompleteCodeSmart/Shortcuts/=Control_002BAlt_002BSpace/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=DuplicateText/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=DuplicateText/Shortcuts/=Control_002BD/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=EncapsulateField/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=EncapsulateField/Shortcuts/=Control_002BR_0020Control_002BE/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=EncapsulateField/Shortcuts/=Control_002BR_0020E/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ExploreStackTrace/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ExploreStackTrace/Shortcuts/=Control_002BE_0020Control_002BT/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ExploreStackTrace/Shortcuts/=Control_002BE_0020T/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ExtendSelection/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ExtendSelection/Shortcuts/=Control_002BAlt_002BRight/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ExtractMethod/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ExtractMethod/Shortcuts/=Control_002BR_0020Control_002BM/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ExtractMethod/Shortcuts/=Control_002BR_0020M/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=FindUsagesAdvanced/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=FindUsagesAdvanced/Shortcuts/=Shift_002BControl_002BAlt_002BF12/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GenerateFileBesides/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GenerateFileBesides/Shortcuts/=Control_002BAlt_002BInsert/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoContainingDeclaration/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoContainingDeclaration/Shortcuts/=Control_002BOemOpenBrackets/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoFile/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoFile/Shortcuts/=Shift_002BControl_002BT/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoNextHighlight/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoNextHighlight/Shortcuts/=Alt_002BNext/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoNextMethod/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoNextMethod/Shortcuts/=Alt_002BDown/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoPrevHighlight/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoPrevHighlight/Shortcuts/=Alt_002BPageUp/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoPrevMethod/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoPrevMethod/Shortcuts/=Alt_002BUp/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoRecentEdits/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoRecentEdits/Shortcuts/=Shift_002BControl_002BOemcomma/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoRecentFiles/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoRecentFiles/Shortcuts/=Control_002BOemcomma/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoSymbol/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoSymbol/Shortcuts/=Shift_002BAlt_002BT/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoUsage/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=GotoUsage/Shortcuts/=Shift_002BAlt_002BF12/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=HighlightUsages/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=HighlightUsages/Shortcuts/=Shift_002BAlt_002BF11/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=InlineVariable/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=InlineVariable/Shortcuts/=Control_002BR_0020Control_002BI/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=InlineVariable/Shortcuts/=Control_002BR_0020I/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=IntroduceField/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=IntroduceField/Shortcuts/=Control_002BR_0020Control_002BF/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=IntroduceField/Shortcuts/=Control_002BR_0020F/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=IntroduceVariable/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=IntroduceVariable/Shortcuts/=Control_002BR_0020Control_002BV/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=IntroduceVariable/Shortcuts/=Control_002BR_0020V/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=IntroParameter/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=IntroParameter/Shortcuts/=Control_002BR_0020Control_002BP/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=IntroParameter/Shortcuts/=Control_002BR_0020P/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=LocateInSolutionExplorerAction/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=LocateInSolutionExplorerAction/Shortcuts/=Shift_002BAlt_002BL/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Move/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Move/Shortcuts/=Control_002BR_0020Control_002BO/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=Move/Shortcuts/=Control_002BR_0020O/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=MoveLeft/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=MoveLeft/Shortcuts/=Shift_002BControl_002BAlt_002BLeft/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=MoveRight/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=MoveRight/Shortcuts/=Shift_002BControl_002BAlt_002BRight/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=RefactorThis/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=RefactorThis/Shortcuts/=Shift_002BControl_002BR/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ReSharper_005FUnitTest_005FDebugContext/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ReSharper_005FUnitTest_005FDebugContext/Shortcuts/=Control_002BU_0020Control_002BD/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ReSharper_005FUnitTest_005FDebugContext/Shortcuts/=Control_002BU_0020D/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ReSharper_005FUnitTest_005FRunContext/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ReSharper_005FUnitTest_005FRunContext/Shortcuts/=Control_002BU_0020Control_002BR/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ReSharper_005FUnitTest_005FRunContext/Shortcuts/=Control_002BU_0020R/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SafeDelete/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SafeDelete/Shortcuts/=Control_002BR_0020Control_002BD/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SafeDelete/Shortcuts/=Control_002BR_0020D/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SelectContainingDeclaration/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SelectContainingDeclaration/Shortcuts/=Shift_002BControl_002BOemOpenBrackets/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowFindResults/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowFindResults/Shortcuts/=Control_002BAlt_002BF12/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowHierarchyWindow/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowHierarchyWindow/Shortcuts/=Control_002BAlt_002BH/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowInspectionWindow/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowInspectionWindow/Shortcuts/=Control_002BAlt_002BV/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowTodoExplorer/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowTodoExplorer/Shortcuts/=Control_002BAlt_002BD/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowUnitTestExplorer/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowUnitTestExplorer/Shortcuts/=Control_002BAlt_002BU/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowUnitTestSessions/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShowUnitTestSessions/Shortcuts/=Control_002BAlt_002BT/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShrinkSelection/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=ShrinkSelection/Shortcuts/=Control_002BAlt_002BLeft/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SilentCleanupCode/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SilentCleanupCode/Shortcuts/=Control_002BE_0020Control_002BF/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SilentCleanupCode/Shortcuts/=Control_002BE_0020F/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SurroundWith/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SurroundWith/Shortcuts/=Control_002BE_0020Control_002BU/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=SurroundWith/Shortcuts/=Control_002BE_0020U/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=UnitTest_002ERunCurrentSession/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=UnitTest_002ERunCurrentSession/Shortcuts/=Control_002BU_0020Control_002BY/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=UnitTest_002ERunCurrentSession/Shortcuts/=Control_002BU_0020Y/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=UnitTest_002ERunSolution/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=UnitTest_002ERunSolution/Shortcuts/=Control_002BU_0020Control_002BL/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=UnitTest_002ERunSolution/Shortcuts/=Control_002BU_0020L/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=UnitTestSession_002ERepeatPreviousRun/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=UnitTestSession_002ERepeatPreviousRun/Shortcuts/=Control_002BU_0020Control_002BU/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=UnitTestSession_002ERepeatPreviousRun/Shortcuts/=Control_002BU_0020U/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=WindowManager_002EActivateRecentTool/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/ConflictingActions/=WindowManager_002EActivateRecentTool/Shortcuts/=Control_002BAlt_002BBack/@EntryIndexedValue">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Add/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BBack/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BDown/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BF10/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BF11/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BF12/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BF3/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BF4/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BF5/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BF6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BF7/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BF8/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BF9/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BLeft/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BMultiply/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BNext/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BOem6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BOemcomma/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BOemOpenBrackets/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BOemPeriod/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BP/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BPageUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BPause/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BR/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BReturn/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BRight/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BSubtract/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Alt_002BW/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Back/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BA/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAdd/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BA/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BB/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BBack/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BC/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BD/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BDown/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BE/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BF1/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BF10/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BF11/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BF12/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BF5/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BF6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BG/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BH/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BI/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BInsert/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BJ/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BL/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BLeft/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BM/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BO/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BOemPeriod/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BP/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BPause/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BQ/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BR/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BRight/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BS/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BSpace/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BT/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BU/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BV/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BW/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BX/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BAlt_002BZ/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BB/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BBack/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BC/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BD/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BD1/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BD2/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BD3/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BD4/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BD5/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BD6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BD7/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BD8/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BD9/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BDelete/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BDivide/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BDown/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BE/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BEnd/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF1/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF10/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF11/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF12/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF2/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF3/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF4/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF5/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF7/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BF9/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BG/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BH/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BHome/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BI/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BInsert/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BJ/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BK/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BL/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BLeft/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BM/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BN/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BNext/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BO/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BOem1/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BOem6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BOemBackslash/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BOemcomma/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BOemOpenBrackets/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BOemPeriod/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BOemplus/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BP/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BPageUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BPause/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BQ/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BR/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BReturn/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BRight/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BS/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BSpace/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BSubtract/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BT/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BTab/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BU/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BV/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BW/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BX/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BY/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Control_002BZ/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Delete/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Down/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=End/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Escape/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F1/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F10/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F11/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F12/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F2/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F3/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F4/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F5/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F7/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F8/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=F9/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Home/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Insert/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Left/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Next/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=PageUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Return/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Right/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BA/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BB/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BBack/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BC/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BD/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BDown/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BEnd/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BF10/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BF11/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BF12/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BF6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BF7/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BH/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BHome/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BL/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BLeft/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BN/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BP/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BR/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BReturn/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BRight/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BS/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BT/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BV/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BAlt_002BW/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BBack/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BA/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BAlt_002BC/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BAlt_002BF11/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BAlt_002BF12/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BAlt_002BLeft/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BAlt_002BP/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BAlt_002BR/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BAlt_002BRight/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BAlt_002BS/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BAlt_002BW/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BB/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BC/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BD/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BD1/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BD2/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BD7/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BD8/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BDown/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BE/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BEnd/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BF/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BF10/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BF12/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BF3/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BF5/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BF6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BF9/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BG/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BH/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BHome/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BI/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BInsert/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BJ/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BL/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BLeft/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BM/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BN/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BNext/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BO/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BOem6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BOemcomma/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BOemOpenBrackets/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BOemPeriod/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BP/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BPageUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BR/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BReturn/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BRight/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BS/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BSpace/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BSubtract/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BT/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BTab/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BU/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BV/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BW/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BX/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BY/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BControl_002BZ/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BDelete/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BDown/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BEnd/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BEscape/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BF1/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BF11/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BF12/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BF3/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BF4/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BF5/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BF6/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BF7/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BF8/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BF9/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BHome/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BInsert/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BLeft/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BNext/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BPageUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BReturn/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BRight/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BSpace/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BTab/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Shift_002BUp/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Subtract/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Tab/@KeyIndexDefined">True</s:Boolean>
+ <s:Boolean x:Key="/Default/Housekeeping/VsActionManager/KeyboardShortcutToVsCommand/=Up/@KeyIndexDefined">True</s:Boolean>
+ <s:String x:Key="/Default/Housekeeping/VsSavedAutocompletionValue/OverrideIntellisense/=CSharp/@EntryIndexedValue">NotOverridden</s:String>
+ <s:String x:Key="/Default/Housekeeping/VsSavedAutocompletionValue/OverrideIntellisense/=Xaml/@EntryIndexedValue">NotOverridden</s:String>
+ <s:String x:Key="/Default/Housekeeping/VsSavedAutocompletionValue/OverrideParameterInfo/=CSharp/@EntryIndexedValue">NotOverridden</s:String>
+ <s:String x:Key="/Default/Housekeeping/VsSavedAutocompletionValue/OverrideParameterInfo/=Css/@EntryIndexedValue">NotOverridden</s:String>
+ <s:String x:Key="/Default/Housekeeping/VsSavedAutocompletionValue/OverrideParameterInfo/=Html/@EntryIndexedValue">NotOverridden</s:String>
+ <s:String x:Key="/Default/Housekeeping/VsSavedAutocompletionValue/OverrideParameterInfo/=JavaScript/@EntryIndexedValue">NotOverridden</s:String>
+ <s:String x:Key="/Default/Housekeeping/VsSavedAutocompletionValue/OverrideParameterInfo/=MsBuild/@EntryIndexedValue">NotOverridden</s:String>
+ <s:String x:Key="/Default/Housekeeping/VsSavedAutocompletionValue/OverrideParameterInfo/=VB/@EntryIndexedValue">NotOverridden</s:String>
+ <s:String x:Key="/Default/Housekeeping/VsSavedAutocompletionValue/OverrideParameterInfo/=Xaml/@EntryIndexedValue">NotOverridden</s:String></wpf:ResourceDictionary>
\ No newline at end of file
<Reference Include="System.Management" />\r
<Reference Include="System.Runtime.Serialization" />\r
<Reference Include="System.ServiceModel" />\r
+ <Reference Include="System.Windows.Forms" />\r
<Reference Include="System.Windows.Interactivity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">\r
<HintPath>..\libraries\caliburn\System.Windows.Interactivity.dll</HintPath>\r
</Reference>\r
/// </summary>\r
public const string Skipversion = "skipversion";\r
\r
- /// <summary>\r
- /// Tooltip\r
- /// </summary>\r
- public const string TooltipEnable = "tooltipEnable";\r
-\r
- /// <summary>\r
- /// Tray Icon\r
- /// </summary>\r
- public const string TrayIconAlerts = "trayIconAlerts";\r
-\r
/// <summary>\r
/// Update Status\r
/// </summary>\r
}\r
\r
// Use the Path on the Title, or the Source Scan path if one doesn't exist.\r
+ this.SourceLabel = this.SourceName;\r
this.CurrentTask.Source = !string.IsNullOrEmpty(this.selectedTitle.SourceName) ? this.selectedTitle.SourceName : this.ScannedSource.ScanPath;\r
this.CurrentTask.Title = value.TitleNumber;\r
this.NotifyOfPropertyChange(() => this.StartEndRangeItems);\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.SourceLabel = this.SourceName;\r
this.StatusLabel = "Scan Completed";\r
});\r
}\r
this.ShowStatusWindow = false;\r
if (e.Successful)\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.SourceLabel = this.SourceName;\r
this.StatusLabel = "Scan Completed";\r
}\r
else if (!e.Successful && e.Exception == null)\r
/// </summary>\r
private bool disablePresetUpdateCheckNotification;\r
\r
- /// <summary>\r
- /// The display status messages tray icon.\r
- /// </summary>\r
- private bool displayStatusMessagesTrayIcon;\r
-\r
- /// <summary>\r
- /// The enable gui tooltips.\r
- /// </summary>\r
- private bool enableGuiTooltips;\r
-\r
/// <summary>\r
/// The growl after encode.\r
/// </summary>\r
}\r
}\r
\r
- /// <summary>\r
- /// Gets or sets a value indicating whether EnableGuiTooltips.\r
- /// </summary>\r
- public bool EnableGuiTooltips\r
- {\r
- get\r
- {\r
- return this.enableGuiTooltips;\r
- }\r
-\r
- set\r
- {\r
- this.enableGuiTooltips = value;\r
- this.NotifyOfPropertyChange("EnableGuiTooltips");\r
- }\r
- }\r
-\r
/// <summary>\r
/// Gets or sets WhenDone.\r
/// </summary>\r
}\r
}\r
\r
- /// <summary>\r
- /// Gets or sets a value indicating whether DisplayStatusMessagesTrayIcon.\r
- /// </summary>\r
- public bool DisplayStatusMessagesTrayIcon\r
- {\r
- get\r
- {\r
- return this.displayStatusMessagesTrayIcon;\r
- }\r
-\r
- set\r
- {\r
- this.displayStatusMessagesTrayIcon = value;\r
- this.NotifyOfPropertyChange("DisplayStatusMessagesTrayIcon");\r
- }\r
- }\r
-\r
/// <summary>\r
/// Gets or sets LogVerbosityOptions.\r
/// </summary>\r
// General\r
// #############################\r
\r
- this.EnableGuiTooltips = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.TooltipEnable);\r
this.CheckForUpdates = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.UpdateStatus);\r
\r
// Days between update checks\r
// #############################\r
\r
// Minimise to Tray\r
- this.DisplayStatusMessagesTrayIcon = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.TrayIconAlerts);\r
this.MinimiseToTray = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.MainWindowMinimize);\r
this.DisablePresetUpdateCheckNotification = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.PresetNotification);\r
this.ClearQueueOnEncodeCompleted = userSettingService.GetUserSetting<bool>(ASUserSettingConstants.ClearCompletedFromQueue);\r
/* General */\r
this.userSettingService.SetUserSetting(UserSettingConstants.UpdateStatus, this.CheckForUpdates);\r
this.userSettingService.SetUserSetting(UserSettingConstants.DaysBetweenUpdateCheck, this.CheckForUpdatesFrequency);\r
- this.userSettingService.SetUserSetting(UserSettingConstants.TooltipEnable, this.EnableGuiTooltips);\r
this.userSettingService.SetUserSetting(ASUserSettingConstants.WhenCompleteAction, this.WhenDone);\r
this.userSettingService.SetUserSetting(UserSettingConstants.GrowlQueue, this.GrowlAfterQueue);\r
this.userSettingService.SetUserSetting(UserSettingConstants.GrowlEncode, this.GrowlAfterEncode);\r
\r
/* Advanced */\r
userSettingService.SetUserSetting(UserSettingConstants.MainWindowMinimize, this.MinimiseToTray);\r
- userSettingService.SetUserSetting(UserSettingConstants.TrayIconAlerts, this.DisplayStatusMessagesTrayIcon);\r
userSettingService.SetUserSetting(UserSettingConstants.PresetNotification, this.DisablePresetUpdateCheckNotification);\r
userSettingService.SetUserSetting(ASUserSettingConstants.ClearCompletedFromQueue, this.ClearQueueOnEncodeCompleted);\r
userSettingService.SetUserSetting(ASUserSettingConstants.PreviewScanCount, this.SelectedPreviewCount);\r
\r
<StackPanel Orientation="Vertical" Grid.Column="1" Margin="20,0,0,0">\r
<CheckBox Content="Prevent the system from sleeping while encoding" IsChecked="{Binding PreventSleep}" />\r
- <CheckBox Content="Minimize to system tray (Requires Restart)" Visibility="Collapsed" IsChecked="{Binding MinimiseToTray}" />\r
+ <CheckBox Content="Minimize to system tray (Requires Restart)" IsChecked="{Binding MinimiseToTray}" />\r
<CheckBox Content="Display status messages from tray icon (balloon popups)" Visibility="Collapsed" IsChecked="{Binding DisplayStatusMessagesTrayIcon}" />\r
<CheckBox Content="Disable built-in preset update notification" IsChecked="{Binding DisablePresetUpdateCheckNotification}" />\r
<CheckBox Content="Always clear completed queue items after an encode completes" IsChecked="{Binding ClearQueueOnEncodeCompleted}" />\r
\r
namespace HandBrakeWPF.Views\r
{\r
+ using System;\r
+ using System.IO;\r
using System.Windows;\r
+ using System.Windows.Forms;\r
using System.Windows.Input;\r
+ using System.Windows.Resources;\r
\r
+ using Caliburn.Micro;\r
+\r
+ using HandBrake.ApplicationServices.Services.Interfaces;\r
using HandBrake.ApplicationServices.Utilities;\r
\r
using HandBrakeWPF.Commands;\r
using HandBrakeWPF.ViewModels.Interfaces;\r
\r
+ using Application = System.Windows.Application;\r
+\r
/// <summary>\r
/// Interaction logic for ShellView.xaml\r
/// </summary>\r
- public partial class ShellView : Window\r
+ public partial class ShellView\r
{\r
+ /// <summary>\r
+ /// The my notify icon.\r
+ /// </summary>\r
+ private readonly System.Windows.Forms.NotifyIcon notifyIcon;\r
+\r
/// <summary>\r
/// Initializes a new instance of the <see cref="ShellView"/> class.\r
/// </summary>\r
{\r
this.InitializeComponent();\r
\r
+ IUserSettingService userSettingService = IoC.Get<IUserSettingService>();\r
+ bool minimiseToTray = userSettingService.GetUserSetting<bool>(UserSettingConstants.MainWindowMinimize);\r
+\r
+ if (minimiseToTray)\r
+ {\r
+ this.notifyIcon = new System.Windows.Forms.NotifyIcon();\r
+ this.notifyIcon.ContextMenu = new ContextMenu(new[] { new MenuItem("Restore", NotifyIconClick) });\r
+\r
+ StreamResourceInfo streamResourceInfo = Application.GetResourceStream(new Uri("pack://application:,,,/handbrakepineapple.ico"));\r
+ if (streamResourceInfo != null)\r
+ {\r
+ Stream iconStream = streamResourceInfo.Stream;\r
+ this.notifyIcon.Icon = new System.Drawing.Icon(iconStream);\r
+ }\r
+ this.notifyIcon.DoubleClick += this.NotifyIconClick;\r
+ this.StateChanged += this.ShellViewStateChanged;\r
+ }\r
+\r
// Start Encode (Ctrl+S)\r
// Stop Encode (Ctrl+K)\r
// Open Log Window (Ctrl+L)\r
}\r
}\r
\r
+ /// <summary>\r
+ /// The notify icon_ click.\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void NotifyIconClick(object sender, EventArgs e)\r
+ {\r
+ this.WindowState = WindowState.Normal;\r
+ }\r
+\r
+ /// <summary>\r
+ /// The shell view state changed.\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void ShellViewStateChanged(object sender, EventArgs e)\r
+ {\r
+ if (this.notifyIcon != null)\r
+ {\r
+ if (this.WindowState == WindowState.Minimized)\r
+ {\r
+ this.ShowInTaskbar = false;\r
+ notifyIcon.Visible = true;\r
+ // notifyIcon.ShowBalloonTip(5000, "HandBrake", "Application Minimised", ToolTipIcon.Info); \r
+ }\r
+ else if (this.WindowState == WindowState.Normal)\r
+ {\r
+ notifyIcon.Visible = false;\r
+ this.ShowInTaskbar = true;\r
+ }\r
+ }\r
+ }\r
+\r
/// <summary>\r
/// Check with the user before closing.\r
/// </summary>\r
}\r
}\r
\r
+ if (this.notifyIcon != null)\r
+ {\r
+ this.notifyIcon.Visible = false;\r
+ }\r
+\r
base.OnClosing(e);\r
}\r
}\r
<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>tooltipEnable</string>\r
- </key>\r
- <value>\r
- <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>defaultPreset</string>\r
<string>MainWindowMinimize</string>\r
</key>\r
<value>\r
- <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
+ <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:boolean" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">false</anyType>\r
</value>\r
</item>\r
<item>\r
<anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:boolean" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">false</anyType>\r
</value>\r
</item>\r
- <item>\r
- <key>\r
- <string>trayIconAlerts</string>\r
- </key>\r
- <value>\r
- <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>lastUpdateCheckDate</string>\r