summaryrefslogtreecommitdiff
path: root/gtk2_ardour/region_editor.cc
diff options
context:
space:
mode:
authorKarsten Wiese <fzuuzf@googlemail.com>2006-01-03 14:16:27 +0000
committerKarsten Wiese <fzuuzf@googlemail.com>2006-01-03 14:16:27 +0000
commit4ae64c91058a25423a9e1f533edfcda559736b1b (patch)
tree5222cdced927b98baf22bd3b1286be3b6126cc56 /gtk2_ardour/region_editor.cc
parent6481d09cdc90e6bc8462b322c2c4cbecd5efc39b (diff)
make AudioRegionEditor work
git-svn-id: svn://localhost/trunk/ardour2@231 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/region_editor.cc')
-rw-r--r--gtk2_ardour/region_editor.cc33
1 files changed, 21 insertions, 12 deletions
diff --git a/gtk2_ardour/region_editor.cc b/gtk2_ardour/region_editor.cc
index 3e889d01fc..73aa3465d9 100644
--- a/gtk2_ardour/region_editor.cc
+++ b/gtk2_ardour/region_editor.cc
@@ -28,6 +28,7 @@
#include "regionview.h"
#include "ardour_ui.h"
#include "utils.h"
+#include "gui_thread.h"
#include "i18n.h"
@@ -44,10 +45,12 @@ AudioRegionEditor::AudioRegionEditor (Session&s, AudioRegion& r, AudioRegionView
lock_button (_("lock")),
mute_button (_("mute")),
opaque_button (_("opaque")),
+ envelope_active_button(_("active")),
+ envelope_view_button(_("visible")),
raise_arrow (Gtk::ARROW_UP, Gtk::SHADOW_OUT),
lower_arrow (Gtk::ARROW_DOWN, Gtk::SHADOW_OUT),
layer_label (_("Layer")),
- audition_label (_("play")),
+ audition_button (_("play")),
time_table (3, 2),
start_clock ("AudioRegionEditorClock", true),
end_clock ("AudioRegionEditorClock", true),
@@ -91,8 +94,6 @@ AudioRegionEditor::AudioRegionEditor (Session&s, AudioRegion& r, AudioRegionView
layer_hbox.pack_start (lower_button, false, false);
#endif
- audition_button.add (audition_label);
-
mute_button.set_name ("AudioRegionEditorToggleButton");
opaque_button.set_name ("AudioRegionEditorToggleButton");
lock_button.set_name ("AudioRegionEditorToggleButton");
@@ -171,11 +172,6 @@ AudioRegionEditor::AudioRegionEditor (Session&s, AudioRegion& r, AudioRegionView
envelope_label.set_name ("AudioRegionEditorLabel");
- envelope_active_button_label.set_text (_("active"));
- envelope_active_button.add (envelope_active_button_label);
- envelope_view_button_label.set_text (_("visible"));
- envelope_view_button.add (envelope_view_button_label);
-
envelope_loop_table.set_border_width (5);
envelope_loop_table.set_row_spacings (2);
envelope_loop_table.attach (envelope_label, 0, 1, 0, 1, Gtk::FILL, Gtk::FILL);
@@ -256,11 +252,10 @@ AudioRegionEditor::AudioRegionEditor (Session&s, AudioRegion& r, AudioRegionView
lower_hbox.pack_start (fade_in_table, true, true);
lower_hbox.pack_start (fade_out_table, true, true);
- upper_vbox.pack_start (top_row_hbox, true, true);
- upper_vbox.pack_start (sep3, false, false);
- upper_vbox.pack_start (lower_hbox, true, true);
+ get_vbox()->pack_start (top_row_hbox, true, true);
+ get_vbox()->pack_start (sep3, false, false);
+ get_vbox()->pack_start (lower_hbox, true, true);
- add (upper_vbox);
set_name ("AudioRegionEditorWindow");
add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
@@ -270,6 +265,8 @@ AudioRegionEditor::AudioRegionEditor (Session&s, AudioRegion& r, AudioRegionView
title += _region.name();
set_title (title);
+ show_all();
+
name_changed ();
bounds_changed (Change (StartChanged|LengthChanged|PositionChanged));
envelope_active_changed ();
@@ -450,6 +447,7 @@ AudioRegionEditor::connect_editor_events ()
opaque_button.signal_clicked().connect (mem_fun(*this, &AudioRegionEditor::opaque_button_clicked));
raise_button.signal_clicked().connect (mem_fun(*this, &AudioRegionEditor::raise_button_clicked));
lower_button.signal_clicked().connect (mem_fun(*this, &AudioRegionEditor::lower_button_clicked));
+ _session.AuditionActive.connect (mem_fun(*this, &AudioRegionEditor::audition_state_changed));
}
void
@@ -720,3 +718,14 @@ AudioRegionEditor::fade_in_active_changed ()
fade_in_active_button.set_active (x);
}
}
+
+void
+AudioRegionEditor::audition_state_changed (bool yn)
+{
+ ENSURE_GUI_THREAD (bind (mem_fun(*this, &AudioRegionEditor::audition_state_changed), yn));
+
+ if (!yn) {
+ audition_button.set_active (false);
+ }
+}
+