start implementation of multicam panel

This commit is contained in:
itsmattkc
2022-09-21 13:16:19 -07:00
parent 2dc2edf3e0
commit 487cd166d7
21 changed files with 347 additions and 25 deletions
+1
View File
@@ -17,6 +17,7 @@
add_subdirectory(audiomonitor)
add_subdirectory(curve)
add_subdirectory(footageviewer)
add_subdirectory(multicam)
add_subdirectory(node)
add_subdirectory(param)
add_subdirectory(pixelsampler)
+22
View File
@@ -0,0 +1,22 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2022 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
panel/multicam/multicampanel.h
panel/multicam/multicampanel.cpp
PARENT_SCOPE
)
+26
View File
@@ -0,0 +1,26 @@
#include "multicampanel.h"
namespace olive {
#define super PanelWidget
MulticamPanel::MulticamPanel(ViewerPanelBase *sibling, QWidget *parent) :
super(QStringLiteral("MultiCamPanel"), parent)
{
widget_ = new MulticamWidget();
SetWidgetWithPadding(widget_);
connect(sibling, &ViewerPanelBase::ColorManagerChanged, widget_, &MulticamWidget::ConnectColorManager);
widget_->ConnectCacher(static_cast<ViewerWidget*>(sibling->GetTimeBasedWidget())->GetCacher());
Retranslate();
}
void MulticamPanel::Retranslate()
{
super::Retranslate();
SetTitle(tr("Multi-Cam"));
}
}
+37
View File
@@ -0,0 +1,37 @@
#ifndef MULTICAMPANEL_H
#define MULTICAMPANEL_H
#include "panel/viewer/viewerbase.h"
#include "widget/multicam/multicamwidget.h"
#include "widget/panel/panel.h"
namespace olive {
class MulticamPanel : public PanelWidget
{
Q_OBJECT
public:
MulticamPanel(ViewerPanelBase *sibling, QWidget* parent = nullptr);
void SetNode(MultiCamNode *n)
{
widget_->SetNode(n);
}
public slots:
void SetTime(const rational &t)
{
widget_->SetTime(t);
}
protected:
virtual void Retranslate() override;
private:
MulticamWidget *widget_;
};
}
#endif // MULTICAMPANEL_H
+2 -5
View File
@@ -106,6 +106,8 @@ public:
virtual void Paste() override;
TimeBasedWidget* GetTimeBasedWidget() const { return widget_; }
public slots:
void SetTimebase(const rational& timebase);
@@ -127,11 +129,6 @@ signals:
void ShuttleRightRequested();
protected:
TimeBasedWidget* GetTimeBasedWidget() const
{
return widget_;
}
void SetTimeBasedWidget(TimeBasedWidget* widget);
virtual void Retranslate() override;