[vlc-commits] [Git][videolan/vlc][master] 12 commits: macosx: Call VLCSliderCell methods directly in VLCSlider
Steve Lhomme (@robUx4)
gitlab at videolan.org
Fri Jan 20 11:07:54 UTC 2023
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
2b153197 by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Call VLCSliderCell methods directly in VLCSlider
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
c48206ba by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Stop customizing appearance of VLCSliderCell knob
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
894869e5 by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Simplify look and drawing procedure of VLCSliderCell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
feeca4bb by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Make duration slider static instead of resizing, ensure it has a minimum size that is reasonable, fixing constantly clipped knob
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
44a626a9 by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Stop overriding default behaviour of bar and knob flipping
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
b65a9b96 by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Give the control bar playback slider some top padding
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
b41604c7 by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Redesign the playback control bar for the library window
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
6261d2a2 by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Make song name and artist name be on the same line in library control bar
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
642bfcae by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Properly elide song name and artist name in library control bar
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
ed50789a by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Hide the song name / artist name separator if no artist name available
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
ab3c35e7 by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Ensure song/video name and artist combinations are properly center aligned to slider
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
2bcc1c12 by Claudio Cambra at 2023-01-20T10:28:09+00:00
macosx: Make isTimeRemaining member of VLCTimeField a public property
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
10 changed files:
- modules/gui/macosx/UI/VLCLibraryWindow.xib
- modules/gui/macosx/views/VLCSlider.h
- modules/gui/macosx/views/VLCSlider.m
- modules/gui/macosx/views/VLCSliderCell.h
- modules/gui/macosx/views/VLCSliderCell.m
- modules/gui/macosx/views/VLCTimeField.h
- modules/gui/macosx/views/VLCTimeField.m
- modules/gui/macosx/windows/mainwindow/VLCControlsBarCommon.h
- modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.h
- modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.m
Changes:
=====================================
modules/gui/macosx/UI/VLCLibraryWindow.xib
=====================================
@@ -19,24 +19,24 @@
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="196" y="240" width="896" height="456"/>
- <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1055"/>
+ <rect key="screenRect" x="0.0" y="0.0" width="1440" height="900"/>
<visualEffectView key="contentView" wantsLayer="YES" misplaced="YES" blendingMode="behindWindow" material="appearanceBased" state="followsWindowActiveState" id="EiT-Mj-1SZ">
<rect key="frame" x="0.0" y="0.0" width="896" height="456"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<splitView autosaveName="librarywindowsplitview" dividerStyle="thin" vertical="YES" translatesAutoresizingMaskIntoConstraints="NO" id="u8g-jy-S4e">
- <rect key="frame" x="0.0" y="81" width="896" height="138"/>
+ <rect key="frame" x="0.0" y="45" width="896" height="138"/>
<subviews>
- <customView misplaced="YES" id="iSp-bV-w6B" customClass="VLCBasicView">
+ <customView id="iSp-bV-w6B" customClass="VLCBasicView">
<rect key="frame" x="0.0" y="0.0" width="598" height="138"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</customView>
- <customView misplaced="YES" id="dus-WQ-AmE">
+ <customView id="dus-WQ-AmE">
<rect key="frame" x="599" y="0.0" width="297" height="138"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="TET-5r-zHx">
- <rect key="frame" x="18" y="102" width="66" height="31"/>
+ <rect key="frame" x="18" y="97" width="66" height="31"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="fo5-R8-TeO">
<font key="font" textStyle="largeTitle" name=".SFNS-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -44,7 +44,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mbV-My-cm7" customClass="VLCRoundedCornerTextField">
- <rect key="frame" x="153" y="110" width="37" height="16"/>
+ <rect key="frame" x="242" y="105" width="37" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="4hq-fU-NXW">
<font key="font" metaFont="message"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -52,22 +52,22 @@
</textFieldCell>
</textField>
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="qmL-Ar-cj1">
- <rect key="frame" x="20" y="92" width="168" height="5"/>
+ <rect key="frame" x="20" y="87" width="257" height="5"/>
</box>
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z7y-D0-11Q">
- <rect key="frame" x="0.0" y="68" width="208" height="18"/>
+ <rect key="frame" x="0.0" y="63" width="297" height="18"/>
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="Vdr-bg-tuS">
- <rect key="frame" x="0.0" y="0.0" width="208" height="18"/>
+ <rect key="frame" x="0.0" y="0.0" width="297" height="18"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="Fr1-af-8gb" customClass="VLCPlaylistTableView">
- <rect key="frame" x="0.0" y="0.0" width="208" height="19"/>
+ <rect key="frame" x="0.0" y="0.0" width="297" height="19"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
- <tableColumn width="176" minWidth="40" maxWidth="1000" id="gkH-E7-Nn4">
+ <tableColumn width="265" minWidth="40" maxWidth="1000" id="gkH-E7-Nn4">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
@@ -80,11 +80,11 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="3Pj-5C-4K4">
- <rect key="frame" x="11" y="1" width="185" height="17"/>
+ <rect key="frame" x="11" y="1" width="274" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="dY4-Im-HRr">
- <rect key="frame" x="0.0" y="1" width="185" height="16"/>
+ <rect key="frame" x="0.0" y="1" width="274" height="16"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="vlq-wz-y8v">
<font key="font" metaFont="message"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -122,10 +122,10 @@
</scroller>
</scrollView>
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="nAW-KH-ipk">
- <rect key="frame" x="20" y="57" width="168" height="5"/>
+ <rect key="frame" x="20" y="52" width="257" height="5"/>
</box>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jg5-33-vH0">
- <rect key="frame" x="20" y="20" width="24" height="24"/>
+ <rect key="frame" x="20" y="15" width="24" height="24"/>
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="shuffleOn" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="J31-h3-U4s">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -135,7 +135,7 @@
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8zF-Wo-H79">
- <rect key="frame" x="64" y="20" width="24" height="24"/>
+ <rect key="frame" x="64" y="15" width="24" height="24"/>
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="repeatOff" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="ol2-xi-TEm">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -145,7 +145,7 @@
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cih-xp-HmY">
- <rect key="frame" x="173" y="17" width="15" height="17"/>
+ <rect key="frame" x="262" y="12" width="15.5" height="17"/>
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="trash" catalog="system" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="OjM-W9-IrQ">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -155,18 +155,18 @@
</connections>
</button>
<customView hidden="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VFI-oW-dMZ" customClass="VLCDragDropView">
- <rect key="frame" x="0.0" y="60" width="208" height="34"/>
+ <rect key="frame" x="0.0" y="55" width="297" height="34"/>
<subviews>
<box boxType="custom" borderType="line" borderWidth="0.0" cornerRadius="10" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="AXk-h7-dZ0">
- <rect key="frame" x="37" y="-50" width="134" height="134"/>
+ <rect key="frame" x="81" y="-50" width="135" height="134"/>
<view key="contentView" id="NSp-cB-V4X">
- <rect key="frame" x="0.0" y="0.0" width="134" height="134"/>
+ <rect key="frame" x="0.0" y="0.0" width="135" height="134"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
</view>
<color key="borderColor" name="separatorColor" catalog="System" colorSpace="catalog"/>
</box>
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="cTV-Wf-TfJ" customClass="VLCDropDisabledImageView">
- <rect key="frame" x="48" y="-39" width="112" height="112"/>
+ <rect key="frame" x="93" y="-39" width="112" height="112"/>
<constraints>
<constraint firstAttribute="width" constant="112" id="IvG-i0-rbs"/>
<constraint firstAttribute="height" constant="112" id="dO8-Iv-pDk"/>
@@ -174,7 +174,7 @@
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="dropzone" id="sHO-XQ-hCU"/>
</imageView>
<button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="SWh-4E-Qtf">
- <rect key="frame" x="44" y="-87" width="120" height="32"/>
+ <rect key="frame" x="89" y="-87" width="119" height="32"/>
<buttonCell key="cell" type="push" title="Open media..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="UUH-HF-Iqc">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -196,7 +196,7 @@
</constraints>
</customView>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="244-FS-P3T">
- <rect key="frame" x="146" y="20" width="17" height="10"/>
+ <rect key="frame" x="236" y="15" width="16" height="10"/>
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="line.horizontal.3.decrease" catalog="system" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="qDZ-84-3uy">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -243,19 +243,19 @@
</holdingPriorities>
</splitView>
<visualEffectView blendingMode="withinWindow" material="titlebar" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="vUy-jt-gjY" customClass="VLCBottomBarView">
- <rect key="frame" x="0.0" y="0.0" width="896" height="81"/>
+ <rect key="frame" x="0.0" y="0.0" width="896" height="45"/>
<subviews>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="MQH-bI-Zdh" customClass="VLCDragDropView">
- <rect key="frame" x="0.0" y="0.0" width="896" height="81"/>
+ <rect key="frame" x="0.0" y="0.0" width="896" height="45"/>
<subviews>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="YAj-e7-KCU" userLabel="New play controls group ">
- <rect key="frame" x="308" y="0.0" width="280" height="76"/>
+ <rect key="frame" x="16" y="4" width="180" height="37"/>
<subviews>
<button translatesAutoresizingMaskIntoConstraints="NO" id="SYG-jf-oHJ" userLabel="Shuffle Button">
- <rect key="frame" x="6" y="28" width="30" height="20"/>
+ <rect key="frame" x="0.0" y="9" width="20" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="LX7-2l-Zub"/>
- <constraint firstAttribute="width" constant="30" id="b8L-ly-Ydj"/>
+ <constraint firstAttribute="width" constant="20" id="b8L-ly-Ydj"/>
</constraints>
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="shuffleOn" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="kIq-yj-yfU">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -263,10 +263,10 @@
</buttonCell>
</button>
<button translatesAutoresizingMaskIntoConstraints="NO" id="jGc-Xw-GYI" userLabel="Prev Button">
- <rect key="frame" x="66" y="23" width="20" height="30"/>
+ <rect key="frame" x="36" y="7" width="24" height="24"/>
<constraints>
- <constraint firstAttribute="height" constant="30" id="0T4-E0-vJm"/>
- <constraint firstAttribute="width" constant="20" id="abb-Z1-wB3"/>
+ <constraint firstAttribute="height" constant="24" id="0T4-E0-vJm"/>
+ <constraint firstAttribute="width" constant="24" id="abb-Z1-wB3"/>
</constraints>
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="VLCBackwardTemplate" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="wXL-JO-q9Q">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -277,10 +277,10 @@
</connections>
</button>
<button translatesAutoresizingMaskIntoConstraints="NO" id="WgO-zh-k4s" userLabel="Play Button">
- <rect key="frame" x="116" y="14" width="48" height="48"/>
+ <rect key="frame" x="76" y="5" width="28" height="28"/>
<constraints>
- <constraint firstAttribute="width" constant="48" id="SMx-UH-bYG"/>
- <constraint firstAttribute="height" constant="48" id="X5G-Of-T7b"/>
+ <constraint firstAttribute="width" constant="28" id="SMx-UH-bYG"/>
+ <constraint firstAttribute="height" constant="28" id="X5G-Of-T7b"/>
</constraints>
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="libraryPlay" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="UjH-mQ-ywb">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -291,10 +291,10 @@
</connections>
</button>
<button translatesAutoresizingMaskIntoConstraints="NO" id="dPD-MZ-5oT" userLabel="Next Button">
- <rect key="frame" x="194" y="28" width="30" height="20"/>
+ <rect key="frame" x="120" y="7" width="24" height="24"/>
<constraints>
- <constraint firstAttribute="height" constant="20" id="Idh-YB-yxU"/>
- <constraint firstAttribute="width" constant="30" id="eA3-ci-O1T"/>
+ <constraint firstAttribute="height" constant="24" id="Idh-YB-yxU"/>
+ <constraint firstAttribute="width" constant="24" id="eA3-ci-O1T"/>
</constraints>
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="VLCForwardTemplate" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="DYw-1X-kJ4">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -305,9 +305,9 @@
</connections>
</button>
<button translatesAutoresizingMaskIntoConstraints="NO" id="t4r-bt-Jxm" userLabel="Repeat Button">
- <rect key="frame" x="254" y="28" width="30" height="20"/>
+ <rect key="frame" x="160" y="9" width="20" height="20"/>
<constraints>
- <constraint firstAttribute="width" constant="30" id="V4c-eg-QOT"/>
+ <constraint firstAttribute="width" constant="20" id="V4c-eg-QOT"/>
<constraint firstAttribute="height" constant="20" id="Wom-ko-4Rp"/>
</constraints>
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="repeatOff" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="RJn-3f-SpX">
@@ -317,28 +317,84 @@
</button>
</subviews>
<constraints>
- <constraint firstItem="WgO-zh-k4s" firstAttribute="leading" secondItem="jGc-Xw-GYI" secondAttribute="trailing" constant="30" id="7Jh-Rk-goR"/>
+ <constraint firstItem="WgO-zh-k4s" firstAttribute="leading" secondItem="jGc-Xw-GYI" secondAttribute="trailing" constant="16" id="7Jh-Rk-goR"/>
<constraint firstItem="t4r-bt-Jxm" firstAttribute="centerY" secondItem="YAj-e7-KCU" secondAttribute="centerY" id="Fra-T2-IQx"/>
- <constraint firstItem="dPD-MZ-5oT" firstAttribute="leading" secondItem="WgO-zh-k4s" secondAttribute="trailing" constant="30" id="L7k-XW-mNm"/>
- <constraint firstAttribute="height" constant="76" id="VwH-6h-FMi"/>
+ <constraint firstItem="dPD-MZ-5oT" firstAttribute="leading" secondItem="WgO-zh-k4s" secondAttribute="trailing" constant="16" id="L7k-XW-mNm"/>
+ <constraint firstAttribute="trailing" secondItem="t4r-bt-Jxm" secondAttribute="trailing" id="W3e-SL-a7f"/>
<constraint firstItem="jGc-Xw-GYI" firstAttribute="centerY" secondItem="YAj-e7-KCU" secondAttribute="centerY" id="XTJ-tG-WAb"/>
<constraint firstItem="WgO-zh-k4s" firstAttribute="centerX" secondItem="YAj-e7-KCU" secondAttribute="centerX" id="dj3-Cx-RLd"/>
- <constraint firstItem="jGc-Xw-GYI" firstAttribute="leading" secondItem="SYG-jf-oHJ" secondAttribute="trailing" constant="30" id="f1r-vM-kxs"/>
+ <constraint firstItem="jGc-Xw-GYI" firstAttribute="leading" secondItem="SYG-jf-oHJ" secondAttribute="trailing" constant="16" id="f1r-vM-kxs"/>
<constraint firstItem="WgO-zh-k4s" firstAttribute="centerY" secondItem="YAj-e7-KCU" secondAttribute="centerY" id="g2R-aO-KbT"/>
<constraint firstItem="SYG-jf-oHJ" firstAttribute="centerY" secondItem="YAj-e7-KCU" secondAttribute="centerY" id="heY-1b-UBH"/>
- <constraint firstAttribute="width" constant="280" id="hhj-X3-LaX"/>
- <constraint firstItem="t4r-bt-Jxm" firstAttribute="leading" secondItem="dPD-MZ-5oT" secondAttribute="trailing" constant="30" id="lY4-vR-Qva"/>
+ <constraint firstItem="t4r-bt-Jxm" firstAttribute="leading" secondItem="dPD-MZ-5oT" secondAttribute="trailing" constant="16" id="lY4-vR-Qva"/>
<constraint firstItem="dPD-MZ-5oT" firstAttribute="centerY" secondItem="YAj-e7-KCU" secondAttribute="centerY" id="rCy-3x-EJD"/>
+ <constraint firstItem="SYG-jf-oHJ" firstAttribute="leading" secondItem="YAj-e7-KCU" secondAttribute="leading" id="vUG-bU-2ce"/>
</constraints>
</customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="jPd-RK-x9o" userLabel="New now playing group">
- <rect key="frame" x="0.0" y="0.0" width="303" height="76"/>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="Ktr-qT-1fr">
+ <rect key="frame" x="212" y="4" width="472" height="37"/>
<subviews>
+ <stackView distribution="fill" orientation="horizontal" alignment="centerY" spacing="4" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" horizontalCompressionResistancePriority="250" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jlv-jC-dQB">
+ <rect key="frame" x="175" y="21" width="164" height="16"/>
+ <subviews>
+ <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="d0e-29-yNq" userLabel="Song Name" customClass="VLCWrappableTextField">
+ <rect key="frame" x="-2" y="0.0" width="78" height="16"/>
+ <constraints>
+ <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="60" id="uah-Xv-MK9"/>
+ </constraints>
+ <textFieldCell key="cell" lineBreakMode="truncatingTail" alignment="right" title="Song Name" id="o4l-8l-eNX">
+ <font key="font" metaFont="systemBold"/>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
+ <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="XbZ-eQ-zmA">
+ <rect key="frame" x="76" y="0.0" width="14" height="16"/>
+ <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="·" id="iAI-Pb-eVu">
+ <font key="font" metaFont="systemBlack" size="13"/>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
+ <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="0jI-HH-uWa" userLabel="Artist Name" customClass="VLCWrappableTextField">
+ <rect key="frame" x="90" y="0.0" width="76" height="16"/>
+ <constraints>
+ <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="60" id="dVn-o0-6hg"/>
+ </constraints>
+ <textFieldCell key="cell" lineBreakMode="truncatingTail" alignment="left" title="Artist Name" id="n8Z-ER-5JE">
+ <font key="font" metaFont="system"/>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
+ </subviews>
+ <constraints>
+ <constraint firstAttribute="height" secondItem="d0e-29-yNq" secondAttribute="height" id="ppe-cg-mD0"/>
+ </constraints>
+ <visibilityPriorities>
+ <integer value="1000"/>
+ <integer value="1000"/>
+ <integer value="1000"/>
+ </visibilityPriorities>
+ <customSpacing>
+ <real value="3.4028234663852886e+38"/>
+ <real value="3.4028234663852886e+38"/>
+ <real value="3.4028234663852886e+38"/>
+ </customSpacing>
+ </stackView>
+ <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zOB-QJ-TUy" customClass="VLCTimeField">
+ <rect key="frame" x="43" y="0.0" width="35" height="13"/>
+ <textFieldCell key="cell" lineBreakMode="clipping" title="00:00" id="q8L-S3-Ylc">
+ <font key="font" metaFont="systemSemibold" size="10"/>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="5o7-Z0-dqS" userLabel="Artwork image view" customClass="VLCImageView">
- <rect key="frame" x="16" y="8" width="60" height="60"/>
+ <rect key="frame" x="0.0" y="0.0" width="37" height="37"/>
<subviews>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="15t-2s-22l">
- <rect key="frame" x="0.0" y="0.0" width="60" height="60"/>
+ <rect key="frame" x="0.0" y="0.0" width="37" height="37"/>
<buttonCell key="cell" type="bevel" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="jRw-La-BEz">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -349,168 +405,145 @@
</button>
</subviews>
<constraints>
+ <constraint firstAttribute="width" secondItem="5o7-Z0-dqS" secondAttribute="height" multiplier="1:1" id="0jj-cr-D72"/>
<constraint firstItem="15t-2s-22l" firstAttribute="top" secondItem="5o7-Z0-dqS" secondAttribute="top" id="AS7-P7-l0D"/>
<constraint firstItem="15t-2s-22l" firstAttribute="leading" secondItem="5o7-Z0-dqS" secondAttribute="leading" id="Aq6-SV-NCD"/>
- <constraint firstAttribute="height" constant="60" id="CtN-ax-WYl"/>
<constraint firstAttribute="bottom" secondItem="15t-2s-22l" secondAttribute="bottom" id="VGx-AQ-FZ1"/>
<constraint firstAttribute="trailing" secondItem="15t-2s-22l" secondAttribute="trailing" id="l3U-tz-a1t"/>
- <constraint firstAttribute="width" constant="60" id="oVs-dj-viy"/>
</constraints>
</customView>
- <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="d0e-29-yNq" userLabel="Song Name" customClass="VLCWrappableTextField">
- <rect key="frame" x="82" y="50" width="78" height="16"/>
- <textFieldCell key="cell" lineBreakMode="clipping" title="Song Name" id="o4l-8l-eNX">
- <font key="font" metaFont="systemBold"/>
- <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- </textField>
- <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0jI-HH-uWa" userLabel="Artist Name" customClass="VLCWrappableTextField">
- <rect key="frame" x="82" y="30" width="76" height="16"/>
- <textFieldCell key="cell" lineBreakMode="clipping" title="Artist Name" id="n8Z-ER-5JE">
- <font key="font" metaFont="system"/>
- <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- </textField>
- <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zOB-QJ-TUy" customClass="VLCTimeField">
- <rect key="frame" x="82" y="10" width="41" height="16"/>
- <textFieldCell key="cell" lineBreakMode="clipping" title="00:00" id="q8L-S3-Ylc">
- <font key="font" metaFont="system"/>
+ <slider hidden="YES" horizontalHuggingPriority="200" verticalHuggingPriority="750" verticalCompressionResistancePriority="751" mirrorLayoutDirectionWhenInternationalizing="never" translatesAutoresizingMaskIntoConstraints="NO" id="9Hg-t2-K5z" customClass="VLCSlider">
+ <rect key="frame" x="78" y="-2" width="357" height="17"/>
+ <sliderCell key="cell" controlSize="mini" continuous="YES" state="on" alignment="left" maxValue="1" doubleValue="0.32600000000000001" tickMarkPosition="above" sliderType="linear" id="YMg-uo-8nX" customClass="VLCSliderCell"/>
+ <connections>
+ <action selector="timeSliderAction:" target="Uzf-Tf-H8x" id="eDh-39-Ej1"/>
+ </connections>
+ </slider>
+ <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oGd-mG-cFw" customClass="VLCTimeField">
+ <rect key="frame" x="435" y="0.0" width="39" height="13"/>
+ <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" state="on" alignment="center" title="00:00" id="adD-oG-KsD">
+ <font key="font" metaFont="systemSemibold" size="10"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
- <constraint firstItem="0jI-HH-uWa" firstAttribute="top" secondItem="d0e-29-yNq" secondAttribute="bottom" constant="4" id="Cpg-ET-KJC"/>
- <constraint firstItem="zOB-QJ-TUy" firstAttribute="top" secondItem="0jI-HH-uWa" secondAttribute="bottom" constant="4" id="I6a-Y5-2vf"/>
- <constraint firstItem="zOB-QJ-TUy" firstAttribute="leading" secondItem="5o7-Z0-dqS" secondAttribute="trailing" constant="8" id="N3W-9q-vZV"/>
- <constraint firstItem="0jI-HH-uWa" firstAttribute="centerY" secondItem="5o7-Z0-dqS" secondAttribute="centerY" id="NOw-o1-Ut8"/>
- <constraint firstItem="5o7-Z0-dqS" firstAttribute="leading" secondItem="jPd-RK-x9o" secondAttribute="leading" constant="16" id="U2H-dF-neT"/>
- <constraint firstItem="d0e-29-yNq" firstAttribute="leading" secondItem="5o7-Z0-dqS" secondAttribute="trailing" constant="8" id="UZ6-Mm-3zG"/>
- <constraint firstItem="0jI-HH-uWa" firstAttribute="leading" secondItem="5o7-Z0-dqS" secondAttribute="trailing" constant="8" id="zCU-HX-05L"/>
- <constraint firstItem="5o7-Z0-dqS" firstAttribute="centerY" secondItem="jPd-RK-x9o" secondAttribute="centerY" id="zTg-xZ-ASx"/>
+ <constraint firstAttribute="trailing" secondItem="oGd-mG-cFw" secondAttribute="trailing" id="25y-hg-Obr"/>
+ <constraint firstItem="9Hg-t2-K5z" firstAttribute="trailing" secondItem="oGd-mG-cFw" secondAttribute="leading" constant="-4" id="6HG-39-dSt"/>
+ <constraint firstItem="5o7-Z0-dqS" firstAttribute="centerY" secondItem="Ktr-qT-1fr" secondAttribute="centerY" id="6rb-4H-ISj"/>
+ <constraint firstItem="zOB-QJ-TUy" firstAttribute="centerY" secondItem="9Hg-t2-K5z" secondAttribute="centerY" id="Egp-c6-x6Y"/>
+ <constraint firstItem="oGd-mG-cFw" firstAttribute="centerY" secondItem="9Hg-t2-K5z" secondAttribute="centerY" id="Gzr-dU-oMG"/>
+ <constraint firstItem="jlv-jC-dQB" firstAttribute="bottom" secondItem="9Hg-t2-K5z" secondAttribute="top" constant="-8" id="HiH-c5-MZq"/>
+ <constraint firstAttribute="bottom" secondItem="5o7-Z0-dqS" secondAttribute="bottom" id="Hui-Gh-xyv"/>
+ <constraint firstItem="jlv-jC-dQB" firstAttribute="top" secondItem="Ktr-qT-1fr" secondAttribute="top" id="ORY-q8-DFB"/>
+ <constraint firstItem="5o7-Z0-dqS" firstAttribute="top" secondItem="Ktr-qT-1fr" secondAttribute="top" id="Qmp-zE-IXn"/>
+ <constraint firstAttribute="bottom" secondItem="9Hg-t2-K5z" secondAttribute="bottom" id="UzQ-FS-i2L"/>
+ <constraint firstItem="5o7-Z0-dqS" firstAttribute="leading" secondItem="Ktr-qT-1fr" secondAttribute="leading" id="Zqk-vQ-rnV"/>
+ <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="jlv-jC-dQB" secondAttribute="trailing" constant="4" id="dE6-x3-y9L"/>
+ <constraint firstItem="jlv-jC-dQB" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="zOB-QJ-TUy" secondAttribute="leading" id="nyg-q0-uLs"/>
+ <constraint firstItem="zOB-QJ-TUy" firstAttribute="leading" secondItem="5o7-Z0-dqS" secondAttribute="trailing" constant="8" id="ob8-aS-evc"/>
+ <constraint firstItem="jlv-jC-dQB" firstAttribute="centerX" secondItem="9Hg-t2-K5z" secondAttribute="centerX" id="spW-Wf-nKA"/>
+ <constraint firstItem="9Hg-t2-K5z" firstAttribute="leading" secondItem="zOB-QJ-TUy" secondAttribute="trailing" constant="4" id="tjf-4h-ukW"/>
</constraints>
</customView>
- <slider hidden="YES" horizontalHuggingPriority="200" verticalHuggingPriority="750" mirrorLayoutDirectionWhenInternationalizing="never" translatesAutoresizingMaskIntoConstraints="NO" id="9Hg-t2-K5z" customClass="VLCSlider">
- <rect key="frame" x="-2" y="74" width="900" height="9"/>
- <constraints>
- <constraint firstAttribute="height" constant="5" identifier="heightConstraintIdentifier" id="yYi-ay-9FG"/>
- </constraints>
- <sliderCell key="cell" controlSize="small" continuous="YES" state="on" alignment="left" maxValue="1" doubleValue="0.32600000000000001" tickMarkPosition="above" sliderType="linear" id="YMg-uo-8nX" customClass="VLCSliderCell">
- <font key="font" usesAppearanceFont="YES"/>
- </sliderCell>
- <connections>
- <action selector="timeSliderAction:" target="Uzf-Tf-H8x" id="eDh-39-Ej1"/>
- </connections>
- </slider>
- <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oGd-mG-cFw" customClass="VLCTimeField">
- <rect key="frame" x="730" y="34" width="56" height="13"/>
- <constraints>
- <constraint firstAttribute="height" constant="13" id="ZpD-fD-qke"/>
- <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="52" id="aOU-Hc-ufI"/>
- </constraints>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" alignment="center" title="00:00" id="adD-oG-KsD">
- <font key="font" metaFont="system" size="10"/>
- <color key="textColor" white="0.25" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- </textField>
- <button translatesAutoresizingMaskIntoConstraints="NO" id="dwM-Uz-pAw" userLabel="Full Screen Button">
- <rect key="frame" x="872" y="33" width="16" height="16"/>
- <constraints>
- <constraint firstAttribute="width" constant="16" id="ZEc-3p-Cwt"/>
- <constraint firstAttribute="height" constant="16" id="e0o-op-5QK"/>
- </constraints>
- <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="fullscreen-one-button" imagePosition="only" alignment="center" alternateImage="fullscreen-one-button-pressed" imageScaling="proportionallyUpOrDown" id="fMb-sg-sZ1">
- <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
- <font key="font" metaFont="system"/>
- </buttonCell>
- <connections>
- <action selector="fullscreen:" target="Uzf-Tf-H8x" id="ayV-qE-Nmy"/>
- </connections>
- </button>
- <button translatesAutoresizingMaskIntoConstraints="NO" id="IAy-58-UPp">
- <rect key="frame" x="792" y="35" width="5" height="11"/>
- <constraints>
- <constraint firstAttribute="height" constant="11" id="VxM-zR-jQR"/>
- </constraints>
- <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="volume-low" imagePosition="only" alignment="center" id="qTN-dX-Oj5">
- <behavior key="behavior" lightByContents="YES"/>
- <font key="font" metaFont="system" size="10"/>
- </buttonCell>
- <connections>
- <action selector="volumeAction:" target="Uzf-Tf-H8x" id="ugn-Py-dV8"/>
- </connections>
- </button>
- <slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="noz-yJ-oH4" customClass="VLCVolumeSlider">
- <rect key="frame" x="798" y="32" width="52" height="17"/>
- <constraints>
- <constraint firstAttribute="width" constant="48" id="EM2-Hh-lqK"/>
- </constraints>
- <sliderCell key="cell" controlSize="mini" continuous="YES" alignment="left" maxValue="512" doubleValue="251.95348837209303" tickMarkPosition="above" sliderType="linear" id="IIu-VN-bEm" customClass="VLCVolumeSliderCell"/>
- <connections>
- <action selector="volumeAction:" target="Uzf-Tf-H8x" id="am0-Zu-eBs"/>
- </connections>
- </slider>
- <button translatesAutoresizingMaskIntoConstraints="NO" id="75c-FF-mgb">
- <rect key="frame" x="851" y="35" width="13" height="11"/>
- <constraints>
- <constraint firstAttribute="height" constant="11" id="Kt0-WP-qU0"/>
- </constraints>
- <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="volume-high" imagePosition="only" alignment="center" id="a9Z-7I-lXJ">
- <behavior key="behavior" lightByContents="YES"/>
- <font key="font" metaFont="system" size="10"/>
- </buttonCell>
- <connections>
- <action selector="volumeAction:" target="Uzf-Tf-H8x" id="8aL-jE-MXa"/>
- </connections>
- </button>
- <button ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cEC-SX-pks">
- <rect key="frame" x="97" y="29" width="29" height="23"/>
- <constraints>
- <constraint firstAttribute="height" constant="23" id="VRF-YR-kTr"/>
- </constraints>
- <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="stop" imagePosition="only" alignment="center" alternateImage="stop-pressed" enabled="NO" id="NEI-Es-D2A">
- <behavior key="behavior" lightByContents="YES"/>
- <font key="font" metaFont="system" size="10"/>
- </buttonCell>
- <connections>
- <action selector="stop:" target="Uzf-Tf-H8x" id="kMO-P8-eOG"/>
- </connections>
- </button>
+ <stackView distribution="fill" orientation="horizontal" alignment="centerY" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="S1K-Lp-DVO">
+ <rect key="frame" x="700" y="4" width="180" height="37"/>
+ <subviews>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="i42-vp-ih7">
+ <rect key="frame" x="0.0" y="0.0" width="156" height="37"/>
+ <subviews>
+ <slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="noz-yJ-oH4" customClass="VLCVolumeSlider">
+ <rect key="frame" x="52" y="10" width="52" height="17"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="48" id="EM2-Hh-lqK"/>
+ </constraints>
+ <sliderCell key="cell" controlSize="mini" continuous="YES" alignment="left" maxValue="512" doubleValue="251.95348837209303" tickMarkPosition="above" sliderType="linear" id="IIu-VN-bEm" customClass="VLCVolumeSliderCell"/>
+ <connections>
+ <action selector="volumeAction:" target="Uzf-Tf-H8x" id="am0-Zu-eBs"/>
+ </connections>
+ </slider>
+ <button translatesAutoresizingMaskIntoConstraints="NO" id="75c-FF-mgb">
+ <rect key="frame" x="106" y="13" width="13" height="11"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="11" id="Kt0-WP-qU0"/>
+ </constraints>
+ <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="volume-high" imagePosition="only" alignment="center" id="a9Z-7I-lXJ">
+ <behavior key="behavior" lightByContents="YES"/>
+ <font key="font" metaFont="system" size="10"/>
+ </buttonCell>
+ <connections>
+ <action selector="volumeAction:" target="Uzf-Tf-H8x" id="8aL-jE-MXa"/>
+ </connections>
+ </button>
+ <button translatesAutoresizingMaskIntoConstraints="NO" id="IAy-58-UPp">
+ <rect key="frame" x="45" y="13" width="5" height="11"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="11" id="VxM-zR-jQR"/>
+ </constraints>
+ <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="volume-low" imagePosition="only" alignment="center" id="qTN-dX-Oj5">
+ <behavior key="behavior" lightByContents="YES"/>
+ <font key="font" metaFont="system" size="10"/>
+ </buttonCell>
+ <connections>
+ <action selector="volumeAction:" target="Uzf-Tf-H8x" id="ugn-Py-dV8"/>
+ </connections>
+ </button>
+ </subviews>
+ <constraints>
+ <constraint firstItem="75c-FF-mgb" firstAttribute="leading" secondItem="noz-yJ-oH4" secondAttribute="trailing" constant="4" id="2Ot-bs-v7Q"/>
+ <constraint firstItem="75c-FF-mgb" firstAttribute="centerY" secondItem="noz-yJ-oH4" secondAttribute="centerY" id="9Oz-v1-KwH"/>
+ <constraint firstItem="noz-yJ-oH4" firstAttribute="centerX" secondItem="i42-vp-ih7" secondAttribute="centerX" id="KPm-J8-zuC"/>
+ <constraint firstItem="IAy-58-UPp" firstAttribute="centerY" secondItem="noz-yJ-oH4" secondAttribute="centerY" id="PGM-ud-0Wk"/>
+ <constraint firstItem="noz-yJ-oH4" firstAttribute="centerY" secondItem="i42-vp-ih7" secondAttribute="centerY" id="jfV-of-CoU"/>
+ <constraint firstItem="IAy-58-UPp" firstAttribute="trailing" secondItem="noz-yJ-oH4" secondAttribute="leading" constant="-4" id="nMU-2d-pO9"/>
+ </constraints>
+ </customView>
+ <button translatesAutoresizingMaskIntoConstraints="NO" id="dwM-Uz-pAw" userLabel="Full Screen Button">
+ <rect key="frame" x="164" y="11" width="16" height="16"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="16" id="ZEc-3p-Cwt"/>
+ <constraint firstAttribute="height" constant="16" id="e0o-op-5QK"/>
+ </constraints>
+ <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="fullscreen-one-button" imagePosition="only" alignment="center" alternateImage="fullscreen-one-button-pressed" imageScaling="proportionallyUpOrDown" id="fMb-sg-sZ1">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="system"/>
+ </buttonCell>
+ <connections>
+ <action selector="fullscreen:" target="Uzf-Tf-H8x" id="ayV-qE-Nmy"/>
+ </connections>
+ </button>
+ </subviews>
+ <visibilityPriorities>
+ <integer value="1000"/>
+ <integer value="1000"/>
+ </visibilityPriorities>
+ <customSpacing>
+ <real value="3.4028234663852886e+38"/>
+ <real value="3.4028234663852886e+38"/>
+ </customSpacing>
+ </stackView>
</subviews>
<constraints>
- <constraint firstItem="9Hg-t2-K5z" firstAttribute="top" secondItem="MQH-bI-Zdh" secondAttribute="top" id="2uE-Wc-re0"/>
- <constraint firstItem="dwM-Uz-pAw" firstAttribute="leading" secondItem="noz-yJ-oH4" secondAttribute="trailing" constant="24" id="A2S-l6-Vfg"/>
- <constraint firstItem="dwM-Uz-pAw" firstAttribute="centerY" secondItem="oGd-mG-cFw" secondAttribute="centerY" id="Brc-26-tG5"/>
- <constraint firstAttribute="bottom" secondItem="YAj-e7-KCU" secondAttribute="bottom" id="Gqk-sg-bBK"/>
- <constraint firstItem="75c-FF-mgb" firstAttribute="centerY" secondItem="noz-yJ-oH4" secondAttribute="centerY" id="HVh-uV-Ovg"/>
- <constraint firstItem="noz-yJ-oH4" firstAttribute="leading" secondItem="IAy-58-UPp" secondAttribute="trailing" constant="3" id="TH8-V3-URc"/>
- <constraint firstItem="YAj-e7-KCU" firstAttribute="centerX" secondItem="MQH-bI-Zdh" secondAttribute="centerX" id="TpX-rq-trT"/>
- <constraint firstAttribute="trailing" secondItem="dwM-Uz-pAw" secondAttribute="trailing" constant="8" id="UeR-IT-Q50"/>
- <constraint firstItem="75c-FF-mgb" firstAttribute="leading" secondItem="noz-yJ-oH4" secondAttribute="trailing" constant="3" id="Uqf-cR-gMY"/>
- <constraint firstItem="IAy-58-UPp" firstAttribute="centerY" secondItem="noz-yJ-oH4" secondAttribute="centerY" id="V9R-uE-YMc"/>
- <constraint firstItem="YAj-e7-KCU" firstAttribute="top" secondItem="9Hg-t2-K5z" secondAttribute="bottom" id="X1Y-Pq-59w"/>
- <constraint firstAttribute="trailing" secondItem="9Hg-t2-K5z" secondAttribute="trailing" id="nvr-gc-rDP"/>
- <constraint firstItem="jPd-RK-x9o" firstAttribute="leading" secondItem="MQH-bI-Zdh" secondAttribute="leading" id="oKT-1E-QX7"/>
- <constraint firstItem="jPd-RK-x9o" firstAttribute="top" secondItem="9Hg-t2-K5z" secondAttribute="bottom" id="rZa-KY-CyA"/>
- <constraint firstAttribute="bottom" secondItem="jPd-RK-x9o" secondAttribute="bottom" id="rlF-Zf-RxE"/>
- <constraint firstItem="dwM-Uz-pAw" firstAttribute="centerY" secondItem="MQH-bI-Zdh" secondAttribute="centerY" id="rld-Zd-Lbn"/>
- <constraint firstItem="IAy-58-UPp" firstAttribute="leading" secondItem="oGd-mG-cFw" secondAttribute="trailing" constant="8" id="sUV-dY-Ewu"/>
- <constraint firstItem="YAj-e7-KCU" firstAttribute="leading" secondItem="jPd-RK-x9o" secondAttribute="trailing" constant="5" id="tXr-ao-2n3"/>
- <constraint firstItem="9Hg-t2-K5z" firstAttribute="leading" secondItem="MQH-bI-Zdh" secondAttribute="leading" id="uou-Ww-Qp1"/>
- <constraint firstItem="noz-yJ-oH4" firstAttribute="centerY" secondItem="MQH-bI-Zdh" secondAttribute="centerY" id="w6O-Hd-4Hv"/>
+ <constraint firstItem="S1K-Lp-DVO" firstAttribute="top" secondItem="MQH-bI-Zdh" secondAttribute="top" constant="4" id="6BO-R7-IvY"/>
+ <constraint firstItem="Ktr-qT-1fr" firstAttribute="leading" secondItem="YAj-e7-KCU" secondAttribute="trailing" constant="16" id="9P6-Y4-CxW"/>
+ <constraint firstAttribute="bottom" secondItem="Ktr-qT-1fr" secondAttribute="bottom" constant="4" id="9pB-9C-2xy"/>
+ <constraint firstAttribute="trailing" secondItem="S1K-Lp-DVO" secondAttribute="trailing" constant="16" id="BUG-PH-qrw"/>
+ <constraint firstAttribute="bottom" secondItem="YAj-e7-KCU" secondAttribute="bottom" constant="4" id="Gqk-sg-bBK"/>
+ <constraint firstItem="S1K-Lp-DVO" firstAttribute="width" secondItem="YAj-e7-KCU" secondAttribute="width" id="NxM-eQ-3UW"/>
+ <constraint firstItem="Ktr-qT-1fr" firstAttribute="trailing" secondItem="S1K-Lp-DVO" secondAttribute="leading" constant="-16" id="hN9-7W-Mx1"/>
+ <constraint firstAttribute="bottom" secondItem="S1K-Lp-DVO" secondAttribute="bottom" constant="4" id="qCf-Co-yI1"/>
+ <constraint firstItem="YAj-e7-KCU" firstAttribute="top" secondItem="MQH-bI-Zdh" secondAttribute="top" constant="4" id="sIM-7y-JNq"/>
+ <constraint firstItem="Ktr-qT-1fr" firstAttribute="top" secondItem="MQH-bI-Zdh" secondAttribute="top" constant="4" id="t0h-f6-FGO"/>
+ <constraint firstItem="YAj-e7-KCU" firstAttribute="leading" secondItem="MQH-bI-Zdh" secondAttribute="leading" constant="16" id="tkj-nh-Tfb"/>
</constraints>
</customView>
</subviews>
<constraints>
+ <constraint firstAttribute="bottom" secondItem="MQH-bI-Zdh" secondAttribute="bottom" id="Uo1-sD-OXk"/>
<constraint firstItem="MQH-bI-Zdh" firstAttribute="leading" secondItem="vUy-jt-gjY" secondAttribute="leading" id="YVB-nY-sHE"/>
<constraint firstAttribute="trailing" secondItem="MQH-bI-Zdh" secondAttribute="trailing" id="aBH-H2-ykp"/>
- <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="76" id="bev-so-NF9"/>
<constraint firstItem="MQH-bI-Zdh" firstAttribute="top" secondItem="vUy-jt-gjY" secondAttribute="top" id="kba-GQ-94a"/>
- <constraint firstAttribute="bottom" secondItem="MQH-bI-Zdh" secondAttribute="bottom" id="lBe-S3-sJr"/>
</constraints>
</visualEffectView>
<visualEffectView misplaced="YES" blendingMode="withinWindow" material="titlebar" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="6gW-0d-ymm" userLabel="Option Bar">
@@ -746,6 +779,7 @@
<customObject id="Uzf-Tf-H8x" userLabel="Detached Window Controls Bar" customClass="VLCMainWindowControlsBar">
<connections>
<outlet property="artistNameTextField" destination="0jI-HH-uWa" id="ftC-MD-ymJ"/>
+ <outlet property="artistNameTextFieldWidthConstraint" destination="dVn-o0-6hg" id="f7h-af-ae8"/>
<outlet property="artworkButton" destination="15t-2s-22l" id="aR1-bU-1to"/>
<outlet property="artworkImageView" destination="5o7-Z0-dqS" id="Pns-yT-lKx"/>
<outlet property="backwardButton" destination="jGc-Xw-GYI" id="0AG-44-SN3"/>
@@ -753,12 +787,11 @@
<outlet property="dropView" destination="MQH-bI-Zdh" id="Wz9-NB-wtE"/>
<outlet property="forwardButton" destination="dPD-MZ-5oT" id="btH-v5-s7F"/>
<outlet property="fullscreenButton" destination="dwM-Uz-pAw" id="gXA-WS-Gig"/>
- <outlet property="nowPlayingView" destination="jPd-RK-x9o" id="O7Z-tH-RMZ"/>
<outlet property="playButton" destination="WgO-zh-k4s" id="0yC-Yh-H4V"/>
<outlet property="repeatButton" destination="t4r-bt-Jxm" id="U7s-Tb-Ado"/>
<outlet property="shuffleButton" destination="SYG-jf-oHJ" id="b4m-v0-sC9"/>
+ <outlet property="songArtistSeparatorTextField" destination="XbZ-eQ-zmA" id="lh8-I7-g90"/>
<outlet property="songNameTextField" destination="d0e-29-yNq" id="JTI-XG-miC"/>
- <outlet property="stopButton" destination="cEC-SX-pks" id="AJE-gb-v0o"/>
<outlet property="timeField" destination="zOB-QJ-TUy" id="mJL-1V-2lQ"/>
<outlet property="timeSlider" destination="9Hg-t2-K5z" id="sVe-s8-xW6"/>
<outlet property="volumeDownButton" destination="IAy-58-UPp" id="dDN-pE-Vmj"/>
@@ -773,14 +806,14 @@
<scrollView horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GUe-Sd-j2l">
<rect key="frame" x="0.0" y="0.0" width="869" height="808"/>
<clipView key="contentView" id="mqU-ND-NId">
- <rect key="frame" x="1" y="1" width="852" height="806"/>
+ <rect key="frame" x="1" y="1" width="867" height="806"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view translatesAutoresizingMaskIntoConstraints="NO" id="fxG-zK-eLG">
- <rect key="frame" x="0.0" y="806" width="836" height="0.0"/>
+ <rect key="frame" x="0.0" y="806" width="851" height="0.0"/>
<subviews>
<stackView distribution="fill" orientation="vertical" alignment="leading" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="y8S-p5-jaq">
- <rect key="frame" x="0.0" y="0.0" width="836" height="0.0"/>
+ <rect key="frame" x="0.0" y="0.0" width="851" height="0.0"/>
</stackView>
</subviews>
<constraints>
@@ -802,7 +835,7 @@
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="hqo-ev-Oma">
- <rect key="frame" x="853" y="1" width="15" height="806"/>
+ <rect key="frame" x="852" y="1" width="16" height="806"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
@@ -814,7 +847,7 @@
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<clipView key="contentView" id="OqR-YY-weT">
<rect key="frame" x="0.0" y="0.0" width="230" height="808"/>
- <autoresizingMask key="autoresizingMask"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" viewBased="YES" id="ceR-Vd-9ss">
<rect key="frame" x="0.0" y="0.0" width="230" height="808"/>
@@ -873,7 +906,7 @@
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<clipView key="contentView" id="0td-vX-CFl">
<rect key="frame" x="0.0" y="0.0" width="638" height="808"/>
- <autoresizingMask key="autoresizingMask"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" tableStyle="fullWidth" columnReordering="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="8M4-Y1-r6Z" customClass="VLCLibraryTableView">
<rect key="frame" x="0.0" y="0.0" width="638" height="808"/>
@@ -953,7 +986,7 @@
<rect key="frame" x="0.0" y="0.0" width="528" height="371"/>
<clipView key="contentView" id="5co-vI-cEn">
<rect key="frame" x="0.0" y="0.0" width="528" height="371"/>
- <autoresizingMask key="autoresizingMask"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" viewBased="YES" id="vpJ-Oz-Ebz" customClass="VLCLibraryTableView">
<rect key="frame" x="0.0" y="0.0" width="528" height="371"/>
@@ -1011,7 +1044,7 @@
<rect key="frame" x="0.0" y="0.0" width="528" height="371"/>
<clipView key="contentView" id="tI4-x3-55j">
<rect key="frame" x="0.0" y="0.0" width="528" height="371"/>
- <autoresizingMask key="autoresizingMask"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<collectionView selectable="YES" id="r7v-GI-W1U">
<rect key="frame" x="0.0" y="0.0" width="528" height="371"/>
@@ -1319,11 +1352,11 @@
<scrollView autohidesScrollers="YES" horizontalLineScroll="17" horizontalPageScroll="10" verticalLineScroll="17" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QqV-hX-sZw">
<rect key="frame" x="0.0" y="0.0" width="714" height="358"/>
<clipView key="contentView" id="D1c-vg-zeA">
- <rect key="frame" x="1" y="1" width="712" height="341"/>
+ <rect key="frame" x="1" y="1" width="712" height="356"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView identifier="VLCLibrarySongsTableViewIdentifier" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" rowSizeStyle="automatic" headerView="LR0-xA-UlZ" viewBased="YES" id="Xck-iv-pH4" customClass="VLCLibraryTableView">
- <rect key="frame" x="0.0" y="0.0" width="1125" height="313"/>
+ <rect key="frame" x="0.0" y="0.0" width="1125" height="328"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="17" height="0.0"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -1590,7 +1623,7 @@
</subviews>
</clipView>
<scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="2VX-c2-fRL">
- <rect key="frame" x="1" y="342" width="712" height="15"/>
+ <rect key="frame" x="1" y="341" width="712" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="NFb-XZ-MAv">
@@ -1666,25 +1699,23 @@
</customView>
</objects>
<resources>
- <image name="NSHomeTemplate" width="24" height="20"/>
- <image name="NSIconViewTemplate" width="19" height="17"/>
- <image name="NSLeftFacingTriangleTemplate" width="12" height="16"/>
- <image name="NSListViewTemplate" width="21" height="14"/>
- <image name="NSRightFacingTriangleTemplate" width="12" height="16"/>
+ <image name="NSHomeTemplate" width="24" height="21"/>
+ <image name="NSIconViewTemplate" width="19" height="18"/>
+ <image name="NSLeftFacingTriangleTemplate" width="12" height="17"/>
+ <image name="NSListViewTemplate" width="21" height="15"/>
+ <image name="NSRightFacingTriangleTemplate" width="12" height="17"/>
<image name="VLC" width="512" height="512"/>
<image name="VLCBackwardTemplate" width="128" height="128"/>
<image name="VLCForwardTemplate" width="128" height="128"/>
- <image name="arrow.up.arrow.down" catalog="system" width="19" height="15"/>
+ <image name="arrow.up.arrow.down" catalog="system" width="18" height="15"/>
<image name="dropzone" width="112" height="112"/>
<image name="fullscreen-one-button" width="29" height="23"/>
<image name="fullscreen-one-button-pressed" width="29" height="23"/>
<image name="libraryPlay" width="64" height="64"/>
- <image name="line.horizontal.3.decrease" catalog="system" width="17" height="10"/>
- <image name="music.note.list" catalog="system" width="17" height="15"/>
+ <image name="line.horizontal.3.decrease" catalog="system" width="16" height="10"/>
+ <image name="music.note.list" catalog="system" width="16" height="15"/>
<image name="repeatOff" width="24" height="24"/>
<image name="shuffleOn" width="24" height="24"/>
- <image name="stop" width="29" height="23"/>
- <image name="stop-pressed" width="29" height="23"/>
<image name="trash" catalog="system" width="15" height="17"/>
<image name="volume-high" width="13" height="11"/>
<image name="volume-low" width="5" height="11"/>
=====================================
modules/gui/macosx/views/VLCSlider.h
=====================================
@@ -30,7 +30,4 @@
/* Indicates if the slider is scrollable with the mouse or trackpad scrollwheel. */
@property (readwrite) BOOL isScrollable;
-- (void)setSliderStyleLight;
-- (void)setSliderStyleDark;
-
@end
=====================================
modules/gui/macosx/views/VLCSlider.m
=====================================
@@ -25,26 +25,6 @@
#import "extensions/NSView+VLCAdditions.h"
#import "views/VLCSliderCell.h"
-static NSString *const kHeightConstraintIdentifier = @"heightConstraintIdentifier";
-
-static inline void mouseEnteredOrExited(NSLayoutConstraint *const __unsafe_unretained heightConstraint,
- const BOOL eventIsEntered)
-{
- [NSAnimationContext beginGrouping];
-
- NSAnimationContext.currentContext.duration = 0.2;
- heightConstraint.animator.constant = eventIsEntered ? 10.0 : 5.0;
-
- [NSAnimationContext endGrouping];
-}
-
- at interface VLCSlider ()
-{
- NSTrackingArea *_trackingArea;
- NSLayoutConstraint *_heightConstraint;
-}
- at end
-
@implementation VLCSlider
- (instancetype)initWithCoder:(NSCoder *)coder
@@ -58,23 +38,9 @@ static inline void mouseEnteredOrExited(NSLayoutConstraint *const __unsafe_unret
if (@available(macOS 10.14, *)) {
[self viewDidChangeEffectiveAppearance];
} else {
- [self setSliderStyleLight];
+ [(VLCSliderCell*)self.cell setSliderStyleLight];
}
-
- dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0), ^(){
- for (NSLayoutConstraint *constraint in self.constraints) {
- if ([constraint.identifier isEqualToString:kHeightConstraintIdentifier]) {
- self->_heightConstraint = constraint;
- self->_trackingArea = [[NSTrackingArea alloc] initWithRect:NSZeroRect
- options:NSTrackingMouseEnteredAndExited | NSTrackingActiveInKeyWindow | NSTrackingInVisibleRect
- owner:self
- userInfo:nil];
-
- [self addTrackingArea:self->_trackingArea];
- break;
- }
- }
- });
+
}
return self;
}
@@ -140,40 +106,13 @@ static inline void mouseEnteredOrExited(NSLayoutConstraint *const __unsafe_unret
return NO;
}
-- (void)setSliderStyleLight
-{
- [(VLCSliderCell*)[self cell] setSliderStyleLight];
-}
-
-- (void)setSliderStyleDark
-{
- [(VLCSliderCell*)[self cell] setSliderStyleDark];
-}
-
- (void)viewDidChangeEffectiveAppearance
{
if (self.shouldShowDarkAppearance) {
- [self setSliderStyleDark];
+ [(VLCSliderCell*)self.cell setSliderStyleDark];
} else {
- [self setSliderStyleLight];
- }
-}
-
-#pragma mark - Mouse Events
-
-- (void)mouseEntered:(NSEvent *)event
-{
- if (self.isKnobHidden || __builtin_expect(_heightConstraint == nil, false)) {
- return;
- }
- mouseEnteredOrExited(_heightConstraint, YES);
-}
-- (void)mouseExited:(NSEvent *)event
-{
- if (self.isKnobHidden || __builtin_expect(_heightConstraint == nil, false)) {
- return;
+ [(VLCSliderCell*)self.cell setSliderStyleLight];
}
- mouseEnteredOrExited(_heightConstraint, NO);
}
@end
=====================================
modules/gui/macosx/views/VLCSliderCell.h
=====================================
@@ -29,20 +29,13 @@
@property NSColor *gradientColor2;
@property NSColor *trackStrokeColor;
@property NSColor *filledTrackColor;
- at property NSColor *knobFillColor;
- at property NSColor *activeKnobFillColor;
@property NSColor *shadowColor;
- at property NSColor *knobStrokeColor;
@property NSColor *highlightBackground;
// Gradients
@property NSGradient *trackGradient;
@property NSGradient *highlightGradient;
-// Shadows
- at property NSShadow *knobShadow;
-
-
@property NSInteger animationWidth;
@property (nonatomic, setter=setIndefinite:) BOOL indefinite;
=====================================
modules/gui/macosx/views/VLCSliderCell.m
=====================================
@@ -33,6 +33,8 @@
double _lastTime;
double _deltaToLastFrame;
CVDisplayLinkRef _displayLink;
+
+ NSColor *_emptySliderBackgroundColor;
}
@end
@@ -52,74 +54,12 @@
- (void)setSliderStyleLight
{
- // Color Declarations
- _gradientColor = [NSColor colorWithCalibratedRed: 0.663 green: 0.663 blue: 0.663 alpha: 1];
- _gradientColor2 = [NSColor colorWithCalibratedRed: 0.749 green: 0.749 blue: 0.753 alpha: 1];
- _trackStrokeColor = [NSColor colorWithCalibratedRed: 0.619 green: 0.624 blue: 0.623 alpha: 1];
- _filledTrackColor = [NSColor VLCSliderFillColor];
- _knobFillColor = [NSColor colorWithCalibratedRed: 1 green: 1 blue: 1 alpha: 1];
- _activeKnobFillColor = [NSColor colorWithCalibratedRed: 0.95 green: 0.95 blue: 0.95 alpha: 1];
- _shadowColor = [NSColor colorWithCalibratedRed: 0.32 green: 0.32 blue: 0.32 alpha: 1];
- _knobStrokeColor = [NSColor colorWithCalibratedRed: 0.592 green: 0.596 blue: 0.596 alpha: 1];
-
- // Gradient Declarations
- _trackGradient = [[NSGradient alloc] initWithColorsAndLocations:
- _gradientColor, 0.0,
- [_gradientColor blendedColorWithFraction:0.5 ofColor:_gradientColor2], 0.60,
- _gradientColor2, 1.0, nil];
-
- // Shadow Declarations
- _knobShadow = [[NSShadow alloc] init];
- _knobShadow.shadowColor = _shadowColor;
- _knobShadow.shadowOffset = NSMakeSize(0, 0);
- _knobShadow.shadowBlurRadius = 2;
-
- _highlightBackground = [NSColor colorWithCalibratedRed:0.20 green:0.55 blue:0.91 alpha:1.0];
- NSColor *highlightAccent = [NSColor colorWithCalibratedRed:0.4588235294 green:0.7254901961 blue:0.9882352941 alpha:1.0];
- _highlightGradient = [[NSGradient alloc] initWithColors:@[
- _highlightBackground,
- highlightAccent,
- _highlightBackground
- ]];
+ _emptySliderBackgroundColor = [NSColor VLCSliderLightBackgroundColor];
}
- (void)setSliderStyleDark
{
- // Color Declarations
- if (@available(macOS 10.14, *)) {
- _gradientColor2 = [NSColor colorWithCalibratedRed: 0.20 green: 0.20 blue: 0.20 alpha: 1];
- _knobFillColor = [NSColor colorWithCalibratedRed: 0.81 green: 0.81 blue: 0.81 alpha: 1];
- _activeKnobFillColor = [NSColor colorWithCalibratedRed: 0.76 green: 0.76 blue: 0.76 alpha: 1];
- } else {
- _gradientColor2 = [NSColor colorWithCalibratedRed: 0.24 green: 0.24 blue: 0.24 alpha: 1];
- _knobFillColor = [NSColor colorWithCalibratedRed: 1 green: 1 blue: 1 alpha: 1];
- _activeKnobFillColor = [NSColor colorWithCalibratedRed: 0.95 green: 0.95 blue: 0.95 alpha: 1];
- }
- _gradientColor = [NSColor colorWithCalibratedRed: 0.15 green: 0.15 blue: 0.15 alpha: 1];
- _trackStrokeColor = [NSColor colorWithCalibratedRed: 0.23 green: 0.23 blue: 0.23 alpha: 1];
- _filledTrackColor = [NSColor VLCSliderFillColor];
- _shadowColor = [NSColor colorWithCalibratedRed: 0.32 green: 0.32 blue: 0.32 alpha: 1];
- _knobStrokeColor = [NSColor colorWithCalibratedRed: 0.592 green: 0.596 blue: 0.596 alpha: 1];
-
- // Gradient Declarations
- _trackGradient = [[NSGradient alloc] initWithColorsAndLocations:
- _gradientColor, 0.0,
- [_gradientColor blendedColorWithFraction:0.5 ofColor:_gradientColor2], 0.60,
- _gradientColor2, 1.0, nil];
-
- // Shadow Declarations
- _knobShadow = [[NSShadow alloc] init];
- _knobShadow.shadowColor = _shadowColor;
- _knobShadow.shadowOffset = NSMakeSize(0, 0);
- _knobShadow.shadowBlurRadius = 2;
-
- _highlightBackground = [NSColor colorWithCalibratedRed:0.20 green:0.55 blue:0.91 alpha:1.0];
- NSColor *highlightAccent = [NSColor colorWithCalibratedRed:0.4588235294 green:0.7254901961 blue:0.9882352941 alpha:1.0];
- _highlightGradient = [[NSGradient alloc] initWithColors:@[
- _highlightBackground,
- highlightAccent,
- _highlightBackground
- ]];
+ _emptySliderBackgroundColor = [NSColor VLCSliderDarkBackgroundColor];
}
- (void)dealloc
@@ -159,81 +99,30 @@ static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeSt
CVDisplayLinkSetOutputCallback(_displayLink, DisplayLinkCallback, (__bridge void*) self);
}
-- (double)myNormalizedDouble
-{
- double min;
- double max;
- double current;
-
- min = [self minValue];
- max = [self maxValue];
- current = [self doubleValue];
-
- max -= min;
- current -= min;
-
- return current / max;
-}
-
-- (NSRect)knobRectFlipped:(BOOL)flipped
-{
- NSRect barRect = [self barRectFlipped:NO];
- CGFloat knobThickness = barRect.size.height;
- double val = [self myNormalizedDouble];
-
- NSRect rect = NSMakeRect((NSWidth(barRect) - knobThickness) * val, 0, knobThickness, knobThickness);
- return [[self controlView] backingAlignedRect:rect options:NSAlignAllEdgesNearest];
-}
-
#pragma mark -
#pragma mark Normal slider drawing
- (void)drawKnob:(NSRect)knobRect
{
- if (_isKnobHidden)
+ if (_isKnobHidden) {
return;
-
- // Draw knob
- NSBezierPath* knobPath = [NSBezierPath bezierPathWithOvalInRect:NSInsetRect(knobRect, 1.0, 1.0)];
- if (self.isHighlighted) {
- [_activeKnobFillColor setFill];
- } else {
- [_knobFillColor setFill];
}
- [knobPath fill];
-
- [_knobStrokeColor setStroke];
- knobPath.lineWidth = 0.5;
-
- [NSGraphicsContext saveGraphicsState];
- if (self.isHighlighted)
- [_knobShadow set];
- [knobPath stroke];
- [NSGraphicsContext restoreGraphicsState];
-}
-
-- (NSRect)barRectFlipped:(BOOL)flipped
-{
- return [[self controlView] bounds];
+ [super drawKnob:knobRect];
}
- (void)drawBarInside:(NSRect)rect flipped:(BOOL)flipped
{
- // Inset rect
- rect = NSInsetRect(rect, 1.0, 1.0);
-
- rect = [[self controlView] backingAlignedRect:rect options:NSAlignAllEdgesNearest];
+ const CGFloat trackBorderRadius = 1;
// Empty Track Drawing
- NSBezierPath* emptyTrackPath = [NSBezierPath bezierPathWithRoundedRect:rect xRadius:3 yRadius:3];
-
- [_trackGradient vlc_safeDrawInBezierPath:emptyTrackPath angle:-90];
+ NSBezierPath* emptyTrackPath = [NSBezierPath bezierPathWithRoundedRect:rect
+ xRadius:trackBorderRadius
+ yRadius:trackBorderRadius];
+ [_emptySliderBackgroundColor setFill];
+ [emptyTrackPath fill];
if (_isKnobHidden) {
- [_trackStrokeColor setStroke];
- emptyTrackPath.lineWidth = 1;
- [emptyTrackPath stroke];
return;
}
@@ -243,17 +132,12 @@ static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeSt
filledTrackRect.size.width = knobRect.origin.x + (knobRect.size.width / 2);
// Filled Track Drawing
- CGFloat filledTrackCornerRadius = 2;
NSBezierPath* filledTrackPath = [NSBezierPath bezierPathWithRoundedRect:filledTrackRect
- xRadius:filledTrackCornerRadius
- yRadius:filledTrackCornerRadius];
+ xRadius:trackBorderRadius
+ yRadius:trackBorderRadius];
- [_filledTrackColor setFill];
+ [[NSColor VLCAccentColor] setFill];
[filledTrackPath fill];
-
- [_trackStrokeColor setStroke];
- emptyTrackPath.lineWidth = 1;
- [emptyTrackPath stroke];
}
#pragma mark -
=====================================
modules/gui/macosx/views/VLCTimeField.h
=====================================
@@ -34,6 +34,8 @@ extern NSString *VLCTimeFieldDisplayTimeAsRemaining;
@interface VLCTimeField : NSTextField
+ at property (readwrite, assign, nonatomic) BOOL isTimeRemaining;
+
- (void)setRemainingIdentifier:(NSString *)identifier;
- (void)setTime:(NSString *)time withRemainingTime:(NSString *)remainingTime;
=====================================
modules/gui/macosx/views/VLCTimeField.m
=====================================
@@ -6,6 +6,7 @@
* Authors: Jon Lech Johansen <jon-vl at nanocrew.net>
* Felix Paul Kühne <fkuehne at videolan dot org>
* Marvin Scholz <epirat07 at gmail dot com>
+ * Claudio Cambra <developer at claudiocambra dot com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -32,14 +33,13 @@ NSString *VLCTimeFieldDisplayTimeAsRemaining = @"DisplayTimeAsTimeRemaining";
@interface VLCTimeField ()
{
NSString *_identifier;
- BOOL _isTimeRemaining;
-
NSString *_cachedTime;
NSString *_remainingTime;
}
@end
@implementation VLCTimeField
+
+ (void)initialize
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
@@ -57,23 +57,28 @@ NSString *VLCTimeFieldDisplayTimeAsRemaining = @"DisplayTimeAsTimeRemaining";
_isTimeRemaining = [[NSUserDefaults standardUserDefaults] boolForKey:_identifier];
}
+- (void)setIsTimeRemaining:(BOOL)isTimeRemaining
+{
+ if (_identifier) {
+ _isTimeRemaining = [[NSUserDefaults standardUserDefaults] boolForKey:_identifier];
+ _isTimeRemaining = !_isTimeRemaining;
+ [[NSUserDefaults standardUserDefaults] setObject:(_isTimeRemaining ? @"YES" : @"NO") forKey:_identifier];
+ } else {
+ _isTimeRemaining = !_isTimeRemaining;
+ }
+
+ [self updateTimeValue];
+}
+
- (void)mouseDown: (NSEvent *)ourEvent
{
- if ( [ourEvent clickCount] > 1 )
+ if ( [ourEvent clickCount] > 1 ) {
[[[VLCMain sharedInstance] mainMenu] goToSpecificTime: nil];
- else
- {
- if (_identifier) {
- _isTimeRemaining = [[NSUserDefaults standardUserDefaults] boolForKey:_identifier];
- _isTimeRemaining = !_isTimeRemaining;
- [[NSUserDefaults standardUserDefaults] setObject:(_isTimeRemaining ? @"YES" : @"NO") forKey:_identifier];
- } else {
- _isTimeRemaining = !_isTimeRemaining;
- }
-
- [self updateTimeValue];
+ } else {
+ self.isTimeRemaining = !self.isTimeRemaining;
}
+ [self updateTimeValue];
[[self nextResponder] mouseDown:ourEvent];
}
=====================================
modules/gui/macosx/windows/mainwindow/VLCControlsBarCommon.h
=====================================
@@ -71,5 +71,6 @@
- (IBAction)timeSliderAction:(id)sender;
- (IBAction)fullscreen:(id)sender;
+- (void)updateTimeSlider:(NSNotification *)aNotification;
@end
=====================================
modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.h
=====================================
@@ -40,6 +40,9 @@
@property (readwrite, strong) IBOutlet NSButton *prevButton;
@property (readwrite, strong) IBOutlet NSButton *nextButton;
+ at property (readwrite, strong) IBOutlet NSLayoutConstraint *artistNameTextFieldWidthConstraint;
+
+ at property (readwrite, strong) IBOutlet NSTextField *songArtistSeparatorTextField;
@property (readwrite, strong) IBOutlet VLCVolumeSlider *volumeSlider;
@property (readwrite, strong) IBOutlet NSButton *volumeDownButton;
@property (readwrite, strong) IBOutlet NSButton *volumeUpButton;
=====================================
modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.m
=====================================
@@ -25,11 +25,17 @@
#import "VLCControlsBarCommon.h"
#import "extensions/NSString+Helpers.h"
+
+#import "library/VLCInputItem.h"
#import "library/VLCLibraryWindow.h"
+
#import "main/VLCMain.h"
+
#import "playlist/VLCPlaylistController.h"
#import "playlist/VLCPlayerController.h"
+
#import "views/VLCVolumeSlider.h"
+#import "views/VLCWrappableTextField.h"
/*****************************************************************************
* VLCMainWindowControlsBar
@@ -130,6 +136,19 @@
#pragma mark -
#pragma mark Extra updaters
+- (void)updateTimeSlider:(NSNotification *)aNotification
+{
+ [super updateTimeSlider:aNotification];
+
+ VLCInputItem *inputItem = _playerController.currentMedia;
+ if (inputItem == nil) {
+ return;
+ }
+
+ _artistNameTextFieldWidthConstraint.active = inputItem.artist.length != 0;
+ _songArtistSeparatorTextField.hidden = inputItem.artist.length == 0;
+}
+
- (void)updateVolumeSlider:(NSNotification *)aNotification
{
float f_volume = _playerController.volume;
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6d7ce21912cf87aa58012ad484b14be853236a38...2bcc1c1288a1b4cd68fff48661e7ee7c65308bbc
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6d7ce21912cf87aa58012ad484b14be853236a38...2bcc1c1288a1b4cd68fff48661e7ee7c65308bbc
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list