[vlc-commits] [Git][videolan/vlc][master] 10 commits: macosx: Make string building for formatted year/duration string more easily extensible

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Feb 22 13:48:42 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
d58854a6 by Claudio Cambra at 2025-02-22T12:26:25+00:00
macosx: Make string building for formatted year/duration string more easily extensible

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
5f5a7cb0 by Claudio Cambra at 2025-02-22T12:26:25+00:00
macosx: Display media type and subtype in supplementary detail view for media library items

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
1d33dee9 by Claudio Cambra at 2025-02-22T12:26:25+00:00
macosx: Make text fields in media library item supplementary detail view more vertically flexible

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
2a73292e by Claudio Cambra at 2025-02-22T12:26:25+00:00
macosx: Display summary in media library item supplementary view

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
a6314956 by Claudio Cambra at 2025-02-22T12:26:25+00:00
macosx: Universally adopt 10px bottom padding for internal contents of media library item supplementary detail view

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
1f567eaa by Claudio Cambra at 2025-02-22T12:26:25+00:00
macosx: Use already-accessed actualItem when acquiring mediaItemLabels

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
a68f4a7a by Claudio Cambra at 2025-02-22T12:26:25+00:00
macosx: Do not show duration twice in supplementary detail view

Sometimes the primary detail string on a media library media item and
the duration string, so don't add the duration string onto the smaller
text field if this is the case

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
e5c0447f by Claudio Cambra at 2025-02-22T12:26:25+00:00
macosx: Add director and actors information to media item supplementary detail view

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
cfe33784 by Claudio Cambra at 2025-02-22T12:26:25+00:00
macosx: Display disc number in supplementary detail view for media item

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
f11f8090 by Claudio Cambra at 2025-02-22T12:26:25+00:00
macosx: Make the path title in the media item supplementary detail field a button

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -


3 changed files:

- modules/gui/macosx/UI/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.xib
- modules/gui/macosx/library/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.h
- modules/gui/macosx/library/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.m


Changes:

=====================================
modules/gui/macosx/UI/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.xib
=====================================
@@ -10,27 +10,27 @@
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
         <customObject id="-3" userLabel="Application" customClass="NSObject"/>
         <view id="HAc-or-XD8" customClass="VLCLibraryCollectionViewMediaItemSupplementaryDetailView">
-            <rect key="frame" x="0.0" y="0.0" width="1097" height="255"/>
+            <rect key="frame" x="0.0" y="0.0" width="801" height="300"/>
             <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
             <subviews>
                 <stackView distribution="fill" orientation="horizontal" alignment="top" spacing="20" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="FWp-yd-2Pm">
-                    <rect key="frame" x="10" y="0.0" width="1077" height="225"/>
+                    <rect key="frame" x="10" y="10" width="781" height="260"/>
                     <subviews>
                         <stackView distribution="equalCentering" orientation="vertical" alignment="leading" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="TOx-1e-6D9">
-                            <rect key="frame" x="0.0" y="10" width="180" height="215"/>
+                            <rect key="frame" x="0.0" y="0.0" width="225" height="260"/>
                             <subviews>
                                 <imageView horizontalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="xZd-Hk-h2M" customClass="VLCImageView">
-                                    <rect key="frame" x="0.0" y="35" width="180" height="180"/>
+                                    <rect key="frame" x="0.0" y="35" width="225" height="225"/>
                                     <constraints>
                                         <constraint firstAttribute="width" secondItem="xZd-Hk-h2M" secondAttribute="height" multiplier="1:1" id="6yq-tW-e4k"/>
                                     </constraints>
                                     <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="axesIndependently" image="no-art" id="6X6-Og-u8A"/>
                                 </imageView>
                                 <stackView distribution="fillEqually" orientation="horizontal" alignment="top" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" verticalHuggingPriority="1000" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6Nc-Mb-wDa">
-                                    <rect key="frame" x="0.0" y="0.0" width="180" height="30"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="225" height="30"/>
                                     <subviews>
                                         <button imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ntd-VT-2KS">
-                                            <rect key="frame" x="-6" y="-4" width="94" height="40"/>
+                                            <rect key="frame" x="-6" y="-4" width="122" height="40"/>
                                             <buttonCell key="cell" type="push" title=" Play" bezelStyle="rounded" image="play.fill" catalog="system" imagePosition="left" alignment="center" controlSize="large" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Rgc-Uk-A3h">
                                                 <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                 <font key="font" metaFont="system"/>
@@ -41,7 +41,7 @@
                                             </connections>
                                         </button>
                                         <button imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="idL-3a-QaA">
-                                            <rect key="frame" x="81" y="-4" width="105" height="40"/>
+                                            <rect key="frame" x="109" y="-4" width="122" height="40"/>
                                             <buttonCell key="cell" type="push" title=" Enqueue" bezelStyle="rounded" image="plus" catalog="system" imagePosition="left" alignment="center" controlSize="large" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="igY-iu-P0N">
                                                 <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                 <font key="font" metaFont="system"/>
@@ -80,10 +80,10 @@
                             </customSpacing>
                         </stackView>
                         <stackView distribution="fillEqually" orientation="vertical" alignment="leading" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" horizontalCompressionResistancePriority="250" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bw7-QB-Ssc">
-                            <rect key="frame" x="200" y="94" width="877" height="131"/>
+                            <rect key="frame" x="245" y="0.0" width="536" height="260"/>
                             <subviews>
                                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nCe-dY-YMM">
-                                    <rect key="frame" x="-2" y="105" width="167" height="26"/>
+                                    <rect key="frame" x="-2" y="234" width="167" height="26"/>
                                     <textFieldCell key="cell" lineBreakMode="truncatingTail" title="Media item name" id="6RM-x8-Y4y">
                                         <font key="font" textStyle="title1" name=".SFNS-Regular"/>
                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -91,7 +91,7 @@
                                     </textFieldCell>
                                 </textField>
                                 <stackView distribution="fill" orientation="horizontal" alignment="top" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JzZ-K9-xaP">
-                                    <rect key="frame" x="0.0" y="147" width="877" height="16"/>
+                                    <rect key="frame" x="0.0" y="213" width="536" height="16"/>
                                     <subviews>
                                         <button horizontalHuggingPriority="750" verticalHuggingPriority="750" horizontalCompressionResistancePriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="S5i-gd-zkt">
                                             <rect key="frame" x="0.0" y="0.0" width="196" height="16"/>
@@ -108,7 +108,7 @@
                                             </connections>
                                         </button>
                                         <button verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="9CH-03-Iu3">
-                                            <rect key="frame" x="201" y="0.0" width="655" height="16"/>
+                                            <rect key="frame" x="201" y="0.0" width="314" height="16"/>
                                             <buttonCell key="cell" type="bevel" title="Media item secondary detail string" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" imageScaling="proportionallyDown" inset="2" id="wPH-tu-Uw1">
                                                 <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                 <font key="font" metaFont="system"/>
@@ -122,7 +122,7 @@
                                             </connections>
                                         </button>
                                         <button horizontalHuggingPriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="5Ul-IA-Mco">
-                                            <rect key="frame" x="861" y="-2.5" width="16" height="21"/>
+                                            <rect key="frame" x="520" y="-2.5" width="16" height="21"/>
                                             <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="heart" catalog="system" imagePosition="only" alignment="center" alternateImage="heart.fill" imageScaling="proportionallyUpOrDown" inset="2" id="Gzu-E8-QAA">
                                                 <behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
                                                 <font key="font" metaFont="system"/>
@@ -149,39 +149,55 @@
                                     </customSpacing>
                                 </stackView>
                                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QuO-3G-BMT">
-                                    <rect key="frame" x="-2" y="126" width="94" height="16"/>
+                                    <rect key="frame" x="-2" y="192" width="196" height="16"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="16" id="8hg-2f-fip"/>
                                     </constraints>
-                                    <textFieldCell key="cell" lineBreakMode="clipping" title="Year · Duration" id="JBg-wo-ZeE">
+                                    <textFieldCell key="cell" lineBreakMode="clipping" title="Year · Duration · Type · Subtype" id="JBg-wo-ZeE">
                                         <font key="font" metaFont="system"/>
                                         <color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                     </textFieldCell>
                                 </textField>
                                 <stackView distribution="fill" orientation="horizontal" alignment="top" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fiJ-9f-ecF">
-                                    <rect key="frame" x="0.0" y="0.0" width="870" height="142"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="536" height="187"/>
                                     <subviews>
                                         <stackView distribution="fill" orientation="vertical" alignment="leading" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fRH-zv-BlF">
-                                            <rect key="frame" x="0.0" y="0.0" width="79" height="142"/>
+                                            <rect key="frame" x="0.0" y="3" width="79" height="184"/>
                                             <subviews>
                                                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="jeT-l1-TZw">
-                                                    <rect key="frame" x="-2" y="126" width="83" height="16"/>
+                                                    <rect key="frame" x="-2" y="168" width="83" height="16"/>
                                                     <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="Rating:" id="vin-X5-wQH">
                                                         <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 focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="uhm-9P-6qk">
-                                                    <rect key="frame" x="-2" y="105" width="83" height="16"/>
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="uhm-9P-6qk">
+                                                    <rect key="frame" x="-2" y="147" width="83" height="16"/>
                                                     <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="Labels:" id="FCe-hT-5o4">
                                                         <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 focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="1000" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="HYi-e3-j6K">
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="oO9-wF-WH8">
+                                                    <rect key="frame" x="-2" y="126" width="83" height="16"/>
+                                                    <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="Director:" id="BBS-7L-2Av">
+                                                        <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 focusRingType="none" horizontalHuggingPriority="251" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="kQq-KE-Eg7">
+                                                    <rect key="frame" x="-2" y="105" width="83" height="16"/>
+                                                    <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="Actors:" id="a1D-I2-1oI">
+                                                        <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 focusRingType="none" horizontalHuggingPriority="251" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="HYi-e3-j6K">
                                                     <rect key="frame" x="-2" y="84" width="83" height="16"/>
                                                     <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="Copyright:" id="FTb-8c-Kqq">
                                                         <font key="font" metaFont="systemBold"/>
@@ -189,7 +205,7 @@
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                     </textFieldCell>
                                                 </textField>
-                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="1000" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="F6B-1v-Bg2">
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="F6B-1v-Bg2">
                                                     <rect key="frame" x="-2" y="63" width="83" height="16"/>
                                                     <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="Last played:" id="LfQ-yR-UiL">
                                                         <font key="font" metaFont="systemBold"/>
@@ -197,7 +213,7 @@
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                     </textFieldCell>
                                                 </textField>
-                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="1000" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="O20-fr-lHb">
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="O20-fr-lHb">
                                                     <rect key="frame" x="-2" y="42" width="83" height="16"/>
                                                     <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="Content:" id="LdZ-IF-3FI">
                                                         <font key="font" metaFont="systemBold"/>
@@ -205,7 +221,7 @@
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                     </textFieldCell>
                                                 </textField>
-                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="1000" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="NZk-WW-Uay">
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="NZk-WW-Uay">
                                                     <rect key="frame" x="-2" y="21" width="83" height="16"/>
                                                     <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="File name:" id="CyQ-Ao-mup">
                                                         <font key="font" metaFont="systemBold"/>
@@ -213,23 +229,28 @@
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                     </textFieldCell>
                                                 </textField>
-                                                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="hEf-79-49a">
-                                                    <rect key="frame" x="-2" y="0.0" width="83" height="16"/>
-                                                    <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="Path:" id="a9t-Zw-74U">
+                                                <button imageHugsTitle="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DPs-b2-1We">
+                                                    <rect key="frame" x="23" y="0.0" width="56" height="16"/>
+                                                    <buttonCell key="cell" type="inline" title="Path:" bezelStyle="inline" image="arrow.up.right.circle.fill" catalog="system" imagePosition="leading" alignment="right" state="on" imageScaling="proportionallyDown" inset="2" id="L32-8T-032">
+                                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                         <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>
+                                                    </buttonCell>
+                                                    <color key="contentTintColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                    <connections>
+                                                        <action selector="openPathAction:" target="HAc-or-XD8" id="4qa-Cp-3z6"/>
+                                                    </connections>
+                                                </button>
                                             </subviews>
                                             <constraints>
+                                                <constraint firstAttribute="trailing" secondItem="oO9-wF-WH8" secondAttribute="trailing" id="4lG-eg-Jph"/>
                                                 <constraint firstAttribute="trailing" secondItem="O20-fr-lHb" secondAttribute="trailing" id="Avk-mZ-kvV"/>
                                                 <constraint firstAttribute="trailing" secondItem="HYi-e3-j6K" secondAttribute="trailing" id="B2m-08-6Of"/>
                                                 <constraint firstAttribute="trailing" secondItem="jeT-l1-TZw" secondAttribute="trailing" id="Bn3-s2-Uym"/>
-                                                <constraint firstAttribute="trailing" secondItem="hEf-79-49a" secondAttribute="trailing" id="DCM-2G-n54"/>
                                                 <constraint firstAttribute="trailing" secondItem="F6B-1v-Bg2" secondAttribute="trailing" id="HeU-cb-dP6"/>
+                                                <constraint firstAttribute="trailing" secondItem="kQq-KE-Eg7" secondAttribute="trailing" id="Qck-Zs-gY3"/>
                                                 <constraint firstAttribute="trailing" secondItem="uhm-9P-6qk" secondAttribute="trailing" id="qug-q4-wUc"/>
                                                 <constraint firstAttribute="trailing" secondItem="NZk-WW-Uay" secondAttribute="trailing" id="r3e-pC-d3V"/>
+                                                <constraint firstAttribute="trailing" secondItem="DPs-b2-1We" secondAttribute="trailing" id="sne-CC-z6F"/>
                                             </constraints>
                                             <visibilityPriorities>
                                                 <integer value="1000"/>
@@ -239,6 +260,8 @@
                                                 <integer value="1000"/>
                                                 <integer value="1000"/>
                                                 <integer value="1000"/>
+                                                <integer value="1000"/>
+                                                <integer value="1000"/>
                                             </visibilityPriorities>
                                             <customSpacing>
                                                 <real value="3.4028234663852886e+38"/>
@@ -248,62 +271,80 @@
                                                 <real value="3.4028234663852886e+38"/>
                                                 <real value="3.4028234663852886e+38"/>
                                                 <real value="3.4028234663852886e+38"/>
+                                                <real value="3.4028234663852886e+38"/>
+                                                <real value="3.4028234663852886e+38"/>
                                             </customSpacing>
                                         </stackView>
                                         <stackView distribution="fill" orientation="vertical" alignment="leading" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="B2d-Zo-xAO">
-                                            <rect key="frame" x="84" y="0.0" width="786" height="142"/>
+                                            <rect key="frame" x="84" y="3" width="173" height="184"/>
                                             <subviews>
-                                                <levelIndicator verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lYc-WP-hlc">
-                                                    <rect key="frame" x="0.0" y="126" width="60" height="16"/>
+                                                <levelIndicator verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="lYc-WP-hlc">
+                                                    <rect key="frame" x="0.0" y="168" width="60" height="16"/>
                                                     <levelIndicatorCell key="cell" editable="YES" alignment="left" doubleValue="5" maxValue="5" levelIndicatorStyle="rating" id="bi9-yf-v6w"/>
                                                     <color key="fillColor" name="systemYellowColor" catalog="System" colorSpace="catalog"/>
                                                     <connections>
                                                         <action selector="ratingAction:" target="HAc-or-XD8" id="K0H-Ga-hji"/>
                                                     </connections>
                                                 </levelIndicator>
-                                                <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="HyO-9K-R7L">
-                                                    <rect key="frame" x="-2" y="105" width="790" height="16"/>
-                                                    <textFieldCell key="cell" title="Label" id="eIz-b2-2PE">
+                                                <textField focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="HyO-9K-R7L">
+                                                    <rect key="frame" x="-2" y="147" width="177" height="16"/>
+                                                    <textFieldCell key="cell" truncatesLastVisibleLine="YES" title="Label" id="eIz-b2-2PE">
+                                                        <font key="font" usesAppearanceFont="YES"/>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                                <textField focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="aRP-nR-Yap">
+                                                    <rect key="frame" x="-2" y="126" width="177" height="16"/>
+                                                    <textFieldCell key="cell" truncatesLastVisibleLine="YES" title="Label" id="TjH-ih-cf4">
+                                                        <font key="font" usesAppearanceFont="YES"/>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                                <textField focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="obm-oY-7sg">
+                                                    <rect key="frame" x="-2" y="105" width="177" height="16"/>
+                                                    <textFieldCell key="cell" truncatesLastVisibleLine="YES" title="Label" id="Ol9-wS-pWn">
                                                         <font key="font" usesAppearanceFont="YES"/>
                                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                     </textFieldCell>
                                                 </textField>
-                                                <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ebt-AQ-LWK">
+                                                <textField focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="ebt-AQ-LWK">
                                                     <rect key="frame" x="-2" y="84" width="37" height="16"/>
-                                                    <textFieldCell key="cell" title="Label" id="e2M-0W-dC5">
+                                                    <textFieldCell key="cell" truncatesLastVisibleLine="YES" title="Label" id="e2M-0W-dC5">
                                                         <font key="font" usesAppearanceFont="YES"/>
                                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                     </textFieldCell>
                                                 </textField>
-                                                <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="YBs-Jb-5di">
+                                                <textField focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="YBs-Jb-5di">
                                                     <rect key="frame" x="-2" y="63" width="37" height="16"/>
-                                                    <textFieldCell key="cell" title="Label" id="LfQ-cN-QlF">
+                                                    <textFieldCell key="cell" truncatesLastVisibleLine="YES" title="Label" id="LfQ-cN-QlF">
                                                         <font key="font" usesAppearanceFont="YES"/>
                                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                     </textFieldCell>
                                                 </textField>
-                                                <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2wD-n8-ITx">
+                                                <textField focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="2wD-n8-ITx">
                                                     <rect key="frame" x="-2" y="42" width="37" height="16"/>
-                                                    <textFieldCell key="cell" title="Label" id="d5Z-Y4-LbO">
+                                                    <textFieldCell key="cell" truncatesLastVisibleLine="YES" title="Label" id="d5Z-Y4-LbO">
                                                         <font key="font" usesAppearanceFont="YES"/>
                                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                     </textFieldCell>
                                                 </textField>
-                                                <textField focusRingType="none" verticalHuggingPriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="VxL-BW-3eh">
-                                                    <rect key="frame" x="-2" y="21" width="790" height="16"/>
-                                                    <textFieldCell key="cell" title="Label" id="Pzf-s3-rHC">
+                                                <textField focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="VxL-BW-3eh">
+                                                    <rect key="frame" x="-2" y="21" width="177" height="16"/>
+                                                    <textFieldCell key="cell" truncatesLastVisibleLine="YES" title="Label" id="Pzf-s3-rHC">
                                                         <font key="font" usesAppearanceFont="YES"/>
                                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                     </textFieldCell>
                                                 </textField>
-                                                <textField focusRingType="none" verticalHuggingPriority="750" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="7gY-3s-Kay">
-                                                    <rect key="frame" x="-2" y="0.0" width="790" height="16"/>
-                                                    <textFieldCell key="cell" title="Label" id="3XB-SJ-5ia">
+                                                <textField focusRingType="none" horizontalCompressionResistancePriority="250" verticalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="7gY-3s-Kay">
+                                                    <rect key="frame" x="-2" y="0.0" width="177" height="16"/>
+                                                    <textFieldCell key="cell" truncatesLastVisibleLine="YES" title="Label" id="3XB-SJ-5ia">
                                                         <font key="font" usesAppearanceFont="YES"/>
                                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -311,9 +352,11 @@
                                                 </textField>
                                             </subviews>
                                             <constraints>
+                                                <constraint firstAttribute="trailing" secondItem="aRP-nR-Yap" secondAttribute="trailing" id="9Ha-iP-xDS"/>
                                                 <constraint firstAttribute="trailing" secondItem="HyO-9K-R7L" secondAttribute="trailing" id="cCG-L1-mXP"/>
                                                 <constraint firstAttribute="trailing" secondItem="VxL-BW-3eh" secondAttribute="trailing" id="pfn-eL-Fht"/>
                                                 <constraint firstAttribute="trailing" secondItem="7gY-3s-Kay" secondAttribute="trailing" id="r8P-vM-Um5"/>
+                                                <constraint firstAttribute="trailing" secondItem="obm-oY-7sg" secondAttribute="trailing" id="zNW-b8-VGa"/>
                                             </constraints>
                                             <visibilityPriorities>
                                                 <integer value="1000"/>
@@ -323,6 +366,8 @@
                                                 <integer value="1000"/>
                                                 <integer value="1000"/>
                                                 <integer value="1000"/>
+                                                <integer value="1000"/>
+                                                <integer value="1000"/>
                                             </visibilityPriorities>
                                             <customSpacing>
                                                 <real value="3.4028234663852886e+38"/>
@@ -332,32 +377,85 @@
                                                 <real value="3.4028234663852886e+38"/>
                                                 <real value="3.4028234663852886e+38"/>
                                                 <real value="3.4028234663852886e+38"/>
+                                                <real value="3.4028234663852886e+38"/>
+                                                <real value="3.4028234663852886e+38"/>
+                                            </customSpacing>
+                                        </stackView>
+                                        <box horizontalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="nte-55-oZ5">
+                                            <rect key="frame" x="260" y="0.0" width="5" height="187"/>
+                                        </box>
+                                        <stackView distribution="fill" orientation="vertical" alignment="leading" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gGl-6E-i7b">
+                                            <rect key="frame" x="268" y="0.0" width="268" height="187"/>
+                                            <subviews>
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="iEb-aU-icd">
+                                                    <rect key="frame" x="-2" y="171" width="272" height="16"/>
+                                                    <constraints>
+                                                        <constraint firstAttribute="height" constant="16" id="wIS-sR-h60"/>
+                                                    </constraints>
+                                                    <textFieldCell key="cell" lineBreakMode="clipping" alignment="left" title="Summary" id="Uk4-V4-xX7">
+                                                        <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 focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" verticalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="QnU-w3-Go4">
+                                                    <rect key="frame" x="-2" y="0.0" width="272" height="166"/>
+                                                    <textFieldCell key="cell" truncatesLastVisibleLine="YES" alignment="left" id="dhP-XZ-0Nn">
+                                                        <font key="font" metaFont="system"/>
+                                                        <mutableString key="title">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin tristique tortor vitae enim pretium tempus. Vestibulum molestie elit justo, vitae ultrices felis eleifend in. Maecenas ligula lorem, porta eget purus in, lacinia molestie ex. Pellentesque condimentum sollicitudin elit, ut faucibus velit hendrerit vel. Mauris vitae est non mauris efficitur ornare. Mauris sit amet tempor diam, sed efficitur elit. Nunc euismod sagittis ex, ac vulputate nisi placerat et. Nullam et ipsum et turpis lobortis feugiat. Suspendisse hendrerit nibh quis est egestas, a accumsan erat posuere. Suspendisse volutpat sagittis laoreet. Curabitur sed ante volutpat justo feugiat vestibulum et ultrices massa.</mutableString>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                            </subviews>
+                                            <constraints>
+                                                <constraint firstAttribute="trailing" secondItem="iEb-aU-icd" secondAttribute="trailing" id="RM7-fC-3va"/>
+                                                <constraint firstAttribute="trailing" secondItem="QnU-w3-Go4" secondAttribute="trailing" id="ZgP-9x-Jbe"/>
+                                            </constraints>
+                                            <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="uhm-9P-6qk" firstAttribute="bottom" secondItem="HyO-9K-R7L" secondAttribute="bottom" id="0vs-gO-P5e"/>
+                                        <constraint firstItem="nte-55-oZ5" firstAttribute="top" secondItem="fiJ-9f-ecF" secondAttribute="top" id="2qN-VG-JuO"/>
                                         <constraint firstItem="uhm-9P-6qk" firstAttribute="top" secondItem="HyO-9K-R7L" secondAttribute="top" id="3dP-TU-v2E"/>
-                                        <constraint firstItem="hEf-79-49a" firstAttribute="bottom" secondItem="7gY-3s-Kay" secondAttribute="bottom" id="Bvn-kU-xuu"/>
                                         <constraint firstItem="jeT-l1-TZw" firstAttribute="top" secondItem="lYc-WP-hlc" secondAttribute="top" id="Ffu-Mn-19g"/>
                                         <constraint firstItem="O20-fr-lHb" firstAttribute="bottom" secondItem="2wD-n8-ITx" secondAttribute="bottom" id="G7j-y4-CwL"/>
+                                        <constraint firstItem="obm-oY-7sg" firstAttribute="bottom" secondItem="kQq-KE-Eg7" secondAttribute="bottom" id="NHr-q0-RPl"/>
                                         <constraint firstItem="NZk-WW-Uay" firstAttribute="top" secondItem="VxL-BW-3eh" secondAttribute="top" id="QOE-m7-Pdx"/>
                                         <constraint firstItem="HYi-e3-j6K" firstAttribute="top" secondItem="ebt-AQ-LWK" secondAttribute="top" id="TiH-vu-J5J"/>
                                         <constraint firstItem="HYi-e3-j6K" firstAttribute="bottom" secondItem="ebt-AQ-LWK" secondAttribute="bottom" id="XCf-hC-7Hi"/>
+                                        <constraint firstItem="aRP-nR-Yap" firstAttribute="top" secondItem="oO9-wF-WH8" secondAttribute="top" id="XUo-cz-WT2"/>
                                         <constraint firstItem="F6B-1v-Bg2" firstAttribute="top" secondItem="YBs-Jb-5di" secondAttribute="top" id="cza-bY-cLb"/>
+                                        <constraint firstItem="obm-oY-7sg" firstAttribute="top" secondItem="kQq-KE-Eg7" secondAttribute="top" id="fB7-27-aVv"/>
                                         <constraint firstItem="F6B-1v-Bg2" firstAttribute="bottom" secondItem="YBs-Jb-5di" secondAttribute="bottom" id="hJz-J5-u8P"/>
-                                        <constraint firstItem="hEf-79-49a" firstAttribute="top" secondItem="7gY-3s-Kay" secondAttribute="top" id="sdd-55-2C8"/>
+                                        <constraint firstItem="aRP-nR-Yap" firstAttribute="bottom" secondItem="oO9-wF-WH8" secondAttribute="bottom" id="hW1-4U-bjt"/>
+                                        <constraint firstItem="gGl-6E-i7b" firstAttribute="width" secondItem="fiJ-9f-ecF" secondAttribute="width" multiplier="0.5" id="p7F-3O-kNE"/>
+                                        <constraint firstAttribute="bottom" secondItem="nte-55-oZ5" secondAttribute="bottom" id="tRf-Wy-VCr"/>
                                         <constraint firstItem="NZk-WW-Uay" firstAttribute="bottom" secondItem="VxL-BW-3eh" secondAttribute="bottom" id="uLS-za-6mQ"/>
                                         <constraint firstItem="jeT-l1-TZw" firstAttribute="bottom" secondItem="lYc-WP-hlc" secondAttribute="bottom" id="wPe-Gj-Utf"/>
+                                        <constraint firstItem="gGl-6E-i7b" firstAttribute="top" secondItem="fiJ-9f-ecF" secondAttribute="top" id="ws3-XE-Ula"/>
+                                        <constraint firstItem="DPs-b2-1We" firstAttribute="top" secondItem="7gY-3s-Kay" secondAttribute="top" id="yYq-Ae-K3M"/>
                                         <constraint firstItem="O20-fr-lHb" firstAttribute="top" secondItem="2wD-n8-ITx" secondAttribute="top" id="ysc-b4-DWV"/>
                                     </constraints>
                                     <visibilityPriorities>
                                         <integer value="1000"/>
                                         <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"/>
+                                        <real value="3.4028234663852886e+38"/>
                                     </customSpacing>
                                 </stackView>
                             </subviews>
@@ -381,8 +479,8 @@
                     </subviews>
                     <constraints>
                         <constraint firstItem="TOx-1e-6D9" firstAttribute="top" secondItem="FWp-yd-2Pm" secondAttribute="top" id="7hM-jR-3N3"/>
-                        <constraint firstAttribute="bottom" secondItem="TOx-1e-6D9" secondAttribute="bottom" constant="10" id="bdR-rj-nKk"/>
-                        <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="bw7-QB-Ssc" secondAttribute="bottom" id="elF-5e-5LQ"/>
+                        <constraint firstAttribute="bottom" secondItem="TOx-1e-6D9" secondAttribute="bottom" id="bdR-rj-nKk"/>
+                        <constraint firstAttribute="bottom" secondItem="bw7-QB-Ssc" secondAttribute="bottom" id="elF-5e-5LQ"/>
                         <constraint firstAttribute="trailing" secondItem="bw7-QB-Ssc" secondAttribute="trailing" id="uvg-NE-l4m"/>
                         <constraint firstItem="TOx-1e-6D9" firstAttribute="leading" secondItem="FWp-yd-2Pm" secondAttribute="leading" id="vAN-Ww-VKA"/>
                         <constraint firstItem="bw7-QB-Ssc" firstAttribute="top" secondItem="FWp-yd-2Pm" secondAttribute="top" id="xYi-0p-Tii"/>
@@ -400,7 +498,7 @@
             <constraints>
                 <constraint firstItem="FWp-yd-2Pm" firstAttribute="leading" secondItem="HAc-or-XD8" secondAttribute="leading" constant="10" id="D62-3E-aDO"/>
                 <constraint firstItem="FWp-yd-2Pm" firstAttribute="top" secondItem="HAc-or-XD8" secondAttribute="top" constant="30" id="Mr1-w0-CQK"/>
-                <constraint firstAttribute="bottom" secondItem="FWp-yd-2Pm" secondAttribute="bottom" id="bUH-jE-TQQ"/>
+                <constraint firstAttribute="bottom" secondItem="FWp-yd-2Pm" secondAttribute="bottom" constant="10" id="bUH-jE-TQQ"/>
                 <constraint firstAttribute="trailing" secondItem="FWp-yd-2Pm" secondAttribute="trailing" constant="10" id="cPm-6m-umY"/>
             </constraints>
             <connections>
@@ -408,11 +506,15 @@
                 <outlet property="contentViewLeftConstraint" destination="D62-3E-aDO" id="T0p-C1-a8j"/>
                 <outlet property="contentViewRightConstraint" destination="cPm-6m-umY" id="T0p-C1-a7l"/>
                 <outlet property="contentViewTopConstraint" destination="Mr1-w0-CQK" id="T0p-C1-1nv"/>
+                <outlet property="mediaItemActorsTextField" destination="obm-oY-7sg" id="iaO-Xh-rMU"/>
+                <outlet property="mediaItemActorsTitleTextField" destination="kQq-KE-Eg7" id="BCb-gk-QuY"/>
                 <outlet property="mediaItemArtworkImageView" destination="xZd-Hk-h2M" id="J8l-V9-P06"/>
                 <outlet property="mediaItemContentDescriptionTextField" destination="2wD-n8-ITx" id="TJC-Gc-enx"/>
                 <outlet property="mediaItemContentDescriptionTitleTextField" destination="O20-fr-lHb" id="S8d-Tr-M60"/>
                 <outlet property="mediaItemCopyrightTextField" destination="ebt-AQ-LWK" id="W6S-an-ehZ"/>
                 <outlet property="mediaItemCopyrightTitleTextField" destination="HYi-e3-j6K" id="D0s-mZ-NaH"/>
+                <outlet property="mediaItemDirectorTextField" destination="aRP-nR-Yap" id="rWh-cJ-HbU"/>
+                <outlet property="mediaItemDirectorTitleTextField" destination="oO9-wF-WH8" id="sm0-ce-oDZ"/>
                 <outlet property="mediaItemFavoriteButton" destination="5Ul-IA-Mco" id="akl-sV-Fon"/>
                 <outlet property="mediaItemFileNameTextField" destination="VxL-BW-3eh" id="fiL-3N-m3P"/>
                 <outlet property="mediaItemLabelsTextField" destination="HyO-9K-R7L" id="5V0-iU-KA0"/>
@@ -420,17 +522,22 @@
                 <outlet property="mediaItemLastPlayedTextField" destination="YBs-Jb-5di" id="K2d-OZ-i3h"/>
                 <outlet property="mediaItemLastPlayedTitleTextField" destination="F6B-1v-Bg2" id="Pla-nv-R8R"/>
                 <outlet property="mediaItemPathTextField" destination="7gY-3s-Kay" id="P4t-h1-m3P"/>
+                <outlet property="mediaItemPathTitleButton" destination="DPs-b2-1We" id="Hg4-9T-B4B"/>
                 <outlet property="mediaItemPrimaryDetailButton" destination="S5i-gd-zkt" id="ssB-Jg-jcf"/>
                 <outlet property="mediaItemRatingIndicator" destination="lYc-WP-hlc" id="PHd-Ka-eS7"/>
                 <outlet property="mediaItemSecondaryDetailButton" destination="9CH-03-Iu3" id="J8O-hB-tHb"/>
+                <outlet property="mediaItemSummarySeparator" destination="nte-55-oZ5" id="5EH-6g-f4t"/>
+                <outlet property="mediaItemSummaryStackView" destination="gGl-6E-i7b" id="TvJ-b9-w7J"/>
+                <outlet property="mediaItemSummaryTextField" destination="QnU-w3-Go4" id="r2m-3G-WRK"/>
                 <outlet property="mediaItemTitleTextField" destination="nCe-dY-YMM" id="h3l-p0-w3e"/>
-                <outlet property="mediaItemYearAndDurationTextField" destination="QuO-3G-BMT" id="y34-rD-uR"/>
+                <outlet property="mediaItemYearAndDurationAndTypeTextField" destination="QuO-3G-BMT" id="y34-rD-uR"/>
                 <outlet property="playMediaItemButton" destination="ntd-VT-2KS" id="LJV-KL-cK4"/>
             </connections>
             <point key="canvasLocation" x="-237.5" y="-284"/>
         </view>
     </objects>
     <resources>
+        <image name="arrow.up.right.circle.fill" catalog="system" width="15" height="15"/>
         <image name="heart" catalog="system" width="16" height="14"/>
         <image name="heart.fill" catalog="system" width="16" height="14"/>
         <image name="no-art" width="128" height="128"/>


=====================================
modules/gui/macosx/library/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.h
=====================================
@@ -21,6 +21,7 @@
  *****************************************************************************/
 
 #import <Cocoa/Cocoa.h>
+
 #import "VLCLibraryCollectionViewSupplementaryDetailView.h"
 
 NS_ASSUME_NONNULL_BEGIN
@@ -36,10 +37,11 @@ extern NSCollectionViewSupplementaryElementKind const VLCLibraryCollectionViewMe
 @property (readwrite, weak) IBOutlet NSButton *mediaItemPrimaryDetailButton;
 @property (readwrite, weak) IBOutlet NSButton *mediaItemSecondaryDetailButton;
 @property (readwrite, weak) IBOutlet NSButton *mediaItemFavoriteButton;
- at property (readwrite, weak) IBOutlet NSTextField *mediaItemYearAndDurationTextField;
+ at property (readwrite, weak) IBOutlet NSTextField *mediaItemYearAndDurationAndTypeTextField;
 @property (readwrite, weak) IBOutlet NSLevelIndicator *mediaItemRatingIndicator;
 @property (readwrite, weak) IBOutlet NSTextField *mediaItemFileNameTextField;
 @property (readwrite, weak) IBOutlet NSTextField *mediaItemPathTextField;
+ at property (readwrite, weak) IBOutlet NSButton *mediaItemPathTitleButton;
 @property (readwrite, weak) IBOutlet NSTextField *mediaItemLabelsTitleTextField;
 @property (readwrite, weak) IBOutlet NSTextField *mediaItemLabelsTextField;
 @property (readwrite, weak) IBOutlet NSTextField *mediaItemLastPlayedTextField;
@@ -50,6 +52,13 @@ extern NSCollectionViewSupplementaryElementKind const VLCLibraryCollectionViewMe
 @property (readwrite, weak) IBOutlet NSTextField *mediaItemContentDescriptionTitleTextField;
 @property (readwrite, weak) IBOutlet VLCImageView *mediaItemArtworkImageView;
 @property (readwrite, weak) IBOutlet NSButton *playMediaItemButton;
+ at property (readwrite, weak) IBOutlet NSBox *mediaItemSummarySeparator;
+ at property (readwrite, weak) IBOutlet NSStackView *mediaItemSummaryStackView;
+ at property (readwrite, weak) IBOutlet NSTextField *mediaItemSummaryTextField;
+ at property (readwrite, weak) IBOutlet NSTextField *mediaItemDirectorTextField;
+ at property (readwrite, weak) IBOutlet NSTextField *mediaItemDirectorTitleTextField;
+ at property (readwrite, weak) IBOutlet NSTextField *mediaItemActorsTextField;
+ at property (readwrite, weak) IBOutlet NSTextField *mediaItemActorsTitleTextField;
 
 - (IBAction)playAction:(id)sender;
 - (IBAction)enqueueAction:(id)sender;


=====================================
modules/gui/macosx/library/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.m
=====================================
@@ -61,28 +61,42 @@ NSCollectionViewSupplementaryElementKind const VLCLibraryCollectionViewMediaItem
     }
 }
 
-- (NSString *)formattedYearAndDurationString
+- (NSString *)formattedYearAndDurationAndTypeString
 {
     if (self.representedItem == nil) {
         return @"";
     }
 
     const VLCMediaLibraryMediaItem * const actualItem = self.representedItem.item;
+    NSMutableArray<NSString *> * const strings = NSMutableArray.array;
 
     if (actualItem.year > 0) {
-        return [NSString stringWithFormat:@"%u · %@", actualItem.year, actualItem.durationString];
+        [strings addObject:[NSString stringWithFormat:@"%u", actualItem.year]];
     } else if (actualItem.files.count > 0) {
         VLCMediaLibraryFile * const firstFile = actualItem.files.firstObject;
         const time_t fileLastModTime = firstFile.lastModificationDate;
 
         if (fileLastModTime > 0) {
             NSDate * const lastModDate = [NSDate dateWithTimeIntervalSince1970:fileLastModTime];
-            NSDateComponents * const components = [[NSCalendar currentCalendar] components:NSCalendarUnitYear fromDate:lastModDate];
-            return [NSString stringWithFormat:@"%ld · %@", components.year, actualItem.durationString];
+            NSDateComponents * const components =
+                [[NSCalendar currentCalendar] components:NSCalendarUnitYear fromDate:lastModDate];
+            [strings addObject:[NSString stringWithFormat:@"%ld", components.year]];
         }
     }
 
-    return actualItem.durationString;
+    if (![actualItem.primaryDetailString isEqualToString:actualItem.durationString]) {
+        [strings addObject:actualItem.durationString];
+    }
+
+    [strings addObjectsFromArray:@[actualItem.readableMediaType, actualItem.readableMediaSubType]];
+
+    VLCInputItem * const inputItem = actualItem.inputItem;
+    NSString * const discNumber = inputItem.discNumber;
+    if (![discNumber isEqualToString:@""]) {
+        [strings addObject:[NSString stringWithFormat:@"%@ %@", _NS("Disc"), discNumber]];
+    }
+
+    return [strings componentsJoinedByString:@" · "];
 }
 
 - (void)updateRepresentation
@@ -94,7 +108,7 @@ NSCollectionViewSupplementaryElementKind const VLCLibraryCollectionViewMediaItem
     _mediaItemTitleTextField.stringValue = actualItem.displayString;
     _mediaItemPrimaryDetailButton.title = actualItem.primaryDetailString;
     _mediaItemSecondaryDetailButton.title = actualItem.secondaryDetailString;
-    _mediaItemYearAndDurationTextField.stringValue = [self formattedYearAndDurationString];
+    _mediaItemYearAndDurationAndTypeTextField.stringValue = [self formattedYearAndDurationAndTypeString];
     _mediaItemFileNameTextField.stringValue = actualItem.inputItem.name;
     _mediaItemPathTextField.stringValue = actualItem.inputItem.decodedMRL;
 
@@ -124,7 +138,7 @@ NSCollectionViewSupplementaryElementKind const VLCLibraryCollectionViewMediaItem
     const double proportionOfMaxRating = 100 / ratingControlMax;
     self.mediaItemRatingIndicator.doubleValue = (double)actualItem.rating / proportionOfMaxRating;
 
-    NSArray<NSString *> * const mediaItemLabels = self.representedItem.item.labels;
+    NSArray<NSString *> * const mediaItemLabels = actualItem.labels;
     self.mediaItemLabelsTextField.hidden = mediaItemLabels.count == 0;
     self.mediaItemLabelsTitleTextField.hidden = self.mediaItemLabelsTextField.hidden;
     if (!self.mediaItemLabelsTextField.hidden) {
@@ -143,6 +157,13 @@ NSCollectionViewSupplementaryElementKind const VLCLibraryCollectionViewMediaItem
         self.mediaItemLastPlayedTextField.stringValue = lastPlayedString;
     }
 
+    NSString * const summary = actualItem.movie != nil
+        ? actualItem.movie.summary : actualItem.showEpisode != nil
+            ? actualItem.showEpisode.summary : @"";
+    self.mediaItemSummaryStackView.hidden = summary == nil || [summary isEqualToString:@""];
+    self.mediaItemSummarySeparator.hidden = self.mediaItemSummaryStackView.hidden;
+    self.mediaItemSummaryTextField.stringValue = summary;
+
     VLCInputItem * const inputItem = actualItem.inputItem;
 
     NSString * const copyright = inputItem.copyright;
@@ -155,6 +176,16 @@ NSCollectionViewSupplementaryElementKind const VLCLibraryCollectionViewMediaItem
     self.mediaItemContentDescriptionTitleTextField.hidden = self.mediaItemContentDescriptionTextField.hidden;
     self.mediaItemContentDescriptionTextField.stringValue = contentDescription;
 
+    NSString * const director = inputItem.director;
+    self.mediaItemDirectorTextField.hidden = [inputItem.director isEqualToString:@""];
+    self.mediaItemDirectorTitleTextField.hidden = self.mediaItemDirectorTextField.hidden;
+    self.mediaItemDirectorTextField.stringValue = director;
+
+    NSString * const actors = inputItem.actors;
+    self.mediaItemActorsTextField.hidden = [inputItem.actors isEqualToString:@""];
+    self.mediaItemActorsTitleTextField.hidden = self.mediaItemActorsTextField.hidden;
+    self.mediaItemActorsTextField.stringValue = actors;
+
     [VLCLibraryImageCache thumbnailForLibraryItem:actualItem withCompletion:^(NSImage * const thumbnail) {
         if (self.representedItem.item != actualItem) {
             return;
@@ -229,4 +260,9 @@ NSCollectionViewSupplementaryElementKind const VLCLibraryCollectionViewMediaItem
     ((VLCMediaLibraryMediaItem *)self.representedItem.item).rating = (int)rating;
 }
 
+- (IBAction)openPathAction:(id)sender
+{
+    [self.representedItem revealInFinder];
+}
+
 @end



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1addcab8304e5b1d090b676535d928a9d470318a...f11f809074b64e0d9a8fba5f07af37fa25252b26

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1addcab8304e5b1d090b676535d928a9d470318a...f11f809074b64e0d9a8fba5f07af37fa25252b26
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