[vlc-devel] [PATCH 00/17] First implementation of playlists on the Qt side

Benjamin Arnaud benjamin.arnaud at videolabs.io
Fri Feb 19 10:25:24 UTC 2021


This patch is a first implementation of medialibrary playlists on the Qt / QML side.

It contains the following:
- A collection of models that make playlist(s) accessible from our views.
- A QWidget based dialog to create and add media(s) to a playlist.
- QML views for the Video and Music tabs displaying:
    - The list of playlist(s)
    - The list of media(s)

Contextual menus should be fully functionnal and drag and drop works too. The medialibrary was updated accordingly to get the proper API calls for create / append and delete.

This is a first implementation and we still need to implement the interactions with the media(s) list among other things.

Thank you Pierre for your *comprehensive* support along your way.

Benjamin Arnaud (17):
  medialibrary: Add playlist support
  qt/medialibrary: Create MLPlaylist
  qt/medialibrary: Create MLPlaylistListModel
  qt/medialibrary: Create MLPlaylistMedia
  qt/medialibrary: Create MLPlaylistModel
  qt: Create PlaylistsDialog
  qt: Add PlaylistsDialog to the dialog provider
  qt: Expose medialibrary playlist models to QML
  qt/menus: Add playlist support
  qml: split VideoDisplay content in VideoAllDisplay and VideoList
  qml: Create PlaylistMediaList
  qml: Create PlaylistMedia
  qml: Create PlaylistMediaDisplay
  qml: Create VideoPlaylistsDisplay
  qml: add Playlists entry in Videos tabs
  qml: Create MusicPlaylistsDisplay
  qml: Update MusicDisplay

 include/vlc_interface.h                       |   1 +
 include/vlc_media_library.h                   |  34 ++
 modules/gui/qt/Makefile.am                    |  20 +
 modules/gui/qt/dialogs/dialogs_provider.cpp   |  21 +
 modules/gui/qt/dialogs/dialogs_provider.hpp   |   2 +
 .../gui/qt/dialogs/playlists/playlists.cpp    | 224 ++++++++++
 .../gui/qt/dialogs/playlists/playlists.hpp    |  78 ++++
 modules/gui/qt/maininterface/mainui.cpp       |   8 +
 modules/gui/qt/medialibrary/mlplaylist.cpp    |  60 +++
 modules/gui/qt/medialibrary/mlplaylist.hpp    |  55 +++
 .../qt/medialibrary/mlplaylistlistmodel.cpp   | 281 ++++++++++++
 .../qt/medialibrary/mlplaylistlistmodel.hpp   |  84 ++++
 .../gui/qt/medialibrary/mlplaylistmedia.cpp   | 236 ++++++++++
 .../gui/qt/medialibrary/mlplaylistmedia.hpp   |  99 ++++
 .../gui/qt/medialibrary/mlplaylistmodel.cpp   | 203 +++++++++
 .../gui/qt/medialibrary/mlplaylistmodel.hpp   |  79 ++++
 .../gui/qt/medialibrary/qml/MusicDisplay.qml  |   4 +
 .../qml/MusicPlaylistsDisplay.qml             | 115 +++++
 .../gui/qt/medialibrary/qml/PlaylistMedia.qml |  98 ++++
 .../medialibrary/qml/PlaylistMediaDisplay.qml | 247 ++++++++++
 .../qt/medialibrary/qml/PlaylistMediaList.qml | 422 ++++++++++++++++++
 modules/gui/qt/medialibrary/qml/VideoAll.qml  | 352 +++++++++++++++
 .../qt/medialibrary/qml/VideoAllDisplay.qml   | 102 +++++
 .../gui/qt/medialibrary/qml/VideoDisplay.qml  | 294 ++----------
 .../qml/VideoPlaylistsDisplay.qml             | 115 +++++
 modules/gui/qt/menus/qml_menu_wrapper.cpp     | 141 ++++++
 modules/gui/qt/menus/qml_menu_wrapper.hpp     |  30 ++
 modules/gui/qt/vlc.qrc                        |   7 +
 modules/misc/medialibrary/medialibrary.cpp    |  25 ++
 po/POTFILES.in                                |  15 +
 30 files changed, 3205 insertions(+), 247 deletions(-)
 create mode 100644 modules/gui/qt/dialogs/playlists/playlists.cpp
 create mode 100644 modules/gui/qt/dialogs/playlists/playlists.hpp
 create mode 100644 modules/gui/qt/medialibrary/mlplaylist.cpp
 create mode 100644 modules/gui/qt/medialibrary/mlplaylist.hpp
 create mode 100644 modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
 create mode 100644 modules/gui/qt/medialibrary/mlplaylistlistmodel.hpp
 create mode 100644 modules/gui/qt/medialibrary/mlplaylistmedia.cpp
 create mode 100644 modules/gui/qt/medialibrary/mlplaylistmedia.hpp
 create mode 100644 modules/gui/qt/medialibrary/mlplaylistmodel.cpp
 create mode 100644 modules/gui/qt/medialibrary/mlplaylistmodel.hpp
 create mode 100644 modules/gui/qt/medialibrary/qml/MusicPlaylistsDisplay.qml
 create mode 100644 modules/gui/qt/medialibrary/qml/PlaylistMedia.qml
 create mode 100644 modules/gui/qt/medialibrary/qml/PlaylistMediaDisplay.qml
 create mode 100644 modules/gui/qt/medialibrary/qml/PlaylistMediaList.qml
 create mode 100644 modules/gui/qt/medialibrary/qml/VideoAll.qml
 create mode 100644 modules/gui/qt/medialibrary/qml/VideoAllDisplay.qml
 create mode 100644 modules/gui/qt/medialibrary/qml/VideoPlaylistsDisplay.qml

-- 
2.25.1



More information about the vlc-devel mailing list