summaryrefslogtreecommitdiff
path: root/gtk2_ardour/streamview.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-08-01 22:58:24 +0000
committerDavid Robillard <d@drobilla.net>2006-08-01 22:58:24 +0000
commitee1477f9b65107673e581a4d0598dbb1ccbfb89a (patch)
tree584618409c8b5a9cc37cba845ecaaaa50484fd40 /gtk2_ardour/streamview.cc
parente0eac487a562aa93631a27f34cc0df1a1edfe048 (diff)
Fixed random track background problem
Cleaned up StreamView initialization (cause of above problem) Fixed other StreamView colour issues (incomplete port from GTK1 by the looks of it) Added new narrower playback (top) toolbar (under 1024 now? maybe?) Cleaned up status-in-menubar stuff (to be a bit narrower/nicer) git-svn-id: svn://localhost/ardour2/trunk@743 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/streamview.cc')
-rw-r--r--gtk2_ardour/streamview.cc27
1 files changed, 12 insertions, 15 deletions
diff --git a/gtk2_ardour/streamview.cc b/gtk2_ardour/streamview.cc
index 31452e315b..13d07f6cb1 100644
--- a/gtk2_ardour/streamview.cc
+++ b/gtk2_ardour/streamview.cc
@@ -48,25 +48,27 @@ using namespace Editing;
StreamView::StreamView (RouteTimeAxisView& tv)
: _trackview (tv)
+ , canvas_group(new ArdourCanvas::Group(*_trackview.canvas_display))
+ , canvas_rect(new ArdourCanvas::SimpleRect (*canvas_group))
+ , _samples_per_unit(_trackview.editor.get_current_zoom())
+ , rec_updating(false)
+ , rec_active(false)
+ , use_rec_regions(tv.editor.show_waveforms_recording())
+ , region_color(_trackview.color())
+ , stream_base_color(0xFFFFFFFF)
{
- region_color = _trackview.color();
-
/* set_position() will position the group */
- canvas_group = new ArdourCanvas::Group(*_trackview.canvas_display);
-
canvas_rect = new ArdourCanvas::SimpleRect (*canvas_group);
canvas_rect->property_x1() = 0.0;
canvas_rect->property_y1() = 0.0;
canvas_rect->property_x2() = 1000000.0;
canvas_rect->property_y2() = (double) tv.height;
canvas_rect->property_outline_what() = (guint32) (0x1|0x2|0x8); // outline ends and bottom
- canvas_rect->property_fill_color_rgba() = stream_base_color;
+ // (Fill/Outline colours set in derived classes)
canvas_rect->signal_event().connect (bind (mem_fun (_trackview.editor, &PublicEditor::canvas_stream_view_event), canvas_rect, &_trackview));
- _samples_per_unit = _trackview.editor.get_current_zoom();
-
if (_trackview.is_track()) {
_trackview.track()->DiskstreamChanged.connect (mem_fun (*this, &StreamView::diskstream_changed));
_trackview.session().TransportStateChange.connect (mem_fun (*this, &StreamView::transport_changed));
@@ -74,10 +76,6 @@ StreamView::StreamView (RouteTimeAxisView& tv)
_trackview.session().RecordStateChanged.connect (mem_fun (*this, &StreamView::sess_rec_enable_changed));
}
- rec_updating = false;
- rec_active = false;
- use_rec_regions = tv.editor.show_waveforms_recording ();
-
ColorChanged.connect (mem_fun (*this, &StreamView::color_handler));
}
@@ -285,13 +283,12 @@ StreamView::apply_color (Gdk::Color& color, ColorTarget target)
for (i = region_views.begin(); i != region_views.end(); ++i) {
(*i)->set_color (region_color);
}
- // stream_base_color = RGBA_TO_UINT (color.red/256, color.green/256, color.blue/256, 255);
- // gnome_canvas_item_set (canvas_rect, "fill_color_rgba", stream_base_color, NULL);
break;
case StreamBaseColor:
- // stream_base_color = RGBA_TO_UINT (color.red/256, color.green/256, color.blue/256, 255);
- // gnome_canvas_item_set (canvas_rect, "fill_color_rgba", stream_base_color, NULL);
+ stream_base_color = RGBA_TO_UINT (
+ color.get_red_p(), color.get_green_p(), color.get_blue_p(), 255);
+ canvas_rect->property_fill_color_rgba() = stream_base_color;
break;
}
}