some treeview headings and session click fix

git-svn-id: svn://localhost/trunk/ardour2@174 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Nick Mainsbridge
2005-12-06 15:14:37 +00:00
parent 857f1163d4
commit f04aa5e49a
3 changed files with 20 additions and 8 deletions

View File

@@ -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));

View File

@@ -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

View File

@@ -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;