<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Do you have any premade alpha builds or updated detailed instructions on how to make a build from the source code?</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><font face="comic sans ms,sans-serif">Sent by the <span style="background-color:rgb(255,255,255)"><span style="color:rgb(0,255,255)">Crafty</span></span><span style="color:rgb(0,255,0)"><span style="background-color:rgb(255,255,255)">Miner</span></span> via PC</font><br></div></div></div>
<br><div class="gmail_quote">On Tue, Jan 3, 2017 at 5:00 AM,  <span dir="ltr"><<a href="mailto:vlmc-devel-request@videolan.org" target="_blank">vlmc-devel-request@videolan.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send Vlmc-devel mailing list submissions to<br>
        <a href="mailto:vlmc-devel@videolan.org">vlmc-devel@videolan.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="https://mailman.videolan.org/listinfo/vlmc-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/<wbr>listinfo/vlmc-devel</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:vlmc-devel-request@videolan.org">vlmc-devel-request@videolan.<wbr>org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:vlmc-devel-owner@videolan.org">vlmc-devel-owner@videolan.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Vlmc-devel digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
   1. Reflect recent MediaLibrary API changes (Hugo Beauzée-Luyssen)<br>
   2. Core: Create Workspace before Library (Hugo Beauzée-Luyssen)<br>
   3. Workspace: Ensure the provided path exists (Hugo Beauzée-Luyssen)<br>
   4. Workspace: Remove leftover "Workspace" variable<br>
      (Hugo Beauzée-Luyssen)<br>
<br>
<br>
------------------------------<wbr>------------------------------<wbr>----------<br>
<br>
Message: 1<br>
Date: Mon, 02 Jan 2017 23:42:16 +0100<br>
From: Hugo Beauzée-Luyssen <<a href="mailto:git@videolan.org">git@videolan.org</a>><br>
To: <a href="mailto:vlmc-devel@videolan.org">vlmc-devel@videolan.org</a><br>
Subject: [vlmc-devel] Reflect recent MediaLibrary API changes<br>
Message-ID: <<a href="mailto:20170102224217.B8ADD172743@albiero.videolan.org">20170102224217.B8ADD172743@<wbr>albiero.videolan.org</a>><br>
Content-Type: text/plain; charset=UTF-8<br>
<br>
vlmc | branch: master | Hugo Beauzée-Luyssen <<a href="mailto:hugo@beauzee.fr">hugo@beauzee.fr</a>> | Mon Jan  2 22:49:57 2017 +0100| [<wbr>37615c8650c58a05fcacf75a102ed0<wbr>97f4042d34] | committer: Hugo Beauzée-Luyssen<br>
<br>
Reflect recent MediaLibrary API changes<br>
<br>
> <a href="https://code.videolan.org/videolan/vlmc/commit/37615c8650c58a05fcacf75a102ed097f4042d34" rel="noreferrer" target="_blank">https://code.videolan.org/<wbr>videolan/vlmc/commit/<wbr>37615c8650c58a05fcacf75a102ed0<wbr>97f4042d34</a><br>
---<br>
<br>
 src/Library/Library.cpp           | 24 ++++++++++++++++++------<br>
 src/Library/Library.h             |  3 +++<br>
 src/Library/MediaLibraryModel.<wbr>cpp |  4 ++--<br>
 src/Media/Media.cpp               |  3 +--<br>
 4 files changed, 24 insertions(+), 10 deletions(-)<br>
<br>
diff --git a/src/Library/Library.cpp b/src/Library/Library.cpp<br>
index 1ae4f83..9c74b43 100644<br>
--- a/src/Library/Library.cpp<br>
+++ b/src/Library/Library.cpp<br>
@@ -51,8 +51,8 @@ Library::Library( Settings* vlmcSettings, Settings *projectSettings )<br>
     // Setting up the external media library<br>
     m_ml.reset( NewMediaLibrary() );<br>
     m_ml->setVerbosity( medialibrary::LogLevel::<wbr>Warning );<br>
-    m_videoModel = new MediaLibraryModel( *m_ml, medialibrary::IMedia::Type::<wbr>VideoType, this );<br>
-    m_audioModel = new MediaLibraryModel( *m_ml, medialibrary::IMedia::Type::<wbr>AudioType, this );<br>
+    m_videoModel = new MediaLibraryModel( *m_ml, medialibrary::IMedia::Type::<wbr>Video, this );<br>
+    m_audioModel = new MediaLibraryModel( *m_ml, medialibrary::IMedia::Type::<wbr>Audio, this );<br>
<br>
     auto s = vlmcSettings->createVar( SettingValue::List, QStringLiteral( "vlmc/mlDirs" ), QVariantList(),<br>
                         "Media Library folders", "List of folders VLMC will search for media files",<br>
@@ -216,10 +216,10 @@ Library::onMediaAdded( std::vector<medialibrary::<wbr>MediaPtr> mediaList )<br>
     {<br>
         switch ( m->type() )<br>
         {<br>
-        case medialibrary::IMedia::Type::<wbr>VideoType:<br>
+        case medialibrary::IMedia::Type::<wbr>Video:<br>
             m_videoModel->addMedia( m );<br>
             break;<br>
-        case medialibrary::IMedia::Type::<wbr>AudioType:<br>
+        case medialibrary::IMedia::Type::<wbr>Audio:<br>
             m_audioModel->addMedia( m );<br>
             break;<br>
         default:<br>
@@ -235,10 +235,10 @@ Library::onMediaUpdated( std::vector<medialibrary::<wbr>MediaPtr> mediaList )<br>
     {<br>
         switch ( m->type() )<br>
         {<br>
-        case medialibrary::IMedia::Type::<wbr>VideoType:<br>
+        case medialibrary::IMedia::Type::<wbr>Video:<br>
             m_videoModel->updateMedia( m );<br>
             break;<br>
-        case medialibrary::IMedia::Type::<wbr>AudioType:<br>
+        case medialibrary::IMedia::Type::<wbr>Audio:<br>
             m_audioModel->updateMedia( m );<br>
             break;<br>
         default:<br>
@@ -327,3 +327,15 @@ Library::<wbr>onParsingStatsUpdated( uint32_t percent )<br>
 {<br>
     emit progressUpdated( static_cast<int>( percent ) );<br>
 }<br>
+<br>
+void Library::onPlaylistsAdded( std::vector<medialibrary::<wbr>PlaylistPtr> )<br>
+{<br>
+}<br>
+<br>
+void Library::onPlaylistsModified( std::vector<medialibrary::<wbr>PlaylistPtr> )<br>
+{<br>
+}<br>
+<br>
+void Library::onPlaylistsDeleted( std::vector<int64_t> )<br>
+{<br>
+}<br>
diff --git a/src/Library/Library.h b/src/Library/Library.h<br>
index 163e80b..5c50927 100644<br>
--- a/src/Library/Library.h<br>
+++ b/src/Library/Library.h<br>
@@ -104,6 +104,9 @@ private:<br>
     virtual void onDiscoveryProgress( const std::string& entryPoint ) override;<br>
     virtual void onDiscoveryCompleted( const std::string& entryPoint ) override;<br>
     virtual void onParsingStatsUpdated( uint32_t percent ) override;<br>
+    virtual void onPlaylistsAdded( std::vector<medialibrary::<wbr>PlaylistPtr> playlists ) override;<br>
+    virtual void onPlaylistsModified( std::vector<medialibrary::<wbr>PlaylistPtr> playlists ) override;<br>
+    virtual void onPlaylistsDeleted( std::vector<int64_t> playlistIds ) override;<br>
<br>
 private:<br>
     std::unique_ptr<medialibrary::<wbr>IMediaLibrary>    m_ml;<br>
diff --git a/src/Library/<wbr>MediaLibraryModel.cpp b/src/Library/<wbr>MediaLibraryModel.cpp<br>
index b319cb5..cb766aa 100644<br>
--- a/src/Library/<wbr>MediaLibraryModel.cpp<br>
+++ b/src/Library/<wbr>MediaLibraryModel.cpp<br>
@@ -144,10 +144,10 @@ void MediaLibraryModel::refresh()<br>
<br>
     switch ( m_mediaType )<br>
     {<br>
-    case medialibrary::IMedia::Type::<wbr>AudioType:<br>
+    case medialibrary::IMedia::Type::<wbr>Audio:<br>
         m_media = m_ml.audioFiles();<br>
         break;<br>
-    case medialibrary::IMedia::Type::<wbr>VideoType:<br>
+    case medialibrary::IMedia::Type::<wbr>Video:<br>
         m_media = m_ml.videoFiles();<br>
         break;<br>
     default:<br>
diff --git a/src/Media/Media.cpp b/src/Media/Media.cpp<br>
index 5ce81b0..cde058d 100644<br>
--- a/src/Media/Media.cpp<br>
+++ b/src/Media/Media.cpp<br>
@@ -68,8 +68,7 @@ Media::Media( medialibrary::MediaPtr media, const QUuid& uuid /* = QUuid() */ )<br>
     Q_ASSERT( files.size() > 0 );<br>
     for ( const auto& f : files )<br>
     {<br>
-        if ( f->type() == medialibrary::IFile::Type::<wbr>Entire ||<br>
-             f->type() == medialibrary::IFile::Type::<wbr>Main )<br>
+        if ( f->type() == medialibrary::IFile::Type::<wbr>Main )<br>
         {<br>
             m_mlFile = f;<br>
             break;<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Mon, 02 Jan 2017 23:42:17 +0100<br>
From: Hugo Beauzée-Luyssen <<a href="mailto:git@videolan.org">git@videolan.org</a>><br>
To: <a href="mailto:vlmc-devel@videolan.org">vlmc-devel@videolan.org</a><br>
Subject: [vlmc-devel] Core: Create Workspace before Library<br>
Message-ID: <<a href="mailto:20170102224218.C4B37172743@albiero.videolan.org">20170102224218.C4B37172743@<wbr>albiero.videolan.org</a>><br>
Content-Type: text/plain; charset=UTF-8<br>
<br>
vlmc | branch: master | Hugo Beauzée-Luyssen <<a href="mailto:hugo@beauzee.fr">hugo@beauzee.fr</a>> | Mon Jan  2 23:12:07 2017 +0100| [<wbr>f8dc1abcccba8b931a76fa1f77d847<wbr>499f3d95f9] | committer: Hugo Beauzée-Luyssen<br>
<br>
Core: Create Workspace before Library<br>
<br>
So that the Workspace can perform safety checks on the provided path<br>
<br>
> <a href="https://code.videolan.org/videolan/vlmc/commit/f8dc1abcccba8b931a76fa1f77d847499f3d95f9" rel="noreferrer" target="_blank">https://code.videolan.org/<wbr>videolan/vlmc/commit/<wbr>f8dc1abcccba8b931a76fa1f77d847<wbr>499f3d95f9</a><br>
---<br>
<br>
 src/Main/Core.cpp | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/src/Main/Core.cpp b/src/Main/Core.cpp<br>
index 86f7a8f..d53c85c 100644<br>
--- a/src/Main/Core.cpp<br>
+++ b/src/Main/Core.cpp<br>
@@ -47,9 +47,9 @@ Core::Core()<br>
<br>
     createSettings();<br>
     m_currentProject = new Project( m_settings );<br>
+    m_workspace = new Workspace( m_settings );<br>
     m_library = new Library( m_settings, m_currentProject->settings() );<br>
     m_recentProjects = new RecentProjects( m_settings );<br>
-    m_workspace = new Workspace( m_settings );<br>
     m_workflow = new MainWorkflow( m_currentProject->settings() );<br>
<br>
     QObject::connect( m_workflow, &MainWorkflow::cleanChanged, m_currentProject, &Project::cleanChanged );<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Mon, 02 Jan 2017 23:42:19 +0100<br>
From: Hugo Beauzée-Luyssen <<a href="mailto:git@videolan.org">git@videolan.org</a>><br>
To: <a href="mailto:vlmc-devel@videolan.org">vlmc-devel@videolan.org</a><br>
Subject: [vlmc-devel] Workspace: Ensure the provided path exists<br>
Message-ID: <<a href="mailto:20170102224220.DE009172776@albiero.videolan.org">20170102224220.DE009172776@<wbr>albiero.videolan.org</a>><br>
Content-Type: text/plain; charset=UTF-8<br>
<br>
vlmc | branch: master | Hugo Beauzée-Luyssen <<a href="mailto:hugo@beauzee.fr">hugo@beauzee.fr</a>> | Mon Jan  2 23:32:52 2017 +0100| [<wbr>9ad256c1782e6330f3b70fd53ffd2f<wbr>781e6751fc] | committer: Hugo Beauzée-Luyssen<br>
<br>
Workspace: Ensure the provided path exists<br>
<br>
> <a href="https://code.videolan.org/videolan/vlmc/commit/9ad256c1782e6330f3b70fd53ffd2f781e6751fc" rel="noreferrer" target="_blank">https://code.videolan.org/<wbr>videolan/vlmc/commit/<wbr>9ad256c1782e6330f3b70fd53ffd2f<wbr>781e6751fc</a><br>
---<br>
<br>
 src/Project/Workspace.cpp | 11 +++++++++--<br>
 1 file changed, 9 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/src/Project/Workspace.cpp b/src/Project/Workspace.cpp<br>
index eefe122..d7c6e99 100644<br>
--- a/src/Project/Workspace.cpp<br>
+++ b/src/Project/Workspace.cpp<br>
@@ -34,6 +34,7 @@<br>
 #include "Tools/VlmcDebug.h"<br>
<br>
 #include <QFileInfo><br>
+#include <QDir><br>
<br>
 const QString   Workspace::workspacePrefix = "workspace://";<br>
<br>
@@ -49,9 +50,15 @@ Workspace::Workspace(Settings *settings)<br>
 }<br>
<br>
 void<br>
-Workspace::workspaceChanged(<wbr>const QVariant &newWorkspace)<br>
+Workspace::workspaceChanged( const QVariant &newWorkspace )<br>
 {<br>
-    m_workspaceDir = newWorkspace.toString();<br>
+    QString path = newWorkspace.toString();<br>
+    Q_ASSERT( path.isEmpty() == false );<br>
+    m_workspaceDir = std::move( path );<br>
+<br>
+    QDir workspace( m_workspaceDir );<br>
+    if ( workspace.exists() == false )<br>
+        QDir().mkdir( m_workspaceDir );<br>
 }<br>
<br>
 bool<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Mon, 02 Jan 2017 23:42:18 +0100<br>
From: Hugo Beauzée-Luyssen <<a href="mailto:git@videolan.org">git@videolan.org</a>><br>
To: <a href="mailto:vlmc-devel@videolan.org">vlmc-devel@videolan.org</a><br>
Subject: [vlmc-devel] Workspace: Remove leftover "Workspace" variable<br>
Message-ID: <<a href="mailto:20170102224226.C14651725A0@albiero.videolan.org">20170102224226.C14651725A0@<wbr>albiero.videolan.org</a>><br>
Content-Type: text/plain; charset=UTF-8<br>
<br>
vlmc | branch: master | Hugo Beauzée-Luyssen <<a href="mailto:hugo@beauzee.fr">hugo@beauzee.fr</a>> | Mon Jan  2 23:18:13 2017 +0100| [<wbr>831961baa543ad2e49aca4c92b4655<wbr>b3aec0b33d] | committer: Hugo Beauzée-Luyssen<br>
<br>
Workspace: Remove leftover "Workspace" variable<br>
<br>
Ensure there's only one workspace location setting, that is created by<br>
the Workspace class<br>
<br>
> <a href="https://code.videolan.org/videolan/vlmc/commit/831961baa543ad2e49aca4c92b4655b3aec0b33d" rel="noreferrer" target="_blank">https://code.videolan.org/<wbr>videolan/vlmc/commit/<wbr>831961baa543ad2e49aca4c92b4655<wbr>b3aec0b33d</a><br>
---<br>
<br>
 src/Main/Core.cpp         | 4 ----<br>
 src/Project/Workspace.cpp | 7 +++++--<br>
 2 files changed, 5 insertions(+), 6 deletions(-)<br>
<br>
diff --git a/src/Main/Core.cpp b/src/Main/Core.cpp<br>
index d53c85c..d5f16a5 100644<br>
--- a/src/Main/Core.cpp<br>
+++ b/src/Main/Core.cpp<br>
@@ -82,10 +82,6 @@ Core::createSettings()<br>
     QString configPath = configDir + QDir::separator() + qApp->organizationName()<br>
             + QDir::separator() + qApp->applicationName() + ".conf";<br>
     m_settings = new Settings( configPath );<br>
-    m_settings->createVar( SettingValue::String, "vlmc/WorkspaceLocation", "",<br>
-                                    QT_TRANSLATE_NOOP( "Settings", "Workspace location" ),<br>
-                                    QT_TRANSLATE_NOOP( "Settings", "VLMC's workspace location" ),<br>
-                                    SettingValue::Nothing );<br>
     m_settings->createVar( SettingValue::Bool, "private/FirstLaunchDone", false, "", "", SettingValue::Private );<br>
 }<br>
<br>
diff --git a/src/Project/Workspace.cpp b/src/Project/Workspace.cpp<br>
index 879eb48..eefe122 100644<br>
--- a/src/Project/Workspace.cpp<br>
+++ b/src/Project/Workspace.cpp<br>
@@ -39,8 +39,11 @@ const QString   Workspace::workspacePrefix = "workspace://";<br>
<br>
 Workspace::Workspace(Settings *settings)<br>
 {<br>
-    SettingValue* workspaceDir = settings->createVar( SettingValue::String, "vlmc/Workspace", "",<br>
-                                                      "", "", SettingValue::Private );<br>
+    SettingValue* workspaceDir = settings->createVar(<br>
+                SettingValue::String, "vlmc/WorkspaceLocation", "",<br>
+                QT_TRANSLATE_NOOP( "Settings", "Workspace location" ),<br>
+                QT_TRANSLATE_NOOP( "Settings", "VLMC's workspace location" ),<br>
+                SettingValue::Nothing );<br>
     connect(workspaceDir, SIGNAL( changed( QVariant ) ),<br>
             this, SLOT( workspaceChanged( QVariant ) ) );<br>
 }<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
______________________________<wbr>_________________<br>
Vlmc-devel mailing list<br>
<a href="mailto:Vlmc-devel@videolan.org">Vlmc-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/vlmc-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/<wbr>listinfo/vlmc-devel</a><br>
<br>
<br>
------------------------------<br>
<br>
End of Vlmc-devel Digest, Vol 55, Issue 1<br>
******************************<wbr>***********<br>
</blockquote></div><br></div></div>