mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-22 14:46:34 +01:00
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
This commit is contained in:
parent
de80d6b95d
commit
af168a0a9e
2 changed files with 8 additions and 12 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue