#include "region_selection.h"
#include "selection.h"
#include "public_editor.h"
-#include "ardour_ui.h"
#include "timers.h"
#include "rgb_macros.h"
#include "gui_thread.h"
+#include "ui_config.h"
#include "utils.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace std;
using namespace ARDOUR;
, last_rec_data_frame(0)
{
CANVAS_DEBUG_NAME (_canvas_group, string_compose ("SV canvas group %1", _trackview.name()));
-
+
/* set_position() will position the group */
canvas_rect = new ArdourCanvas::Rectangle (_canvas_group);
if (_trackview.is_track()) {
_trackview.track()->DiskstreamChanged.connect (*this, invalidator (*this), boost::bind (&StreamView::diskstream_changed, this), gui_context());
- _trackview.track()->RecordEnableChanged.connect (*this, invalidator (*this), boost::bind (&StreamView::rec_enable_changed, this), gui_context());
+ _trackview.track()->rec_enable_control()->Changed.connect (*this, invalidator (*this), boost::bind (&StreamView::rec_enable_changed, this), gui_context());
_trackview.session()->TransportStateChange.connect (*this, invalidator (*this), boost::bind (&StreamView::transport_changed, this), gui_context());
_trackview.session()->TransportLooped.connect (*this, invalidator (*this), boost::bind (&StreamView::transport_looped, this), gui_context());
_trackview.session()->RecordStateChanged.connect (*this, invalidator (*this), boost::bind (&StreamView::sess_rec_enable_changed, this), gui_context());
}
- UIConfiguration::ColorsChanged.connect (sigc::mem_fun (*this, &StreamView::color_handler));
+ UIConfiguration::instance().ColorsChanged.connect (sigc::mem_fun (*this, &StreamView::color_handler));
}
StreamView::~StreamView ()
return -1;
}
- if (canvas_rect->y1() == h) {
+ if (height == h) {
return 0;
}
return -1;
}
+ if (fpp == _samples_per_pixel) {
+ return 0;
+ }
+
_samples_per_pixel = fpp;
for (i = region_views.begin(); i != region_views.end(); ++i) {
if (_layer_display == Stacked) {
update_contents_height ();
+ /* tricky. playlist_changed() does this as well, and its really inefficient. */
update_coverage_frames ();
} else {
/* layering has probably been modified. reflect this in the canvas. */
/* disconnect from old playlist */
playlist_connections.drop_connections ();
- undisplay_track ();
+ //undisplay_track ();
/* draw it */
-
+ tr->playlist()->freeze();
redisplay_track ();
-
+ tr->playlist()->thaw();
/* update layers count and the y positions and heights of our regions */
_layers = tr->playlist()->top_layer() + 1;
update_contents_height ();
{
const double xstart = _trackview.editor().sample_to_pixel(frame_pos);
const double xend = xstart + width;
- const uint32_t fill_color = ARDOUR_UI::config()->color_mod("recording rect", "recording_rect");
+ const uint32_t fill_color = UIConfiguration::instance().color_mod("recording rect", "recording_rect");
ArdourCanvas::Rectangle* rec_rect = new ArdourCanvas::Rectangle(_canvas_group);
rec_rect->set_x0(xstart);
rec_rect->set_x1(xend);
rec_rect->set_y1(child_height ());
rec_rect->set_outline_what(ArdourCanvas::Rectangle::What(0));
- rec_rect->set_outline_color(ARDOUR_UI::config()->color("recording rect"));
+ rec_rect->set_outline_color(UIConfiguration::instance().color("recording rect"));
rec_rect->set_fill_color(fill_color);
rec_rect->lower_to_bottom();
uint32_t cnt = 0;
for (list<RegionView*>::const_iterator i = region_views.begin(); i != region_views.end(); ++i) {
- if ((*i)->get_selected()) {
+ if ((*i)->selected()) {
++cnt;
}
}
StreamView::foreach_selected_regionview (sigc::slot<void,RegionView*> slot)
{
for (list<RegionView*>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
- if ((*i)->get_selected()) {
+ if ((*i)->selected()) {
slot (*i);
}
}
layer_t const l = (*i)->region()->layer ();
layer_ok = (min_layer <= l && l <= max_layer);
}
-
+
if (within) {
if ((*i)->region()->coverage (start, end) == Evoral::OverlapExternal && layer_ok) {
results.push_back (*i);
results.push_back (*i);
}
}
-
+
}
}
case Expanded:
return height / (_layers * 2 + 1);
}
-
+
abort(); /* NOTREACHED */
return height;
}
if (_layer_display == Overlaid) {
layer_regions ();
}
-
+
update_contents_height ();
update_coverage_frames ();
}