moved visual waveforms to block

This should be nicer, however it has a bug that I need to fix
This commit is contained in:
itsmattkc
2021-08-01 16:43:53 -07:00
parent 6995ffe015
commit be4a18d7de
13 changed files with 95 additions and 54 deletions
+2
View File
@@ -129,6 +129,8 @@ signals:
void LengthChanged();
void PreviewChanged();
protected:
virtual void InputValueChangedEvent(const QString& input, int element) override;
+13
View File
@@ -196,6 +196,19 @@ void ClipBlock::LinkChangeEvent()
}
}
void ClipBlock::InputValueChangedEvent(const QString &input, int element)
{
super::InputValueChangedEvent(input, element);
if (input == kMediaInInput) {
// Shift waveform in the inverse that the media in moved
rational diff = media_in() - last_media_in_;
waveform_.TrimIn(diff);
last_media_in_ = media_in();
}
}
TimeRange ClipBlock::InputTimeAdjustment(const QString& input, int element, const TimeRange& input_time) const
{
Q_UNUSED(element)
+14
View File
@@ -21,6 +21,7 @@
#ifndef CLIPBLOCK_H
#define CLIPBLOCK_H
#include "audio/audiovisualwaveform.h"
#include "node/block/block.h"
namespace olive {
@@ -95,6 +96,11 @@ public:
return block_links_;
}
AudioVisualWaveform& waveform()
{
return waveform_;
}
static const QString kBufferIn;
static const QString kMediaInInput;
static const QString kSpeedInput;
@@ -103,6 +109,8 @@ public:
protected:
virtual void LinkChangeEvent() override;
virtual void InputValueChangedEvent(const QString &input, int element) override;
private:
rational SequenceToMediaTime(const rational& sequence_time, bool ignore_reverse = false) const;
@@ -113,6 +121,12 @@ private:
TransitionBlock* in_transition_;
TransitionBlock* out_transition_;
private:
AudioVisualWaveform waveform_;
rational last_media_in_;
};
}
-13
View File
@@ -21,7 +21,6 @@
#ifndef TRACK_H
#define TRACK_H
#include "audio/audiovisualwaveform.h"
#include "node/block/block.h"
#include "timeline/timelinecommon.h"
@@ -364,11 +363,6 @@ public:
virtual void Hash(const QString& output, QCryptographicHash& hash, const rational &time, const VideoParams& video_params) const override;
AudioVisualWaveform& waveform()
{
return waveform_;
}
static const double kTrackHeightDefault;
static const double kTrackHeightMinimum;
static const double kTrackHeightInterval;
@@ -412,11 +406,6 @@ signals:
*/
void IndexChanged(int old, int now);
/**
* @brief Signal emitted when preview (waveform) has changed and UI should be updated
*/
void PreviewChanged();
/**
* @brief Emitted when a block changes length and all the subsequent blocks had to update
*/
@@ -455,8 +444,6 @@ private:
bool locked_;
AudioVisualWaveform waveform_;
private slots:
void BlockLengthChanged();
-7
View File
@@ -163,13 +163,6 @@ void Sequence::InputDisconnectedEvent(const QString &input, int element, const N
super::InputDisconnectedEvent(input, element, output);
}
void Sequence::ShiftAudioEvent(const rational &from, const rational &to)
{
foreach (Track* track, track_lists_.at(Track::kAudio)->GetTracks()) {
track->waveform().Shift(from, to);
}
}
void Sequence::UpdateTrackCache()
{
track_cache_.clear();
-2
View File
@@ -97,8 +97,6 @@ public:
}
protected:
virtual void ShiftAudioEvent(const rational &from, const rational &to) override;
virtual void InputConnectedEvent(const QString &input, int element, const NodeOutput &output) override;
virtual void InputDisconnectedEvent(const QString &input, int element, const NodeOutput &output) override;