summaryrefslogtreecommitdiff
path: root/gtk2_ardour/tape_region_view.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-04-28 16:07:57 +0200
committerRobin Gareus <robin@gareus.org>2015-04-28 16:08:20 +0200
commit9a94688d116b14d046aeb312753d5ec2ef9a2444 (patch)
tree10617a7d06cbdaa7f75a08fefb7444261f0c084e /gtk2_ardour/tape_region_view.cc
parente9bb1dc2bf72a3d27304595717b18105590872ac (diff)
make tape tracks draw something.
Diffstat (limited to 'gtk2_ardour/tape_region_view.cc')
-rw-r--r--gtk2_ardour/tape_region_view.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/gtk2_ardour/tape_region_view.cc b/gtk2_ardour/tape_region_view.cc
index f40ccb6014..2d71bdf5ab 100644
--- a/gtk2_ardour/tape_region_view.cc
+++ b/gtk2_ardour/tape_region_view.cc
@@ -82,12 +82,23 @@ void
TapeAudioRegionView::update (uint32_t /*n*/)
{
/* check that all waves are build and ready */
-
if (!tmp_waves.empty()) {
return;
}
ENSURE_GUI_THREAD (*this, &TapeAudioRegionView::update, n);
// CAIROCANVAS
- // waves[n]->rebuild ();
+
+ /* this is a quick hack to draw something (abuse gain_changed to force
+ * an image-cache invalidation.
+ *
+ * TODO: ArdourCanvas::WaveView needs an API to look up the specific channel "n"
+ * and a special case to not only invalidate the cache but re-expose the
+ * waveform. e.g.
+ *
+ * waves[m]->rebuild(); // where 'm' corresponds to channel 'n'.
+ */
+ for (uint32_t i = 0; i < waves.size(); ++i) {
+ waves[i]->gain_changed ();
+ }
}