summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorDoug McLain <doug@nostar.net>2008-01-20 22:39:53 +0000
committerDoug McLain <doug@nostar.net>2008-01-20 22:39:53 +0000
commitaf168a0a9e5bdf590050b36e22b75a53e7c3ccbc (patch)
treeb4ec76ed8167f6e483a60de060c325b29584717b /gtk2_ardour
parentde80d6b95d0abaea924283457c84e67c4017321a (diff)
Fix the >=2 channel track recording waveform drawing problem, and (temporarily) bypass node checks for FFADO in the engine dialog to get rid of the FFADO related startup errors
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2953 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/audio_region_view.cc15
-rw-r--r--gtk2_ardour/engine_dialog.cc5
2 files changed, 8 insertions, 12 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc
index c1be961690..5ef523d7a2 100644
--- a/gtk2_ardour/audio_region_view.cc
+++ b/gtk2_ardour/audio_region_view.cc
@@ -763,6 +763,7 @@ AudioRegionView::set_envelope_visible (bool yn)
void
AudioRegionView::create_waves ()
{
+ //cerr << "AudioRegionView::create_waves() called on " << this << endl;//DEBUG
RouteTimeAxisView& atv (*(dynamic_cast<RouteTimeAxisView*>(&trackview))); // ick
if (!atv.get_diskstream()) {
@@ -785,23 +786,16 @@ AudioRegionView::create_waves ()
wave_caches.push_back (WaveView::create_cache ());
if (wait_for_data) {
-
- if (audio_region()->source(n)->peaks_ready (bind (mem_fun(*this, &AudioRegionView::peaks_ready_handler), n), data_ready_connection)) {
- create_one_wave (n, true);
- } else {
- // we'll get a PeaksReady signal from the source in the future
- // and will call create_one_wave(n) then.
- }
-
- } else {
create_one_wave (n, true);
}
+
}
}
void
AudioRegionView::create_one_wave (uint32_t which, bool direct)
{
+ //cerr << "AudioRegionView::create_one_wave() called which: " << which << " this: " << this << endl;//DEBUG
RouteTimeAxisView& atv (*(dynamic_cast<RouteTimeAxisView*>(&trackview))); // ick
uint32_t nchans = atv.get_diskstream()->n_channels();
uint32_t n;
@@ -885,7 +879,8 @@ AudioRegionView::create_one_wave (uint32_t which, bool direct)
void
AudioRegionView::peaks_ready_handler (uint32_t which)
{
- Gtkmm2ext::UI::instance()->call_slot (bind (mem_fun(*this, &AudioRegionView::create_one_wave), which, false));
+ //Gtkmm2ext::UI::instance()->call_slot (bind (mem_fun(*this, &AudioRegionView::create_one_wave), which, false));
+ cerr << "AudioRegionView::peaks_ready_handler() called on " << which << " this: " << this << endl;
}
void
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index 032bdb53b8..f36044cbe3 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -813,7 +813,7 @@ EngineControl::driver_changed ()
vector<string>& strings = devices[driver];
- if (strings.empty()) {
+ if (strings.empty() && driver != "FFADO") {
error << string_compose (_("No devices found for driver \"%1\""), driver) << endmsg;
return;
}
@@ -1105,7 +1105,8 @@ EngineControl::set_state (const XMLNode& root)
clist = root.children();
for (citer = clist.begin(); citer != clist.end(); ++citer) {
-
+ if ( prop && (prop->value() == "FFADO" ))
+ continue;
child = *citer;
prop = child->property ("val");