[vlc-devel] [RFC V2] Update Qt to use the new player/playlist API and use QML engine
Pierre Lamot
pierre at videolabs.io
Fri Mar 15 15:58:10 CET 2019
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
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
More information about the vlc-devel
mailing list