[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