24 #include "sharedframe.h"
39 class TransportControllable;
43 class NewProjectFolder;
44 class StatusLabelWidget;
46 class Player :
public QWidget
55 explicit Player(QWidget *parent = 0);
56 void connectTransport(
const TransportControllable *);
59 void setMarkers(
const QList<int> &);
60 QSize videoSize()
const;
65 NewProjectFolder *projectWidget()
const
67 return m_projectWidget;
69 void moveVideoToScreen(
int screen = -1);
70 void setPauseAfterOpen(
bool pause);
71 TabIndex tabIndex()
const;
75 void showStatusMessage(QString);
76 void inChanged(
int delta);
77 void outChanged(
int delta);
78 void played(
double speed);
81 void seeked(
int position);
82 void rewound(
bool forceChangeDirection);
83 void fastForwarded(
bool forceChangeDirection);
84 void previousSought(
int currentPosition);
85 void previousSought();
86 void nextSought(
int currentPosition);
88 void zoomChanged(
float zoom);
89 void gridChanged(
int grid);
90 void scrolledHorizontally(
int x);
91 void scrolledVertically(
int y);
92 void tabIndexChanged(
int index);
97 void play(
double speed = 1.0);
100 void seek(
int position);
102 void onProducerOpened(
bool play =
true);
103 void postProducerOpened();
104 void onMeltedUnitOpened();
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);
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 QPushButton *m_muteButton;
146 double m_savedVolume;
149 int m_isMeltedPlaying;
150 QScrollBar *m_horizontalScroll;
151 QScrollBar *m_verticalScroll;
152 QToolButton *m_zoomButton;
153 QToolButton *m_gridButton;
154 QActionGroup *m_gridActionGroup;
155 QAction *m_gridDefaultAction;
156 QToolButton *m_volumeButton;
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 StatusLabelWidget *m_statusLabel;
168 NewProjectFolder *m_projectWidget;
171 void updateSelection();
172 void onInChanged(
int in);
173 void onOutChanged(
int out);
174 void onVolumeTriggered();
175 void setZoom(
float factor,
const QIcon &icon);
176 void onZoomTriggered();
177 void toggleZoom(
bool checked);
178 void onGridToggled();
179 void toggleGrid(
bool checked);
180 void onStatusFinished();
181 void onOffsetChanged(
const QPoint &offset);
The SharedFrame provides thread safe access to Mlt::Frame data.
Definition: sharedframe.h:49