Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
VideoLAN
VLMC
Commits
636f3632
Commit
636f3632
authored
Aug 11, 2009
by
Hugo Beauzee-Luyssen
Browse files
Using Clip for video preview.
parent
df95b82f
Changes
7
Hide whitespace changes
Inline
Side-by-side
src/gui/MainWindow.cpp
View file @
636f3632
...
...
@@ -120,8 +120,8 @@ void MainWindow::setupLibrary()
libraryWidget
,
SLOT
(
mediaRemoved
(
const
QUuid
&
)
)
);
connect
(
libraryWidget
->
getVideoListWidget
(),
SIGNAL
(
selected
Media
Changed
(
const
Media
*
)
),
m_clipPreview
->
getGenericRenderer
(),
SLOT
(
set
Media
(
const
Media
*
)
)
);
connect
(
libraryWidget
->
getVideoListWidget
(),
SIGNAL
(
selected
Clip
Changed
(
Clip
*
)
),
m_clipPreview
->
getGenericRenderer
(),
SLOT
(
set
Clip
(
Clip
*
)
)
);
connect
(
Library
::
getInstance
(),
SIGNAL
(
mediaRemoved
(
const
QUuid
&
)
),
m_clipPreview
->
getGenericRenderer
(),
SLOT
(
mediaUnloaded
(
QUuid
)
)
);
connect
(
libraryWidget
->
getVideoListWidget
(),
SIGNAL
(
itemDoubleClicked
(
QListWidgetItem
*
)
),
...
...
src/gui/MediaListWidget.cpp
View file @
636f3632
...
...
@@ -66,7 +66,8 @@ void MediaListWidget::mousePressEvent( QMouseEvent* event )
if
(
item
->
getMedia
()
!=
m_lastClicked
)
{
m_lastClicked
=
item
->
getMedia
();
emit
selectedMediaChanged
(
m_lastClicked
);
//TODO: change this piece of ....
emit
selectedClipChanged
(
new
Clip
(
m_lastClicked
)
);
}
}
...
...
src/gui/MediaListWidget.h
View file @
636f3632
...
...
@@ -31,7 +31,7 @@
#include
<QApplication>
#include
<QSvgRenderer>
#include
"ListViewMediaItem.h"
#include
"
Media
.h"
#include
"
Clip
.h"
class
MediaListWidget
:
public
QListWidget
{
...
...
@@ -48,10 +48,10 @@ private:
Media
::
FileType
m_Type
;
QPoint
m_dragStartPos
;
QSvgRenderer
*
m_svgRenderer
;
const
Media
*
m_lastClicked
;
Media
*
m_lastClicked
;
signals:
void
selected
Media
Changed
(
const
Media
*
newMedia
);
void
selected
Clip
Changed
(
Clip
*
newClip
);
};
#endif // MEDIALISTWIDGET_H
src/renderer/ClipRenderer.cpp
View file @
636f3632
...
...
@@ -29,7 +29,7 @@ ClipRenderer::ClipRenderer() :
GenericRenderer
(),
m_clipLoaded
(
false
),
m_vlcMedia
(
NULL
),
m_selected
Media
(
NULL
),
m_selected
Clip
(
NULL
),
m_mediaChanged
(
false
)
{
connect
(
m_mediaPlayer
,
SIGNAL
(
stopped
()
),
this
,
SLOT
(
__videoStopped
()
)
);
...
...
@@ -44,9 +44,9 @@ ClipRenderer::~ClipRenderer()
stop
();
}
void
ClipRenderer
::
set
Media
(
const
Media
*
media
)
void
ClipRenderer
::
set
Clip
(
Clip
*
clip
)
{
m_selected
Media
=
media
;
m_selected
Clip
=
clip
;
if
(
m_isRendering
==
true
)
m_mediaChanged
=
true
;
else
...
...
@@ -55,12 +55,12 @@ void ClipRenderer::setMedia( const Media* media )
void
ClipRenderer
::
startPreview
()
{
if
(
m_selected
Media
==
NULL
)
if
(
m_selected
Clip
==
NULL
)
return
;
//If an old media is found, we delete it, and disconnect
if
(
m_vlcMedia
!=
NULL
)
delete
m_vlcMedia
;
m_vlcMedia
=
new
LibVLCpp
::
Media
(
m_selected
Media
->
getFileInfo
()
->
absoluteFilePath
()
);
m_vlcMedia
=
new
LibVLCpp
::
Media
(
m_selected
Clip
->
getParent
()
->
getFileInfo
()
->
absoluteFilePath
()
);
m_mediaPlayer
->
setMedia
(
m_vlcMedia
);
...
...
@@ -135,12 +135,12 @@ void ClipRenderer::previousFrame()
void
ClipRenderer
::
mediaUnloaded
(
const
QUuid
&
uuid
)
{
if
(
m_selected
Media
!=
NULL
&&
m_selected
Media
->
getUuid
()
==
uuid
)
if
(
m_selected
Clip
!=
NULL
&&
m_selected
Clip
->
getUuid
()
==
uuid
)
{
m_mediaPlayer
->
stop
();
qDebug
()
<<
"Media unloaded"
;
m_clipLoaded
=
false
;
m_selected
Media
=
NULL
;
m_selected
Clip
=
NULL
;
m_isRendering
=
false
;
m_paused
=
false
;
}
...
...
src/renderer/ClipRenderer.h
View file @
636f3632
...
...
@@ -27,7 +27,7 @@
#include
<QObject>
#include
"VLCMediaPlayer.h"
#include
"
Media
.h"
#include
"
Clip
.h"
#include
"GenericRenderer.h"
//TODO: This should really share a common interface with RenderPreviewWorkflow
...
...
@@ -52,7 +52,7 @@ private:
private:
bool
m_clipLoaded
;
LibVLCpp
::
Media
*
m_vlcMedia
;
const
Media
*
m_selected
Media
;
Clip
*
m_selected
Clip
;
/**
* \brief This flags is used to know if a new media has been selected in the
* library. If so, we must relaunch the render if the play button is clicked again.
...
...
@@ -60,7 +60,7 @@ private:
bool
m_mediaChanged
;
public
slots
:
virtual
void
set
Media
(
const
Media
*
media
);
virtual
void
set
Clip
(
Clip
*
clip
);
virtual
void
mediaUnloaded
(
const
QUuid
&
);
void
__positionChanged
();
...
...
src/renderer/GenericRenderer.h
View file @
636f3632
...
...
@@ -26,7 +26,7 @@
#include
<QObject>
#include
<QWidget>
#include
"
Media
.h"
#include
"
Clip
.h"
#include
"VLCMediaPlayer.h"
class
GenericRenderer
:
public
QObject
...
...
@@ -84,7 +84,7 @@ public slots:
virtual
void
__videoPaused
()
=
0
;
virtual
void
__videoPlaying
()
=
0
;
virtual
void
__endReached
()
=
0
;
virtual
void
set
Media
(
const
Media
*
)
=
0
;
virtual
void
set
Clip
(
Clip
*
)
=
0
;
virtual
void
mediaUnloaded
(
const
QUuid
&
)
=
0
;
...
...
src/renderer/WorkflowRenderer.h
View file @
636f3632
...
...
@@ -84,7 +84,7 @@ class WorkflowRenderer : public GenericRenderer
bool
m_pausedMediaPlayer
;
public
slots
:
void
set
Media
(
const
Media
*
){}
void
set
Clip
(
Clip
*
){}
void
mediaUnloaded
(
const
QUuid
&
)
{}
void
mainWorkflowPaused
();
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment