mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-17 20:26:30 +01:00
temporal: improve debug output when ::superclock_at() returns < 0
This commit is contained in:
parent
8ee7dc35f4
commit
d48ee3df0e
1 changed files with 20 additions and 8 deletions
|
|
@ -510,18 +510,30 @@ TempoPoint::superclock_at (Temporal::Beats const & qn) const
|
||||||
|
|
||||||
if (log_expr < -1) {
|
if (log_expr < -1) {
|
||||||
r = _sclock + llrint (log (-log_expr - 1.0) / -_omega);
|
r = _sclock + llrint (log (-log_expr - 1.0) / -_omega);
|
||||||
|
|
||||||
|
if (r < 0) {
|
||||||
|
std::cerr << "CASE 1: " << *this << endl << " scpqn = " << superclocks_per_quarter_note() << std::endl;
|
||||||
|
std::cerr << " for " << qn << " @ " << _quarters << " | " << _sclock << " + log (" << log_expr << ") "
|
||||||
|
<< log (-log_expr - 1.0)
|
||||||
|
<< " - omega = " << -_omega
|
||||||
|
<< " => "
|
||||||
|
<< r << std::endl;
|
||||||
|
abort ();
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
r = _sclock + llrint (log1p (log_expr) / _omega);
|
r = _sclock + llrint (log1p (log_expr) / _omega);
|
||||||
|
|
||||||
|
if (r < 0) {
|
||||||
|
std::cerr << "CASE 2: scpqn = " << superclocks_per_quarter_note() << std::endl;
|
||||||
|
std::cerr << " for " << qn << " @ " << _quarters << " | " << _sclock << " + log1p (" << superclocks_per_quarter_note() * _omega * DoubleableBeats (qn - _quarters).to_double() << " = "
|
||||||
|
<< log1p (superclocks_per_quarter_note() * _omega * DoubleableBeats (qn - _quarters).to_double())
|
||||||
|
<< " => "
|
||||||
|
<< r << std::endl;
|
||||||
|
abort ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (r < 0) {
|
|
||||||
std::cerr << "scpqn = " << superclocks_per_quarter_note() << std::endl;
|
|
||||||
std::cerr << " for " << qn << " @ " << _quarters << " | " << _sclock << " + log1p (" << superclocks_per_quarter_note() * _omega * DoubleableBeats (qn - _quarters).to_double() << " = "
|
|
||||||
<< log1p (superclocks_per_quarter_note() * _omega * DoubleableBeats (qn - _quarters).to_double())
|
|
||||||
<< " => "
|
|
||||||
<< r << std::endl;
|
|
||||||
abort ();
|
|
||||||
}
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue