[vlc-devel] [RFC 00/82] Update Qt to use the new player/playlist API and use QML engine

Pierre Lamot pierre at videolabs.io
Fri Feb 1 14:01:04 CET 2019


Hi,

The main goals of this patchset are:

  - use the new player / playlist API in the Qt interface,
  - update internal UI models to be usable from QML.
  - update the UI to use a modern engine (QML) and give VLC a fresh look
  - provide an integration of the medialibrary within the desktop UI

secondary goals are:

  - be able to navigate and use the interface with a keyboard / remote
    controler.

So ... this is a huge patchset, we wanted to port the player/playlist API and change
the engine at the same time to avoid breaking the interface twice by doing one
then the other.

the patches is composed in two main parts, first the port to the new
player/playlist API, then the integration of the QML UI

There are still many rough edges, amongst the known issues:

- Medialibrary is required, there is currently no fallback
- No video integration on Windows platform
- Possible crash when closing the window (vout try to render in a closed window,
  vout_display_window_CloseNotify has no effect)
- Main window might freeze when using Qt 12 with X11 (QTBUG-72679)
- bookmarks is unimplemented
- Playlist export is missing
- No extension integration
- No "extra interface" integration
- No "Renderer" integration
- Recent play isn't filled properly

Alexandre Janniaux (1):
  qt: add wayland video renderer

Chenrui He (1):
  qml: provide a player view for video and music

Hugo Beauzée-Luyssen (3):
  input: Let the meta reader know if the input is being preparsed
  taglib: Allow non-local mrls to be analyzed when preparsing
  taglib: Use vlc_stream_NewURL instead of vlc_access_NewMRL

Maël Kervella (2):
  Qt : replace millimeters with pixels in SVG
  qml: provide a component to display up to 4 images in a grid

Pierre Lamot (73):
  d3d11: update directX header for crosscompilation
  contrib: update qt to 5.12, compile it with ANGLE support
  contrib: udpate qtsvg to 5.12
  contrib: add qtdeclarative, qtquickcontrols2 and qtgraphicaleffects
  contrib: don't compile qtquickcontrols 1, as it is unused by the qt
    interface
  ml: Thumbnailer: Temporarilyy disable hardware decoders for
    thumbnailing
  qt: update minimal required version to 5.11 in configure.ac
  contrib: provide wine compatible fxc compiler
  qt: provide a wrapper around vlc_tick_t usable from QML
  qt: provide wrapper around vlc_var with simple types
  qt: provide abstract list model for variables with VLC_VAR_HASCHOICE
  qt: provide an event filter to process events before a QML item
  qt: use the new player/playlist in qt.h
  qt: add option to setup QML debugging probe
  qt: remove legacy playlist model and view
  qt: add a context object that will be usable from QML to get a
    reference to the main interface/playlist
  qt: load static qml plugins
  qt: remove legacy input_manager and action_manager
  qt: add models for tracks, chapters, programs
  qt: Expose the new player API to Qt/QML
  qt: provide the main playist and player controler in qt context
  qt: update dialogs to use the new player/playlist API
  qt: port the control widgets to the new player/playlist API
  qt: port info panel widget to the new player/playlist API
  qt: port the extented panel to the new player/playlist API
  qt: provide helper class to build menus
  qt: port menu to use the new player/playlist
  qt: remove unused classes
  qt: port the extension manager to the new player/playlist API
  qt: update input_slider to use new player/playlist API
  qt: remove external dialogs
  qt: provide model to be able to use QML as dialog provider
  qt: port interface widgets to use the new player/playlist API
  qt: provide QML model for about/info dialog
  qt: port Recent manager to the new player/playlist API
  qt: port use the new player API in renderer manager
  qt: update includes in EPGWidget and qvlcapp
  qt: provide base implementation video sink to render video output
    within the interface
  qt: provide dummy video renderer
  qt: provide OpenGL video renderer
  egl: add refcounting to eglInitialize/eglTerminate
  qt: add base classes for medialibrary model
  qt: add medialibrary album model
  qt: add medialibrary albumtrack model
  qt: add medialibrary artist model
  qt: add medialibrary genre model
  qt: add medialibrary video model
  qt: add medialibrary network model
  qt: provide component to help navigation between QML views
  add .qmlc to git ignore
  qt: add graphic for menu and  track selection
  qml: add a tool to generate an icon font from SVG graphics
  qml: provide common color and size definitions
  qml: provide a base class for key navigable widgets
  qml: add helper class to handle selection in DelegateModel
  qml: implement list, grid and table view with key navigation support
  qml: extend and customize StackView
  qml: add common widgets with custom style
  qml: provide common class to serve as delegate for list and grid view
  qml: provide custom "Drawer" component, usable with key navigation
  qml: add a special grid view where elements can be expanded.
  qml: add a simple About dialog
  qml: provide dialogs for user interaction.
  qml: provide a widget to display the play queue
  qml: implement main menus
  qml: add views to browse music indexed by the medialibrary
  qml: add views to browse videos indexed by the medialibrary
  qml: add views to browse network drives
  qml: add main view for medialibrary browsing
  qml: provide a progress bar to indicate medialibrary scan progress
  qml: provide main entry point of the UI
  qt: use the QML interface as main interface
  qt: port MainInterfaceWin32 to use the new player/playlist API

Romain Vimont (2):
  medialibrary: Add an IFileSysteFactory implementation for network
  qt: playlist: implement Qt playlist list model and controler

 .gitignore                                    |    1 +
 configure.ac                                  |    6 +-
 contrib/src/d3d11/SHA512SUMS                  |   14 +-
 contrib/src/d3d11/processor_format.patch      |   14 +-
 contrib/src/d3d11/rules.mak                   |  122 +-
 ...-as-optional-and-provide-default-var.patch |   81 +
 ...tyle-flags-and-splitted-argument-val.patch |  260 +++
 .../0003-Use-meson-as-a-build-system.patch    |   47 +
 ...arrowing-conversion-from-int-to-BYTE.patch |   56 +
 contrib/src/fxc2/rules.mak                    |   30 +
 ...cross-compilation-of-angle-with-wine.patch |   55 +
 ...at-win32-clang-g-the-same-as-win32-g.patch |   30 -
 ...ash.c-mingw-clang-64-bit-compilation.patch |   25 +
 ...ilding-with-lld-with-mingw-makefiles.patch |   80 -
 contrib/src/qt/SHA512SUMS                     |    2 +-
 contrib/src/qt/fix-glibc-2.28-build.patch     |   49 -
 contrib/src/qt/rules.mak                      |   48 +-
 contrib/src/qtdeclarative/SHA512SUMS          |    2 +-
 contrib/src/qtdeclarative/rules.mak           |    8 +-
 contrib/src/qtgraphicaleffects/SHA512SUMS     |    2 +-
 contrib/src/qtgraphicaleffects/rules.mak      |    6 +-
 contrib/src/qtquickcontrols/SHA512SUMS        |    1 -
 contrib/src/qtquickcontrols/rules.mak         |   24 -
 contrib/src/qtquickcontrols2/SHA512SUMS       |    2 +-
 contrib/src/qtquickcontrols2/rules.mak        |    9 +-
 contrib/src/qtsvg/SHA512SUMS                  |    2 +-
 contrib/src/qtsvg/rules.mak                   |    6 +-
 include/vlc_demux.h                           |    1 +
 modules/gui/qt/Makefile.am                    |  209 ++-
 modules/gui/qt/actions_manager.cpp            |  207 ---
 modules/gui/qt/actions_manager.hpp            |   95 --
 modules/gui/qt/adapters/seekpoints.cpp        |   98 --
 modules/gui/qt/adapters/seekpoints.hpp        |   68 -
 modules/gui/qt/components/aboutmodel.cpp      |   50 +
 modules/gui/qt/components/aboutmodel.hpp      |   40 +
 modules/gui/qt/components/controller.cpp      |  239 ++-
 modules/gui/qt/components/controller.hpp      |    9 +-
 .../gui/qt/components/controller_widget.cpp   |  105 +-
 .../gui/qt/components/controller_widget.hpp   |   34 +-
 modules/gui/qt/components/custom_menus.cpp    |  119 ++
 modules/gui/qt/components/custom_menus.hpp    |   54 +
 modules/gui/qt/components/dialogmodel.cpp     |  113 ++
 modules/gui/qt/components/dialogmodel.hpp     |  100 ++
 modules/gui/qt/components/epg/EPGWidget.cpp   |    2 +-
 modules/gui/qt/components/extended_panels.cpp |  175 +-
 modules/gui/qt/components/extended_panels.hpp |    2 +
 modules/gui/qt/components/info_panels.cpp     |   36 +-
 modules/gui/qt/components/info_panels.hpp     |    2 +-
 .../gui/qt/components/interface_widgets.cpp   |   77 +-
 .../gui/qt/components/interface_widgets.hpp   |    4 +-
 .../qt/components/mediacenter/mcmedialib.cpp  |  237 +++
 .../qt/components/mediacenter/mcmedialib.hpp  |   82 +
 .../gui/qt/components/mediacenter/mlalbum.cpp |  126 ++
 .../gui/qt/components/mediacenter/mlalbum.hpp |   80 +
 .../components/mediacenter/mlalbummodel.cpp   |  170 ++
 .../components/mediacenter/mlalbummodel.hpp   |   54 +
 .../components/mediacenter/mlalbumtrack.cpp   |  133 ++
 .../components/mediacenter/mlalbumtrack.hpp   |   81 +
 .../mediacenter/mlalbumtrackmodel.cpp         |  179 ++
 .../mediacenter/mlalbumtrackmodel.hpp         |   53 +
 .../qt/components/mediacenter/mlartist.cpp    |   95 ++
 .../qt/components/mediacenter/mlartist.hpp    |   75 +
 .../components/mediacenter/mlartistmodel.cpp  |  141 ++
 .../components/mediacenter/mlartistmodel.hpp  |   52 +
 .../qt/components/mediacenter/mlbasemodel.cpp |  181 ++
 .../qt/components/mediacenter/mlbasemodel.hpp |  210 +++
 .../gui/qt/components/mediacenter/mlgenre.cpp |   58 +
 .../gui/qt/components/mediacenter/mlgenre.hpp |   60 +
 .../components/mediacenter/mlgenremodel.cpp   |  127 ++
 .../components/mediacenter/mlgenremodel.hpp   |   54 +
 .../qt/components/mediacenter/mlhelper.hpp    |   74 +
 .../components/mediacenter/mlnetworkmodel.cpp |  374 +++++
 .../components/mediacenter/mlnetworkmodel.hpp |  117 ++
 .../qt/components/mediacenter/mlqmltypes.hpp  |   61 +
 .../gui/qt/components/mediacenter/mlvideo.cpp |  148 ++
 .../gui/qt/components/mediacenter/mlvideo.hpp |   82 +
 .../components/mediacenter/mlvideomodel.cpp   |  136 ++
 .../components/mediacenter/mlvideomodel.hpp   |   55 +
 .../gui/qt/components/navigation_history.cpp  |   68 +
 .../gui/qt/components/navigation_history.hpp  |   72 +
 .../gui/qt/components/player_controler.cpp    | 1476 +++++++++++++++++
 .../gui/qt/components/player_controler.hpp    |  419 +++++
 .../gui/qt/components/player_controler_p.hpp  |  142 ++
 modules/gui/qt/components/playlist/media.hpp  |  101 ++
 .../gui/qt/components/playlist/playlist.cpp   |  411 -----
 .../gui/qt/components/playlist/playlist.hpp   |  129 --
 .../components/playlist/playlist_common.cpp   |   40 +
 .../components/playlist/playlist_common.hpp   |   58 +
 .../playlist/playlist_controler.cpp           |  667 ++++++++
 .../playlist/playlist_controler.hpp           |  167 ++
 .../playlist/playlist_controler_p.hpp         |   69 +
 .../qt/components/playlist/playlist_item.cpp  |  146 +-
 .../qt/components/playlist/playlist_item.hpp  |  140 +-
 .../qt/components/playlist/playlist_model.cpp | 1261 ++++----------
 .../qt/components/playlist/playlist_model.hpp |  198 +--
 .../components/playlist/playlist_model_p.hpp  |   72 +
 .../gui/qt/components/playlist/selector.cpp   |  636 -------
 .../gui/qt/components/playlist/selector.hpp   |  160 --
 modules/gui/qt/components/playlist/sorting.h  |  138 --
 .../qt/components/playlist/standardpanel.cpp  |  842 ----------
 .../qt/components/playlist/standardpanel.hpp  |  147 --
 modules/gui/qt/components/playlist/views.cpp  |  591 -------
 modules/gui/qt/components/playlist/views.hpp  |  151 --
 .../gui/qt/components/playlist/vlc_model.cpp  |  214 ---
 .../gui/qt/components/playlist/vlc_model.hpp  |  164 --
 .../gui/qt/components/playlist_new/media.hpp  |   76 +
 .../gui/qt/components/qml_main_context.cpp    |   42 +
 .../gui/qt/components/qml_main_context.hpp    |   48 +
 .../video_renderer/videorenderer.cpp          |   70 +
 .../video_renderer/videorenderer.hpp          |   37 +
 .../video_renderer/videorendererdummy.cpp     |   48 +
 .../video_renderer/videorendererdummy.hpp     |   51 +
 .../video_renderer/videorenderergl.cpp        |  227 +++
 .../video_renderer/videorenderergl.hpp        |  101 ++
 .../video_renderer/videorendererwayland.cpp   |  154 ++
 .../video_renderer/videorendererwayland.hpp   |   63 +
 .../video_renderer/videosurface.cpp           |  170 ++
 .../video_renderer/videosurface.hpp           |  102 ++
 modules/gui/qt/dialogs/bookmarks.cpp          |  274 +--
 modules/gui/qt/dialogs/epg.cpp                |   35 +-
 modules/gui/qt/dialogs/extended.cpp           |    8 +-
 modules/gui/qt/dialogs/extended.hpp           |    3 +-
 modules/gui/qt/dialogs/external.cpp           |  402 -----
 modules/gui/qt/dialogs/external.hpp           |  157 --
 modules/gui/qt/dialogs/gototime.cpp           |   10 +-
 modules/gui/qt/dialogs/mediainfo.cpp          |   28 +-
 modules/gui/qt/dialogs/messages.cpp           |   39 +-
 modules/gui/qt/dialogs/playlist.cpp           |   97 --
 modules/gui/qt/dialogs/playlist.hpp           |   63 -
 .../gui/qt/dialogs/podcast_configuration.cpp  |   11 +-
 modules/gui/qt/dialogs/toolbar.cpp            |    4 +-
 modules/gui/qt/dialogs_provider.cpp           |   89 +-
 modules/gui/qt/dialogs_provider.hpp           |    7 +-
 modules/gui/qt/extensions_manager.cpp         |   41 +-
 modules/gui/qt/extensions_manager.hpp         |    3 +-
 modules/gui/qt/input_manager.cpp              | 1284 --------------
 modules/gui/qt/input_manager.hpp              |  344 ----
 modules/gui/qt/main_interface.cpp             | 1147 +++----------
 modules/gui/qt/main_interface.hpp             |  110 +-
 modules/gui/qt/main_interface_win32.cpp       |   92 +-
 modules/gui/qt/main_interface_win32.hpp       |    5 +-
 modules/gui/qt/managers/renderer_manager.cpp  |    5 +-
 modules/gui/qt/menus.cpp                      |  936 ++---------
 modules/gui/qt/menus.hpp                      |   89 +-
 modules/gui/qt/pixmaps/VLCIcons.json          |  126 ++
 modules/gui/qt/pixmaps/VLCIcons.ttf           |  Bin 0 -> 21752 bytes
 modules/gui/qt/pixmaps/makeIconFont.py        |  110 ++
 modules/gui/qt/pixmaps/menu.svg               |  109 ++
 modules/gui/qt/pixmaps/menus/.directory       |    4 -
 modules/gui/qt/pixmaps/menus/help_16px.svg    |   27 +-
 .../playlist/sidebar-icons/capture.svg        |  129 +-
 .../pixmaps/playlist/sidebar-icons/disc.svg   |   37 +-
 .../qt/pixmaps/playlist/sidebar-icons/lan.svg |   53 +-
 .../playlist/sidebar-icons/library.svg        |   27 +-
 .../pixmaps/playlist/sidebar-icons/movie.svg  |   23 +-
 .../qt/pixmaps/playlist/sidebar-icons/mtp.svg |   47 +-
 .../pixmaps/playlist/sidebar-icons/music.svg  |   45 +-
 .../playlist/sidebar-icons/network.svg        |   27 +-
 .../playlist/sidebar-icons/pictures.svg       |   24 +-
 .../playlist/sidebar-icons/playlist.svg       |   30 +-
 .../playlist/sidebar-icons/podcast.svg        |   20 +-
 .../pixmaps/playlist/sidebar-icons/screen.svg |   30 +-
 .../sidebar-icons/sd/appletrailers.svg        |   18 +-
 .../sidebar-icons/sd/assembleenationale.svg   |  144 +-
 .../pixmaps/playlist/sidebar-icons/sd/fmc.svg |   35 +-
 .../playlist/sidebar-icons/sd/frenchtv.svg    |   88 +-
 .../playlist/sidebar-icons/sd/icecast.svg     |   20 +-
 .../playlist/sidebar-icons/sd/jamendo.svg     |   18 +-
 .../playlist/sidebar-icons/sd/katsomo.svg     |   16 +-
 .../sidebar-icons/sd/metachannels.svg         |   29 +-
 modules/gui/qt/pixmaps/toolbar/audiosub.svg   |   71 +
 .../pixmaps/toolbar/volume-slider-inside.svg  |   27 +-
 .../pixmaps/toolbar/volume-slider-outside.svg |   29 +-
 modules/gui/qt/qml/BannerSources.qml          |  199 +++
 modules/gui/qt/qml/MainInterface.qml          |  128 ++
 modules/gui/qt/qml/about/About.qml            |  170 ++
 modules/gui/qt/qml/dialogs/Dialogs.qml        |  322 ++++
 modules/gui/qt/qml/dialogs/ModalDialog.qml    |   73 +
 .../gui/qt/qml/mediacenter/ArtistGridView.qml |   61 +
 .../gui/qt/qml/mediacenter/ArtistListView.qml |   56 +
 .../qt/qml/mediacenter/ArtistTopBanner.qml    |  100 ++
 .../gui/qt/qml/mediacenter/MCMainDisplay.qml  |  163 ++
 .../gui/qt/qml/mediacenter/MCMusicDisplay.qml |  242 +++
 .../qt/qml/mediacenter/MCNetworkDisplay.qml   |  114 ++
 .../gui/qt/qml/mediacenter/MCVideoDisplay.qml |  172 ++
 .../qt/qml/mediacenter/MusicAlbumsDisplay.qml |  258 +++
 .../MusicAlbumsGridExpandDelegate.qml         |  226 +++
 .../qml/mediacenter/MusicArtistsDisplay.qml   |  252 +++
 .../qt/qml/mediacenter/MusicGenresDisplay.qml |  224 +++
 .../qml/mediacenter/MusicTrackListDisplay.qml |   54 +
 .../qt/qml/mediacenter/MusicTracksDisplay.qml |   39 +
 .../qml/mediacenter/NetworkDriveDisplay.qml   |   71 +
 .../qt/qml/mediacenter/NetworkFileDisplay.qml |   57 +
 .../qt/qml/mediacenter/NetworkListItem.qml    |   92 +
 modules/gui/qt/qml/menus/AudioMenu.qml        |   55 +
 .../qt/qml/menus/CheckableModelSubMenu.qml    |   34 +
 modules/gui/qt/qml/menus/HelpMenu.qml         |   28 +
 modules/gui/qt/qml/menus/MainMenu.qml         |   46 +
 modules/gui/qt/qml/menus/MediaMenu.qml        |   42 +
 modules/gui/qt/qml/menus/PlaybackMenu.qml     |   92 +
 modules/gui/qt/qml/menus/SubtitleMenu.qml     |   35 +
 modules/gui/qt/qml/menus/ToolsMenu.qml        |   33 +
 modules/gui/qt/qml/menus/VideoMenu.qml        |   97 ++
 modules/gui/qt/qml/menus/ViewMenu.qml         |   68 +
 modules/gui/qt/qml/player/ControlBar.qml      |  212 +++
 modules/gui/qt/qml/player/ModalControlBar.qml |   81 +
 modules/gui/qt/qml/player/Player.qml          |  194 +++
 modules/gui/qt/qml/player/SliderBar.qml       |   89 +
 modules/gui/qt/qml/player/TrackInfo.qml       |   76 +
 modules/gui/qt/qml/player/TrackSelector.qml   |  122 ++
 modules/gui/qt/qml/playlist/PLItem.qml        |  158 ++
 modules/gui/qt/qml/playlist/PLItemFooter.qml  |   55 +
 .../gui/qt/qml/playlist/PlaylistListView.qml  |  263 +++
 modules/gui/qt/qml/playlist/PlaylistMenu.qml  |  249 +++
 modules/gui/qt/qml/style/VLCColors.qml        |  162 ++
 modules/gui/qt/qml/style/VLCIcons.qml         |  152 ++
 modules/gui/qt/qml/style/VLCStyle.qml         |  109 ++
 modules/gui/qt/qml/style/qmldir               |    2 +
 modules/gui/qt/qml/utils/ComboBoxExt.qml      |  119 ++
 modules/gui/qt/qml/utils/DNDLabel.qml         |   45 +
 modules/gui/qt/qml/utils/Drawer.qml           |   80 +
 modules/gui/qt/qml/utils/ExpandGridView.qml   |  337 ++++
 modules/gui/qt/qml/utils/GridItem.qml         |  240 +++
 modules/gui/qt/qml/utils/IconToolButton.qml   |   66 +
 modules/gui/qt/qml/utils/ImageToolButton.qml  |   52 +
 .../gui/qt/qml/utils/KeyNavigableGridView.qml |  120 ++
 .../gui/qt/qml/utils/KeyNavigableListView.qml |  131 ++
 .../qt/qml/utils/KeyNavigableTableView.qml    |  213 +++
 modules/gui/qt/qml/utils/ListItem.qml         |  173 ++
 modules/gui/qt/qml/utils/MenuExt.qml          |   64 +
 modules/gui/qt/qml/utils/MenuItemExt.qml      |  125 ++
 .../gui/qt/qml/utils/MultiCoverPreview.qml    |   85 +
 .../gui/qt/qml/utils/NavigableFocusScope.qml  |   56 +
 modules/gui/qt/qml/utils/ScanProgressBar.qml  |   54 +
 .../qt/qml/utils/SelectableDelegateModel.qml  |   89 +
 modules/gui/qt/qml/utils/StackViewExt.qml     |   89 +
 modules/gui/qt/qml/utils/TextToolButton.qml   |   56 +
 modules/gui/qt/qml/utils/ToolTipArea.qml      |   38 +
 modules/gui/qt/qt.cpp                         |  113 +-
 modules/gui/qt/qt.hpp                         |   57 +-
 modules/gui/qt/recents.cpp                    |   37 +-
 modules/gui/qt/styles/seekstyle.cpp           |    1 -
 modules/gui/qt/util/input_models.cpp          |  485 ++++++
 modules/gui/qt/util/input_models.hpp          |  219 +++
 modules/gui/qt/util/input_slider.cpp          |   50 +-
 modules/gui/qt/util/input_slider.hpp          |    4 +-
 modules/gui/qt/util/pictureflow.cpp           | 1179 -------------
 modules/gui/qt/util/pictureflow.hpp           |  383 -----
 modules/gui/qt/util/qmenuview.cpp             |  125 --
 modules/gui/qt/util/qmenuview.hpp             |   61 -
 modules/gui/qt/util/qmleventfilter.cpp        |   70 +
 modules/gui/qt/util/qmleventfilter.hpp        |   75 +
 modules/gui/qt/util/qvlcapp.hpp               |    2 +-
 modules/gui/qt/util/vlc_var_choice_model.cpp  |  340 ++++
 modules/gui/qt/util/vlc_var_choice_model.hpp  |   97 ++
 modules/gui/qt/util/vlc_var_observer.cpp      |   59 +
 modules/gui/qt/util/vlc_var_observer.hpp      |  276 +++
 modules/gui/qt/util/vlctick.cpp               |   51 +
 modules/gui/qt/util/vlctick.hpp               |   47 +
 modules/gui/qt/vlc.qrc                        |   86 +
 modules/hw/d3d11/d3d11_deinterlace.c          |    2 -
 modules/meta_engine/taglib.cpp                |   19 +-
 modules/misc/Makefile.am                      |   12 +-
 modules/misc/medialibrary/Thumbnailer.cpp     |    1 +
 modules/misc/medialibrary/fs/device.cpp       |  156 ++
 modules/misc/medialibrary/fs/device.h         |   56 +
 modules/misc/medialibrary/fs/directory.cpp    |  208 +++
 modules/misc/medialibrary/fs/directory.h      |   58 +
 modules/misc/medialibrary/fs/file.cpp         |   69 +
 modules/misc/medialibrary/fs/file.h           |   52 +
 modules/misc/medialibrary/fs/fs.cpp           |  252 +++
 modules/misc/medialibrary/fs/fs.h             |  102 ++
 modules/misc/medialibrary/fs/util.cpp         |   57 +
 modules/misc/medialibrary/fs/util.h           |   37 +
 modules/misc/medialibrary/medialib.cpp        |    7 +
 modules/video_output/opengl/egl.c             |   15 +-
 src/input/input.c                             |    1 +
 277 files changed, 22454 insertions(+), 12856 deletions(-)
 create mode 100644 contrib/src/fxc2/0001-make-Vn-argument-as-optional-and-provide-default-var.patch
 create mode 100644 contrib/src/fxc2/0002-accept-windows-style-flags-and-splitted-argument-val.patch
 create mode 100644 contrib/src/fxc2/0003-Use-meson-as-a-build-system.patch
 create mode 100644 contrib/src/fxc2/0004-Revert-Fix-narrowing-conversion-from-int-to-BYTE.patch
 create mode 100644 contrib/src/fxc2/rules.mak
 create mode 100644 contrib/src/qt/0003-allow-cross-compilation-of-angle-with-wine.patch
 delete mode 100644 contrib/src/qt/0003-configure-Treat-win32-clang-g-the-same-as-win32-g.patch
 create mode 100644 contrib/src/qt/0004-Fix-PMurHash.c-mingw-clang-64-bit-compilation.patch
 delete mode 100644 contrib/src/qt/0004-qmake-Fix-building-with-lld-with-mingw-makefiles.patch
 delete mode 100644 contrib/src/qt/fix-glibc-2.28-build.patch
 delete mode 100644 contrib/src/qtquickcontrols/SHA512SUMS
 delete mode 100644 contrib/src/qtquickcontrols/rules.mak
 delete mode 100644 modules/gui/qt/actions_manager.cpp
 delete mode 100644 modules/gui/qt/actions_manager.hpp
 delete mode 100644 modules/gui/qt/adapters/seekpoints.cpp
 delete mode 100644 modules/gui/qt/adapters/seekpoints.hpp
 create mode 100644 modules/gui/qt/components/aboutmodel.cpp
 create mode 100644 modules/gui/qt/components/aboutmodel.hpp
 create mode 100644 modules/gui/qt/components/dialogmodel.cpp
 create mode 100644 modules/gui/qt/components/dialogmodel.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mcmedialib.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mcmedialib.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlalbum.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlalbum.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlalbummodel.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlalbummodel.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlalbumtrack.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlalbumtrack.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlalbumtrackmodel.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlalbumtrackmodel.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlartist.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlartist.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlartistmodel.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlartistmodel.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlbasemodel.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlbasemodel.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlgenre.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlgenre.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlgenremodel.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlgenremodel.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlhelper.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlnetworkmodel.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlnetworkmodel.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlqmltypes.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlvideo.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlvideo.hpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlvideomodel.cpp
 create mode 100644 modules/gui/qt/components/mediacenter/mlvideomodel.hpp
 create mode 100644 modules/gui/qt/components/navigation_history.cpp
 create mode 100644 modules/gui/qt/components/navigation_history.hpp
 create mode 100644 modules/gui/qt/components/player_controler.cpp
 create mode 100644 modules/gui/qt/components/player_controler.hpp
 create mode 100644 modules/gui/qt/components/player_controler_p.hpp
 create mode 100644 modules/gui/qt/components/playlist/media.hpp
 delete mode 100644 modules/gui/qt/components/playlist/playlist.cpp
 delete mode 100644 modules/gui/qt/components/playlist/playlist.hpp
 create mode 100644 modules/gui/qt/components/playlist/playlist_common.cpp
 create mode 100644 modules/gui/qt/components/playlist/playlist_common.hpp
 create mode 100644 modules/gui/qt/components/playlist/playlist_controler.cpp
 create mode 100644 modules/gui/qt/components/playlist/playlist_controler.hpp
 create mode 100644 modules/gui/qt/components/playlist/playlist_controler_p.hpp
 create mode 100644 modules/gui/qt/components/playlist/playlist_model_p.hpp
 delete mode 100644 modules/gui/qt/components/playlist/selector.cpp
 delete mode 100644 modules/gui/qt/components/playlist/selector.hpp
 delete mode 100644 modules/gui/qt/components/playlist/sorting.h
 delete mode 100644 modules/gui/qt/components/playlist/standardpanel.cpp
 delete mode 100644 modules/gui/qt/components/playlist/standardpanel.hpp
 delete mode 100644 modules/gui/qt/components/playlist/views.cpp
 delete mode 100644 modules/gui/qt/components/playlist/views.hpp
 delete mode 100644 modules/gui/qt/components/playlist/vlc_model.cpp
 delete mode 100644 modules/gui/qt/components/playlist/vlc_model.hpp
 create mode 100644 modules/gui/qt/components/playlist_new/media.hpp
 create mode 100644 modules/gui/qt/components/qml_main_context.cpp
 create mode 100644 modules/gui/qt/components/qml_main_context.hpp
 create mode 100644 modules/gui/qt/components/video_renderer/videorenderer.cpp
 create mode 100644 modules/gui/qt/components/video_renderer/videorenderer.hpp
 create mode 100644 modules/gui/qt/components/video_renderer/videorendererdummy.cpp
 create mode 100644 modules/gui/qt/components/video_renderer/videorendererdummy.hpp
 create mode 100644 modules/gui/qt/components/video_renderer/videorenderergl.cpp
 create mode 100644 modules/gui/qt/components/video_renderer/videorenderergl.hpp
 create mode 100644 modules/gui/qt/components/video_renderer/videorendererwayland.cpp
 create mode 100644 modules/gui/qt/components/video_renderer/videorendererwayland.hpp
 create mode 100644 modules/gui/qt/components/video_renderer/videosurface.cpp
 create mode 100644 modules/gui/qt/components/video_renderer/videosurface.hpp
 delete mode 100644 modules/gui/qt/dialogs/external.cpp
 delete mode 100644 modules/gui/qt/dialogs/external.hpp
 delete mode 100644 modules/gui/qt/dialogs/playlist.cpp
 delete mode 100644 modules/gui/qt/dialogs/playlist.hpp
 delete mode 100644 modules/gui/qt/input_manager.cpp
 delete mode 100644 modules/gui/qt/input_manager.hpp
 create mode 100644 modules/gui/qt/pixmaps/VLCIcons.json
 create mode 100644 modules/gui/qt/pixmaps/VLCIcons.ttf
 create mode 100755 modules/gui/qt/pixmaps/makeIconFont.py
 create mode 100644 modules/gui/qt/pixmaps/menu.svg
 delete mode 100644 modules/gui/qt/pixmaps/menus/.directory
 create mode 100644 modules/gui/qt/pixmaps/toolbar/audiosub.svg
 create mode 100644 modules/gui/qt/qml/BannerSources.qml
 create mode 100644 modules/gui/qt/qml/MainInterface.qml
 create mode 100644 modules/gui/qt/qml/about/About.qml
 create mode 100644 modules/gui/qt/qml/dialogs/Dialogs.qml
 create mode 100644 modules/gui/qt/qml/dialogs/ModalDialog.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/ArtistGridView.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/ArtistListView.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/ArtistTopBanner.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/MCMainDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/MCMusicDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/MCNetworkDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/MCVideoDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/MusicAlbumsDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/MusicAlbumsGridExpandDelegate.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/MusicArtistsDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/MusicGenresDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/MusicTrackListDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/MusicTracksDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/NetworkDriveDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/NetworkFileDisplay.qml
 create mode 100644 modules/gui/qt/qml/mediacenter/NetworkListItem.qml
 create mode 100644 modules/gui/qt/qml/menus/AudioMenu.qml
 create mode 100644 modules/gui/qt/qml/menus/CheckableModelSubMenu.qml
 create mode 100644 modules/gui/qt/qml/menus/HelpMenu.qml
 create mode 100644 modules/gui/qt/qml/menus/MainMenu.qml
 create mode 100644 modules/gui/qt/qml/menus/MediaMenu.qml
 create mode 100644 modules/gui/qt/qml/menus/PlaybackMenu.qml
 create mode 100644 modules/gui/qt/qml/menus/SubtitleMenu.qml
 create mode 100644 modules/gui/qt/qml/menus/ToolsMenu.qml
 create mode 100644 modules/gui/qt/qml/menus/VideoMenu.qml
 create mode 100644 modules/gui/qt/qml/menus/ViewMenu.qml
 create mode 100644 modules/gui/qt/qml/player/ControlBar.qml
 create mode 100644 modules/gui/qt/qml/player/ModalControlBar.qml
 create mode 100644 modules/gui/qt/qml/player/Player.qml
 create mode 100644 modules/gui/qt/qml/player/SliderBar.qml
 create mode 100644 modules/gui/qt/qml/player/TrackInfo.qml
 create mode 100644 modules/gui/qt/qml/player/TrackSelector.qml
 create mode 100644 modules/gui/qt/qml/playlist/PLItem.qml
 create mode 100644 modules/gui/qt/qml/playlist/PLItemFooter.qml
 create mode 100644 modules/gui/qt/qml/playlist/PlaylistListView.qml
 create mode 100644 modules/gui/qt/qml/playlist/PlaylistMenu.qml
 create mode 100644 modules/gui/qt/qml/style/VLCColors.qml
 create mode 100644 modules/gui/qt/qml/style/VLCIcons.qml
 create mode 100644 modules/gui/qt/qml/style/VLCStyle.qml
 create mode 100644 modules/gui/qt/qml/style/qmldir
 create mode 100644 modules/gui/qt/qml/utils/ComboBoxExt.qml
 create mode 100644 modules/gui/qt/qml/utils/DNDLabel.qml
 create mode 100644 modules/gui/qt/qml/utils/Drawer.qml
 create mode 100644 modules/gui/qt/qml/utils/ExpandGridView.qml
 create mode 100644 modules/gui/qt/qml/utils/GridItem.qml
 create mode 100644 modules/gui/qt/qml/utils/IconToolButton.qml
 create mode 100644 modules/gui/qt/qml/utils/ImageToolButton.qml
 create mode 100644 modules/gui/qt/qml/utils/KeyNavigableGridView.qml
 create mode 100644 modules/gui/qt/qml/utils/KeyNavigableListView.qml
 create mode 100644 modules/gui/qt/qml/utils/KeyNavigableTableView.qml
 create mode 100644 modules/gui/qt/qml/utils/ListItem.qml
 create mode 100644 modules/gui/qt/qml/utils/MenuExt.qml
 create mode 100644 modules/gui/qt/qml/utils/MenuItemExt.qml
 create mode 100644 modules/gui/qt/qml/utils/MultiCoverPreview.qml
 create mode 100644 modules/gui/qt/qml/utils/NavigableFocusScope.qml
 create mode 100644 modules/gui/qt/qml/utils/ScanProgressBar.qml
 create mode 100644 modules/gui/qt/qml/utils/SelectableDelegateModel.qml
 create mode 100644 modules/gui/qt/qml/utils/StackViewExt.qml
 create mode 100644 modules/gui/qt/qml/utils/TextToolButton.qml
 create mode 100644 modules/gui/qt/qml/utils/ToolTipArea.qml
 create mode 100644 modules/gui/qt/util/input_models.cpp
 create mode 100644 modules/gui/qt/util/input_models.hpp
 delete mode 100644 modules/gui/qt/util/pictureflow.cpp
 delete mode 100644 modules/gui/qt/util/pictureflow.hpp
 delete mode 100644 modules/gui/qt/util/qmenuview.cpp
 delete mode 100644 modules/gui/qt/util/qmenuview.hpp
 create mode 100644 modules/gui/qt/util/qmleventfilter.cpp
 create mode 100644 modules/gui/qt/util/qmleventfilter.hpp
 create mode 100644 modules/gui/qt/util/vlc_var_choice_model.cpp
 create mode 100644 modules/gui/qt/util/vlc_var_choice_model.hpp
 create mode 100644 modules/gui/qt/util/vlc_var_observer.cpp
 create mode 100644 modules/gui/qt/util/vlc_var_observer.hpp
 create mode 100644 modules/gui/qt/util/vlctick.cpp
 create mode 100644 modules/gui/qt/util/vlctick.hpp
 create mode 100644 modules/misc/medialibrary/fs/device.cpp
 create mode 100644 modules/misc/medialibrary/fs/device.h
 create mode 100644 modules/misc/medialibrary/fs/directory.cpp
 create mode 100644 modules/misc/medialibrary/fs/directory.h
 create mode 100644 modules/misc/medialibrary/fs/file.cpp
 create mode 100644 modules/misc/medialibrary/fs/file.h
 create mode 100644 modules/misc/medialibrary/fs/fs.cpp
 create mode 100644 modules/misc/medialibrary/fs/fs.h
 create mode 100644 modules/misc/medialibrary/fs/util.cpp
 create mode 100644 modules/misc/medialibrary/fs/util.h

-- 
2.19.1



More information about the vlc-devel mailing list