25 #include "sharedframe.h" 40 class TransportControllable;
42 class QPropertyAnimation;
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;
61 int position()
const {
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);
113 void resizeEvent(QResizeEvent* event);
114 bool event(QEvent* event);
117 void setupActions(QWidget* widget);
118 void retranslateUi(QWidget* widget);
119 void adjustScrollBars(
float horizontal,
float vertical);
120 double setVolume(
int volume);
123 QAction *actionPause;
124 QAction *actionSkipNext;
125 QAction *actionSkipPrevious;
126 QAction *actionRewind;
127 QAction *actionFastForward;
128 QAction *actionVolume;
130 ScrubBar* m_scrubber;
131 TimeSpinBox* m_positionSpinner;
132 QLabel* m_durationLabel;
133 QLabel* m_inPointLabel;
134 QLabel* m_selectedLabel;
139 QFrame* m_volumePopup;
140 QSlider* m_volumeSlider;
141 QWidget* m_volumeWidget;
142 QPushButton* m_muteButton;
145 double m_savedVolume;
148 int m_isMeltedPlaying;
149 QScrollBar* m_horizontalScroll;
150 QScrollBar* m_verticalScroll;
151 QToolButton* m_zoomButton;
152 QToolButton* m_gridButton;
153 QActionGroup* m_gridActionGroup;
154 QAction* m_gridDefaultAction;
155 float m_zoomToggleFactor;
157 bool m_pauseAfterOpen;
159 QWidget* m_videoWidget;
160 QHBoxLayout* m_videoLayout;
161 QWidget* m_videoScrollWidget;
162 const TransportControllable* m_currentTransport;
163 QPushButton * m_statusLabel;
164 QPropertyAnimation* m_statusFadeIn;
165 QPropertyAnimation* m_statusFadeOut;
166 QTimer m_statusTimer;
168 QWidget* m_projectWidget;
171 void updateSelection();
172 void onInChanged(
int in);
173 void onOutChanged(
int out);
174 void on_actionSkipNext_triggered();
175 void on_actionSkipPrevious_triggered();
176 void on_actionVolume_triggered();
177 void onMuteButtonToggled(
bool checked);
178 void setZoom(
float factor,
const QIcon &icon);
179 void onZoomTriggered();
180 void toggleZoom(
bool checked);
181 void onGridToggled();
182 void toggleGrid(
bool checked);
183 void onFadeOutFinished();
The SharedFrame provides thread safe access to Mlt::Frame data.
Definition: sharedframe.h:48