summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc40
1 files changed, 23 insertions, 17 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 6de90c15c2..33f5a5099e 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -186,6 +186,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
, feedback_alert_button (_("feedback"))
, editor_meter(0)
+ , editor_meter_peak_display()
, speaker_config_window (X_("speaker-config"), _("Speaker Configuration"))
, theme_manager (X_("theme-manager"), _("Theme Manager"))
@@ -293,21 +294,10 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
/* lets get this party started */
- try {
- if (ARDOUR::init (ARDOUR_COMMAND_LINE::use_vst, ARDOUR_COMMAND_LINE::try_hw_optimization, localedir)) {
- throw failed_constructor ();
- }
-
- setup_gtk_ardour_enums ();
- setup_profile ();
-
- SessionEvent::create_per_thread_pool ("GUI", 512);
+ setup_gtk_ardour_enums ();
+ setup_profile ();
- } catch (failed_constructor& err) {
- error << string_compose (_("could not initialize %1."), PROGRAM_NAME) << endmsg;
- // pass it on up
- throw;
- }
+ SessionEvent::create_per_thread_pool ("GUI", 512);
/* we like keyboards */
@@ -1039,8 +1029,14 @@ ARDOUR_UI::every_point_zero_something_seconds ()
// august 2007: actual update frequency: 25Hz (40ms), not 100Hz
SuperRapidScreenUpdate(); /* EMIT_SIGNAL */
- if (editor_meter) {
- editor_meter->update_meters();
+ if (editor_meter && Config->get_show_editor_meter()) {
+ float mpeak = editor_meter->update_meters();
+ if (mpeak > editor_meter_max_peak) {
+ if (mpeak >= Config->get_meter_peak()) {
+ editor_meter_peak_display.set_name ("meterbridge peakindicator on");
+ editor_meter_peak_display.set_elements((ArdourButton::Element) (ArdourButton::Edge|ArdourButton::Body));
+ }
+ }
}
return TRUE;
}
@@ -3530,7 +3526,10 @@ ARDOUR_UI::add_video (Gtk::Window* float_window)
return;
}
if (!transcode_video_dialog->get_audiofile().empty()) {
- editor->embed_audio_from_video(transcode_video_dialog->get_audiofile());
+ editor->embed_audio_from_video(
+ transcode_video_dialog->get_audiofile(),
+ video_timeline->get_offset()
+ );
}
switch (transcode_video_dialog->import_option()) {
case VTL_IMPORT_TRANSCODED:
@@ -3594,6 +3593,10 @@ ARDOUR_UI::remove_video ()
video_timeline->close_session();
editor->toggle_ruler_video(false);
+ /* reset state */
+ video_timeline->set_offset_locked(false);
+ video_timeline->set_offset(0);
+
/* delete session state */
XMLNode* node = new XMLNode(X_("Videotimeline"));
_session->add_extra_xml(*node);
@@ -4138,6 +4141,9 @@ ARDOUR_UI::reset_peak_display ()
{
if (!_session || !_session->master_out() || !editor_meter) return;
editor_meter->clear_meters();
+ editor_meter_max_peak = -INFINITY;
+ editor_meter_peak_display.set_name ("meterbridge peakindicator");
+ editor_meter_peak_display.set_elements((ArdourButton::Element) (ArdourButton::Edge|ArdourButton::Body));
}
void