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