audio: use sample rate rather than timebase now they aren't interchangeable
This commit is contained in:
@@ -105,7 +105,7 @@ qint64 AudioParams::time_to_samples(const double &time) const
|
||||
|
||||
// NOTE: Not sure if we should round or ceil, but I've gotten better results with ceil.
|
||||
// Specifically, we seem to occasionally get straggler ranges that never cache with round.
|
||||
return qCeil(time_base().flipped().toDouble() * time);
|
||||
return qCeil(double(sample_rate()) * time);
|
||||
}
|
||||
|
||||
qint64 AudioParams::time_to_samples(const rational &time) const
|
||||
@@ -122,7 +122,7 @@ qint64 AudioParams::samples_to_bytes(const qint64 &samples) const
|
||||
|
||||
rational AudioParams::samples_to_time(const qint64 &samples) const
|
||||
{
|
||||
return time_base() * samples;
|
||||
return sample_rate_as_time_base() * samples;
|
||||
}
|
||||
|
||||
qint64 AudioParams::bytes_to_samples(const qint64 &bytes) const
|
||||
|
||||
@@ -1003,7 +1003,7 @@ void TimelineWidget::SetViewTimestamp(const int64_t &ts)
|
||||
if (use_audio_time_units_ && i == Track::kAudio) {
|
||||
view->view()->SetTime(Timecode::rescale_timestamp(ts,
|
||||
timebase(),
|
||||
GetConnectedNode()->GetAudioParams().time_base()));
|
||||
GetConnectedNode()->GetAudioParams().sample_rate_as_time_base()));
|
||||
} else {
|
||||
view->view()->SetTime(ts);
|
||||
}
|
||||
@@ -1014,7 +1014,7 @@ void TimelineWidget::ViewTimestampChanged(int64_t ts)
|
||||
{
|
||||
if (use_audio_time_units_ && sender() == views_.at(Track::kAudio)) {
|
||||
ts = Timecode::rescale_timestamp(ts,
|
||||
GetConnectedNode()->GetAudioParams().time_base(),
|
||||
GetConnectedNode()->GetAudioParams().sample_rate_as_time_base(),
|
||||
timebase());
|
||||
}
|
||||
|
||||
@@ -1048,7 +1048,7 @@ void TimelineWidget::UpdateViewTimebases()
|
||||
TimelineAndTrackView* view = views_.at(i);
|
||||
|
||||
if (use_audio_time_units_ && i == Track::kAudio) {
|
||||
view->view()->SetTimebase(GetConnectedNode()->GetAudioParams().time_base());
|
||||
view->view()->SetTimebase(GetConnectedNode()->GetAudioParams().sample_rate_as_time_base());
|
||||
} else {
|
||||
view->view()->SetTimebase(timebase());
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ void AudioWaveformView::SetViewer(AudioPlaybackCache *playback)
|
||||
connect(playback_, &AudioPlaybackCache::Validated, this, &AudioWaveformView::ForceUpdateOfRange);
|
||||
connect(playback_, &AudioPlaybackCache::ParametersChanged, this, &AudioWaveformView::BackendParamsChanged);
|
||||
|
||||
SetTimebase(playback_->GetParameters().time_base());
|
||||
SetTimebase(playback_->GetParameters().sample_rate_as_time_base());
|
||||
}
|
||||
|
||||
ForceUpdate();
|
||||
@@ -171,7 +171,7 @@ QPixmap AudioWaveformView::DrawWaveform(QIODevice* fs, CachedWaveformInfo info,
|
||||
|
||||
void AudioWaveformView::BackendParamsChanged()
|
||||
{
|
||||
SetTimebase(playback_->GetParameters().time_base());
|
||||
SetTimebase(playback_->GetParameters().sample_rate_as_time_base());
|
||||
}
|
||||
|
||||
void AudioWaveformView::ForceUpdate()
|
||||
|
||||
Reference in New Issue
Block a user