24#include "sharedframe.h"
40class TransportControllable;
44class NewProjectFolder;
45class StatusLabelWidget;
47class Player :
public QWidget
56 explicit Player(QWidget *parent = 0);
57 void connectTransport(
const TransportControllable *);
60 void setMarkers(
const QList<int> &);
61 QSize videoSize()
const;
66 NewProjectFolder *projectWidget()
const
68 return m_projectWidget;
70 void moveVideoToScreen(
int screen = -1);
71 void setPauseAfterOpen(
bool pause);
72 TabIndex tabIndex()
const;
76 void showStatusMessage(QString);
77 void inChanged(
int delta);
78 void outChanged(
int delta);
79 void played(
double speed);
82 void seeked(
int position);
83 void rewound(
bool forceChangeDirection);
84 void fastForwarded(
bool forceChangeDirection);
85 void previousSought(
int currentPosition);
86 void previousSought();
87 void nextSought(
int currentPosition);
89 void zoomChanged(
float zoom);
90 void gridChanged(
int grid);
91 void scrolledHorizontally(
int x);
92 void scrolledVertically(
int y);
93 void tabIndexChanged(
int index);
96 void loopChanged(
int start,
int end);
99 void play(
double speed = 1.0);
102 void seek(
int position);
104 void onProducerOpened(
bool play =
true);
105 void postProducerOpened();
106 void onMeltedUnitOpened();
107 void onDurationChanged();
109 void onVolumeChanged(
int);
110 void onCaptureStateChanged(
bool);
111 void rewind(
bool forceChangeDirection =
true);
112 void fastForward(
bool forceChangeDirection =
true);
115 void switchToTab(TabIndex index);
116 void enableTab(TabIndex index,
bool enabled =
true);
117 void onTabBarClicked(
int index);
118 void setStatusLabel(
const QString &text,
int timeoutSeconds, QAction *action,
119 QPalette::ColorRole role = QPalette::ToolTipBase);
120 void showIdleStatus();
121 void focusPositionSpinner()
const;
122 void onMuteButtonToggled(
bool checked);
125 void resizeEvent(QResizeEvent *event)
override;
126 bool event(QEvent *event)
override;
127 void keyPressEvent(QKeyEvent *event)
override;
131 void adjustScrollBars(
float horizontal,
float vertical);
132 double setVolume(
int volume);
133 void setLoopRange(
int start,
int end);
134 void layoutToolbars();
136 ScrubBar *m_scrubber;
137 TimeSpinBox *m_positionSpinner;
138 QLabel *m_durationLabel;
139 QLabel *m_inPointLabel;
140 QLabel *m_selectedLabel;
147 QFrame *m_volumePopup;
148 QSlider *m_volumeSlider;
149 QPushButton *m_muteButton;
152 double m_savedVolume;
155 int m_isMeltedPlaying;
156 QScrollBar *m_horizontalScroll;
157 QScrollBar *m_verticalScroll;
158 QToolButton *m_zoomButton;
159 QToolButton *m_gridButton;
160 QActionGroup *m_gridActionGroup;
161 QAction *m_gridDefaultAction;
162 QToolButton *m_volumeButton;
163 float m_zoomToggleFactor;
165 bool m_pauseAfterOpen;
167 QWidget *m_videoWidget;
168 QHBoxLayout *m_videoLayout;
169 QWidget *m_videoScrollWidget;
170 const TransportControllable *m_currentTransport;
171 StatusLabelWidget *m_statusLabel;
174 NewProjectFolder *m_projectWidget;
177 DockToolBar *m_currentDurationToolBar;
178 DockToolBar *m_controlsToolBar;
179 DockToolBar *m_optionsToolBar;
180 DockToolBar *m_inSelectedToolBar;
181 QHBoxLayout *m_toolRow1;
182 QHBoxLayout *m_toolRow2;
185 void updateSelection();
186 void onInChanged(
int in);
187 void onOutChanged(
int out);
188 void onVolumeTriggered();
189 void setZoom(
float factor,
const QIcon &icon);
190 void onZoomTriggered();
191 void toggleZoom(
bool checked);
192 void onGridToggled();
193 void toggleGrid(
bool checked);
194 void onStatusFinished();
195 void onOffsetChanged(
const QPoint &offset);
The SharedFrame provides thread safe access to Mlt::Frame data.
Definition sharedframe.h:49