summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mainsbridge <beatroute@iprimus.com.au>2005-12-06 15:14:37 +0000
committerNick Mainsbridge <beatroute@iprimus.com.au>2005-12-06 15:14:37 +0000
commitf04aa5e49a1633f6cf39b8bb1872725332370b52 (patch)
tree3d9fccb9fdcc93e31304dc4892939d85712af28f
parent857f1163d4054ea66a7281deabdf771c03dcad42 (diff)
some treeview headings and session click fix
git-svn-id: svn://localhost/trunk/ardour2@174 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/editor.cc13
-rw-r--r--gtk2_ardour/editor_route_list.cc4
-rw-r--r--libs/ardour/session_click.cc11
3 files changed, 20 insertions, 8 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 3c49e8a14e..099ee43cb2 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -532,11 +532,13 @@ Editor::Editor (AudioEngine& eng)
edit_group_list.set_name ("MixerGroupList");
//edit_group_list.set_shadow_type (Gtk::SHADOW_IN);
- route_list.set_headers_visible (false);
- edit_group_list.set_reorderable (false);
- edit_group_list.set_size_request (75, -1);
+
edit_group_list.columns_autosize ();
edit_group_list.get_selection()->set_mode (Gtk::SELECTION_MULTIPLE);
+ edit_group_list.set_reorderable (false);
+
+ edit_group_list.set_size_request (75, -1);
+ edit_group_list.set_headers_visible (true);
edit_group_list_scroller.add (edit_group_list);
edit_group_list_scroller.set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
@@ -616,11 +618,14 @@ Editor::Editor (AudioEngine& eng)
named_selection_model = TreeStore::create (named_selection_columns);
named_selection_display.set_model (named_selection_model);
+ named_selection_display.append_column (_("Chunks"), named_selection_columns.text);
+ named_selection_display.set_size_request (100, -1);
named_selection_display.set_name ("RegionListDisplay");
+
+ named_selection_display.get_selection()->set_mode (Gtk::SELECTION_SINGLE);
named_selection_display.set_size_request (100, -1);
named_selection_display.set_headers_visible (true);
named_selection_display.set_headers_clickable (true);
- named_selection_display.get_selection()->set_mode (Gtk::SELECTION_SINGLE);
named_selection_display.signal_button_press_event().connect (mem_fun(*this, &Editor::named_selection_display_button_press));
named_selection_display.get_selection()->signal_changed().connect (mem_fun (*this, &Editor::named_selection_display_selection_changed));
diff --git a/gtk2_ardour/editor_route_list.cc b/gtk2_ardour/editor_route_list.cc
index d9bfc7e65f..5df85489b7 100644
--- a/gtk2_ardour/editor_route_list.cc
+++ b/gtk2_ardour/editor_route_list.cc
@@ -156,10 +156,10 @@ Editor::route_display_selection_changed ()
for (i = rows.begin(); i != rows.end(); ++i) {
tv = (*i)[route_display_columns.tv];
if (selection->is_selected (i)) {
- tv->set_marked_for_display (true);
+ tv->set_marked_for_display (false);
} else {
AudioTimeAxisView *atv;
- tv->set_marked_for_display (false);
+ tv->set_marked_for_display (true);
if ((atv = dynamic_cast<AudioTimeAxisView*>(tv)) != 0) {
if (current_mixer_strip && &(atv->route()) == &(current_mixer_strip->route())) {
// this will hide the mixer strip
diff --git a/libs/ardour/session_click.cc b/libs/ardour/session_click.cc
index d97d29cc18..250adfe4cc 100644
--- a/libs/ardour/session_click.cc
+++ b/libs/ardour/session_click.cc
@@ -95,15 +95,22 @@ Session::click (jack_nframes_t start, jack_nframes_t nframes, jack_nframes_t off
clk = *i;
next = i;
++next;
-
+
if (clk->start < start) {
internal_offset = 0;
} else {
internal_offset = clk->start - start;
}
+ if (nframes < internal_offset) {
+ /* we've just located or something..
+ effectively going backwards.
+ lets get the flock out of here */
+ break;
+ }
+
copy = min (clk->duration - clk->offset, nframes - internal_offset);
-
+
memcpy (buf + internal_offset, &clk->data[clk->offset], copy * sizeof (Sample));
clk->offset += copy;