use audio waveform constants to determine min/max zoom levels

This commit is contained in:
itsmattkc
2021-09-28 21:35:24 -07:00
parent 337cb4838d
commit c29939b523
6 changed files with 15 additions and 18 deletions
@@ -128,8 +128,6 @@ NodeParamView::NodeParamView(QWidget *parent) :
// Set a default scale - FIXME: Hardcoded
SetScale(120);
SetMaximumScale(TimeBasedView::kMaximumScale);
// Pickup on widget focus changes
connect(qApp,
&QApplication::focusChanged,
+2 -4
View File
@@ -23,19 +23,17 @@
#include <cfloat>
#include <QtMath>
#include "audio/audiovisualwaveform.h"
#include "common/clamp.h"
namespace olive {
// Keep this aligned with the kMaximumSampleRate in AudioVisualWaveform
const double TimeScaledObject::kMaximumScale = 1024;
const int TimeScaledObject::kCalculateDimensionsPadding = 10;
TimeScaledObject::TimeScaledObject() :
scale_(1.0),
min_scale_(0),
max_scale_(kMaximumScale)
max_scale_(AudioVisualWaveform::kMaximumSampleRate.toDouble())
{
}
+1 -2
View File
@@ -44,6 +44,7 @@ public:
static rational SceneToTime(const double &x, const double& x_scale, const rational& timebase, bool round = false);
const double& GetScale() const;
const double &GetMaximumScale() const { return max_scale_; }
void SetScale(const double& scale);
@@ -54,8 +55,6 @@ public:
double TimeToScene(const rational& time) const;
rational SceneToTime(const double &x, bool round = false) const;
static const double kMaximumScale;
protected:
virtual void TimebaseChangedEvent(const rational&){}
+1 -1
View File
@@ -68,7 +68,7 @@ void ZoomTool::MouseRelease(TimelineViewMouseEvent *event)
// Normalize scale to 1.0 scale
double scene_width = (scene_right - scene_left) / parent()->GetScale();
double new_scale = qMin(TimeBasedView::kMaximumScale, static_cast<double>(reference_view->viewport()->width()) / scene_width);
double new_scale = qMin(parent()->GetFirstTimelineView()->GetMaximumScale(), static_cast<double>(reference_view->viewport()->width()) / scene_width);
parent()->SetScale(new_scale);