gtk_range_set_range (GTK_RANGE(qp), vqmin, vqmax);
}
-void
-vfr_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
-{
- //const gchar *name = gtk_widget_get_name(widget);
- //g_debug("setting_widget_changed_cb () %s", name);
- ghb_widget_to_setting(ud->settings, widget);
- check_dependency(ud, widget);
- clear_presets_selection(ud);
- if (ghb_settings_get_boolean(ud->settings, "variable_frame_rate"))
- {
- ghb_ui_update(ud, "framerate", ghb_int64_value(0));
- }
-}
-
// subtitles have their differ from other settings in that
// the selection is updated automaitcally when the title
// changes. I don't want the preset selection changed as
GValue *settings;
gint status;
- g_message("queue_key_press_cb ()");
+ g_debug("queue_key_press_cb ()");
treeview = GTK_TREE_VIEW(GHB_WIDGET(ud->builder, "queue_list"));
store = gtk_tree_view_get_model(treeview);
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="variable_frame_rate">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">Variable Frame Rate</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- <signal handler="vfr_changed_cb" name="toggled"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
<object class="GtkCheckButton" id="two_pass">
<property name="visible">True</property>
<property name="can_focus">True</property>
<signal handler="setting_widget_changed_cb" name="toggled"/>
</object>
<packing>
- <property name="position">3</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
</child>
</object>
<packing>
- <property name="position">4</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
vcodec = HB_VCODEC_XVID;
ghb_ui_update(ud, "video_codec", ghb_int64_value(vcodec));
}
- gboolean decomb;
- gboolean vfr;
- decomb = ghb_settings_get_boolean(ud->settings, "decomb");
- vfr = ghb_settings_get_boolean(ud->settings, "variable_frame_rate");
- if (decomb && !vfr)
- {
- message = g_strdup_printf(
- "Decomb is intended to be used in conjunction\n"
- "with variable frame rate.\n\n"
- "Would you like me to enable VFR for you?");
- if (ghb_message_dialog(GTK_MESSAGE_WARNING, message, "No", "Yes"))
- {
- ghb_ui_update(ud, "variable_frame_rate", ghb_boolean_value(TRUE));
- }
- g_free(message);
- }
return TRUE;
}
job->pixel_ratio = 0;
job->modulus = 2;
}
- job->vfr = ghb_settings_get_boolean(js, "variable_frame_rate");
/* Add selected filters */
job->filters = hb_list_init();
- if( ghb_settings_get_boolean(js, "detelecine" ) || job->vfr )
+ gint vrate = ghb_settings_combo_int(js, "framerate");
+ if( vrate == 0 && ghb_settings_get_boolean(js, "detelecine" ) )
+ job->vfr = 1;
+ else
+ job->vfr = 0;
+
+ if( ghb_settings_get_boolean(js, "detelecine" ) )
{
hb_filter_detelecine.settings = NULL;
if (tweaks)
if (job->mux == HB_MUX_AVI)
{
job->vfr = FALSE;
+ job->cfr = 1;
}
- gint vrate = ghb_settings_combo_int(js, "framerate");
- if( vrate == 0 || job->vfr )
+ if( vrate == 0 )
{
job->vrate = title->rate;
job->vrate_base = title->rate_base;
<string></string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <true />
<key>video_bitrate</key>
<integer>1800</integer>
<key>video_codec</key>
{"container", "large_mp4", "mp4|m4v", FALSE},
{"container", "http_optimize_mp4", "mp4|m4v", FALSE},
{"container", "ipod_file", "mp4|m4v", FALSE},
- {"container", "variable_frame_rate", "avi", TRUE},
- {"variable_frame_rate", "framerate", "TRUE", TRUE},
- {"variable_frame_rate", "detelecine", "TRUE", TRUE},
{"decomb", "deinterlace", "TRUE", TRUE},
{"decomb", "tweak_deinterlace", "TRUE", TRUE},
{"autocrop", "crop_top", "FALSE", FALSE},
" </child>\n"
" <child>\n"
" <object class="GtkCheckBu"
-"tton" id="variable_frame_rate">\n"
-" <property name="visible"
-"">True</property>\n"
-" <property name="can_foc"
-"us">True</property>\n"
-" <property name="events&"
-"quot;>GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_B"
-"UTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n"
-" <property name="label&q"
-"uot; translatable="yes">Variable Frame Rate</property&g"
-"t;\n"
-" <property name="active&"
-"quot;>True</property>\n"
-" <property name="draw_in"
-"dicator">True</property>\n"
-" <signal handler="vfr_ch"
-"anged_cb" name="toggled"/>\n"
-" </object>\n"
-" <packing>\n"
-" <property name="expand&"
-"quot;>False</property>\n"
-" <property name="positio"
-"n">2</property>\n"
-" </packing>\n"
-" </child>\n"
-" <child>\n"
-" <object class="GtkCheckBu"
"tton" id="two_pass">\n"
" <property name="visible"
"">True</property>\n"
" </object>\n"
" <packing>\n"
" <property name="positio"
-"n">3</property>\n"
+"n">2</property>\n"
" </packing>\n"
" </child>\n"
" <child>\n"
" </object>\n"
" <packing>\n"
" <property name="positio"
-"n">4</property>\n"
+"n">3</property>\n"
" </packing>\n"
" </child>\n"
" <child>\n"
" <string></string>\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <true />\n"
" <key>video_bitrate</key>\n"
" <integer>1800</integer>\n"
" <key>video_codec</key>\n"
" <true />\n"
" <key>two_pass</key>\n"
" <true />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>1000</integer>\n"
" <key>video_codec</key>\n"
" <string>none</string>\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>2500</integer>\n"
" <key>video_codec</key>\n"
" <true />\n"
" <key>two_pass</key>\n"
" <true />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>1800</integer>\n"
" <key>video_codec</key>\n"
" <false />\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>512</integer>\n"
" <key>video_codec</key>\n"
" <true />\n"
" <key>two_pass</key>\n"
" <true />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>1600</integer>\n"
" <key>video_codec</key>\n"
" <string>none</string>\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>1000</integer>\n"
" <key>video_codec</key>\n"
" <false />\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>2000</integer>\n"
" <key>video_codec</key>\n"
" <true />\n"
" <key>two_pass</key>\n"
" <true />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>1600</integer>\n"
" <key>video_codec</key>\n"
" <true />\n"
" <key>two_pass</key>\n"
" <true />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>1800</integer>\n"
" <key>video_codec</key>\n"
" <true />\n"
" <key>two_pass</key>\n"
" <true />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>1500</integer>\n"
" <key>video_codec</key>\n"
" <string>none</string>\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>2500</integer>\n"
" <key>video_codec</key>\n"
" <string>none</string>\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>1024</integer>\n"
" <key>video_codec</key>\n"
" <true />\n"
" <key>two_pass</key>\n"
" <true />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>2000</integer>\n"
" <key>video_codec</key>\n"
" <true />\n"
" <key>two_pass</key>\n"
" <true />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>1300</integer>\n"
" <key>video_codec</key>\n"
" <string>none</string>\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>2000</integer>\n"
" <key>video_codec</key>\n"
" <string>none</string>\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>960</integer>\n"
" <key>video_codec</key>\n"
" <string>none</string>\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>1500</integer>\n"
" <key>video_codec</key>\n"
" <string>none</string>\n"
" <key>two_pass</key>\n"
" <false />\n"
-" <key>variable_frame_rate</key>\n"
-" <false />\n"
" <key>video_bitrate</key>\n"
" <integer>700</integer>\n"
" <key>video_codec</key>\n"
" <string>large_mp4</string>\n"
" <string>http_optimize_mp4</string>\n"
" <string>ipod_file</string>\n"
-" <string>variable_frame_rate</string>\n"
" </array>\n"
" <key>decomb</key>\n"
" <array>\n"
" <array>\n"
" <string>chapters_in_destination</string>\n"
" </array>\n"
-" <key>variable_frame_rate</key>\n"
-" <array>\n"
-" <string>framerate</string>\n"
-" <string>detelecine</string>\n"
-" </array>\n"
" <key>video_codec</key>\n"
" <array>\n"
" <string>x264_tab</string>\n"
" <true />\n"
" </array>\n"
" </array>\n"
-" <key>detelecine</key>\n"
-" <array>\n"
-" <array>\n"
-" <string>variable_frame_rate</string>\n"
-" <string>TRUE</string>\n"
-" <true />\n"
-" </array>\n"
-" </array>\n"
" <key>end_chapter</key>\n"
" <array>\n"
" <array>\n"
" <true />\n"
" </array>\n"
" </array>\n"
-" <key>framerate</key>\n"
-" <array>\n"
-" <array>\n"
-" <string>variable_frame_rate</string>\n"
-" <string>TRUE</string>\n"
-" <true />\n"
-" </array>\n"
-" </array>\n"
" <key>http_optimize_mp4</key>\n"
" <array>\n"
" <array>\n"
" <true />\n"
" </array>\n"
" </array>\n"
-" <key>variable_frame_rate</key>\n"
-" <array>\n"
-" <array>\n"
-" <string>container</string>\n"
-" <string>avi</string>\n"
-" <true />\n"
-" </array>\n"
-" </array>\n"
" <key>video_bitrate</key>\n"
" <array>\n"
" <array>\n"
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="variable_frame_rate">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">Variable Frame Rate</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- <signal handler="vfr_changed_cb" name="toggled"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
<object class="GtkCheckButton" id="two_pass">
<property name="visible">True</property>
<property name="can_focus">True</property>
<signal handler="setting_widget_changed_cb" name="toggled"/>
</object>
<packing>
- <property name="position">3</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
</child>
</object>
<packing>
- <property name="position">4</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
<string></string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <true />
<key>video_bitrate</key>
<integer>1800</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1000</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>2500</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1800</integer>
<key>video_codec</key>
<false />
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>512</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1600</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1000</integer>
<key>video_codec</key>
<false />
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>2000</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1600</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1800</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1500</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>2500</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1024</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>2000</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1300</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>2000</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>960</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1500</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>700</integer>
<key>video_codec</key>
<string>large_mp4</string>
<string>http_optimize_mp4</string>
<string>ipod_file</string>
- <string>variable_frame_rate</string>
</array>
<key>decomb</key>
<array>
<array>
<string>chapters_in_destination</string>
</array>
- <key>variable_frame_rate</key>
- <array>
- <string>framerate</string>
- <string>detelecine</string>
- </array>
<key>video_codec</key>
<array>
<string>x264_tab</string>
<true />
</array>
</array>
- <key>detelecine</key>
- <array>
- <array>
- <string>variable_frame_rate</string>
- <string>TRUE</string>
- <true />
- </array>
- </array>
<key>end_chapter</key>
<array>
<array>
<true />
</array>
</array>
- <key>framerate</key>
- <array>
- <array>
- <string>variable_frame_rate</string>
- <string>TRUE</string>
- <true />
- </array>
- </array>
<key>http_optimize_mp4</key>
<array>
<array>
<true />
</array>
</array>
- <key>variable_frame_rate</key>
- <array>
- <array>
- <string>container</string>
- <string>avi</string>
- <true />
- </array>
- </array>
<key>video_bitrate</key>
<array>
<array>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1000</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>2500</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1800</integer>
<key>video_codec</key>
<false />
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>512</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1600</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1000</integer>
<key>video_codec</key>
<false />
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>2000</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1600</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1800</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1500</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>2500</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1024</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>2000</integer>
<key>video_codec</key>
<true />
<key>two_pass</key>
<true />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1300</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>2000</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>960</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>1500</integer>
<key>video_codec</key>
<string>none</string>
<key>two_pass</key>
<false />
- <key>variable_frame_rate</key>
- <false />
<key>video_bitrate</key>
<integer>700</integer>
<key>video_codec</key>
<string>large_mp4</string>
<string>http_optimize_mp4</string>
<string>ipod_file</string>
- <string>variable_frame_rate</string>
</array>
<key>decomb</key>
<array>
<array>
<string>chapters_in_destination</string>
</array>
- <key>variable_frame_rate</key>
- <array>
- <string>framerate</string>
- <string>detelecine</string>
- </array>
<key>video_codec</key>
<array>
<string>x264_tab</string>
<true />
</array>
</array>
- <key>detelecine</key>
- <array>
- <array>
- <string>variable_frame_rate</string>
- <string>TRUE</string>
- <true />
- </array>
- </array>
<key>end_chapter</key>
<array>
<array>
<true />
</array>
</array>
- <key>framerate</key>
- <array>
- <array>
- <string>variable_frame_rate</string>
- <string>TRUE</string>
- <true />
- </array>
- </array>
<key>http_optimize_mp4</key>
<array>
<array>
<true />
</array>
</array>
- <key>variable_frame_rate</key>
- <array>
- <array>
- <string>container</string>
- <string>avi</string>
- <true />
- </array>
- </array>
<key>video_bitrate</key>
<array>
<array>