diff --git a/src/Library/Library.cpp b/src/Library/Library.cpp index dd2eac1154e007422cd0f10adcc4f11d29e9e231..430041ba155b559c3f72fe104db694c8b8a632fa 100644 --- a/src/Library/Library.cpp +++ b/src/Library/Library.cpp @@ -31,6 +31,8 @@ #include "Library.h" #include "Media.h" #include "MetaDataManager.h" +#include "SettingsManager.h" +#include "Workspace.h" #include #include @@ -54,7 +56,14 @@ Library::loadProject( const QDomElement& doc ) if ( media.hasAttribute( "mrl" ) == true ) { QString mrl = media.attribute( "mrl" ); - Media* m = addMedia( mrl ); + + //If in workspace: compute the path in workspace + if ( mrl.startsWith( Workspace::workspacePrefix ) == true ) + { + QString projectPath = VLMC_PROJECT_GET_STRING( "general/ProjectDir" ); + mrl = projectPath + '/' + mrl.mid( Workspace::workspacePrefix.length() ); + } + Media* m = addMedia( mrl ); connect( m, SIGNAL( metaDataComputed( const Media* ) ), this, SLOT( mediaLoaded( const Media* ) ), Qt::QueuedConnection ); m_medias[mrl] = m;