mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-22 22:56:32 +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
|
void
|
||||||
AudioRegionView::create_waves ()
|
AudioRegionView::create_waves ()
|
||||||
{
|
{
|
||||||
|
//cerr << "AudioRegionView::create_waves() called on " << this << endl;//DEBUG
|
||||||
RouteTimeAxisView& atv (*(dynamic_cast<RouteTimeAxisView*>(&trackview))); // ick
|
RouteTimeAxisView& atv (*(dynamic_cast<RouteTimeAxisView*>(&trackview))); // ick
|
||||||
|
|
||||||
if (!atv.get_diskstream()) {
|
if (!atv.get_diskstream()) {
|
||||||
|
|
@ -785,23 +786,16 @@ AudioRegionView::create_waves ()
|
||||||
wave_caches.push_back (WaveView::create_cache ());
|
wave_caches.push_back (WaveView::create_cache ());
|
||||||
|
|
||||||
if (wait_for_data) {
|
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);
|
create_one_wave (n, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
AudioRegionView::create_one_wave (uint32_t which, bool direct)
|
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
|
RouteTimeAxisView& atv (*(dynamic_cast<RouteTimeAxisView*>(&trackview))); // ick
|
||||||
uint32_t nchans = atv.get_diskstream()->n_channels();
|
uint32_t nchans = atv.get_diskstream()->n_channels();
|
||||||
uint32_t n;
|
uint32_t n;
|
||||||
|
|
@ -885,7 +879,8 @@ AudioRegionView::create_one_wave (uint32_t which, bool direct)
|
||||||
void
|
void
|
||||||
AudioRegionView::peaks_ready_handler (uint32_t which)
|
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
|
void
|
||||||
|
|
|
||||||
|
|
@ -813,7 +813,7 @@ EngineControl::driver_changed ()
|
||||||
|
|
||||||
vector<string>& strings = devices[driver];
|
vector<string>& strings = devices[driver];
|
||||||
|
|
||||||
if (strings.empty()) {
|
if (strings.empty() && driver != "FFADO") {
|
||||||
error << string_compose (_("No devices found for driver \"%1\""), driver) << endmsg;
|
error << string_compose (_("No devices found for driver \"%1\""), driver) << endmsg;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1105,7 +1105,8 @@ EngineControl::set_state (const XMLNode& root)
|
||||||
clist = root.children();
|
clist = root.children();
|
||||||
|
|
||||||
for (citer = clist.begin(); citer != clist.end(); ++citer) {
|
for (citer = clist.begin(); citer != clist.end(); ++citer) {
|
||||||
|
if ( prop && (prop->value() == "FFADO" ))
|
||||||
|
continue;
|
||||||
child = *citer;
|
child = *citer;
|
||||||
|
|
||||||
prop = child->property ("val");
|
prop = child->property ("val");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue