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

Thomas Guillem thomas at gllm.fr
Fri Mar 15 19:10:14 CET 2019



On Fri, Mar 15, 2019, at 15:58, Pierre Lamot wrote:
> Hi,
> 
> Here is a second version of the QML interface, the code is available 
> here at [1] as I
> didn't feel like flooding the mailing list with 80+ patches again.
> 
> [1] https://github.com/chubinou/vlc/tree/qml/30
> 
> This patchset has been rebased over Romain's lua patches and Victorien's
> hotkeys patches.
> 
> Since the last RFC.
> 
> - fixed issues related to windows cross compilation.
> 
> - Added a lighter version of the UI when compiled or launched without the
>   medialibrary.
> 
> - Video isn't integrated within the interface on Windows at the moment, I've
>   made good progress on this side, but it's not ready yet.
> 
> - I kept the integration of the video on X11 through Qt OpenGL, as I 
> didn't find
>   a way to get proper alpha transparency of egl/glx window  (QML) over 
> X11 window.
> 
> - use HW acceleration when rendering OpenGL video
> 
> - merged my utils/vlc_var_observer into adapters/variables, make them 
> compatible 
>   with the new vout/aout release/hold functions.
> 
> - rename VideoRenderer* as QVoutWindow*
> 
> - better integration with hotkeys.
> 
> - integration of qmlcachegen, this allow pre-compilation of QML files and
>   provides faster loading times. this can be enabled with
>   --enable-qt-qml-cache. It is not enabled by default as it leaks on dlclose
>   [QTBUG-73928] which might be annoying when compiling with asan
> 
> - many fix/upgrades in the QML UI
> 
> Alexandre Janniaux (1):
>   qt: provide Wayland video output integration
> 
> Chenrui He (1):
>   qml: provide a player view for video and music
> 
> Hugo Beauzée-Luyssen (1):
>   input: Let the meta reader know if the input is being preparsed
> 
> Maël Kervella (4):
>   Qt : replace millimeters with pixels in SVG
>   qml: provide a component to display up to 4 images in a grid
>   qml: add views to browse music indexed by the medialibrary
>   qml: add views to browse videos indexed by the medialibrary
> 
> 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: Temporarily 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: update Qt vlc variable wrapper
>   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 classes to render video output within the interface
>   qt: provide dummy video output integration
>   qt: provide OpenGL video output integration
>   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 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
>   qt: use qmlcachegen to preprocess qml files
>   vgl: detect gl backend to allow hw acceleration
>   egl: allow references tracking of EGL Display
> 
> Romain Vimont (12):
>   playlist: assign unique id to playlist items
>   Expose main playlist to any module
>   playlist: remove lua search
>   lua: use new playlist and player
>   lua: add playlist.current_item()
>   lua: add playlist.list()
>   lua: add functions to the player/playlist API
>   lua: scripts: use new playlist/player lua API
>   lua: sd: Remove sd media browsing
>   lua: update API README
>   medialibrary: Add an IFileSysteFactory implementation for network
>   qt: playlist: implement Qt playlist list model and controler
> 
> Thomas Guillem (4):
>   clock: forward clock update pts
>   input: forward clock update pts
>   player: add helper to get input time/pos
>   player: forward output clock pts

Hi, discard my patches too, it was a test.

> 
> Victorien Le Couviour--Tuffet (11):
>   libvlc: create intf legacy playlist vars
>   intf: use new playlist
>   dbus: use new playlist / player
>   dbus: fix MPRIS MediaPlayer2 interface properties
>   audioscrobbler: use new playlist / player
>   gestures: use new playlist / player
>   gestures: enhance gesture detection
>   actions: reorder into relevant sections
>   hotkeys: use new playlist / player and refactor
>   oldrc: use new playlist / player
>   ncurses: use new playlist / player
> 
>  .gitignore                                    |    1 +
>  configure.ac                                  |   15 +-
>  contrib/src/d3d11/SHA512SUMS                  |   14 +-
>  contrib/src/d3d11/d3d11.idl                   | 3823 ++++++++++++
>  contrib/src/d3d11/d3d11_1.h                   | 4229 +++++++++++++
>  contrib/src/d3d11/d3d11_2.h                   | 2248 +++++++
>  contrib/src/d3d11/d3d11_3.h                   | 5236 +++++++++++++++++
>  contrib/src/d3d11/dxgi.idl                    |  491 ++
>  contrib/src/d3d11/dxgi12.patch                |  109 -
>  contrib/src/d3d11/dxgi1_2.idl                 |  422 ++
>  contrib/src/d3d11/dxgi1_3.idl                 |  267 +-
>  contrib/src/d3d11/dxgi1_4.idl                 |  139 +-
>  contrib/src/d3d11/dxgi1_5.idl                 |   96 +-
>  contrib/src/d3d11/dxgicommon.idl              |   61 +
>  contrib/src/d3d11/dxgidebug.idl               |   43 +
>  contrib/src/d3d11/dxgidebug.patch             |   51 -
>  contrib/src/d3d11/dxgiformat.idl              |  145 +
>  contrib/src/d3d11/dxgitype.idl                |   94 +
>  contrib/src/d3d11/processor_format.patch      |   14 +-
>  contrib/src/d3d11/rules.mak                   |   98 +-
>  ...-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                      |   42 +-
>  contrib/src/qtdeclarative/SHA512SUMS          |    2 +-
>  contrib/src/qtdeclarative/rules.mak           |   14 +-
>  contrib/src/qtgraphicaleffects/SHA512SUMS     |    2 +-
>  contrib/src/qtgraphicaleffects/rules.mak      |    9 +-
>  contrib/src/qtquickcontrols/SHA512SUMS        |    1 -
>  contrib/src/qtquickcontrols/rules.mak         |   24 -
>  contrib/src/qtquickcontrols2/SHA512SUMS       |    2 +-
>  contrib/src/qtquickcontrols2/rules.mak        |   12 +-
>  contrib/src/qtsvg/SHA512SUMS                  |    2 +-
>  contrib/src/qtsvg/rules.mak                   |    6 +-
>  include/vlc_actions.h                         |  167 +-
>  include/vlc_demux.h                           |    1 +
>  include/vlc_input.h                           |   11 +
>  include/vlc_interface.h                       |    3 -
>  include/vlc_playlist.h                        |   24 +
>  modules/control/dbus/dbus.c                   |  535 +-
>  modules/control/dbus/dbus_common.h            |   18 +-
>  modules/control/dbus/dbus_player.c            |  334 +-
>  modules/control/dbus/dbus_root.c              |   45 +-
>  modules/control/dbus/dbus_tracklist.c         |  162 +-
>  modules/control/gestures.c                    |  377 +-
>  modules/control/hotkeys.c                     | 2284 +++----
>  modules/control/oldrc.c                       |  825 ++-
>  modules/gui/macosx/main/VLCMain.m             |    2 +-
>  modules/gui/ncurses.c                         |  815 ++-
>  modules/gui/qt/Makefile.am                    |  241 +-
>  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/adapters/var_choice_model.cpp  |  227 +
>  modules/gui/qt/adapters/var_choice_model.hpp  |  217 +
>  modules/gui/qt/adapters/var_common_p.hpp      |  169 +
>  modules/gui/qt/adapters/variables.cpp         |  106 +-
>  modules/gui/qt/adapters/variables.hpp         |  283 +-
>  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 |  181 +-
>  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   |   78 +-
>  .../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 |  437 ++
>  .../components/mediacenter/mlnetworkmodel.hpp |  158 +
>  .../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_controller.cpp   | 1491 +++++
>  .../gui/qt/components/player_controller.hpp   |  416 ++
>  .../gui/qt/components/player_controller_p.hpp |  144 +
>  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_controller.cpp          |  667 +++
>  .../playlist/playlist_controller.hpp          |  167 +
>  .../playlist/playlist_controller_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 +
>  .../qt/components/voutwindow/qvoutwindow.cpp  |   94 +
>  .../qt/components/voutwindow/qvoutwindow.hpp  |   42 +
>  .../voutwindow/qvoutwindowdummy.cpp           |   48 +
>  .../voutwindow/qvoutwindowdummy.hpp           |   51 +
>  .../components/voutwindow/qvoutwindowgl.cpp   |  260 +
>  .../components/voutwindow/qvoutwindowgl.hpp   |   99 +
>  .../voutwindow/qvoutwindowwayland.cpp         |  184 +
>  .../voutwindow/qvoutwindowwayland.hpp         |   63 +
>  .../qt/components/voutwindow/videosurface.cpp |  189 +
>  .../qt/components/voutwindow/videosurface.hpp |  110 +
>  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           |  156 -
>  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           |   96 +-
>  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              | 1283 ----
>  modules/gui/qt/input_manager.hpp              |  344 --
>  modules/gui/qt/main_interface.cpp             | 1185 +---
>  modules/gui/qt/main_interface.hpp             |  119 +-
>  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 -> 21816 bytes
>  modules/gui/qt/pixmaps/makeIconFont.py        |  110 +
>  modules/gui/qt/pixmaps/menu.svg               |  128 +
>  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          |  210 +
>  modules/gui/qt/qml/MainInterface.qml          |  134 +
>  modules/gui/qt/qml/about/About.qml            |  169 +
>  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    |  108 +
>  .../gui/qt/qml/mediacenter/MCMainDisplay.qml  |  204 +
>  .../gui/qt/qml/mediacenter/MCMusicDisplay.qml |  245 +
>  .../qt/qml/mediacenter/MCNetworkDisplay.qml   |  114 +
>  .../gui/qt/qml/mediacenter/MCVideoDisplay.qml |  172 +
>  .../qt/qml/mediacenter/MusicAlbumsDisplay.qml |  258 +
>  .../MusicAlbumsGridExpandDelegate.qml         |  206 +
>  .../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/MainDropdownMenu.qml |   50 +
>  modules/gui/qt/qml/menus/MainMenubar.qml      |   33 +
>  modules/gui/qt/qml/menus/MediaMenu.qml        |   42 +
>  modules/gui/qt/qml/menus/PlaybackMenu.qml     |   88 +
>  modules/gui/qt/qml/menus/PopupMenu.qml        |   64 +
>  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         |   71 +
>  modules/gui/qt/qml/player/ControlBar.qml      |  207 +
>  modules/gui/qt/qml/player/ModalControlBar.qml |   81 +
>  modules/gui/qt/qml/player/Player.qml          |  217 +
>  modules/gui/qt/qml/player/SliderBar.qml       |   89 +
>  modules/gui/qt/qml/player/TrackInfo.qml       |   71 +
>  modules/gui/qt/qml/player/TrackSelector.qml   |  124 +
>  modules/gui/qt/qml/playlist/PLItem.qml        |  150 +
>  modules/gui/qt/qml/playlist/PLItemFooter.qml  |   56 +
>  .../gui/qt/qml/playlist/PlaylistListView.qml  |  256 +
>  .../gui/qt/qml/playlist/PlaylistMainView.qml  |   88 +
>  modules/gui/qt/qml/playlist/PlaylistMenu.qml  |  275 +
>  modules/gui/qt/qml/style/VLCColors.qml        |  163 +
>  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   |  335 ++
>  modules/gui/qt/qml/utils/GridItem.qml         |  256 +
>  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      |   91 +
>  .../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     |   86 +
>  modules/gui/qt/qml/utils/TextToolButton.qml   |   56 +
>  modules/gui/qt/qml/utils/ToolTipArea.qml      |   38 +
>  modules/gui/qt/qt.cpp                         |  117 +-
>  modules/gui/qt/qt.hpp                         |   56 +-
>  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/vlctick.cpp               |   51 +
>  modules/gui/qt/util/vlctick.hpp               |   47 +
>  modules/gui/qt/vlc.qrc                        |   89 +
>  modules/hw/d3d11/d3d11_deinterlace.c          |    2 -
>  modules/lua/extension.c                       |    6 +-
>  modules/lua/intf.c                            |    4 +-
>  modules/lua/libs.h                            |    2 +
>  modules/lua/libs/equalizer.c                  |   29 +-
>  modules/lua/libs/input.c                      |  554 +-
>  modules/lua/libs/input.h                      |    4 +-
>  modules/lua/libs/objects.c                    |   60 +-
>  modules/lua/libs/osd.c                        |   58 +-
>  modules/lua/libs/playlist.c                   |  634 +-
>  modules/lua/libs/sd.c                         |   57 -
>  modules/lua/libs/video.c                      |    9 +-
>  modules/lua/libs/volume.c                     |   57 +-
>  modules/lua/vlc.h                             |    6 +-
>  modules/misc/Makefile.am                      |   12 +-
>  modules/misc/audioscrobbler.c                 |  212 +-
>  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             |   10 +-
>  modules/video_output/vgl.c                    |   79 +
>  share/lua/README.txt                          |   59 +-
>  share/lua/extensions/VLSub.lua                |    8 +-
>  share/lua/http/js/controllers.js              |    2 +-
>  share/lua/http/requests/playlist_jstree.xml   |   64 +-
>  share/lua/http/requests/status.xml            |    2 +-
>  share/lua/intf/cli.lua                        |  260 +-
>  share/lua/intf/dumpmeta.lua                   |    2 +-
>  share/lua/intf/http.lua                       |    9 +-
>  share/lua/intf/modules/httprequests.lua       |   76 +-
>  share/lua/modules/common.lua                  |   13 +-
>  src/clock/clock.c                             |   29 +-
>  src/clock/clock.h                             |    9 +-
>  src/input/es_out.c                            |   17 +-
>  src/input/event.h                             |   10 +
>  src/input/input.c                             |    1 +
>  src/input/player.c                            |   73 +-
>  src/interface/interface.c                     |  197 +-
>  src/libvlc.c                                  |   18 +
>  src/libvlc.h                                  |    1 +
>  src/libvlccore.sym                            |    4 +-
>  src/misc/actions.c                            |    4 +-
>  src/playlist/content.c                        |   27 +-
>  src/playlist/item.c                           |    9 +-
>  src/playlist/item.h                           |    3 +-
>  src/playlist/playlist.c                       |   64 +
>  src/playlist/playlist.h                       |    1 +
>  src/playlist/preparse.c                       |    9 +-
>  src/playlist/test.c                           |    4 +-
>  351 files changed, 44311 insertions(+), 17589 deletions(-)
>  create mode 100644 contrib/src/d3d11/d3d11.idl
>  create mode 100644 contrib/src/d3d11/d3d11_1.h
>  create mode 100644 contrib/src/d3d11/d3d11_2.h
>  create mode 100644 contrib/src/d3d11/d3d11_3.h
>  create mode 100644 contrib/src/d3d11/dxgi.idl
>  delete mode 100644 contrib/src/d3d11/dxgi12.patch
>  create mode 100644 contrib/src/d3d11/dxgi1_2.idl
>  create mode 100644 contrib/src/d3d11/dxgicommon.idl
>  create mode 100644 contrib/src/d3d11/dxgidebug.idl
>  delete mode 100644 contrib/src/d3d11/dxgidebug.patch
>  create mode 100644 contrib/src/d3d11/dxgiformat.idl
>  create mode 100644 contrib/src/d3d11/dxgitype.idl
>  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/adapters/var_choice_model.cpp
>  create mode 100644 modules/gui/qt/adapters/var_choice_model.hpp
>  create mode 100644 modules/gui/qt/adapters/var_common_p.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_controller.cpp
>  create mode 100644 modules/gui/qt/components/player_controller.hpp
>  create mode 100644 modules/gui/qt/components/player_controller_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_controller.cpp
>  create mode 100644 
> modules/gui/qt/components/playlist/playlist_controller.hpp
>  create mode 100644 
> modules/gui/qt/components/playlist/playlist_controller_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/voutwindow/qvoutwindow.cpp
>  create mode 100644 modules/gui/qt/components/voutwindow/qvoutwindow.hpp
>  create mode 100644 
> modules/gui/qt/components/voutwindow/qvoutwindowdummy.cpp
>  create mode 100644 
> modules/gui/qt/components/voutwindow/qvoutwindowdummy.hpp
>  create mode 100644 
> modules/gui/qt/components/voutwindow/qvoutwindowgl.cpp
>  create mode 100644 
> modules/gui/qt/components/voutwindow/qvoutwindowgl.hpp
>  create mode 100644 
> modules/gui/qt/components/voutwindow/qvoutwindowwayland.cpp
>  create mode 100644 
> modules/gui/qt/components/voutwindow/qvoutwindowwayland.hpp
>  create mode 100644 
> modules/gui/qt/components/voutwindow/videosurface.cpp
>  create mode 100644 
> modules/gui/qt/components/voutwindow/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/MainDropdownMenu.qml
>  create mode 100644 modules/gui/qt/qml/menus/MainMenubar.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/PopupMenu.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/PlaylistMainView.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/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
> 
> >> 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
> 
> 
> 
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel



More information about the vlc-devel mailing list