25 #include "sharedframe.h"
40 class TransportControllable;
42 class QPropertyAnimation;
45 class NewProjectFolder;
47 class Player :
public QWidget
56 explicit Player(QWidget *parent = 0);
57 void connectTransport(
const TransportControllable*);
60 void setMarkers(
const QList<int>&);
61 QSize videoSize()
const;
62 int position()
const {
return m_position; }
63 NewProjectFolder* projectWidget()
const {
return m_projectWidget; }
64 void moveVideoToScreen(
int screen = -1);
65 void setPauseAfterOpen(
bool pause);
66 TabIndex tabIndex()
const;
70 void showStatusMessage(QString);
71 void inChanged(
int delta);
72 void outChanged(
int delta);
73 void played(
double speed);
76 void seeked(
int position);
77 void rewound(
bool forceChangeDirection);
78 void fastForwarded(
bool forceChangeDirection);
79 void previousSought(
int currentPosition);
80 void previousSought();
81 void nextSought(
int currentPosition);
83 void zoomChanged(
float zoom);
84 void gridChanged(
int grid);
85 void scrolledHorizontally(
int x);
86 void scrolledVertically(
int y);
87 void tabIndexChanged(
int index);
90 void play(
double speed = 1.0);
93 void togglePlayPaused();
94 void seek(
int position);
96 void onProducerOpened(
bool play =
true);
97 void postProducerOpened();
98 void onMeltedUnitOpened();
99 void onDurationChanged();
101 void onVolumeChanged(
int);
102 void onCaptureStateChanged(
bool);
103 void rewind(
bool forceChangeDirection =
true);
104 void fastForward(
bool forceChangeDirection =
true);
107 void switchToTab(TabIndex index);
108 void enableTab(TabIndex index,
bool enabled =
true);
109 void onTabBarClicked(
int index);
110 void setStatusLabel(
const QString& text,
int timeoutSeconds, QAction* action);
111 void showIdleStatus();
114 void resizeEvent(QResizeEvent* event)
override;
115 bool event(QEvent* event)
override;
116 void keyPressEvent(QKeyEvent* event)
override;
119 void setupActions(QWidget* widget);
120 void retranslateUi(QWidget* widget);
121 void adjustScrollBars(
float horizontal,
float vertical);
122 double setVolume(
int volume);
125 QAction *actionPause;
126 QAction *actionSkipNext;
127 QAction *actionSkipPrevious;
128 QAction *actionRewind;
129 QAction *actionFastForward;
130 QAction *actionVolume;
132 ScrubBar* m_scrubber;
133 TimeSpinBox* m_positionSpinner;
134 QLabel* m_durationLabel;
135 QLabel* m_inPointLabel;
136 QLabel* m_selectedLabel;
141 QFrame* m_volumePopup;
142 QSlider* m_volumeSlider;
143 QWidget* m_volumeWidget;
144 QPushButton* m_muteButton;
147 double m_savedVolume;
150 int m_isMeltedPlaying;
151 QScrollBar* m_horizontalScroll;
152 QScrollBar* m_verticalScroll;
153 QToolButton* m_zoomButton;
154 QToolButton* m_gridButton;
155 QActionGroup* m_gridActionGroup;
156 QAction* m_gridDefaultAction;
157 float m_zoomToggleFactor;
159 bool m_pauseAfterOpen;
161 QWidget* m_videoWidget;
162 QHBoxLayout* m_videoLayout;
163 QWidget* m_videoScrollWidget;
164 const TransportControllable* m_currentTransport;
165 QPushButton * m_statusLabel;
166 QPropertyAnimation* m_statusFadeIn;
167 QPropertyAnimation* m_statusFadeOut;
168 QTimer m_statusTimer;
170 NewProjectFolder* m_projectWidget;
173 void updateSelection();
174 void onInChanged(
int in);
175 void onOutChanged(
int out);
176 void on_actionSkipNext_triggered();
177 void on_actionSkipPrevious_triggered();
178 void on_actionVolume_triggered();
179 void onMuteButtonToggled(
bool checked);
180 void setZoom(
float factor,
const QIcon &icon);
181 void onZoomTriggered();
182 void toggleZoom(
bool checked);
183 void onGridToggled();
184 void toggleGrid(
bool checked);
185 void onFadeOutFinished();
The SharedFrame provides thread safe access to Mlt::Frame data.
Definition: sharedframe.h:49