Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Multimedia
Kdenlive
Commits
ef43322a
Commit
ef43322a
authored
Jun 14, 2020
by
Jean-Baptiste Mardelle
Browse files
Fix working on project with proxy only
parent
eba9129f
Pipeline
#23517
passed with stage
in 28 minutes and 54 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/bin/abstractprojectitem.cpp
View file @
ef43322a
...
...
@@ -261,7 +261,7 @@ void AbstractProjectItem::setClipStatus(CLIPSTATUS status)
bool
AbstractProjectItem
::
statusReady
()
const
{
return
m_clipStatus
==
StatusReady
;
return
m_clipStatus
==
StatusReady
||
m_clipStatus
==
StatusProxyOnly
;
}
AbstractProjectItem
::
CLIPSTATUS
AbstractProjectItem
::
clipStatus
()
const
...
...
src/bin/abstractprojectitem.h
View file @
ef43322a
...
...
@@ -146,7 +146,7 @@ public:
ClipHasAudioAndVideo
};
enum
CLIPSTATUS
{
StatusReady
=
0
,
StatusMissing
,
StatusWaiting
,
StatusDeleting
};
enum
CLIPSTATUS
{
StatusReady
=
0
,
StatusMissing
,
StatusWaiting
,
StatusDeleting
,
StatusProxyOnly
};
virtual
void
setClipStatus
(
AbstractProjectItem
::
CLIPSTATUS
status
);
AbstractProjectItem
::
CLIPSTATUS
clipStatus
()
const
;
...
...
src/bin/bin.cpp
View file @
ef43322a
...
...
@@ -228,9 +228,9 @@ public:
}
// Add audio/video icons for selective drag
int
cType
=
index
.
data
(
AbstractProjectItem
::
ClipType
).
toInt
();
if
(
clipStatus
==
AbstractProjectItem
::
StatusMissing
)
{
if
(
clipStatus
==
AbstractProjectItem
::
StatusMissing
||
clipStatus
==
AbstractProjectItem
::
StatusProxyOnly
)
{
painter
->
save
();
painter
->
setPen
(
QPen
(
Qt
::
red
,
3
));
painter
->
setPen
(
QPen
(
clipStatus
==
AbstractProjectItem
::
StatusProxyOnly
?
Qt
::
yellow
:
Qt
::
red
,
3
));
painter
->
drawRect
(
m_thumbRect
);
painter
->
restore
();
}
else
if
(
cType
==
ClipType
::
Image
||
cType
==
ClipType
::
SlideShow
)
{
...
...
@@ -1415,7 +1415,7 @@ void Bin::slotReloadClip()
}
if
(
currentItem
)
{
emit
openClip
(
std
::
shared_ptr
<
ProjectClip
>
());
if
(
currentItem
->
clipStatus
()
==
AbstractProjectItem
::
StatusMissing
)
{
if
(
currentItem
->
clipStatus
()
==
AbstractProjectItem
::
StatusMissing
||
currentItem
->
clipStatus
()
==
AbstractProjectItem
::
StatusProxyOnly
)
{
// Don't attempt to reload missing clip
emit
displayBinMessage
(
i18n
(
"Missing source clip"
),
KMessageWidget
::
Warning
);
return
;
...
...
src/bin/projectclip.cpp
View file @
ef43322a
...
...
@@ -83,8 +83,10 @@ ProjectClip::ProjectClip(const QString &id, const QIcon &thumb, const std::share
,
ClipController
(
id
,
std
::
move
(
producer
))
{
m_markerModel
=
std
::
make_shared
<
MarkerListModel
>
(
id
,
pCore
->
projectManager
()
->
undoStack
());
if
(
producer
->
get_int
(
"_placeholder"
)
==
1
||
producer
->
get_int
(
"_missingsource"
)
==
1
)
{
if
(
producer
->
get_int
(
"_placeholder"
)
==
1
)
{
m_clipStatus
=
StatusMissing
;
}
else
if
(
producer
->
get_int
(
"_missingsource"
)
==
1
)
{
m_clipStatus
=
StatusProxyOnly
;
}
else
{
m_clipStatus
=
StatusReady
;
}
...
...
@@ -879,7 +881,7 @@ std::unique_ptr<Mlt::Producer> ProjectClip::getClone()
bool
ProjectClip
::
isReady
()
const
{
return
m_clipStatus
==
StatusReady
;
return
m_clipStatus
==
StatusReady
||
m_clipStatus
==
StatusProxyOnly
;
}
QPoint
ProjectClip
::
zone
()
const
...
...
src/bin/projectitemmodel.cpp
View file @
ef43322a
...
...
@@ -729,7 +729,7 @@ bool ProjectItemModel::requestAddBinClip(QString &id, const std::shared_ptr<Mlt:
bool
res
=
addItem
(
new_clip
,
parentId
,
undo
,
redo
);
if
(
res
)
{
new_clip
->
importEffects
(
producer
);
if
(
new_clip
->
sourceExists
())
{
if
(
new_clip
->
isReady
()
||
new_clip
->
sourceExists
())
{
int
blocking
=
pCore
->
jobManager
()
->
getBlockingJobId
(
id
,
AbstractClipJob
::
LOADJOB
);
pCore
->
jobManager
()
->
startJob
<
ThumbJob
>
({
id
},
blocking
,
QString
(),
-
1
,
true
);
pCore
->
jobManager
()
->
startJob
<
AudioThumbJob
>
({
id
},
blocking
,
QString
());
...
...
src/jobs/audiothumbjob.cpp
View file @
ef43322a
...
...
@@ -114,7 +114,7 @@ bool AudioThumbJob::computeWithMlt()
bool
AudioThumbJob
::
computeWithFFMPEG
()
{
QString
filePath
=
m_prod
->
get
(
"kdenlive:originalurl"
);
if
(
filePath
.
isEmpty
())
{
if
(
filePath
.
isEmpty
()
||
!
QFile
::
exists
(
filePath
)
)
{
filePath
=
m_prod
->
get
(
"resource"
);
}
m_ffmpegProcess
.
reset
(
new
QProcess
);
...
...
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