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);
80 void paused(
int position);
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);
100 void pause(
int position = -1);
102 void seek(
int position);
104 void onProducerOpened(
bool play =
true);
105 void onDurationChanged();
107 void onVolumeChanged(
int);
108 void onCaptureStateChanged(
bool);
109 void rewind(
bool forceChangeDirection =
true);
110 void fastForward(
bool forceChangeDirection =
true);
113 void switchToTab(TabIndex index);
114 void enableTab(TabIndex index,
bool enabled =
true);
115 void onTabBarClicked(
int index);
116 void setStatusLabel(
const QString &text,
int timeoutSeconds, QAction *action,
117 QPalette::ColorRole role = QPalette::ToolTipBase);
118 void showIdleStatus();
119 void focusPositionSpinner()
const;
120 void onMuteButtonToggled(
bool checked);
123 void resizeEvent(QResizeEvent *event)
override;
124 bool event(QEvent *event)
override;
125 void keyPressEvent(QKeyEvent *event)
override;
129 void adjustScrollBars(
float horizontal,
float vertical);
130 double setVolume(
int volume);
131 void setLoopRange(
int start,
int end);
132 void layoutToolbars();
134 ScrubBar *m_scrubber;
135 TimeSpinBox *m_positionSpinner;
136 QLabel *m_durationLabel;
137 QLabel *m_inPointLabel;
138 QLabel *m_selectedLabel;
145 QFrame *m_volumePopup;
146 QSlider *m_volumeSlider;
147 QPushButton *m_muteButton;
150 double m_savedVolume;
153 QScrollBar *m_horizontalScroll;
154 QScrollBar *m_verticalScroll;
155 QToolButton *m_zoomButton;
156 QToolButton *m_gridButton;
157 QActionGroup *m_gridActionGroup;
158 QAction *m_gridDefaultAction;
159 QToolButton *m_volumeButton;
160 float m_zoomToggleFactor;
162 bool m_pauseAfterOpen;
164 QWidget *m_videoWidget;
165 QHBoxLayout *m_videoLayout;
166 QWidget *m_videoScrollWidget;
167 const TransportControllable *m_currentTransport;
168 StatusLabelWidget *m_statusLabel;
171 NewProjectFolder *m_projectWidget;
174 DockToolBar *m_currentDurationToolBar;
175 DockToolBar *m_controlsToolBar;
176 DockToolBar *m_optionsToolBar;
177 DockToolBar *m_inSelectedToolBar;
178 QHBoxLayout *m_toolRow1;
179 QHBoxLayout *m_toolRow2;
182 void updateSelection();
183 void onInChanged(
int in);
184 void onOutChanged(
int out);
185 void onVolumeTriggered();
186 void setZoom(
float factor,
const QIcon &icon);
187 void onZoomTriggered();
188 void toggleZoom(
bool checked);
189 void onGridToggled();
190 void toggleGrid(
bool checked);
191 void onStatusFinished();
192 void onOffsetChanged(
const QPoint &offset);
The SharedFrame provides thread safe access to Mlt::Frame data.
Definition sharedframe.h:49