Changes of Revision 228

_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/addons/addon.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/addons/addon_blue.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/addons/addon_broken.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/addons/addon_cyan.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/addons/addon_green.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/addons/addon_magenta.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/addons/addon_red.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/addons/addon_yellow.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/addons/score.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/clear.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/eject.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/faster.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/faster2.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/go-next.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/lock.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/menus/exit_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/menus/help_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/menus/info_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/menus/messages_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/menus/playlist_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/menus/preferences_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/menus/settings_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/menus/stream_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/next.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/noart-64.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/pause.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/play.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/add.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/dropzone.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/playlist.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/remove.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/repeat_all.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/repeat_off.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/repeat_one.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/shuffle_on.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/capture.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/disc.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/lan.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/library.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/movie.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/mtp.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/music.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/network.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/pictures.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/playlist.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/podcast.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/screen.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/sd/appletrailers.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/sd/assembleenationale.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/sd/fmc.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/sd/frenchtv.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/sd/icecast.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/sd/jamendo.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/sd/katsomo.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/sidebar-icons/sd/metachannels.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/prefs/advprefs_audio.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/prefs/advprefs_codec.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/prefs/advprefs_extended.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/prefs/advprefs_intf.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/prefs/advprefs_playlist.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/prefs/advprefs_sout.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/prefs/advprefs_video.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/previous.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/profile_new.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/search_clear.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/slower.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/slower2.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/space.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/stop.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/arrows.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/aspect-ratio.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/atob.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/atob_noa.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/atob_nob.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/defullscreen.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/dvd_menu.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/dvd_next.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/dvd_prev.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/extended_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/frame-by-frame.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/fullscreen.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/play_reverse.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/record_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/renderer.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/skip_back.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/skip_for.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/snapshot.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/tv.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/tvtelx.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/visu.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/volume-high.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/volume-low.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/volume-medium.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/volume-muted.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/volume-slider-inside.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/toolbar/volume-slider-outside.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/capture-card_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/disc_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/file-asym_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/file-wide_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/folder-blue_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/folder-grey_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/harddisk_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/network_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/tape_16px.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/type_directory.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/type_file.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/type_node.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/type_playlist.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/type_stream.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/type_unknown.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/types/type_unknown.xpm Deleted
x
 
1
@@ -1,23 +0,0 @@
2
-/* XPM */
3
-static const char *const type_unknown_xpm = {
4
-"16 16 4 1",
5
-"     c None",
6
-".    c #FFFFFF",
7
-"+    c #000000",
8
-"@    c #BFBFBF",
9
-"................",
10
-"..++++++++......",
11
-"..+......++.....",
12
-"..+.+.+..+.+....",
13
-"..+......++++...",
14
-"..+.+.+.....+...",
15
-".@+.........+...",
16
-"..+.+.+.+.+.+...",
17
-"..+.........+...",
18
-"..+.+.+.+.+.+...",
19
-"..+.........+...",
20
-"..+.+.+.+.+.+...",
21
-"..+.........+...",
22
-"..+++++++++++...",
23
-"................",
24
-"................"};
25
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/update.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/util/wait1.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/util/wait2.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/util/wait3.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/util/wait4.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/valid.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/win7/win7thumbnail_next.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/win7/win7thumbnail_pause.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/win7/win7thumbnail_play.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/win7/win7thumbnail_prev.png Deleted
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/widgets/qml/GridShadows.qml Deleted
72
 
1
@@ -1,70 +0,0 @@
2
-/*****************************************************************************
3
- * Copyright (C) 2021 VLC authors and VideoLAN
4
- *
5
- * This program is free software; you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation; either version 2 of the License, or
8
- * ( at your option ) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program; if not, write to the Free Software
17
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
18
- *****************************************************************************/
19
-import QtQuick 2.11
20
-
21
-import "qrc:///style/"
22
-
23
-Item {
24
-    id: root
25
-
26
-    property alias leftPadding: unselectedShadow.leftPadding
27
-    property alias topPadding: unselectedShadow.topPadding
28
-    property alias coverMargins: unselectedShadow.coverMargins
29
-    property alias coverWidth: unselectedShadow.coverWidth
30
-    property alias coverHeight: unselectedShadow.coverHeight
31
-    property alias coverRadius: unselectedShadow.coverRadius
32
-
33
-    property alias unselected: unselectedShadow.imageComponent
34
-    property alias selected: selectedShadow.imageComponent
35
-
36
-    ShadowCoverGenerator {
37
-        id: unselectedShadow
38
-
39
-        leftPadding: 0
40
-        topPadding: 0
41
-        coverMargins: 1
42
-        coverWidth: VLCStyle.colWidth(1)
43
-        coverHeight: VLCStyle.colWidth(1)
44
-        coverRadius: VLCStyle.gridCover_radius
45
-
46
-        secondaryVerticalOffset: VLCStyle.dp(1, VLCStyle.scale)
47
-        secondaryRadius: VLCStyle.dp(2, VLCStyle.scale)
48
-        secondarySamples: 1 + VLCStyle.dp(2, VLCStyle.scale) * 2
49
-        primaryVerticalOffset: VLCStyle.dp(4, VLCStyle.scale)
50
-        primaryRadius: VLCStyle.dp(9, VLCStyle.scale)
51
-        primarySamples: 1 + VLCStyle.dp(9, VLCStyle.scale) * 2
52
-    }
53
-
54
-    ShadowCoverGenerator {
55
-        id: selectedShadow
56
-
57
-        leftPadding: root.leftPadding
58
-        topPadding: root.topPadding
59
-        coverMargins: root.coverMargins
60
-        coverWidth: root.coverWidth
61
-        coverHeight: root.coverHeight
62
-        coverRadius: root.coverRadius
63
-
64
-        secondaryVerticalOffset: VLCStyle.dp(6, VLCStyle.scale)
65
-        secondaryRadius: VLCStyle.dp(18, VLCStyle.scale)
66
-        secondarySamples: 1 + VLCStyle.dp(18, VLCStyle.scale) * 2
67
-        primaryVerticalOffset: VLCStyle.dp(32, VLCStyle.scale)
68
-        primaryRadius: VLCStyle.dp(72, VLCStyle.scale)
69
-        primarySamples: 1 + VLCStyle.dp(72, VLCStyle.scale) * 2
70
-    }
71
-}
72
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/widgets/qml/ShadowCoverGenerator.qml Deleted
105
 
1
@@ -1,103 +0,0 @@
2
-/*****************************************************************************
3
- * Copyright (C) 2021 VLC authors and VideoLAN
4
- *
5
- * This program is free software; you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation; either version 2 of the License, or
8
- * ( at your option ) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program; if not, write to the Free Software
17
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
18
- *****************************************************************************/
19
-
20
-import QtQuick 2.11
21
-import QtGraphicalEffects 1.0
22
-
23
-import "qrc:///style/"
24
-
25
-Item {
26
-    id: root
27
-
28
-    property real leftPadding: 0
29
-    property real topPadding: 0
30
-    property real coverMargins: 0
31
-    property real coverWidth: 0
32
-    property real coverHeight: 0
33
-    property real coverRadius: 0
34
-    property color coverColor: VLCStyle.colors.bg
35
-
36
-    property alias primaryVerticalOffset: primaryShadow.verticalOffset
37
-    property alias primaryRadius: primaryShadow.radius
38
-    property alias primarySamples: primaryShadow.samples
39
-    property alias secondaryVerticalOffset: secondaryShadow.verticalOffset
40
-    property alias secondaryRadius: secondaryShadow.radius
41
-    property alias secondarySamples: secondaryShadow.samples
42
-
43
-    readonly property real _kernalRadius: Math.max(0, Math.ceil(root.primarySamples / 2))
44
-    property real _reference: 0
45
-
46
-    property Component imageComponent: ShaderEffectSource {
47
-        sourceItem: container
48
-        live: true
49
-        x: - root._kernalRadius + root.leftPadding
50
-        y: - root._kernalRadius + root.primaryVerticalOffset + root.topPadding
51
-        width: container.width
52
-        height: container.height
53
-        hideSource: true
54
-
55
-        Component.onCompleted: ++root._reference;
56
-        Component.onDestruction: --root._reference;
57
-    }
58
-
59
-    Item {
60
-        id: container
61
-
62
-        // if imageComponent is used with invisible container, generated shadows are too dark
63
-        // another possible fix is to set DropShadow::cached = false, but that has performance penalty
64
-        visible: root._reference > 0
65
-
66
-        width: baseRect.width + 2 * root._kernalRadius
67
-        height: baseRect.height + 2 * root._kernalRadius
68
-
69
-        Rectangle {
70
-            id: baseRect
71
-
72
-            x: root._kernalRadius + root.coverMargins
73
-            y: root._kernalRadius - root.primaryVerticalOffset + root.coverMargins
74
-            width: root.coverWidth - root.coverMargins * 2
75
-            height: root.coverHeight - root.coverMargins * 2
76
-            radius: root.coverRadius
77
-            color: root.coverColor
78
-        }
79
-
80
-        DropShadow {
81
-            id: primaryShadow
82
-
83
-            anchors.fill: baseRect
84
-            source: baseRect
85
-            horizontalOffset: 0
86
-            spread: 0
87
-            color: Qt.rgba(0, 0, 0, .22)
88
-            samples: 1 + radius * 2
89
-            cached: true
90
-        }
91
-
92
-        DropShadow {
93
-            id: secondaryShadow
94
-
95
-            anchors.fill: baseRect
96
-            source: baseRect
97
-            horizontalOffset: 0
98
-            spread: 0
99
-            color: Qt.rgba(0, 0, 0, .18)
100
-            samples: 1 + radius * 2
101
-            cached: true
102
-        }
103
-    }
104
-}
105
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/contrib/src/cargo/rules.mak -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/contrib/src/cargo/rules.mak Changed
11
 
1
@@ -1,7 +1,7 @@
2
 # cargo/cargo-c installation via rustup
3
 
4
-RUST_VERSION=1.61.0
5
-CARGOC_VERSION=0.9.9
6
+RUST_VERSION=1.62.0
7
+CARGOC_VERSION=0.9.10
8
 RUSTUP_VERSION=1.24.3
9
 RUSTUP_URL=https://github.com/rust-lang/rustup/archive/$(RUSTUP_VERSION).tar.gz
10
 
11
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/demux/flac.c -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/demux/flac.c Changed
19
 
1
@@ -362,14 +362,12 @@
2
     demux_sys_t *p_sys = p_demux->p_sys;
3
     block_t *p_block_out;
4
 
5
-    bool b_eof = false;
6
     if( p_sys->p_current_block == NULL )
7
-    {
8
         p_sys->p_current_block = vlc_stream_Block( p_demux->s, FLAC_PACKET_SIZE );
9
-        b_eof = (p_sys->p_current_block == NULL);
10
-    }
11
 
12
-    if ( p_sys->p_current_block )
13
+    bool b_eof = (p_sys->p_current_block == NULL);
14
+
15
+    if ( !b_eof )
16
     {
17
         p_sys->p_current_block->i_flags = p_sys->i_next_block_flags;
18
         p_sys->i_next_block_flags = 0;
19
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/macosx/library/VLCLibraryWindow.m -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/macosx/library/VLCLibraryWindow.m Changed
54
 
1
@@ -64,6 +64,7 @@
2
 const CGFloat VLCLibraryWindowSmallRowHeight = 24.;
3
 const CGFloat VLCLibraryWindowLargeRowHeight = 50.;
4
 const CGFloat VLCLibraryWindowDefaultPlaylistWidth = 340.;
5
+const CGFloat VLCLibraryWindowMinimalPlaylistWidth = 170.;
6
 
7
 static NSArray<NSLayoutConstraint *> *videoPlaceholderImageViewSizeConstraints;
8
 static NSArray<NSLayoutConstraint *> *audioPlaceholderImageViewSizeConstraints;
9
@@ -683,17 +684,23 @@
10
     switch (dividerIndex) {
11
         case 0:
12
             return VLCLibraryWindowMinimalWidth;
13
+        default:
14
             break;
15
+    }
16
 
17
-        case 1:
18
-            return VLCLibraryWindowDefaultPlaylistWidth;
19
-            break;
20
+    return proposedMinimumPosition;
21
+}
22
 
23
+- (CGFloat)splitView:(NSSplitView *)splitView constrainMaxCoordinate:(CGFloat)proposedMaximumPosition ofSubviewAt:(NSInteger)dividerIndex
24
+{
25
+    switch (dividerIndex) {
26
+        case 0:
27
+            return splitView.frame.size.width - VLCLibraryWindowMinimalPlaylistWidth;
28
         default:
29
             break;
30
     }
31
 
32
-    return proposedMinimumPosition;
33
+    return proposedMaximumPosition;
34
 }
35
 
36
 - (BOOL)splitView:(NSSplitView *)splitView canCollapseSubview:(NSView *)subview
37
@@ -845,6 +852,16 @@
38
     window setExcludedFromWindowsMenu:YES;
39
     window setAcceptsMouseMovedEvents:YES;
40
     window setContentMinSize:NSMakeSize(VLCLibraryWindowMinimalWidth, VLCLibraryWindowMinimalHeight);
41
+
42
+    // HACK: On initialisation, the window refuses to accept any border resizing. It seems the split view
43
+    // holds a monopoly on the edges of the window (which can be seen as the right-side of the split view
44
+    // lets you resize the playlist, and after doing so the window becomes resizeable.
45
+    
46
+    // This can be worked around by maximizing the window, or toggling the playlist.
47
+    // Toggling the playlist is simplest.
48
+    window togglePlaylist;
49
+    window togglePlaylist;
50
+
51
 }
52
 
53
 @end
54
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/Makefile.am -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/Makefile.am Changed
69
 
1
@@ -281,6 +281,8 @@
2
    gui/qt/util/qmlinputitem.hpp \
3
    gui/qt/util/mouse_event_filter.cpp \
4
    gui/qt/util/mouse_event_filter.hpp \
5
+   gui/qt/util/effects_image_provider.cpp \
6
+   gui/qt/util/effects_image_provider.hpp \
7
    gui/qt/widgets/native/animators.cpp \
8
    gui/qt/widgets/native/animators.hpp \
9
    gui/qt/widgets/native/customwidgets.cpp gui/qt/widgets/native/customwidgets.hpp \
10
@@ -444,6 +446,7 @@
11
    gui/qt/util/navigation_history.moc.cpp \
12
    gui/qt/util/item_key_event_filter.moc.cpp \
13
    gui/qt/util/mouse_event_filter.moc.cpp \
14
+   gui/qt/util/effects_image_provider.moc.cpp \
15
    gui/qt/util/flickable_scroll_handler.moc.cpp \
16
    gui/qt/util/qvlcapp.moc.cpp \
17
    gui/qt/util/renderer_manager.moc.cpp \
18
@@ -591,7 +594,6 @@
19
    gui/qt/pixmaps/menus/settings_16px.svg \
20
    gui/qt/pixmaps/menus/stream_16px.svg \
21
    gui/qt/pixmaps/next.svg \
22
-   gui/qt/pixmaps/noart-64.png \
23
    gui/qt/pixmaps/noart.png \
24
    gui/qt/pixmaps/noart_album.svg \
25
    gui/qt/pixmaps/noart_albumCover.svg \
26
@@ -690,6 +692,7 @@
27
    gui/qt/pixmaps/toolbar/volume-muted.svg \
28
    gui/qt/pixmaps/toolbar/volume-slider-inside.svg \
29
    gui/qt/pixmaps/toolbar/volume-slider-outside.svg \
30
+   gui/qt/pixmaps/toolbar/play_button.svg \
31
    gui/qt/pixmaps/types/capture-card_16px.svg \
32
    gui/qt/pixmaps/types/disc_16px.svg \
33
    gui/qt/pixmaps/types/file-asym_16px.svg \
34
@@ -706,7 +709,6 @@
35
    gui/qt/pixmaps/types/type_stream.svg \
36
    gui/qt/pixmaps/types/type_node.svg \
37
    gui/qt/pixmaps/types/type_playlist.svg \
38
-   gui/qt/pixmaps/types/type_unknown.xpm \
39
    gui/qt/pixmaps/util/wait1.svg \
40
    gui/qt/pixmaps/util/wait2.svg \
41
    gui/qt/pixmaps/util/wait3.svg \
42
@@ -911,7 +913,6 @@
43
    gui/qt/widgets/qml/DrawerExt.qml \
44
    gui/qt/widgets/qml/ExpandGridView.qml \
45
    gui/qt/widgets/qml/GridItem.qml \
46
-   gui/qt/widgets/qml/GridShadows.qml \
47
    gui/qt/widgets/qml/HorizontalResizeHandle.qml \
48
    gui/qt/widgets/qml/IconLabel.qml \
49
    gui/qt/widgets/qml/IconButton.qml \
50
@@ -943,7 +944,6 @@
51
    gui/qt/widgets/qml/ScanProgressBar.qml \
52
    gui/qt/widgets/qml/ScrollingText.qml \
53
    gui/qt/widgets/qml/SearchBox.qml \
54
-   gui/qt/widgets/qml/ShadowCoverGenerator.qml \
55
    gui/qt/widgets/qml/SortControl.qml \
56
    gui/qt/widgets/qml/SpinBoxExt.qml \
57
    gui/qt/widgets/qml/StackViewExt.qml \
58
@@ -959,7 +959,9 @@
59
    gui/qt/widgets/qml/PointingTooltip.qml \
60
    gui/qt/widgets/qml/FrostedGlassEffect.qml \
61
    gui/qt/widgets/qml/OverlayMenu.qml \
62
-   gui/qt/widgets/qml/ToolTipExt.qml
63
+   gui/qt/widgets/qml/ToolTipExt.qml \
64
+   gui/qt/widgets/qml/DropShadowImage.qml \
65
+   gui/qt/widgets/qml/DoubleShadow.qml
66
 
67
 lib_qt_plugin_la_QRC = gui/qt/vlc.qrc
68
 
69
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/maininterface/mainui.cpp -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/maininterface/mainui.cpp Changed
26
 
1
@@ -41,6 +41,7 @@
2
 #include "util/qmlinputitem.hpp"
3
 #include "util/mouse_event_filter.hpp"
4
 #include "util/flickable_scroll_handler.hpp"
5
+#include "util/effects_image_provider.hpp"
6
 
7
 #include "dialogs/help/aboutmodel.hpp"
8
 #include "dialogs/dialogs_provider.hpp"
9
@@ -158,6 +159,8 @@
10
 
11
         engine->addImageProvider(MLCUSTOMCOVER_PROVIDERID, customCover);
12
     }
13
+    
14
+    SingletonRegisterHelper<EffectsImageProvider>::setInstance(new EffectsImageProvider(engine));
15
 
16
     m_component  = new QQmlComponent(engine, QStringLiteral("qrc:/main/MainInterface.qml"), QQmlComponent::PreferSynchronous, engine);
17
     if (m_component->isLoading())
18
@@ -220,6 +223,7 @@
19
         qmlRegisterSingletonType<SystemPalette>(uri, versionMajor, versionMinor, "SystemPalette", SingletonRegisterHelper<SystemPalette>::callback);
20
         qmlRegisterSingletonType<DialogErrorModel>(uri, versionMajor, versionMinor, "DialogErrorModel", SingletonRegisterHelper<DialogErrorModel>::callback);
21
         qmlRegisterSingletonType<QmlKeyHelper>(uri, versionMajor, versionMinor, "KeyHelper", SingletonRegisterHelper<QmlKeyHelper>::callback);
22
+        qmlRegisterSingletonType<EffectsImageProvider>(uri, versionMajor, versionMinor, "Effects", SingletonRegisterHelper<EffectsImageProvider>::callback);
23
 
24
         qmlRegisterUncreatableType<QAbstractItemModel>(uri, versionMajor, versionMinor, "QtAbstractItemModel", "");
25
         qmlRegisterUncreatableType<QWindow>(uri, versionMajor, versionMinor, "QtWindow", "");
26
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/maininterface/qml/NoMedialibHome.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/maininterface/qml/NoMedialibHome.qml Changed
32
 
1
@@ -29,17 +29,24 @@
2
 
3
         spacing: VLCStyle.margin_small
4
 
5
-        Image {
6
-            id: dropImg
7
-            source: "qrc:///dropzone.svg"
8
+        Widgets.IconLabel {
9
+            text: VLCIcons.dropzone
10
+            color: VLCStyle.colors.setColorAlpha(VLCStyle.colors.text, 0.2)
11
             anchors.horizontalCenter: parent.horizontalCenter
12
-            height: VLCStyle.dp(150, VLCStyle.scale)
13
-            width: VLCStyle.dp(150, VLCStyle.scale)
14
+            font.pixelSize: VLCStyle.dp(100, VLCStyle.scale)
15
         }
16
 
17
         Widgets.MenuLabel {
18
             anchors .horizontalCenter: parent.horizontalCenter
19
-            text: I18n.qtr("Drag & Drop some content here!")
20
+            text: I18n.qtr("Drop some content here")
21
+        }
22
+
23
+        Widgets.ActionButtonPrimary {
24
+            id: openFileButton
25
+            text: I18n.qtr("Open File")
26
+            focus: true
27
+            anchors.horizontalCenter: parent.horizontalCenter
28
+            onClicked: DialogsProvider.simpleOpenDialog()
29
         }
30
     }
31
 
32
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/EmptyLabel.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/EmptyLabel.qml Changed
10
 
1
@@ -76,8 +76,6 @@
2
 
3
                 Widgets.ListCoverShadow {
4
                     anchors.fill: cover
5
-
6
-                    source: cover
7
                 }
8
             }
9
 
10
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/EmptyLabelButton.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/EmptyLabelButton.qml Changed
10
 
1
@@ -68,7 +68,7 @@
2
 
3
         anchors.horizontalCenter: parent.horizontalCenter
4
 
5
-        width: VLCStyle.dp(84, VLCStyle.scale)
6
+        width: Math.max(VLCStyle.dp(84, VLCStyle.scale), implicitWidth)
7
 
8
         focus: true
9
 
10
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/MusicAlbums.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/MusicAlbums.qml Changed
23
 
1
@@ -134,21 +134,11 @@
2
             selectionDelegateModel: selectionModel
3
             model: albumModelId
4
 
5
-            Widgets.GridShadows {
6
-                id: shadows
7
-
8
-                coverWidth: VLCStyle.gridCover_music_width
9
-                coverHeight: VLCStyle.gridCover_music_height
10
-            }
11
-
12
             delegate: AudioGridItem {
13
                 id: audioGridItem
14
 
15
                 opacity: gridView_id.expandIndex !== -1 && gridView_id.expandIndex !== audioGridItem.index ? .7 : 1
16
                 dragItem: albumDragItem
17
-                unselectedUnderlay: shadows.unselected
18
-                selectedUnderlay: shadows.selected
19
-
20
                 onItemClicked : gridView_id.leftClickOnItem(modifier, index)
21
 
22
                 onItemDoubleClicked: {
23
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/MusicAlbumsGridExpandDelegate.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/MusicAlbumsGridExpandDelegate.qml Changed
9
 
1
@@ -128,7 +128,6 @@
2
                     }
3
 
4
                     Widgets.ListCoverShadow {
5
-                        source: expand_cover_id
6
                         anchors.fill: parent
7
                     }
8
                 }
9
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/MusicAllArtists.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/MusicAllArtists.qml Changed
37
 
1
@@ -126,15 +126,6 @@
2
                 }
3
             }
4
 
5
-            Widgets.GridShadows {
6
-                id: shadows
7
-
8
-                leftPadding: (VLCStyle.colWidth(1) - shadows.coverWidth) / 2 // GridItem's rect is horizontally centered
9
-                coverWidth: VLCStyle.artistGridCover_radius
10
-                coverHeight: VLCStyle.artistGridCover_radius
11
-                coverRadius: VLCStyle.artistGridCover_radius
12
-            }
13
-
14
             delegate: AudioGridItem {
15
                 id: gridItem
16
 
17
@@ -150,9 +141,6 @@
18
                 textAlignHCenter: true
19
                 width: VLCStyle.colWidth(1)
20
                 dragItem: artistsDragItem
21
-                unselectedUnderlay: shadows.unselected
22
-                selectedUnderlay: shadows.selected
23
-
24
 
25
                 onItemClicked: artistGrid.leftClickOnItem(modifier, index)
26
 
27
@@ -162,6 +150,9 @@
28
                     artistGrid.rightClickOnItem(index)
29
                     contextMenu.popup(selectionModel.selectedIndexes, globalMousePos)
30
                 }
31
+
32
+                selectedShadow.anchors.margins: VLCStyle.dp(1) // outside border
33
+                unselectedShadow.anchors.margins: VLCStyle.dp(1) // outside border
34
             }
35
         }
36
     }
37
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/MusicArtist.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/MusicArtist.qml Changed
47
 
1
@@ -144,8 +144,6 @@
2
                             pictureHeight: VLCStyle.gridCover_music_height
3
                             playCoverBorderWidth: VLCStyle.gridCover_music_border
4
                             dragItem: albumDragItem
5
-                            unselectedUnderlay: shadows.unselected
6
-                            selectedUnderlay: shadows.selected
7
 
8
                             onPlayClicked: play()
9
                             onItemDoubleClicked: play()
10
@@ -172,13 +170,6 @@
11
                         onSelectAll: albumSelectionModel.selectAll()
12
 
13
                         onActionAtIndex: MediaLib.addAndPlay( albumModel.getIdForIndex( index ) )
14
-
15
-                        Widgets.GridShadows {
16
-                            id: shadows
17
-
18
-                            coverWidth: VLCStyle.gridCover_music_width
19
-                            coverHeight: VLCStyle.gridCover_music_height
20
-                        }
21
                     }
22
 
23
                     Widgets.SubtitleLabel {
24
@@ -318,8 +309,6 @@
25
 
26
                 opacity: gridView_id.expandIndex !== -1 && gridView_id.expandIndex !== audioGridItem.index ? .7 : 1
27
                 dragItem: albumDragItem
28
-                unselectedUnderlay: shadows.unselected
29
-                selectedUnderlay: shadows.selected
30
 
31
                 onItemClicked : gridView_id.leftClickOnItem(modifier, index)
32
 
33
@@ -380,13 +369,6 @@
34
                 target: contextMenu
35
                 onShowMediaInformation: gridView_id.switchExpandItem( index )
36
             }
37
-
38
-            Widgets.GridShadows {
39
-                id: shadows
40
-
41
-                coverWidth: VLCStyle.gridCover_music_width
42
-                coverHeight: VLCStyle.gridCover_music_height
43
-            }
44
         }
45
 
46
     }
47
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/MusicArtistDelegate.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/MusicArtistDelegate.qml Changed
12
 
1
@@ -132,8 +132,8 @@
2
             spacing: VLCStyle.margin_xsmall
3
 
4
             RoundImage {
5
-                width: VLCStyle.play_cover_small
6
-                height: width
7
+                Layout.preferredWidth: VLCStyle.play_cover_small
8
+                Layout.preferredHeight: Layout.preferredWidth
9
 
10
                 radius: width
11
 
12
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/MusicGenres.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/MusicGenres.qml Changed
25
 
1
@@ -140,14 +140,6 @@
2
             model: genreModel
3
             topMargin: VLCStyle.margin_large
4
 
5
-            Widgets.GridShadows {
6
-                id: shadows
7
-
8
-                leftPadding: 0
9
-                coverWidth: VLCStyle.colWidth(2)
10
-                coverHeight: shadows.coverWidth / 2
11
-            }
12
-
13
            delegate: Widgets.GridItem {
14
                 id: item
15
 
16
@@ -161,8 +153,6 @@
17
                 image: model.cover || VLCStyle.noArtAlbumCover
18
                 playCoverBorderWidth: VLCStyle.dp(3, VLCStyle.scale)
19
                 dragItem: genreDragItem
20
-                unselectedUnderlay: shadows.unselected
21
-                selectedUnderlay: shadows.selected
22
 
23
                 onItemDoubleClicked: root.showAlbumView(model.id, model.name, Qt.MouseFocusReason)
24
                 onItemClicked: gridView_id.leftClickOnItem(modifier, item.index)
25
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/PlaylistMediaList.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/PlaylistMediaList.qml Changed
23
 
1
@@ -272,8 +272,6 @@
2
 
3
                 dragItem: dragItemPlaylist
4
 
5
-                selectedUnderlay  : shadows.selected
6
-                unselectedUnderlay: shadows.unselected
7
 
8
                 //---------------------------------------------------------------------------------
9
                 // Events
10
@@ -314,12 +312,6 @@
11
             //-------------------------------------------------------------------------------------
12
             // Childs
13
 
14
-            Widgets.GridShadows {
15
-                id: shadows
16
-
17
-                coverWidth : _widthCover
18
-                coverHeight: _heightCover
19
-            }
20
         }
21
     }
22
 
23
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/VideoAll.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/VideoAll.qml Changed
25
 
1
@@ -246,13 +246,6 @@
2
 
3
             // Children
4
 
5
-            Widgets.GridShadows {
6
-                id: shadows
7
-
8
-                coverWidth: VLCStyle.gridCover_video_width
9
-                coverHeight: VLCStyle.gridCover_video_height
10
-            }
11
-
12
             delegate: VideoGridItem {
13
                 id: gridItem
14
 
15
@@ -274,9 +267,6 @@
16
 
17
                 dragItem: root.dragItem
18
 
19
-                unselectedUnderlay: shadows.unselected
20
-                selectedUnderlay: shadows.selected
21
-
22
                 // Events
23
 
24
                 onItemClicked: gridView.leftClickOnItem(modifier, index)
25
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/VideoDisplayRecentVideos.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/VideoDisplayRecentVideos.qml Changed
25
 
1
@@ -122,9 +122,6 @@
2
 
3
                 focus: true
4
 
5
-                unselectedUnderlay: shadows.unselected
6
-                selectedUnderlay: shadows.selected
7
-
8
                 onItemDoubleClicked: gridItem.play()
9
 
10
                 onItemClicked: {
11
@@ -172,13 +169,6 @@
12
             }
13
 
14
             onActionAtIndex: root._actionAtIndex(index)
15
-
16
-            Widgets.GridShadows {
17
-                id: shadows
18
-
19
-                coverWidth: VLCStyle.gridCover_video_width
20
-                coverHeight: VLCStyle.gridCover_video_height
21
-            }
22
         }
23
 
24
         Widgets.SubtitleLabel {
25
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/medialibrary/qml/VideoInfoExpandPanel.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/medialibrary/qml/VideoInfoExpandPanel.qml Changed
9
 
1
@@ -109,7 +109,6 @@
2
 
3
                         Widgets.ListCoverShadow {
4
                             anchors.fill: expand_cover_id
5
-                            source: expand_cover_id
6
                         }
7
                     }
8
 
9
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/network/qml/NetworkBrowseDisplay.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/network/qml/NetworkBrowseDisplay.qml Changed
24
 
1
@@ -203,8 +203,6 @@
2
                 subtitle: ""
3
                 height: VLCStyle.gridCover_network_height + VLCStyle.margin_xsmall + VLCStyle.fontHeight_normal
4
                 dragItem: networkDragItem
5
-                unselectedUnderlay: shadows.unselected
6
-                selectedUnderlay: shadows.selected
7
 
8
                 onPlayClicked: playAt(index)
9
                 onItemClicked : gridView.leftClickOnItem(modifier, index)
10
@@ -229,13 +227,6 @@
11
             Navigation.cancelAction: function() {
12
                 History.previous()
13
             }
14
-
15
-            Widgets.GridShadows {
16
-                id: shadows
17
-
18
-                coverWidth: VLCStyle.gridCover_network_width
19
-                coverHeight: VLCStyle.gridCover_network_height
20
-            }
21
         }
22
     }
23
 
24
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/network/qml/NetworkHomeDeviceListView.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/network/qml/NetworkHomeDeviceListView.qml Changed
24
 
1
@@ -74,13 +74,6 @@
2
         model: deviceModel
3
     }
4
 
5
-    Widgets.GridShadows {
6
-        id: shadows
7
-
8
-        coverWidth: VLCStyle.gridCover_network_width
9
-        coverHeight: VLCStyle.gridCover_network_height
10
-    }
11
-
12
     Widgets.KeyNavigableListView {
13
         id: deviceListView
14
 
15
@@ -102,8 +95,6 @@
16
             focus: true
17
             x: selectedBorderWidth
18
             y: selectedBorderWidth
19
-            unselectedUnderlay: shadows.unselected
20
-            selectedUnderlay: shadows.selected
21
 
22
             onItemClicked : {
23
                 deviceSelection.updateSelection( modifier ,  deviceSelection.currentIndex, index)
24
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/network/qml/NetworkThumbnailItem.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/network/qml/NetworkThumbnailItem.qml Changed
9
 
1
@@ -48,7 +48,6 @@
2
 
3
     Widgets.ListCoverShadow {
4
         anchors.fill: !item._showCustomCover ? artwork : background
5
-        source: !item._showCustomCover ? artwork : background
6
     }
7
 
8
     Rectangle {
9
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/network/qml/ServicesHomeDisplay.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/network/qml/ServicesHomeDisplay.qml Changed
24
 
1
@@ -324,8 +324,6 @@
2
                 playCoverBorderWidth: VLCStyle.gridCover_network_border
3
                 playCoverShowPlay: false
4
                 pictureOverlay: overlay
5
-                unselectedUnderlay: shadows.unselected
6
-                selectedUnderlay: shadows.selected
7
 
8
                 onItemDoubleClicked: {
9
                     if (is_dummy)
10
@@ -437,13 +435,6 @@
11
                 sourceModel: sourcesModel
12
                 searchRole: "name"
13
             }
14
-
15
-            Widgets.GridShadows {
16
-                id: shadows
17
-
18
-                coverWidth: VLCStyle.gridCover_network_width
19
-                coverHeight: VLCStyle.gridCover_network_height
20
-            }
21
         }
22
     }
23
 }
24
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/VLCIcons.ttf -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/pixmaps/VLCIcons.ttf Changed
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/pixmaps/playlist/dropzone.svg -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/pixmaps/playlist/dropzone.svg Changed
74
 
1
@@ -1,69 +1,4 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
-   width="112"
14
-   height="112"
15
-   viewBox="0 0 112 112"
16
-   version="1.1"
17
-   id="svg5491"
18
-   inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
19
-   sodipodi:docname="dropzone.svg">
20
-  <metadata
21
-     id="metadata9">
22
-    <rdf:RDF>
23
-      <cc:Work
24
-         rdf:about="">
25
-        <dc:format>image/svg+xml</dc:format>
26
-        <dc:type
27
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
28
-        <dc:title></dc:title>
29
-      </cc:Work>
30
-    </rdf:RDF>
31
-  </metadata>
32
-  <defs
33
-     id="defs7" />
34
-  <sodipodi:namedview
35
-     pagecolor="#ffffff"
36
-     bordercolor="#666666"
37
-     borderopacity="1"
38
-     objecttolerance="10"
39
-     gridtolerance="10"
40
-     guidetolerance="10"
41
-     inkscape:pageopacity="0"
42
-     inkscape:pageshadow="2"
43
-     inkscape:window-width="640"
44
-     inkscape:window-height="480"
45
-     id="namedview5"
46
-     showgrid="false"
47
-     fit-margin-top="0"
48
-     fit-margin-left="0"
49
-     fit-margin-right="0"
50
-     fit-margin-bottom="0"
51
-     units="px"
52
-     inkscape:zoom="1.489975"
53
-     inkscape:cx="-10.186791"
54
-     inkscape:cy="36.068915"
55
-     inkscape:window-x="1979"
56
-     inkscape:window-y="216"
57
-     inkscape:window-maximized="0"
58
-     inkscape:current-layer="layer1" />
59
-  <g
60
-     inkscape:label="Layer 1"
61
-     inkscape:groupmode="layer"
62
-     id="layer1"
63
-     transform="translate(-66.830363,26.967664)">
64
-    <path
65
-       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#747474;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.99533796;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.19999981;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
66
-       d="m 77.400014,-26.821294 c -5.803239,0 -10.569651,4.761362 -10.569651,10.558456 v 3.423255 h 5.998517 v -3.423255 c 0,-2.581106 1.987295,-4.566295 4.571134,-4.566295 H 80.8269 v -5.992161 z m 15.42392,0 v 5.992161 h 11.997036 v -5.992161 z m 23.994066,0 v 5.992161 h 11.99703 v -5.992161 z m 23.99407,0 v 5.992161 h 11.99704 v -5.992161 z m 23.99407,0 v 5.992161 h 3.42688 c 2.58385,0 4.57114,1.985189 4.57114,4.566295 v 3.423255 h 5.99852 v -3.423255 c 0,-5.797094 -4.76642,-10.558456 -10.56966,-10.558456 z M 66.830363,-0.85526142 V 11.12906 H 72.82888 V -0.85526142 Z m 39.990107,0 V 31.102928 H 94.823441 L 122.81652,59.066349 150.80959,31.102928 H 138.81257 V -0.85526142 Z m 65.98369,0 V 11.12906 h 5.99852 V -0.85526142 Z M 66.830363,23.113383 V 35.097705 H 72.82888 V 23.113383 Z m 105.973797,0 v 11.984322 h 5.99852 V 23.113383 Z M 66.830363,47.082027 V 59.066349 H 72.82888 V 47.082027 Z m 105.973797,0 v 11.984322 h 5.99852 V 47.082027 Z M 66.830363,71.050672 v 3.425205 c 0,5.797087 4.766412,10.556501 10.569651,10.556501 H 80.8269 v -5.992161 h -3.426886 c -2.583839,0 -4.571134,-1.983275 -4.571134,-4.56434 v -3.425205 z m 105.973797,0 v 3.425205 c 0,2.581065 -1.98729,4.56434 -4.57114,4.56434 h -3.42688 v 5.992161 h 3.42688 c 5.80324,0 10.56966,-4.759414 10.56966,-10.556501 v -3.425205 z m -79.980226,7.989545 v 5.992161 h 11.997036 v -5.992161 z m 23.994066,0 v 5.992161 h 11.99703 v -5.992161 z m 23.99407,0 v 5.992161 h 11.99704 v -5.992161 z"
67
-       id="rect10667"
68
-       inkscape:connector-curvature="0" />
69
-  </g>
70
+<?xml version="1.0" encoding="UTF-8"?>
71
+<svg fill="none" version="1.1" viewBox="0 0 48 48" viewport="114 144" xmlns="http://www.w3.org/2000/svg">
72
+ <path d="m1.04 0.128a1.68 1.68 0 0 1 0.645-0.128h4.56v1.68h-4.56v4.56h-1.68v-4.56c0-0.227 0.0455-0.445 0.128-0.645l0.189-0.455 0.104-0.163 0.163-0.104zm11-0.128h9.12v1.68h-9.12zm14.9 0h9.12v1.68h-9.12zm14.9 0h4.56c0.227 0 0.445 0.0455 0.645 0.128l0.455 0.189 0.163 0.104 0.104 0.163 0.189 0.455c0.0825 0.2 0.128 0.418 0.128 0.645v4.56h-1.68v-4.56h-4.56zm-40.1 12v9.12h-1.68v-9.12zm46.3 0v9.12h-1.68v-9.12zm-46.3 14.9v9.12h-1.68v-9.12zm46.3 0v9.12h-1.68v-9.12zm-46.3 14.9v4.56h4.56v1.68h-4.56a1.69 1.69 0 0 1-0.645-0.128l-0.455-0.189-0.163-0.104-0.104-0.163-0.189-0.455a1.68 1.68 0 0 1-0.128-0.645v-4.56zm46.3 0v4.56a1.69 1.69 0 0 1-0.128 0.645l-0.189 0.455-0.104 0.163-0.163 0.104-0.455 0.189a1.69 1.69 0 0 1-0.645 0.128h-4.56v-1.68h4.56v-4.56zm-36 4.56h9.12v1.68h-9.12zm14.9 0h9.12v1.68h-9.12zm-2.87-34.7v0.0067c-0.059 0-0.116 0.0021-0.171 0.0059-0.238 0.0173-0.442 0.0754-0.643 0.205-0.407 0.211-1.02 2.11-1.02 2.11l-0.407 1.27-0.0126 0.0379c1.59 0.801 2.79 0.792 4.39-0.0379 0.0362 0.0051 0.0661 0.0114 0.101 0.0164l-0.0072-0.0223-0.407-1.27s-0.611-1.9-1.02-2.11c-0.248-0.16-0.5-0.212-0.813-0.212zm3.64 7.95c-0.0248 0.0261-0.0455 0.0514-0.0707 0.0779-2.44 1.89-4.83 1.9-7.25 0.0552l-1.61 5.01-0.0198 0.061c3.05 2.68 7.48 2.66 10.5-0.061 0.04 0.0194 0.0762 0.0408 0.115 0.061l-0.021-0.0665-1.63-5.07zm2.42 7.54c-0.0198 0.0467-0.0295 0.0867-0.0522 0.136l0.406 1.27s0.407 0.844 0 1.27c-1.43 1.48-3.71 2.28-6.05 2.37-2.64 0.105-5.35-0.686-6.98-2.37-0.407-0.422 0-1.27 0-1.27l0.407-1.27h-1.67c-0.272 0-1 0.421-1.18 1.03l-1.87 6.65c-0.12 0.425 0.0055 0.745 0.216 0.971 0.272 0.29 0.682 0.422 0.883 0.422h19.7c0.0792 0 0.215-0.0328 0.363-0.101 0.147-0.0699 0.308-0.175 0.438-0.32 0.157-0.175 0.269-0.408 0.263-0.707a1.32 1.32 0 0 0-0.0518-0.323c-0.312-1.1-0.618-2.19-0.928-3.29l-0.948-3.34c-0.158-0.56-0.887-0.984-1.2-0.984h-1.72l0.0034-0.0051h-0.0034v-0.0013z" clip-rule="evenodd" fill="#000" fill-opacity=".2" fill-rule="evenodd" stroke-width=".421"/>
73
 </svg>
74
_service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/pixmaps/toolbar/play_button.svg Added
13
 
1
@@ -0,0 +1,11 @@
2
+<?xml version="1.0" encoding="UTF-8"?>
3
+<svg width="48" height="48" version="1.1" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
4
+ <defs>
5
+  <linearGradient id="gradient" x1="0" x2="0" y1="1" y2="0">
6
+   <stop stop-color="#e25b01" offset="0%"/>
7
+   <stop stop-color="#f89a06" offset="100%"/>
8
+  </linearGradient>
9
+ </defs>
10
+ <circle cx="24" cy="24" r="24" fill="url(#gradient)"/>
11
+ <circle cx="24" cy="24" r="22" fill="#fff"/>
12
+</svg>
13
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/player/qml/controlbarcontrols/ArtworkInfoWidget.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/player/qml/controlbarcontrols/ArtworkInfoWidget.qml Changed
85
 
1
@@ -34,7 +34,8 @@
2
 
3
     property VLCColors colors: VLCStyle.colors
4
 
5
-    readonly property real minimumWidth: cover.width + (leftPadding + rightPadding)
6
+    readonly property real minimumWidth: coverRect.implicitWidth +
7
+                                         + (leftPadding + rightPadding)
8
 
9
     property bool _keyPressed: false
10
 
11
@@ -75,32 +76,31 @@
12
     contentItem: RowLayout {
13
         spacing: infoColumn.visible ? VLCStyle.margin_xsmall : 0
14
 
15
-        Item {
16
-            id: coverItem
17
+        Rectangle {
18
+            id: coverRect
19
 
20
-            implicitHeight: cover.height
21
-            implicitWidth: cover.width
22
+            implicitHeight: VLCStyle.dp(60, VLCStyle.scale)
23
+            implicitWidth: implicitHeight
24
 
25
-            Rectangle {
26
-                id: coverRect
27
-                anchors.fill: parent
28
-
29
-                color: colors.bg
30
-            }
31
+            color: colors.bg
32
 
33
-            DropShadow {
34
+            Widgets.DoubleShadow {
35
                 anchors.fill: parent
36
 
37
-                source: coverRect
38
-                radius: 8
39
-                samples: 17
40
-                color: VLCStyle.colors.glowColorBanner
41
-                spread: 0.2
42
+                primaryBlurRadius: VLCStyle.dp(3, VLCStyle.scale)
43
+                primaryColor: Qt.rgba(0, 0, 0, 0.18)
44
+                primaryVerticalOffset: VLCStyle.dp(1, VLCStyle.scale)
45
+
46
+                secondaryBlurRadius: VLCStyle.dp(14, VLCStyle.scale)
47
+                secondaryColor: Qt.rgba(0, 0, 0, 0.22)
48
+                secondaryVerticalOffset: VLCStyle.dp(6, VLCStyle.scale)
49
             }
50
 
51
-            Image {
52
+            Widgets.ScaledImage {
53
                 id: cover
54
 
55
+                anchors.fill: parent
56
+
57
                 source: {
58
                     if (!paintOnly
59
                         && mainPlaylistController.currentItem.artwork
60
@@ -112,11 +112,6 @@
61
 
62
                 fillMode: Image.PreserveAspectFit
63
 
64
-                width: VLCStyle.dp(60)
65
-                height: VLCStyle.dp(60)
66
-
67
-                mipmap: true
68
-
69
                 asynchronous: true
70
 
71
                 ToolTip.visible: infoColumn.width < infoColumn.implicitWidth
72
@@ -133,10 +128,9 @@
73
         ColumnLayout {
74
             id: infoColumn
75
 
76
-            Layout.preferredHeight: coverItem.implicitHeight
77
             Layout.fillWidth: true
78
-
79
-            clip: true
80
+            Layout.preferredHeight: coverRect.height
81
+            Layout.minimumWidth: 0.1 // FIXME: Qt layout bug
82
 
83
             Widgets.MenuLabel {
84
                 id: titleLabel
85
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/player/qml/controlbarcontrols/PlayButton.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/player/qml/controlbarcontrols/PlayButton.qml Changed
148
 
1
@@ -17,7 +17,6 @@
2
  *****************************************************************************/
3
 import QtQuick 2.11
4
 import QtQuick.Templates 2.4 as T
5
-import QtGraphicalEffects 1.0
6
 
7
 import org.videolan.vlc 0.1
8
 
9
@@ -134,9 +133,12 @@
10
 
11
             PropertyChanges {
12
                 target: hoverShadow
13
+                opacity: 0.0
14
+            }
15
 
16
-                radius: VLCStyle.dp(18, VLCStyle.scale)
17
-                opacity: 1
18
+            PropertyChanges {
19
+                target: focusShadow
20
+                opacity: 1.0
21
             }
22
         },
23
         State {
24
@@ -145,9 +147,12 @@
25
 
26
             PropertyChanges {
27
                 target: hoverShadow
28
+                opacity: 1.0
29
+            }
30
 
31
-                radius: VLCStyle.dp(14, VLCStyle.scale)
32
-                opacity: 0.5
33
+            PropertyChanges {
34
+                target: focusShadow
35
+                opacity: 0.0
36
             }
37
         }
38
     
39
@@ -156,7 +161,7 @@
40
         from: ""; to: "*"
41
         reversible: true
42
         NumberAnimation {
43
-            properties: "radius, opacity"
44
+            properties: "opacity"
45
             easing.type: Easing.InOutSine
46
             duration: VLCStyle.duration_veryShort
47
         }
48
@@ -176,8 +181,10 @@
49
                 return VLCIcons.play
50
         }
51
 
52
-        color: cursorInside ? hoverShadow.color :
53
-                              (paintOnly || enabled ? colors.buttonPlayIcon
54
+        color: cursorInside ? VLCStyle.colors.blendColors(VLCStyle.colors.buttonPlayA,
55
+                                                          VLCStyle.colors.buttonPlayB,
56
+                                                          0.5)
57
+                            : (paintOnly || enabled ? colors.buttonPlayIcon
58
                                                     : colors.textInactive)
59
 
60
         font.pixelSize: VLCIcons.pixelSize(VLCStyle.icon_normal)
61
@@ -195,62 +202,48 @@
62
     }
63
 
64
     background: Item {
65
-        DropShadow {
66
+        // TODO: Qt >= 5.15 use inline component for the drop shadows
67
+        Widgets.DropShadowImage {
68
             id: hoverShadow
69
-            anchors.fill: parent
70
 
71
-            visible: radius > 4
72
+            anchors.centerIn: parent
73
 
74
-            radius: 0
75
-            samples: 49 // should be a fixed number
76
-            source: opacityMask
77
-            spread: colors.isThemeDark && playBtn.state === "focused" ? 0.4 : 0.2
78
+            visible: opacity > 0
79
+            opacity: 0
80
 
81
-            color: "#FF610A"
82
-        }
83
+            blurRadius: VLCStyle.dp(9)
84
+            yOffset: VLCStyle.dp(4)
85
 
86
-        Rectangle {
87
-            anchors.fill: parent
88
-            anchors.margins: VLCStyle.dp(1, VLCStyle.scale)
89
+            color: Qt.rgba(255 / 255, 97 / 255, 10 / 255, 0.29)
90
 
91
-            radius: (width * 0.5)
92
+            xRadius: sourceSize.width
93
+            yRadius: xRadius
94
 
95
-            color: VLCStyle.colors.white
96
+            sourceSize: Qt.size(parent.width, parent.height)
97
         }
98
 
99
-        Rectangle {
100
-            id: outerRect
101
-            anchors.fill: parent
102
+        Widgets.DropShadowImage {
103
+            id: focusShadow
104
 
105
-            visible: false
106
+            anchors.centerIn: parent
107
 
108
-            radius: (width * 0.5)
109
+            visible: opacity > 0
110
+            opacity: 0
111
 
112
-            gradient: Gradient {
113
-                GradientStop { position: 0.0; color: VLCStyle.colors.buttonPlayA }
114
-                GradientStop { position: 1.0; color: VLCStyle.colors.buttonPlayB }
115
-            }
116
-        }
117
+            blurRadius: VLCStyle.dp(14)
118
+            yOffset: VLCStyle.dp(1)
119
 
120
-        Rectangle {
121
-            id: innerRect
122
-            anchors.fill: parent
123
+            color: Qt.rgba(255 / 255, 97 / 255, 10 / 255, 1.0)
124
 
125
-            radius: (width * 0.5)
126
-            border.width: VLCStyle.dp(2, VLCStyle.scale)
127
+            xRadius: sourceSize.width
128
+            yRadius: xRadius
129
 
130
-            color: "transparent"
131
-            visible: false
132
+            sourceSize: Qt.size(parent.width, parent.height)
133
         }
134
 
135
-        OpacityMask {
136
-            id: opacityMask
137
+        Widgets.ScaledImage {
138
             anchors.fill: parent
139
-
140
-            source: outerRect
141
-            maskSource: innerRect
142
-
143
-            antialiasing: true
144
+            source: "qrc:/toolbar/play_button.svg"
145
         }
146
     }
147
 }
148
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/playlist/qml/PlaylistDelegate.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/playlist/qml/PlaylistDelegate.qml Changed
74
 
1
@@ -21,8 +21,6 @@
2
 import QtQuick.Templates 2.4 as T
3
 import QtQuick.Layouts 1.11
4
 
5
-import QtGraphicalEffects 1.0
6
-
7
 import org.videolan.vlc 0.1
8
 
9
 import "qrc:///widgets/" as Widgets
10
@@ -108,18 +106,6 @@
11
             Layout.preferredWidth: VLCStyle.icon_normal
12
             Layout.alignment: Qt.AlignVCenter
13
 
14
-            DropShadow {
15
-                id: effect
16
-
17
-                anchors.fill: artwork
18
-                source: artwork
19
-                radius: 8
20
-                samples: 17
21
-                color: colors.glowColorBanner
22
-                visible: artwork.visible
23
-                spread: 0.1
24
-            }
25
-
26
             Widgets.ScaledImage {
27
                 id: artwork
28
 
29
@@ -128,24 +114,37 @@
30
                 source: (model.artwork && model.artwork.toString()) ? model.artwork : VLCStyle.noArtAlbumCover
31
                 visible: !statusIcon.visible
32
                 asynchronous: true
33
+
34
+                Widgets.DoubleShadow {
35
+                    anchors.centerIn: parent
36
+                    width: parent.paintedWidth
37
+                    height: parent.paintedHeight
38
+
39
+                    z: -1
40
+
41
+                    primaryBlurRadius: VLCStyle.dp(3)
42
+                    primaryColor: Qt.rgba(0, 0, 0, 0.18)
43
+                    primaryVerticalOffset: VLCStyle.dp(1)
44
+
45
+                    secondaryBlurRadius: VLCStyle.dp(14)
46
+                    secondaryColor: Qt.rgba(0, 0, 0, 0.22)
47
+                    secondaryVerticalOffset: VLCStyle.dp(6)
48
+                }
49
             }
50
 
51
             Widgets.IconLabel {
52
                 id: statusIcon
53
 
54
-                anchors.fill: parent
55
+                anchors.centerIn: parent
56
                 visible: (model.isCurrent && text !== "")
57
-                width: height
58
-                height: VLCStyle.icon_normal
59
-                horizontalAlignment: Text.AlignHCenter
60
-                verticalAlignment: Text.AlignVCenter
61
                 color: colors.accent
62
                 text: {
63
                     if (Player.playingState === Player.PLAYING_STATE_PLAYING)
64
                         return VLCIcons.volume_high
65
-                    if (Player.playingState === Player.PLAYING_STATE_PAUSED)
66
+                    else if (Player.playingState === Player.PLAYING_STATE_PAUSED)
67
                         return VLCIcons.pause
68
-                    return ""
69
+                    else
70
+                        return ""
71
                 }
72
             }
73
         }
74
_service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/util/effects_image_provider.cpp Added
201
 
1
@@ -0,0 +1,233 @@
2
+/*****************************************************************************
3
+ * Copyright (C) 2022 VLC authors and VideoLAN
4
+ *
5
+ * This program is free software; you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation; either version 2 of the License, or
8
+ * ( at your option ) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
18
+ *****************************************************************************/
19
+
20
+#include "effects_image_provider.hpp"
21
+
22
+#include <QPainter>
23
+#include <QUrl>
24
+#include <QUrlQuery>
25
+#include <QPainterPath>
26
+
27
+#include <memory>
28
+
29
+#include "qt.hpp" // VLC_WEAK
30
+
31
+// Qt private exported function
32
+QT_BEGIN_NAMESPACE
33
+extern void VLC_WEAK qt_blurImage(QImage &blurImage, qreal radius, bool quality, int transposed = 0);
34
+QT_END_NAMESPACE
35
+
36
+
37
+namespace {
38
+
39
+class IEffect
40
+{
41
+public:
42
+    virtual QImage generate(const QSize& size) const = 0;
43
+    virtual ~IEffect() = default;
44
+};
45
+
46
+class RectDropShadowEffect : public IEffect
47
+{
48
+
49
+public:
50
+    explicit RectDropShadowEffect(const QVariantMap& settings)
51
+        : m_blurRadius(settings"blurRadius".toReal())
52
+        , m_color(settings"color".value<QColor>())
53
+        , m_xOffset(settings"xOffset".toReal())
54
+        , m_yOffset(settings"yOffset".toReal())
55
+    { }
56
+
57
+    QImage generate(const QSize& size) const override
58
+    {
59
+        QImage mask(size, QImage::Format_ARGB32_Premultiplied);
60
+        mask.fill(m_color);
61
+        return generate(mask);
62
+    }
63
+
64
+    QImage generate(const QImage& mask) const
65
+    {
66
+        if (Q_UNLIKELY(!&qt_blurImage))
67
+        {
68
+            qWarning("qt_blurImage() is not available! Drop shadow will not work!");
69
+            return {};
70
+        }
71
+
72
+        // Create a new image with boundaries containing the mask and effect.
73
+        QImage ret(boundingSize(mask.size()), QImage::Format_ARGB32_Premultiplied);
74
+        ret.fill(0);
75
+
76
+        assert(!ret.isNull());
77
+        {
78
+            // Copy the mask
79
+            QPainter painter(&ret);
80
+            painter.setCompositionMode(QPainter::CompositionMode_Source);
81
+            const auto radius = effectiveBlurRadius();
82
+            painter.drawImage(radius + m_xOffset, radius + m_yOffset, mask);
83
+        }
84
+
85
+        // Blur the mask
86
+        qt_blurImage(ret, effectiveBlurRadius(), false);
87
+
88
+        return ret;
89
+    }
90
+
91
+    constexpr QSize boundingSize(const QSize& size) const
92
+    {
93
+        // Size of bounding rectangle of the effect
94
+        const qreal radius = 2 * effectiveBlurRadius();
95
+        return size + QSize(qAbs(m_xOffset) + radius, qAbs(m_yOffset) + radius);
96
+    }
97
+
98
+protected:
99
+    qreal m_blurRadius = 1.0;
100
+    QColor m_color {63, 63, 63, 180};
101
+    qreal m_xOffset = 0.0;
102
+    qreal m_yOffset = 0.0;
103
+
104
+private:
105
+    constexpr qreal effectiveBlurRadius() const
106
+    {
107
+        // Translated blur radius for the Qt blur algorithm
108
+        return 2.5 * (m_blurRadius + 1);
109
+    }
110
+};
111
+
112
+class RoundedRectDropShadowEffect : public RectDropShadowEffect
113
+{
114
+public:
115
+    explicit RoundedRectDropShadowEffect(const QVariantMap& settings)
116
+        : RectDropShadowEffect(settings)
117
+        , m_xRadius(settings"xRadius".toReal())
118
+        , m_yRadius(settings"yRadius".toReal())
119
+    { }
120
+
121
+    QImage generate(const QSize& size) const override
122
+    {
123
+        assert(!(qFuzzyIsNull(m_xRadius) && qFuzzyIsNull(m_yRadius))); // use RectDropShadowEffect instead
124
+
125
+        QImage mask(size, QImage::Format_ARGB32_Premultiplied);
126
+        mask.fill(Qt::transparent);
127
+
128
+        assert(!mask.isNull());
129
+        {
130
+            QPainter painter(&mask);
131
+            painter.setRenderHint(QPainter::Antialiasing);
132
+            painter.setPen(m_color);
133
+
134
+            QPainterPath path;
135
+            path.addRoundedRect(mask.rect(), m_xRadius, m_yRadius);
136
+            painter.fillPath(path, m_color);
137
+            painter.drawPath(path);
138
+        }
139
+
140
+        return RectDropShadowEffect::generate(mask);
141
+    }
142
+
143
+protected:
144
+    qreal m_xRadius = 0.0;
145
+    qreal m_yRadius = 0.0;
146
+};
147
+
148
+}
149
+
150
+QImage EffectsImageProvider::requestImage(const QString &id, QSize *size, const QSize &requestedSize)
151
+{
152
+    assert(size);
153
+
154
+    const auto generate = &() -> QImage {
155
+        // Effect can not be generated if size is not provided.
156
+        // Qt Quick Image may complain about returning null image,
157
+        // but there is not much to do here about it.
158
+        if (requestedSize.isEmpty())
159
+            return {};
160
+
161
+        static const auto effectMetaEnum = QMetaEnum::fromType<EffectsImageProvider::Effect>();
162
+
163
+        static const auto queryToVariantMap = (const QUrlQuery& query) {
164
+            QVariantMap map;
165
+            for (auto&& i : query.queryItems())
166
+            {
167
+                map.insert(i.first, QUrl::fromPercentEncoding(i.second.toLatin1()));
168
+            }
169
+            return map;
170
+        };
171
+
172
+        QUrl url(id, QUrl::ParsingMode::StrictMode);
173
+
174
+        const QUrlQuery query(url);
175
+
176
+        std::unique_ptr<IEffect> effect;
177
+        switch (static_cast<EffectsImageProvider::Effect>(effectMetaEnum.keyToValue(url.path().toLatin1())))
178
+        {
179
+        case EffectsImageProvider::RectDropShadow:
180
+            effect = std::make_unique<RectDropShadowEffect>(queryToVariantMap(query));
181
+            break;
182
+
183
+        case EffectsImageProvider::RoundedRectDropShadow:
184
+            effect = std::make_unique<RoundedRectDropShadowEffect>(queryToVariantMap(query));
185
+            break;
186
+
187
+        default:
188
+            return {};
189
+        }
190
+
191
+        return effect->generate(requestedSize);
192
+    };
193
+
194
+    const auto& effect = generate();
195
+    *size = effect.size();
196
+
197
+    return effect;
198
+}
199
+
200
+QUrl EffectsImageProvider::url(Effect effect, const QVariantMap &properties)
201
_service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/util/effects_image_provider.hpp Added
58
 
1
@@ -0,0 +1,56 @@
2
+/*****************************************************************************
3
+ * Copyright (C) 2022 VLC authors and VideoLAN
4
+ *
5
+ * This program is free software; you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation; either version 2 of the License, or
8
+ * ( at your option ) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
18
+ *****************************************************************************/
19
+
20
+#ifndef EFFECTS_IMAGE_PROVIDER_HPP
21
+#define EFFECTS_IMAGE_PROVIDER_HPP
22
+
23
+#include <QObject>
24
+#include <QUrl>
25
+#include <QSize>
26
+#include <QQuickImageProvider>
27
+
28
+class EffectsImageProvider : public QObject, public QQuickImageProvider
29
+{
30
+    Q_OBJECT
31
+
32
+    static constexpr const char * providerId = "effects";
33
+
34
+public:
35
+    enum Effect
36
+    {
37
+        RectDropShadow = 1,
38
+        RoundedRectDropShadow
39
+    };
40
+    Q_ENUM(Effect)
41
+
42
+    explicit EffectsImageProvider(QQmlEngine *engine)
43
+        : QQuickImageProvider(QQuickImageProvider::ImageType::Image,
44
+                              QQmlImageProviderBase::ForceAsynchronousImageLoading)
45
+    {
46
+        assert(engine);
47
+
48
+        // Engine will take the ownership; no need to set parent in constructor
49
+        engine->addImageProvider(QLatin1String(providerId), this);
50
+    }
51
+
52
+    QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize) override;
53
+
54
+    Q_INVOKABLE static QUrl url(Effect effect, const QVariantMap& properties);
55
+};
56
+
57
+#endif // EFFECTS_IMAGE_PROVIDER_HPP
58
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/vlc.qrc -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/vlc.qrc Changed
31
 
1
@@ -82,6 +82,7 @@
2
         <file alias="slower2.svg">pixmaps/slower2.svg</file>
3
         <file alias="faster2.svg">pixmaps/faster2.svg</file>
4
         <file alias="audiosub.svg">pixmaps/toolbar/audiosub.svg</file>
5
+        <file alias="play_button.svg">pixmaps/toolbar/play_button.svg</file>
6
     </qresource>
7
     <qresource prefix="/buttons/playlist">
8
         <file alias="playlist_add.svg">pixmaps/playlist/add.svg</file>
9
@@ -110,7 +111,6 @@
10
         <file alias="download.svg">pixmaps/download.svg</file>
11
         <file alias="update.svg">pixmaps/update.svg</file>
12
         <file alias="noart.png">pixmaps/noart.png</file>
13
-        <file alias="noart64.png">pixmaps/noart-64.png</file>
14
         <file alias="go-next.svg">pixmaps/go-next.svg</file>
15
         <file alias="new.svg">pixmaps/profile_new.svg</file>
16
         <file alias="lock.svg">pixmaps/lock.svg</file>
17
@@ -267,11 +267,11 @@
18
         <file alias="ListCoverShadow.qml">widgets/qml/ListCoverShadow.qml</file>
19
         <file alias="OverlayMenu.qml">widgets/qml/OverlayMenu.qml</file>
20
         <file alias="IconControlButton.qml">widgets/qml/IconControlButton.qml</file>
21
-        <file alias="ShadowCoverGenerator.qml">widgets/qml/ShadowCoverGenerator.qml</file>
22
-        <file alias="GridShadows.qml">widgets/qml/GridShadows.qml</file>
23
         <file alias="ToolTipExt.qml">widgets/qml/ToolTipExt.qml</file>
24
         <file alias="MLDragItem.qml">widgets/qml/MLDragItem.qml</file>
25
         <file alias="ScaledImage.qml">widgets/qml/ScaledImage.qml</file>
26
+        <file alias="DropShadowImage.qml">widgets/qml/DropShadowImage.qml</file>
27
+        <file alias="DoubleShadow.qml">widgets/qml/DoubleShadow.qml</file>
28
     </qresource>
29
     <qresource prefix="/network">
30
         <file alias="AddressbarButton.qml">network/qml/AddressbarButton.qml</file>
31
_service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/widgets/qml/DoubleShadow.qml Added
80
 
1
@@ -0,0 +1,78 @@
2
+/*****************************************************************************
3
+ * Copyright (C) 2022 VLC authors and VideoLAN
4
+ *
5
+ * This program is free software; you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation; either version 2 of the License, or
8
+ * ( at your option ) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
18
+ *****************************************************************************/
19
+
20
+import QtQuick 2.11
21
+
22
+import "qrc:///style/"
23
+
24
+// A convenience file to encapsulate two drop shadow images stacked on top
25
+// of each other
26
+Item {
27
+    id: root
28
+
29
+    property var xRadius: null
30
+    property var yRadius: null
31
+
32
+    property alias primaryVerticalOffset: primaryShadow.yOffset
33
+    property alias primaryHorizontalOffset: primaryShadow.xOffset
34
+    property alias primaryColor: primaryShadow.color
35
+    property alias primaryBlurRadius: primaryShadow.blurRadius
36
+    property alias primaryXRadius: primaryShadow.xRadius
37
+    property alias primaryYRadius: primaryShadow.yRadius
38
+
39
+    property alias secondaryVerticalOffset: secondaryShadow.yOffset
40
+    property alias secondaryHorizontalOffset: secondaryShadow.xOffset
41
+    property alias secondaryColor: secondaryShadow.color
42
+    property alias secondaryBlurRadius: secondaryShadow.blurRadius
43
+    property alias secondaryXRadius: secondaryShadow.xRadius
44
+    property alias secondaryYRadius: secondaryShadow.yRadius
45
+
46
+    property alias cache: primaryShadow.cache
47
+
48
+    visible: (width > 0 && height > 0)
49
+
50
+    DropShadowImage {
51
+        id: primaryShadow
52
+
53
+        anchors.centerIn: parent
54
+
55
+        color: VLCStyle.colors.bg
56
+        xOffset: 0
57
+
58
+        xRadius: root.xRadius
59
+        yRadius: root.yRadius
60
+
61
+        sourceSize: Qt.size(parent.width, parent.height)
62
+    }
63
+
64
+    DropShadowImage {
65
+        id: secondaryShadow
66
+
67
+        anchors.centerIn: parent
68
+
69
+        color: VLCStyle.colors.bg
70
+        xOffset: 0
71
+
72
+        xRadius: root.xRadius
73
+        yRadius: root.yRadius
74
+
75
+        sourceSize: Qt.size(parent.width, parent.height)
76
+
77
+        cache: root.cache
78
+    }
79
+}
80
_service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/widgets/qml/DropShadowImage.qml Added
54
 
1
@@ -0,0 +1,52 @@
2
+/*****************************************************************************
3
+ * Copyright (C) 2022 VLC authors and VideoLAN
4
+ *
5
+ * This program is free software; you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation; either version 2 of the License, or
8
+ * ( at your option ) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
18
+ *****************************************************************************/
19
+
20
+import QtQuick 2.11
21
+
22
+import org.videolan.vlc 0.1
23
+
24
+ScaledImage {
25
+    property var blurRadius: null
26
+    property var color: null
27
+    property var xOffset: null
28
+    property var yOffset: null
29
+    property var xRadius: null
30
+    property var yRadius: null
31
+
32
+    cache: true
33
+    asynchronous: true
34
+
35
+    fillMode: Image.Pad
36
+
37
+    onSourceSizeChanged: {
38
+        // Do not load the image when size is not valid:
39
+        if (sourceSize.width > 0 && sourceSize.height > 0)
40
+            source = Qt.binding(function() {
41
+                return Effects.url((xRadius > 0 || yRadius > 0) ? Effects.RoundedRectDropShadow
42
+                                                                : Effects.RectDropShadow,
43
+                                   {"blurRadius": blurRadius,
44
+                                    "color": color,
45
+                                    "xOffset": xOffset,
46
+                                    "yOffset": yOffset,
47
+                                    "xRadius": xRadius,
48
+                                    "yRadius": yRadius})
49
+            })
50
+        else
51
+            source = ""
52
+    }
53
+}
54
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/widgets/qml/GridItem.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/widgets/qml/GridItem.qml Changed
165
 
1
@@ -20,7 +20,7 @@
2
 import QtQuick.Templates 2.4 as T
3
 import QtQuick.Layouts 1.11
4
 import QtQml.Models 2.2
5
-import QtGraphicalEffects 1.0
6
+
7
 import org.videolan.vlc 0.1
8
 
9
 import "qrc:///widgets/" as Widgets
10
@@ -60,8 +60,9 @@
11
     property alias playIconSize: picture.playIconSize
12
     property alias pictureRadius: picture.radius
13
     property alias pictureOverlay: picture.imageOverlay
14
-    property alias unselectedUnderlay: unselectedUnderlayLoader.sourceComponent
15
-    property alias selectedUnderlay: selectedUnderlayLoader.sourceComponent
16
+
17
+    property alias selectedShadow: selectedShadow
18
+    property alias unselectedShadow: unselectedShadow
19
 
20
     // Signals
21
 
22
@@ -89,15 +90,13 @@
23
             when: highlighted
24
 
25
             PropertyChanges {
26
-                target: selectedUnderlayLoader
27
-                opacity: 1
28
-                visible: true
29
+                target: selectedShadow
30
+                opacity: 1.0
31
             }
32
 
33
             PropertyChanges {
34
-                target: unselectedUnderlayLoader
35
+                target: unselectedShadow
36
                 opacity: 0
37
-                visible: false
38
             }
39
 
40
             PropertyChanges {
41
@@ -117,8 +116,8 @@
42
 
43
             SequentialAnimation {
44
                 PropertyAction {
45
-                    targets: picture, selectedUnderlayLoader
46
-                    properties: "visible, playCoverVisible"
47
+                    target: picture
48
+                    properties: "playCoverVisible"
49
                 }
50
 
51
                 NumberAnimation {
52
@@ -126,11 +125,6 @@
53
                     duration: VLCStyle.duration_long
54
                     easing.type: Easing.InSine
55
                 }
56
-
57
-                PropertyAction {
58
-                    target: unselectedUnderlayLoader
59
-                    property: "visible"
60
-                }
61
             }
62
         },
63
 
64
@@ -140,8 +134,8 @@
65
 
66
             SequentialAnimation {
67
                 PropertyAction {
68
-                    target: unselectedUnderlayLoader
69
-                    property: "visible, playCoverVisible"
70
+                    target: picture
71
+                    property: "playCoverVisible"
72
                 }
73
 
74
                 NumberAnimation {
75
@@ -149,11 +143,6 @@
76
                     duration: VLCStyle.duration_long
77
                     easing.type: Easing.OutSine
78
                 }
79
-
80
-                PropertyAction {
81
-                    targets: picture, selectedUnderlayLoader
82
-                    properties: "visible"
83
-                }
84
             }
85
         }
86
     
87
@@ -226,26 +215,6 @@
88
             root.dragItem.Drag.active = drag.active
89
         }
90
 
91
-        Loader {
92
-            id: unselectedUnderlayLoader
93
-
94
-            asynchronous: true
95
-        }
96
-
97
-        Loader {
98
-            id: selectedUnderlayLoader
99
-
100
-            asynchronous: true
101
-            active: false
102
-            visible: false
103
-            opacity: 0
104
-
105
-            onVisibleChanged: {
106
-                if (visible && !active)
107
-                    active = true
108
-            }
109
-        }
110
-
111
         ColumnLayout {
112
             id: layout
113
 
114
@@ -264,6 +233,50 @@
115
                 Layout.preferredHeight: pictureHeight
116
 
117
                 onPlayIconClicked: root.playClicked()
118
+
119
+                DoubleShadow {
120
+                    id: unselectedShadow
121
+
122
+                    anchors.fill: parent
123
+                    anchors.margins: VLCStyle.dp(1) // outside border (unselected)
124
+                    z: -1
125
+
126
+                    opacity: 0.62
127
+                    visible: opacity > 0
128
+
129
+                    xRadius: parent.radius
130
+                    yRadius: parent.radius
131
+
132
+                    primaryColor: Qt.rgba(0, 0, 0, .18)
133
+                    primaryVerticalOffset: VLCStyle.dp(1, VLCStyle.scale)
134
+                    primaryBlurRadius: VLCStyle.dp(3, VLCStyle.scale)
135
+
136
+                    secondaryColor: Qt.rgba(0, 0, 0, .22)
137
+                    secondaryVerticalOffset: VLCStyle.dp(6, VLCStyle.scale)
138
+                    secondaryBlurRadius: VLCStyle.dp(14, VLCStyle.scale)
139
+                }
140
+
141
+                DoubleShadow {
142
+                    id: selectedShadow
143
+
144
+                    anchors.fill: parent
145
+                    anchors.margins: VLCStyle.dp()
146
+                    z: -1
147
+
148
+                    visible: opacity > 0
149
+                    opacity: 0
150
+
151
+                    xRadius: parent.radius
152
+                    yRadius: parent.radius
153
+
154
+                    primaryColor: Qt.rgba(0, 0, 0, .18)
155
+                    primaryVerticalOffset: VLCStyle.dp(6, VLCStyle.scale)
156
+                    primaryBlurRadius: VLCStyle.dp(18, VLCStyle.scale)
157
+
158
+                    secondaryColor: Qt.rgba(0, 0, 0, .22)
159
+                    secondaryVerticalOffset: VLCStyle.dp(32, VLCStyle.scale)
160
+                    secondaryBlurRadius: VLCStyle.dp(72, VLCStyle.scale)
161
+                }
162
             }
163
 
164
             Widgets.ScrollingText {
165
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/widgets/qml/ListCoverShadow.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/widgets/qml/ListCoverShadow.qml Changed
21
 
1
@@ -21,11 +21,16 @@
2
 
3
 import "qrc:///style/"
4
 
5
-CoverShadow {
6
+DoubleShadow {
7
     id: root
8
 
9
     primaryVerticalOffset: VLCStyle.dp(6, VLCStyle.scale)
10
-    primaryRadius: VLCStyle.dp(14, VLCStyle.scale)
11
+    primaryBlurRadius: VLCStyle.dp(14, VLCStyle.scale)
12
+    primaryColor: Qt.rgba(0, 0, 0, .22)
13
+
14
     secondaryVerticalOffset: VLCStyle.dp(1, VLCStyle.scale)
15
-    secondaryRadius: VLCStyle.dp(3, VLCStyle.scale)
16
+    secondaryBlurRadius: VLCStyle.dp(3, VLCStyle.scale)
17
+    secondaryColor: Qt.rgba(0, 0, 0, .18)
18
+
19
+    z: -1
20
 }
21
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/gui/qt/widgets/qml/TableColumns.qml -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/gui/qt/widgets/qml/TableColumns.qml Changed
9
 
1
@@ -53,7 +53,6 @@
2
             Layout.preferredWidth: root.titleCover_width
3
 
4
             ListCoverShadow {
5
-                source: cover
6
                 anchors.fill: cover
7
             }
8
 
9
_service:obs_scm:vlc-beta-20220701.91b6dd6cf1.obscpio/modules/packetizer/flac.c -> _service:obs_scm:vlc-beta-20220702.9979f075c9.obscpio/modules/packetizer/flac.c Changed
13
 
1
@@ -325,7 +325,10 @@
2
     if (!p_sys->b_stream_info)
3
         ProcessHeader(p_dec);
4
 
5
-    if (p_sys->stream_info.channels > 8) {
6
+    if (p_sys->stream_info.channels > 8)
7
+    {
8
+        if(in)
9
+            block_Release(in);
10
         msg_Err(p_dec, "This stream uses too many audio channels (%d > 8)",
11
             p_sys->stream_info.channels);
12
         return NULL;
13
_service:obs_scm:vlc-beta.obsinfo Changed
10
 
1
@@ -1,5 +1,5 @@
2
 name: vlc-beta
3
-version: 20220701.91b6dd6cf1
4
-mtime: 1656676887
5
-commit: 91b6dd6cf141542f0f35db2e4f3f4b24e21c8617
6
+version: 20220702.9979f075c9
7
+mtime: 1656785478
8
+commit: 9979f075c9b538dffd56d30e9571a9878a0a3bbd
9
 
10