macosx: moved preliminary vout to main window, removed most interface related parts...
authorFelix Paul Kühne <fkuehne@videolan.org>
Fri, 22 Jul 2011 16:39:31 +0000 (18:39 +0200)
committerFelix Paul Kühne <fkuehne@videolan.org>
Fri, 22 Jul 2011 16:39:31 +0000 (18:39 +0200)
the former embedded window is no longer accessible

12 files changed:
extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib
extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib
modules/gui/macosx/MainMenu.m
modules/gui/macosx/MainWindow.h
modules/gui/macosx/MainWindow.m
modules/gui/macosx/embeddedwindow.m
modules/gui/macosx/fspanel.m
modules/gui/macosx/intf.h
modules/gui/macosx/intf.m
modules/gui/macosx/misc.h
modules/gui/macosx/misc.m
modules/gui/macosx/playlist.m

index 985dba5..ed39821 100644 (file)
     </object>
     <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
       <bool key="EncodedWithXMLCoder">YES</bool>
-      <integer value="2"/>
-      <integer value="2416"/>
       <integer value="283"/>
-      <integer value="4596"/>
       <integer value="235"/>
-      <integer value="2730"/>
       <integer value="915"/>
+      <integer value="2730"/>
+      <integer value="4596"/>
+      <integer value="2"/>
     </object>
     <object class="NSArray" key="IBDocument.PluginDependencies">
       <bool key="EncodedWithXMLCoder">YES</bool>
@@ -45,7 +44,7 @@
         <string key="NSWindowRect">{{53, 419}, {604, 310}}</string>
         <int key="NSWTFlags">1881670656</int>
         <string key="NSWindowTitle">VLC media player</string>
-        <string key="NSWindowClass">VLCControllerWindow</string>
+        <string key="NSWindowClass">VLCMainWindow</string>
         <nil key="NSViewClass"/>
         <nil key="NSUserInterfaceItemIdentifier"/>
         <string key="NSWindowContentMaxSize">{1.7976931348623157e+308, 1.7976931348623157e+308}</string>
           <int key="NSvFlags">256</int>
           <object class="NSMutableArray" key="NSSubviews">
             <bool key="EncodedWithXMLCoder">YES</bool>
+            <object class="NSScrollView" id="915491793">
+              <reference key="NSNextResponder" ref="429932428"/>
+              <int key="NSvFlags">274</int>
+              <object class="NSMutableArray" key="NSSubviews">
+                <bool key="EncodedWithXMLCoder">YES</bool>
+                <object class="NSClipView" id="343242432">
+                  <reference key="NSNextResponder" ref="915491793"/>
+                  <int key="NSvFlags">2304</int>
+                  <object class="NSMutableArray" key="NSSubviews">
+                    <bool key="EncodedWithXMLCoder">YES</bool>
+                    <object class="NSOutlineView" id="23448837">
+                      <reference key="NSNextResponder" ref="343242432"/>
+                      <int key="NSvFlags">274</int>
+                      <string key="NSFrameSize">{604, 231}</string>
+                      <reference key="NSSuperview" ref="343242432"/>
+                      <bool key="NSEnabled">YES</bool>
+                      <object class="NSTableHeaderView" key="NSHeaderView" id="823165105">
+                        <reference key="NSNextResponder" ref="576307303"/>
+                        <int key="NSvFlags">256</int>
+                        <string key="NSFrameSize">{604, 17}</string>
+                        <reference key="NSSuperview" ref="576307303"/>
+                        <reference key="NSTableView" ref="23448837"/>
+                      </object>
+                      <object class="_NSCornerView" key="NSCornerView">
+                        <nil key="NSNextResponder"/>
+                        <int key="NSvFlags">-2147483392</int>
+                        <string key="NSFrame">{{-26, 0}, {16, 17}}</string>
+                      </object>
+                      <object class="NSMutableArray" key="NSTableColumns">
+                        <bool key="EncodedWithXMLCoder">YES</bool>
+                        <object class="NSTableColumn" id="803225886">
+                          <string key="NSIdentifier">status</string>
+                          <double key="NSWidth">16</double>
+                          <double key="NSMinWidth">16</double>
+                          <double key="NSMaxWidth">3.4028229999999999e+38</double>
+                          <object class="NSTableHeaderCell" key="NSHeaderCell">
+                            <int key="NSCellFlags">75628096</int>
+                            <int key="NSCellFlags2">2048</int>
+                            <string key="NSContents"/>
+                            <object class="NSFont" key="NSSupport" id="26">
+                              <string key="NSName">LucidaGrande</string>
+                              <double key="NSSize">11</double>
+                              <int key="NSfFlags">3088</int>
+                            </object>
+                            <object class="NSColor" key="NSBackgroundColor" id="1018329413">
+                              <int key="NSColorSpace">6</int>
+                              <string key="NSCatalogName">System</string>
+                              <string key="NSColorName">headerColor</string>
+                              <object class="NSColor" key="NSColor" id="712893775">
+                                <int key="NSColorSpace">3</int>
+                                <bytes key="NSWhite">MQA</bytes>
+                              </object>
+                            </object>
+                            <object class="NSColor" key="NSTextColor" id="141148336">
+                              <int key="NSColorSpace">6</int>
+                              <string key="NSCatalogName">System</string>
+                              <string key="NSColorName">headerTextColor</string>
+                              <object class="NSColor" key="NSColor" id="563235091">
+                                <int key="NSColorSpace">3</int>
+                                <bytes key="NSWhite">MAA</bytes>
+                              </object>
+                            </object>
+                          </object>
+                          <object class="NSImageCell" key="NSDataCell" id="1059212168">
+                            <int key="NSCellFlags">67239424</int>
+                            <int key="NSCellFlags2">33685504</int>
+                            <reference key="NSSupport" ref="26"/>
+                            <int key="NSAlign">0</int>
+                            <int key="NSScale">0</int>
+                            <int key="NSStyle">0</int>
+                            <bool key="NSAnimates">NO</bool>
+                          </object>
+                          <int key="NSResizingMask">3</int>
+                          <bool key="NSIsResizeable">YES</bool>
+                          <bool key="NSIsEditable">YES</bool>
+                          <reference key="NSTableView" ref="23448837"/>
+                        </object>
+                        <object class="NSTableColumn" id="965199398">
+                          <string key="NSIdentifier">name</string>
+                          <double key="NSWidth">346</double>
+                          <double key="NSMinWidth">16</double>
+                          <double key="NSMaxWidth">1000</double>
+                          <object class="NSTableHeaderCell" key="NSHeaderCell">
+                            <int key="NSCellFlags">75628096</int>
+                            <int key="NSCellFlags2">2048</int>
+                            <string key="NSContents">Name</string>
+                            <reference key="NSSupport" ref="26"/>
+                            <object class="NSColor" key="NSBackgroundColor" id="320837044">
+                              <int key="NSColorSpace">3</int>
+                              <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+                            </object>
+                            <reference key="NSTextColor" ref="141148336"/>
+                          </object>
+                          <object class="NSTextFieldCell" key="NSDataCell" id="80936197">
+                            <int key="NSCellFlags">67239488</int>
+                            <int key="NSCellFlags2">272761856</int>
+                            <reference key="NSSupport" ref="26"/>
+                            <reference key="NSControlView" ref="23448837"/>
+                            <object class="NSColor" key="NSBackgroundColor" id="3414043">
+                              <int key="NSColorSpace">6</int>
+                              <string key="NSCatalogName">System</string>
+                              <string key="NSColorName">controlColor</string>
+                              <object class="NSColor" key="NSColor" id="528917951">
+                                <int key="NSColorSpace">3</int>
+                                <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+                              </object>
+                            </object>
+                            <object class="NSColor" key="NSTextColor" id="306532497">
+                              <int key="NSColorSpace">6</int>
+                              <string key="NSCatalogName">System</string>
+                              <string key="NSColorName">controlTextColor</string>
+                              <reference key="NSColor" ref="563235091"/>
+                            </object>
+                          </object>
+                          <int key="NSResizingMask">3</int>
+                          <bool key="NSIsResizeable">YES</bool>
+                          <reference key="NSTableView" ref="23448837"/>
+                        </object>
+                        <object class="NSTableColumn" id="475692067">
+                          <string key="NSIdentifier">artist</string>
+                          <double key="NSWidth">170</double>
+                          <double key="NSMinWidth">20</double>
+                          <double key="NSMaxWidth">1000</double>
+                          <object class="NSTableHeaderCell" key="NSHeaderCell">
+                            <int key="NSCellFlags">75628096</int>
+                            <int key="NSCellFlags2">2048</int>
+                            <string key="NSContents">Artist</string>
+                            <reference key="NSSupport" ref="26"/>
+                            <reference key="NSBackgroundColor" ref="320837044"/>
+                            <reference key="NSTextColor" ref="141148336"/>
+                          </object>
+                          <object class="NSTextFieldCell" key="NSDataCell" id="306147575">
+                            <int key="NSCellFlags">67239488</int>
+                            <int key="NSCellFlags2">272761856</int>
+                            <reference key="NSSupport" ref="26"/>
+                            <reference key="NSControlView" ref="23448837"/>
+                            <reference key="NSBackgroundColor" ref="3414043"/>
+                            <reference key="NSTextColor" ref="306532497"/>
+                          </object>
+                          <int key="NSResizingMask">2</int>
+                          <bool key="NSIsResizeable">YES</bool>
+                          <reference key="NSTableView" ref="23448837"/>
+                        </object>
+                        <object class="NSTableColumn" id="207035020">
+                          <string key="NSIdentifier">duration</string>
+                          <double key="NSWidth">60</double>
+                          <double key="NSMinWidth">60</double>
+                          <double key="NSMaxWidth">60</double>
+                          <object class="NSTableHeaderCell" key="NSHeaderCell">
+                            <int key="NSCellFlags">75628096</int>
+                            <int key="NSCellFlags2">134219776</int>
+                            <string key="NSContents">Duration</string>
+                            <reference key="NSSupport" ref="26"/>
+                            <reference key="NSBackgroundColor" ref="1018329413"/>
+                            <reference key="NSTextColor" ref="141148336"/>
+                          </object>
+                          <object class="NSTextFieldCell" key="NSDataCell" id="984895421">
+                            <int key="NSCellFlags">67239488</int>
+                            <int key="NSCellFlags2">272761856</int>
+                            <reference key="NSSupport" ref="26"/>
+                            <reference key="NSControlView" ref="23448837"/>
+                            <reference key="NSBackgroundColor" ref="3414043"/>
+                            <reference key="NSTextColor" ref="306532497"/>
+                          </object>
+                          <int key="NSResizingMask">2</int>
+                          <bool key="NSIsResizeable">YES</bool>
+                          <reference key="NSTableView" ref="23448837"/>
+                        </object>
+                      </object>
+                      <double key="NSIntercellSpacingWidth">3</double>
+                      <double key="NSIntercellSpacingHeight">2</double>
+                      <object class="NSColor" key="NSBackgroundColor" id="885475112">
+                        <int key="NSColorSpace">6</int>
+                        <string key="NSCatalogName">System</string>
+                        <string key="NSColorName">controlBackgroundColor</string>
+                        <reference key="NSColor" ref="528917951"/>
+                      </object>
+                      <object class="NSColor" key="NSGridColor">
+                        <int key="NSColorSpace">6</int>
+                        <string key="NSCatalogName">System</string>
+                        <string key="NSColorName">gridColor</string>
+                        <object class="NSColor" key="NSColor">
+                          <int key="NSColorSpace">3</int>
+                          <bytes key="NSWhite">MC41AA</bytes>
+                        </object>
+                      </object>
+                      <double key="NSRowHeight">15</double>
+                      <int key="NSTvFlags">-71303168</int>
+                      <reference key="NSDelegate"/>
+                      <reference key="NSDataSource"/>
+                      <string key="NSAutosaveName">mainPlaylistView</string>
+                      <int key="NSGridStyleMask">1</int>
+                      <int key="NSColumnAutoresizingStyle">4</int>
+                      <int key="NSDraggingSourceMaskForLocal">15</int>
+                      <int key="NSDraggingSourceMaskForNonLocal">0</int>
+                      <bool key="NSAllowsTypeSelect">YES</bool>
+                      <int key="NSTableViewDraggingDestinationStyle">0</int>
+                      <int key="NSTableViewGroupRowStyle">1</int>
+                      <reference key="NSOutlineViewOutlineTableColumnKey" ref="965199398"/>
+                    </object>
+                  </object>
+                  <string key="NSFrame">{{1, 17}, {604, 231}}</string>
+                  <reference key="NSSuperview" ref="915491793"/>
+                  <reference key="NSNextKeyView" ref="23448837"/>
+                  <reference key="NSDocView" ref="23448837"/>
+                  <reference key="NSBGColor" ref="885475112"/>
+                  <int key="NScvFlags">4</int>
+                </object>
+                <object class="NSScroller" id="573737110">
+                  <reference key="NSNextResponder" ref="915491793"/>
+                  <int key="NSvFlags">-2147483392</int>
+                  <string key="NSFrame">{{560, 17}, {15, 18}}</string>
+                  <reference key="NSSuperview" ref="915491793"/>
+                  <reference key="NSTarget" ref="915491793"/>
+                  <string key="NSAction">_doScroller:</string>
+                  <double key="NSPercent">0.54545460000000001</double>
+                </object>
+                <object class="NSScroller" id="297523533">
+                  <reference key="NSNextResponder" ref="915491793"/>
+                  <int key="NSvFlags">-2147483392</int>
+                  <string key="NSFrame">{{1, 35}, {559, 15}}</string>
+                  <reference key="NSSuperview" ref="915491793"/>
+                  <int key="NSsFlags">1</int>
+                  <reference key="NSTarget" ref="915491793"/>
+                  <string key="NSAction">_doScroller:</string>
+                  <double key="NSPercent">0.97785350000000004</double>
+                </object>
+                <object class="NSClipView" id="576307303">
+                  <reference key="NSNextResponder" ref="915491793"/>
+                  <int key="NSvFlags">2304</int>
+                  <object class="NSMutableArray" key="NSSubviews">
+                    <bool key="EncodedWithXMLCoder">YES</bool>
+                    <reference ref="823165105"/>
+                  </object>
+                  <string key="NSFrame">{{1, 0}, {604, 17}}</string>
+                  <reference key="NSSuperview" ref="915491793"/>
+                  <reference key="NSNextKeyView" ref="823165105"/>
+                  <reference key="NSDocView" ref="823165105"/>
+                  <reference key="NSBGColor" ref="885475112"/>
+                  <int key="NScvFlags">4</int>
+                </object>
+              </object>
+              <string key="NSFrame">{{-1, 36}, {606, 249}}</string>
+              <reference key="NSSuperview" ref="429932428"/>
+              <reference key="NSNextKeyView" ref="343242432"/>
+              <int key="NSsFlags">133682</int>
+              <reference key="NSVScroller" ref="573737110"/>
+              <reference key="NSHScroller" ref="297523533"/>
+              <reference key="NSContentView" ref="343242432"/>
+              <reference key="NSHeaderClipView" ref="576307303"/>
+              <bytes key="NSScrollAmts">QSAAAEEgAABBiAAAQYgAAA</bytes>
+            </object>
             <object class="NSImageView" id="1041205852">
               <reference key="NSNextResponder" ref="429932428"/>
               <int key="NSvFlags">290</int>
                 <int key="NSPeriodicInterval">25</int>
               </object>
             </object>
-            <object class="NSSlider" id="788281303">
-              <reference key="NSNextResponder" ref="429932428"/>
-              <int key="NSvFlags">289</int>
-              <string key="NSFrame">{{440, 10}, {85, 15}}</string>
-              <reference key="NSSuperview" ref="429932428"/>
-              <object class="CISourceOverCompositing" key="NSViewCompositeFilter">
-                <bool key="CIEnabled">YES</bool>
-              </object>
-              <bool key="NSEnabled">YES</bool>
-              <object class="NSSliderCell" key="NSCell" id="180862414">
-                <int key="NSCellFlags">604372736</int>
-                <int key="NSCellFlags2">131072</int>
-                <object class="NSMutableString" key="NSContents">
-                  <characters key="NS.bytes"/>
-                </object>
-                <object class="NSFont" key="NSSupport" id="340291444">
-                  <string key="NSName">Helvetica</string>
-                  <double key="NSSize">12</double>
-                  <int key="NSfFlags">16</int>
-                </object>
-                <reference key="NSControlView" ref="788281303"/>
-                <double key="NSMaxValue">32</double>
-                <double key="NSMinValue">0.0</double>
-                <double key="NSValue">8</double>
-                <double key="NSAltIncValue">0.0</double>
-                <int key="NSNumberOfTickMarks">0</int>
-                <int key="NSTickMarkPosition">1</int>
-                <bool key="NSAllowsTickMarkValuesOnly">NO</bool>
-                <bool key="NSVertical">NO</bool>
-              </object>
-            </object>
-            <object class="NSButton" id="998170671">
+            <object class="NSButton" id="998170671">
               <reference key="NSNextResponder" ref="429932428"/>
               <int key="NSvFlags">292</int>
               <string key="NSFrame">{{124, 7}, {33, 23}}</string>
                 <string key="NSContents"/>
                 <reference key="NSSupport" ref="188716167"/>
                 <reference key="NSControlView" ref="998170671"/>
-                <int key="NSButtonFlags">-931921665</int>
+                <int key="NSButtonFlags">141820159</int>
                 <int key="NSButtonFlags2">2</int>
                 <object class="NSCustomResource" key="NSNormalImage">
                   <string key="NSClassName">NSImage</string>
                 <int key="NSCellFlags">67239424</int>
                 <int key="NSCellFlags2">134217728</int>
                 <string key="NSContents"/>
-                <object class="NSFont" key="NSSupport" id="23645573">
+                <object class="NSFont" key="NSSupport">
                   <string key="NSName">LucidaGrande</string>
                   <double key="NSSize">12</double>
                   <int key="NSfFlags">16</int>
                 <reference key="NSControlView" ref="714984330"/>
                 <int key="NSButtonFlags">-931921665</int>
                 <int key="NSButtonFlags2">2</int>
-                <object class="NSCustomResource" key="NSNormalImage" id="560932515">
+                <object class="NSCustomResource" key="NSNormalImage">
                   <string key="NSClassName">NSImage</string>
                   <string key="NSResourceName">fullscreen-double-buttons</string>
                 </object>
-                <object class="NSCustomResource" key="NSAlternateImage" id="115283638">
+                <object class="NSCustomResource" key="NSAlternateImage">
                   <string key="NSClassName">NSImage</string>
                   <string key="NSResourceName">fullscreen-double-buttons-pressed</string>
                 </object>
             <object class="NSSlider" id="704525034">
               <reference key="NSNextResponder" ref="429932428"/>
               <int key="NSvFlags">290</int>
-              <string key="NSFrame">{{220, 10}, {157, 15}}</string>
+              <string key="NSFrame">{{221, 10}, {157, 15}}</string>
               <reference key="NSSuperview" ref="429932428"/>
               <bool key="NSEnabled">YES</bool>
               <object class="NSSliderCell" key="NSCell" id="276068486">
                 <object class="NSMutableString" key="NSContents">
                   <characters key="NS.bytes"/>
                 </object>
-                <reference key="NSSupport" ref="340291444"/>
+                <object class="NSFont" key="NSSupport" id="340291444">
+                  <string key="NSName">Helvetica</string>
+                  <double key="NSSize">12</double>
+                  <int key="NSfFlags">16</int>
+                </object>
                 <reference key="NSControlView" ref="704525034"/>
                 <double key="NSMaxValue">10000</double>
                 <double key="NSMinValue">0.0</double>
                   <int key="NSColorSpace">6</int>
                   <string key="NSCatalogName">System</string>
                   <string key="NSColorName">textBackgroundColor</string>
-                  <object class="NSColor" key="NSColor" id="712893775">
-                    <int key="NSColorSpace">3</int>
-                    <bytes key="NSWhite">MQA</bytes>
-                  </object>
+                  <reference key="NSColor" ref="712893775"/>
                 </object>
                 <object class="NSColor" key="NSTextColor">
                   <int key="NSColorSpace">3</int>
             </object>
             <object class="NSSearchField" id="596740638">
               <reference key="NSNextResponder" ref="429932428"/>
-              <int key="NSvFlags">289</int>
+              <int key="NSvFlags">265</int>
               <string key="NSFrame">{{486, 288}, {110, 22}}</string>
               <reference key="NSSuperview" ref="429932428"/>
               <bool key="NSEnabled">YES</bool>
                 <bool key="NSDrawsBackground">YES</bool>
                 <int key="NSTextBezelStyle">1</int>
                 <reference key="NSBackgroundColor" ref="166084101"/>
-                <object class="NSColor" key="NSTextColor" id="306532497">
-                  <int key="NSColorSpace">6</int>
-                  <string key="NSCatalogName">System</string>
-                  <string key="NSColorName">controlTextColor</string>
-                  <object class="NSColor" key="NSColor" id="563235091">
-                    <int key="NSColorSpace">3</int>
-                    <bytes key="NSWhite">MAA</bytes>
-                  </object>
-                </object>
+                <reference key="NSTextColor" ref="306532497"/>
                 <object class="NSButtonCell" key="NSSearchButtonCell">
                   <int key="NSCellFlags">130560</int>
                   <int key="NSCellFlags2">0</int>
                   <string key="NSKeyEquivalent"/>
                   <int key="NSPeriodicDelay">400</int>
                   <int key="NSPeriodicInterval">75</int>
-                </object>
-                <string key="NSRecentsAutosaveName">VLC media player search</string>
-                <int key="NSMaximumRecents">10</int>
-              </object>
-            </object>
-            <object class="NSScrollView" id="915491793">
-              <reference key="NSNextResponder" ref="429932428"/>
-              <int key="NSvFlags">274</int>
-              <object class="NSMutableArray" key="NSSubviews">
-                <bool key="EncodedWithXMLCoder">YES</bool>
-                <object class="NSClipView" id="343242432">
-                  <reference key="NSNextResponder" ref="915491793"/>
-                  <int key="NSvFlags">2304</int>
-                  <object class="NSMutableArray" key="NSSubviews">
-                    <bool key="EncodedWithXMLCoder">YES</bool>
-                    <object class="NSOutlineView" id="23448837">
-                      <reference key="NSNextResponder" ref="343242432"/>
-                      <int key="NSvFlags">274</int>
-                      <string key="NSFrameSize">{604, 231}</string>
-                      <reference key="NSSuperview" ref="343242432"/>
-                      <bool key="NSEnabled">YES</bool>
-                      <object class="NSTableHeaderView" key="NSHeaderView" id="823165105">
-                        <reference key="NSNextResponder" ref="576307303"/>
-                        <int key="NSvFlags">256</int>
-                        <string key="NSFrameSize">{604, 17}</string>
-                        <reference key="NSSuperview" ref="576307303"/>
-                        <reference key="NSTableView" ref="23448837"/>
-                      </object>
-                      <object class="_NSCornerView" key="NSCornerView">
-                        <nil key="NSNextResponder"/>
-                        <int key="NSvFlags">-2147483392</int>
-                        <string key="NSFrame">{{-26, 0}, {16, 17}}</string>
-                      </object>
-                      <object class="NSMutableArray" key="NSTableColumns">
-                        <bool key="EncodedWithXMLCoder">YES</bool>
-                        <object class="NSTableColumn" id="803225886">
-                          <string key="NSIdentifier">status</string>
-                          <double key="NSWidth">16</double>
-                          <double key="NSMinWidth">16</double>
-                          <double key="NSMaxWidth">3.4028229999999999e+38</double>
-                          <object class="NSTableHeaderCell" key="NSHeaderCell">
-                            <int key="NSCellFlags">75628096</int>
-                            <int key="NSCellFlags2">2048</int>
-                            <string key="NSContents"/>
-                            <object class="NSFont" key="NSSupport" id="26">
-                              <string key="NSName">LucidaGrande</string>
-                              <double key="NSSize">11</double>
-                              <int key="NSfFlags">3088</int>
-                            </object>
-                            <object class="NSColor" key="NSBackgroundColor" id="1018329413">
-                              <int key="NSColorSpace">6</int>
-                              <string key="NSCatalogName">System</string>
-                              <string key="NSColorName">headerColor</string>
-                              <reference key="NSColor" ref="712893775"/>
-                            </object>
-                            <object class="NSColor" key="NSTextColor" id="141148336">
-                              <int key="NSColorSpace">6</int>
-                              <string key="NSCatalogName">System</string>
-                              <string key="NSColorName">headerTextColor</string>
-                              <reference key="NSColor" ref="563235091"/>
-                            </object>
-                          </object>
-                          <object class="NSImageCell" key="NSDataCell" id="1059212168">
-                            <int key="NSCellFlags">67239424</int>
-                            <int key="NSCellFlags2">33685504</int>
-                            <reference key="NSSupport" ref="26"/>
-                            <int key="NSAlign">0</int>
-                            <int key="NSScale">0</int>
-                            <int key="NSStyle">0</int>
-                            <bool key="NSAnimates">NO</bool>
-                          </object>
-                          <int key="NSResizingMask">3</int>
-                          <bool key="NSIsResizeable">YES</bool>
-                          <bool key="NSIsEditable">YES</bool>
-                          <reference key="NSTableView" ref="23448837"/>
-                        </object>
-                        <object class="NSTableColumn" id="965199398">
-                          <string key="NSIdentifier">name</string>
-                          <double key="NSWidth">346</double>
-                          <double key="NSMinWidth">16</double>
-                          <double key="NSMaxWidth">1000</double>
-                          <object class="NSTableHeaderCell" key="NSHeaderCell">
-                            <int key="NSCellFlags">75628096</int>
-                            <int key="NSCellFlags2">2048</int>
-                            <string key="NSContents">Name</string>
-                            <reference key="NSSupport" ref="26"/>
-                            <object class="NSColor" key="NSBackgroundColor" id="320837044">
-                              <int key="NSColorSpace">3</int>
-                              <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
-                            </object>
-                            <reference key="NSTextColor" ref="141148336"/>
-                          </object>
-                          <object class="NSTextFieldCell" key="NSDataCell" id="80936197">
-                            <int key="NSCellFlags">67239488</int>
-                            <int key="NSCellFlags2">272761856</int>
-                            <reference key="NSSupport" ref="26"/>
-                            <reference key="NSControlView" ref="23448837"/>
-                            <object class="NSColor" key="NSBackgroundColor" id="3414043">
-                              <int key="NSColorSpace">6</int>
-                              <string key="NSCatalogName">System</string>
-                              <string key="NSColorName">controlColor</string>
-                              <object class="NSColor" key="NSColor" id="528917951">
-                                <int key="NSColorSpace">3</int>
-                                <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
-                              </object>
-                            </object>
-                            <reference key="NSTextColor" ref="306532497"/>
-                          </object>
-                          <int key="NSResizingMask">3</int>
-                          <bool key="NSIsResizeable">YES</bool>
-                          <reference key="NSTableView" ref="23448837"/>
-                        </object>
-                        <object class="NSTableColumn" id="475692067">
-                          <string key="NSIdentifier">artist</string>
-                          <double key="NSWidth">170</double>
-                          <double key="NSMinWidth">20</double>
-                          <double key="NSMaxWidth">1000</double>
-                          <object class="NSTableHeaderCell" key="NSHeaderCell">
-                            <int key="NSCellFlags">75628096</int>
-                            <int key="NSCellFlags2">2048</int>
-                            <string key="NSContents">Artist</string>
-                            <reference key="NSSupport" ref="26"/>
-                            <reference key="NSBackgroundColor" ref="320837044"/>
-                            <reference key="NSTextColor" ref="141148336"/>
-                          </object>
-                          <object class="NSTextFieldCell" key="NSDataCell" id="306147575">
-                            <int key="NSCellFlags">67239488</int>
-                            <int key="NSCellFlags2">272761856</int>
-                            <reference key="NSSupport" ref="26"/>
-                            <reference key="NSControlView" ref="23448837"/>
-                            <reference key="NSBackgroundColor" ref="3414043"/>
-                            <reference key="NSTextColor" ref="306532497"/>
-                          </object>
-                          <int key="NSResizingMask">2</int>
-                          <bool key="NSIsResizeable">YES</bool>
-                          <reference key="NSTableView" ref="23448837"/>
-                        </object>
-                        <object class="NSTableColumn" id="207035020">
-                          <string key="NSIdentifier">duration</string>
-                          <double key="NSWidth">60</double>
-                          <double key="NSMinWidth">60</double>
-                          <double key="NSMaxWidth">60</double>
-                          <object class="NSTableHeaderCell" key="NSHeaderCell">
-                            <int key="NSCellFlags">75628096</int>
-                            <int key="NSCellFlags2">134219776</int>
-                            <string key="NSContents">Duration</string>
-                            <reference key="NSSupport" ref="26"/>
-                            <reference key="NSBackgroundColor" ref="1018329413"/>
-                            <reference key="NSTextColor" ref="141148336"/>
-                          </object>
-                          <object class="NSTextFieldCell" key="NSDataCell" id="984895421">
-                            <int key="NSCellFlags">67239488</int>
-                            <int key="NSCellFlags2">272761856</int>
-                            <reference key="NSSupport" ref="26"/>
-                            <reference key="NSControlView" ref="23448837"/>
-                            <reference key="NSBackgroundColor" ref="3414043"/>
-                            <reference key="NSTextColor" ref="306532497"/>
-                          </object>
-                          <int key="NSResizingMask">2</int>
-                          <bool key="NSIsResizeable">YES</bool>
-                          <reference key="NSTableView" ref="23448837"/>
-                        </object>
-                      </object>
-                      <double key="NSIntercellSpacingWidth">3</double>
-                      <double key="NSIntercellSpacingHeight">2</double>
-                      <object class="NSColor" key="NSBackgroundColor" id="885475112">
-                        <int key="NSColorSpace">6</int>
-                        <string key="NSCatalogName">System</string>
-                        <string key="NSColorName">controlBackgroundColor</string>
-                        <reference key="NSColor" ref="528917951"/>
-                      </object>
-                      <object class="NSColor" key="NSGridColor">
-                        <int key="NSColorSpace">6</int>
-                        <string key="NSCatalogName">System</string>
-                        <string key="NSColorName">gridColor</string>
-                        <object class="NSColor" key="NSColor">
-                          <int key="NSColorSpace">3</int>
-                          <bytes key="NSWhite">MC41AA</bytes>
-                        </object>
-                      </object>
-                      <double key="NSRowHeight">15</double>
-                      <int key="NSTvFlags">-71303168</int>
-                      <reference key="NSDelegate"/>
-                      <reference key="NSDataSource"/>
-                      <string key="NSAutosaveName">mainPlaylistView</string>
-                      <int key="NSGridStyleMask">1</int>
-                      <int key="NSColumnAutoresizingStyle">4</int>
-                      <int key="NSDraggingSourceMaskForLocal">15</int>
-                      <int key="NSDraggingSourceMaskForNonLocal">0</int>
-                      <bool key="NSAllowsTypeSelect">YES</bool>
-                      <int key="NSTableViewDraggingDestinationStyle">0</int>
-                      <int key="NSTableViewGroupRowStyle">1</int>
-                      <reference key="NSOutlineViewOutlineTableColumnKey" ref="965199398"/>
-                    </object>
-                  </object>
-                  <string key="NSFrame">{{1, 17}, {604, 231}}</string>
-                  <reference key="NSSuperview" ref="915491793"/>
-                  <reference key="NSNextKeyView" ref="23448837"/>
-                  <reference key="NSDocView" ref="23448837"/>
-                  <reference key="NSBGColor" ref="885475112"/>
-                  <int key="NScvFlags">4</int>
-                </object>
-                <object class="NSScroller" id="573737110">
-                  <reference key="NSNextResponder" ref="915491793"/>
-                  <int key="NSvFlags">-2147483392</int>
-                  <string key="NSFrame">{{560, 17}, {15, 18}}</string>
-                  <reference key="NSSuperview" ref="915491793"/>
-                  <reference key="NSTarget" ref="915491793"/>
-                  <string key="NSAction">_doScroller:</string>
-                  <double key="NSPercent">0.54545460000000001</double>
-                </object>
-                <object class="NSScroller" id="297523533">
-                  <reference key="NSNextResponder" ref="915491793"/>
-                  <int key="NSvFlags">-2147483392</int>
-                  <string key="NSFrame">{{1, 35}, {559, 15}}</string>
-                  <reference key="NSSuperview" ref="915491793"/>
-                  <int key="NSsFlags">1</int>
-                  <reference key="NSTarget" ref="915491793"/>
-                  <string key="NSAction">_doScroller:</string>
-                  <double key="NSPercent">0.97785350000000004</double>
-                </object>
-                <object class="NSClipView" id="576307303">
-                  <reference key="NSNextResponder" ref="915491793"/>
-                  <int key="NSvFlags">2304</int>
-                  <object class="NSMutableArray" key="NSSubviews">
-                    <bool key="EncodedWithXMLCoder">YES</bool>
-                    <reference ref="823165105"/>
-                  </object>
-                  <string key="NSFrame">{{1, 0}, {604, 17}}</string>
-                  <reference key="NSSuperview" ref="915491793"/>
-                  <reference key="NSNextKeyView" ref="823165105"/>
-                  <reference key="NSDocView" ref="823165105"/>
-                  <reference key="NSBGColor" ref="885475112"/>
-                  <int key="NScvFlags">4</int>
-                </object>
-              </object>
-              <string key="NSFrame">{{-1, 36}, {606, 249}}</string>
-              <reference key="NSSuperview" ref="429932428"/>
-              <reference key="NSNextKeyView" ref="343242432"/>
-              <int key="NSsFlags">133682</int>
-              <reference key="NSVScroller" ref="573737110"/>
-              <reference key="NSHScroller" ref="297523533"/>
-              <reference key="NSContentView" ref="343242432"/>
-              <reference key="NSHeaderClipView" ref="576307303"/>
-              <bytes key="NSScrollAmts">QSAAAEEgAABBiAAAQYgAAA</bytes>
+                </object>
+                <string key="NSRecentsAutosaveName">VLC media player search</string>
+                <int key="NSMaximumRecents">10</int>
+              </object>
             </object>
             <object class="NSProgressIndicator" id="664576649">
               <reference key="NSNextResponder" ref="429932428"/>
               <int key="NSvFlags">-2147482334</int>
               <object class="NSPSMatrix" key="NSDrawMatrix"/>
-              <string key="NSFrame">{{221, 11}, {155, 12}}</string>
+              <string key="NSFrame">{{222, 12}, {155, 12}}</string>
               <reference key="NSSuperview" ref="429932428"/>
               <int key="NSpiFlags">16650</int>
               <double key="NSMaxValue">100</double>
               </object>
               <bool key="NSEditable">YES</bool>
             </object>
+            <object class="NSSlider" id="788281303">
+              <reference key="NSNextResponder" ref="429932428"/>
+              <int key="NSvFlags">289</int>
+              <string key="NSFrame">{{440, 10}, {85, 15}}</string>
+              <reference key="NSSuperview" ref="429932428"/>
+              <object class="CISourceOverCompositing" key="NSViewCompositeFilter">
+                <bool key="CIEnabled">YES</bool>
+              </object>
+              <bool key="NSEnabled">YES</bool>
+              <object class="NSSliderCell" key="NSCell" id="180862414">
+                <int key="NSCellFlags">67501824</int>
+                <int key="NSCellFlags2">131072</int>
+                <object class="NSMutableString" key="NSContents">
+                  <characters key="NS.bytes"/>
+                </object>
+                <reference key="NSSupport" ref="340291444"/>
+                <reference key="NSControlView" ref="788281303"/>
+                <double key="NSMaxValue">32</double>
+                <double key="NSMinValue">0.0</double>
+                <double key="NSValue">8</double>
+                <double key="NSAltIncValue">0.0</double>
+                <int key="NSNumberOfTickMarks">0</int>
+                <int key="NSTickMarkPosition">1</int>
+                <bool key="NSAllowsTickMarkValuesOnly">NO</bool>
+                <bool key="NSVertical">NO</bool>
+              </object>
+            </object>
+            <object class="NSCustomView" id="515305233">
+              <reference key="NSNextResponder" ref="429932428"/>
+              <int key="NSvFlags">274</int>
+              <string key="NSFrame">{{157, 214}, {163, 96}}</string>
+              <reference key="NSSuperview" ref="429932428"/>
+              <string key="NSReuseIdentifierKey">_NS:1109</string>
+              <string key="NSClassName">NSView</string>
+            </object>
           </object>
           <string key="NSFrameSize">{604, 310}</string>
           <reference key="NSSuperview"/>
             <reference key="NSMixedImage" ref="100133332"/>
           </object>
           <object class="NSMenuItem" id="942779567">
-            <reference key="NSMenu" ref="47559826"/>
-            <bool key="NSIsDisabled">YES</bool>
-            <bool key="NSIsSeparator">YES</bool>
-            <string key="NSTitle"/>
-            <string key="NSKeyEquiv"/>
-            <int key="NSKeyEquivModMask">1048576</int>
-            <int key="NSMnemonicLoc">2147483647</int>
-            <reference key="NSOnImage" ref="447396056"/>
-            <reference key="NSMixedImage" ref="100133332"/>
-          </object>
-          <object class="NSMenuItem" id="157574386">
-            <reference key="NSMenu" ref="47559826"/>
-            <string key="NSTitle">Mute</string>
-            <string key="NSKeyEquiv"/>
-            <int key="NSKeyEquivModMask">1048576</int>
-            <int key="NSMnemonicLoc">2147483647</int>
-            <reference key="NSOnImage" ref="447396056"/>
-            <reference key="NSMixedImage" ref="100133332"/>
-          </object>
-        </object>
-        <string key="NSName"/>
-      </object>
-      <object class="NSWindowTemplate" id="284663135">
-        <int key="NSWindowStyleMask">271</int>
-        <int key="NSWindowBacking">2</int>
-        <string key="NSWindowRect">{{97, 644}, {238, 63}}</string>
-        <int key="NSWTFlags">1618477056</int>
-        <string key="NSWindowTitle">Window</string>
-        <string key="NSWindowClass">VLCEmbeddedWindow</string>
-        <object class="NSMutableString" key="NSViewClass">
-          <characters key="NS.bytes">View</characters>
-        </object>
-        <nil key="NSUserInterfaceItemIdentifier"/>
-        <string key="NSWindowContentMaxSize">{1.7976931348623157e+308, 1.7976931348623157e+308}</string>
-        <object class="NSView" key="NSWindowView" id="351701434">
-          <reference key="NSNextResponder"/>
-          <int key="NSvFlags">256</int>
-          <object class="NSMutableArray" key="NSSubviews">
-            <bool key="EncodedWithXMLCoder">YES</bool>
-            <object class="NSButton" id="975829996">
-              <reference key="NSNextResponder" ref="351701434"/>
-              <int key="NSvFlags">292</int>
-              <string key="NSFrame">{{39, 4}, {39, 20}}</string>
-              <reference key="NSSuperview" ref="351701434"/>
-              <bool key="NSEnabled">YES</bool>
-              <object class="NSButtonCell" key="NSCell" id="551367224">
-                <int key="NSCellFlags">67239424</int>
-                <int key="NSCellFlags2">134217728</int>
-                <string key="NSContents"/>
-                <reference key="NSSupport" ref="23645573"/>
-                <reference key="NSControlView" ref="975829996"/>
-                <int key="NSButtonFlags">139723007</int>
-                <int key="NSButtonFlags2">2</int>
-                <object class="NSCustomResource" key="NSNormalImage">
-                  <string key="NSClassName">NSImage</string>
-                  <string key="NSResourceName">pause_embedded</string>
-                </object>
-                <object class="NSCustomResource" key="NSAlternateImage">
-                  <string key="NSClassName">NSImage</string>
-                  <string key="NSResourceName">pause_embedded_graphite</string>
-                </object>
-                <string key="NSAlternateContents"/>
-                <string key="NSKeyEquivalent"/>
-                <int key="NSPeriodicDelay">200</int>
-                <int key="NSPeriodicInterval">25</int>
-              </object>
-            </object>
-            <object class="NSButton" id="545549073">
-              <reference key="NSNextResponder" ref="351701434"/>
-              <int key="NSvFlags">292</int>
-              <string key="NSFrame">{{7, 4}, {31, 20}}</string>
-              <reference key="NSSuperview" ref="351701434"/>
-              <bool key="NSEnabled">YES</bool>
-              <object class="NSButtonCell" key="NSCell" id="1038165577">
-                <int key="NSCellFlags">67763712</int>
-                <int key="NSCellFlags2">134217728</int>
-                <string key="NSContents"/>
-                <reference key="NSSupport" ref="188716167"/>
-                <reference key="NSControlView" ref="545549073"/>
-                <int key="NSButtonFlags">139723007</int>
-                <int key="NSButtonFlags2">2</int>
-                <object class="NSCustomResource" key="NSNormalImage">
-                  <string key="NSClassName">NSImage</string>
-                  <string key="NSResourceName">skip_previous_active_embedded</string>
-                </object>
-                <object class="NSCustomResource" key="NSAlternateImage">
-                  <string key="NSClassName">NSImage</string>
-                  <string key="NSResourceName">skip_previous_embedded_graphite</string>
-                </object>
-                <string key="NSAlternateContents"/>
-                <object class="NSMutableString" key="NSKeyEquivalent">
-                  <characters key="NS.bytes"/>
-                </object>
-                <int key="NSPeriodicDelay">200</int>
-                <int key="NSPeriodicInterval">25</int>
-              </object>
-            </object>
-            <object class="NSButton" id="802390514">
-              <reference key="NSNextResponder" ref="351701434"/>
-              <int key="NSvFlags">292</int>
-              <string key="NSFrame">{{79, 4}, {31, 20}}</string>
-              <reference key="NSSuperview" ref="351701434"/>
-              <bool key="NSEnabled">YES</bool>
-              <object class="NSButtonCell" key="NSCell" id="401765054">
-                <int key="NSCellFlags">67763712</int>
-                <int key="NSCellFlags2">134217728</int>
-                <string key="NSContents"/>
-                <reference key="NSSupport" ref="188716167"/>
-                <reference key="NSControlView" ref="802390514"/>
-                <int key="NSButtonFlags">138674431</int>
-                <int key="NSButtonFlags2">2</int>
-                <object class="NSCustomResource" key="NSNormalImage">
-                  <string key="NSClassName">NSImage</string>
-                  <string key="NSResourceName">skip_forward_active_embedded</string>
-                </object>
-                <object class="NSCustomResource" key="NSAlternateImage">
-                  <string key="NSClassName">NSImage</string>
-                  <string key="NSResourceName">skip_forward_embedded_graphite</string>
-                </object>
-                <string key="NSAlternateContents"/>
-                <object class="NSMutableString" key="NSKeyEquivalent">
-                  <characters key="NS.bytes"/>
-                </object>
-                <int key="NSPeriodicDelay">200</int>
-                <int key="NSPeriodicInterval">25</int>
-              </object>
-            </object>
-            <object class="NSImageView" id="266027916">
-              <reference key="NSNextResponder" ref="351701434"/>
-              <int key="NSvFlags">290</int>
-              <object class="NSMutableSet" key="NSDragTypes">
-                <bool key="EncodedWithXMLCoder">YES</bool>
-                <object class="NSArray" key="set.sortedObjects">
-                  <bool key="EncodedWithXMLCoder">YES</bool>
-                  <string>Apple PDF pasteboard type</string>
-                  <string>Apple PICT pasteboard type</string>
-                  <string>Apple PNG pasteboard type</string>
-                  <string>NSFilenamesPboardType</string>
-                  <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
-                  <string>NeXT TIFF v4.0 pasteboard type</string>
-                </object>
-              </object>
-              <string key="NSFrame">{{158, 4}, {57, 20}}</string>
-              <reference key="NSSuperview" ref="351701434"/>
-              <bool key="NSEnabled">YES</bool>
-              <object class="NSImageCell" key="NSCell" id="936178023">
-                <int key="NSCellFlags">130560</int>
-                <int key="NSCellFlags2">33554432</int>
-                <object class="NSCustomResource" key="NSContents">
-                  <string key="NSClassName">NSImage</string>
-                  <string key="NSResourceName">mini-progressbar-wrapper-middle</string>
-                </object>
-                <int key="NSAlign">0</int>
-                <int key="NSScale">1</int>
-                <int key="NSStyle">0</int>
-                <bool key="NSAnimates">NO</bool>
-              </object>
-              <bool key="NSEditable">YES</bool>
-            </object>
-            <object class="NSSlider" id="400811827">
-              <reference key="NSNextResponder" ref="351701434"/>
-              <int key="NSvFlags">290</int>
-              <string key="NSFrame">{{158, 6}, {9, 15}}</string>
-              <reference key="NSSuperview" ref="351701434"/>
-              <bool key="NSEnabled">YES</bool>
-              <object class="NSSliderCell" key="NSCell" id="295635233">
-                <int key="NSCellFlags">67501824</int>
-                <int key="NSCellFlags2">131072</int>
-                <object class="NSMutableString" key="NSContents">
-                  <characters key="NS.bytes"/>
-                </object>
-                <reference key="NSSupport" ref="340291444"/>
-                <reference key="NSControlView" ref="400811827"/>
-                <double key="NSMaxValue">10000</double>
-                <double key="NSMinValue">0.0</double>
-                <double key="NSValue">0.0</double>
-                <double key="NSAltIncValue">0.0</double>
-                <int key="NSNumberOfTickMarks">0</int>
-                <int key="NSTickMarkPosition">1</int>
-                <bool key="NSAllowsTickMarkValuesOnly">NO</bool>
-                <bool key="NSVertical">NO</bool>
-              </object>
-            </object>
-            <object class="NSButton" id="750753776">
-              <reference key="NSNextResponder" ref="351701434"/>
-              <int key="NSvFlags">292</int>
-              <string key="NSFrame">{{114, 4}, {33, 20}}</string>
-              <reference key="NSSuperview" ref="351701434"/>
-              <bool key="NSEnabled">YES</bool>
-              <object class="NSButtonCell" key="NSCell" id="641689162">
-                <int key="NSCellFlags">67239424</int>
-                <int key="NSCellFlags2">134217728</int>
-                <string key="NSContents"/>
-                <reference key="NSSupport" ref="188716167"/>
-                <reference key="NSControlView" ref="750753776"/>
-                <int key="NSButtonFlags">-931921665</int>
-                <int key="NSButtonFlags2">2</int>
-                <reference key="NSNormalImage" ref="560932515"/>
-                <reference key="NSAlternateImage" ref="115283638"/>
-                <string key="NSAlternateContents"/>
-                <object class="NSMutableString" key="NSKeyEquivalent">
-                  <characters key="NS.bytes"/>
-                </object>
-                <int key="NSPeriodicDelay">200</int>
-                <int key="NSPeriodicInterval">25</int>
-              </object>
-            </object>
-            <object class="NSImageView" id="528539871">
-              <reference key="NSNextResponder" ref="351701434"/>
-              <int key="NSvFlags">292</int>
-              <object class="NSMutableSet" key="NSDragTypes">
-                <bool key="EncodedWithXMLCoder">YES</bool>
-                <object class="NSArray" key="set.sortedObjects">
-                  <bool key="EncodedWithXMLCoder">YES</bool>
-                  <string>Apple PDF pasteboard type</string>
-                  <string>Apple PICT pasteboard type</string>
-                  <string>Apple PNG pasteboard type</string>
-                  <string>NSFilenamesPboardType</string>
-                  <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
-                  <string>NeXT TIFF v4.0 pasteboard type</string>
-                </object>
-              </object>
-              <string key="NSFrame">{{152, 4}, {8, 20}}</string>
-              <reference key="NSSuperview" ref="351701434"/>
-              <bool key="NSEnabled">YES</bool>
-              <object class="NSImageCell" key="NSCell" id="259149746">
-                <int key="NSCellFlags">130560</int>
-                <int key="NSCellFlags2">33554432</int>
-                <object class="NSCustomResource" key="NSContents">
-                  <string key="NSClassName">NSImage</string>
-                  <string key="NSResourceName">mini-progressbar-wrapper-left</string>
-                </object>
-                <int key="NSAlign">0</int>
-                <int key="NSScale">1</int>
-                <int key="NSStyle">0</int>
-                <bool key="NSAnimates">NO</bool>
-              </object>
-              <bool key="NSEditable">YES</bool>
-            </object>
-            <object class="NSImageView" id="645169405">
-              <reference key="NSNextResponder" ref="351701434"/>
-              <int key="NSvFlags">289</int>
-              <object class="NSMutableSet" key="NSDragTypes">
-                <bool key="EncodedWithXMLCoder">YES</bool>
-                <object class="NSArray" key="set.sortedObjects">
-                  <bool key="EncodedWithXMLCoder">YES</bool>
-                  <string>Apple PDF pasteboard type</string>
-                  <string>Apple PICT pasteboard type</string>
-                  <string>Apple PNG pasteboard type</string>
-                  <string>NSFilenamesPboardType</string>
-                  <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
-                  <string>NeXT TIFF v4.0 pasteboard type</string>
-                </object>
-              </object>
-              <string key="NSFrame">{{210, 4}, {8, 20}}</string>
-              <reference key="NSSuperview" ref="351701434"/>
-              <bool key="NSEnabled">YES</bool>
-              <object class="NSImageCell" key="NSCell" id="1033378443">
-                <int key="NSCellFlags">130560</int>
-                <int key="NSCellFlags2">33554432</int>
-                <object class="NSCustomResource" key="NSContents">
-                  <string key="NSClassName">NSImage</string>
-                  <string key="NSResourceName">mini-progressbar-wrapper-right</string>
-                </object>
-                <int key="NSAlign">0</int>
-                <int key="NSScale">1</int>
-                <int key="NSStyle">0</int>
-                <bool key="NSAnimates">NO</bool>
-              </object>
-              <bool key="NSEditable">YES</bool>
-            </object>
-            <object class="NSTextField" id="262403346">
-              <reference key="NSNextResponder" ref="351701434"/>
-              <int key="NSvFlags">289</int>
-              <string key="NSFrame">{{165, 7}, {53, 13}}</string>
-              <reference key="NSSuperview" ref="351701434"/>
-              <bool key="NSEnabled">YES</bool>
-              <object class="NSTextFieldCell" key="NSCell" id="742071211">
-                <int key="NSCellFlags">-2079195584</int>
-                <int key="NSCellFlags2">138413056</int>
-                <string key="NSContents">0:00:00</string>
-                <reference key="NSSupport" ref="188716167"/>
-                <reference key="NSControlView" ref="262403346"/>
-                <reference key="NSBackgroundColor" ref="166084101"/>
-                <object class="NSColor" key="NSTextColor">
-                  <int key="NSColorSpace">1</int>
-                  <bytes key="NSRGB">MCAwIDAAA</bytes>
-                </object>
-              </object>
-            </object>
-            <object class="NSCustomView" id="627102071">
-              <reference key="NSNextResponder" ref="351701434"/>
-              <int key="NSvFlags">274</int>
-              <string key="NSFrame">{{0, 28}, {238, 35}}</string>
-              <reference key="NSSuperview" ref="351701434"/>
-              <string key="NSClassName">NSView</string>
-              <string key="NSExtension">NSView</string>
-            </object>
+            <reference key="NSMenu" ref="47559826"/>
+            <bool key="NSIsDisabled">YES</bool>
+            <bool key="NSIsSeparator">YES</bool>
+            <string key="NSTitle"/>
+            <string key="NSKeyEquiv"/>
+            <int key="NSKeyEquivModMask">1048576</int>
+            <int key="NSMnemonicLoc">2147483647</int>
+            <reference key="NSOnImage" ref="447396056"/>
+            <reference key="NSMixedImage" ref="100133332"/>
+          </object>
+          <object class="NSMenuItem" id="157574386">
+            <reference key="NSMenu" ref="47559826"/>
+            <string key="NSTitle">Mute</string>
+            <string key="NSKeyEquiv"/>
+            <int key="NSKeyEquivModMask">1048576</int>
+            <int key="NSMnemonicLoc">2147483647</int>
+            <reference key="NSOnImage" ref="447396056"/>
+            <reference key="NSMixedImage" ref="100133332"/>
           </object>
-          <string key="NSFrameSize">{238, 63}</string>
-          <reference key="NSSuperview"/>
         </object>
-        <string key="NSScreenRect">{{0, 0}, {1280, 778}}</string>
-        <string key="NSMaxSize">{1.7976931348623157e+308, 1.7976931348623157e+308}</string>
-        <string key="NSFrameAutosaveName">embeddedvoutwindow</string>
-        <bool key="NSWindowIsRestorable">YES</bool>
+        <string key="NSName"/>
       </object>
       <object class="NSWindowTemplate" id="442533115">
         <int key="NSWindowStyleMask">15</int>
@@ -4425,14 +4147,6 @@ LCAuLi4</string>
           <int key="connectionID">267</int>
         </object>
         <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_window</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="498338108"/>
-          </object>
-          <int key="connectionID">268</int>
-        </object>
-        <object class="IBConnectionRecord">
           <object class="IBActionConnection" key="connection">
             <string key="label">stop:</string>
             <reference key="source" ref="113811151"/>
@@ -4801,14 +4515,6 @@ LCAuLi4</string>
           <int key="connectionID">2252</int>
         </object>
         <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">random:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="291209196"/>
-          </object>
-          <int key="connectionID">2253</int>
-        </object>
-        <object class="IBConnectionRecord">
           <object class="IBOutletConnection" key="connection">
             <string key="label">o_mi_services</string>
             <reference key="source" ref="998338913"/>
@@ -4890,46 +4596,6 @@ LCAuLi4</string>
         </object>
         <object class="IBConnectionRecord">
           <object class="IBActionConnection" key="connection">
-            <string key="label">windowAction:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="750753776"/>
-          </object>
-          <int key="connectionID">2436</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">forward:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="802390514"/>
-          </object>
-          <int key="connectionID">2438</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">play:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="975829996"/>
-          </object>
-          <int key="connectionID">2439</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">backward:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="545549073"/>
-          </object>
-          <int key="connectionID">2440</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">timesliderUpdate:</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="400811827"/>
-          </object>
-          <int key="connectionID">2450</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
             <string key="label">takeIntValueFrom:</string>
             <reference key="source" ref="460273327"/>
             <reference key="destination" ref="378726756"/>
@@ -5170,70 +4836,6 @@ LCAuLi4</string>
         </object>
         <object class="IBConnectionRecord">
           <object class="IBActionConnection" key="connection">
-            <string key="label">repeatButtonAction:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="1051664676"/>
-          </object>
-          <int key="connectionID">2792</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_time</string>
-            <reference key="source" ref="284663135"/>
-            <reference key="destination" ref="262403346"/>
-          </object>
-          <int key="connectionID">2809</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_fullscreen</string>
-            <reference key="source" ref="284663135"/>
-            <reference key="destination" ref="750753776"/>
-          </object>
-          <int key="connectionID">2811</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_forward</string>
-            <reference key="source" ref="284663135"/>
-            <reference key="destination" ref="802390514"/>
-          </object>
-          <int key="connectionID">2812</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_play</string>
-            <reference key="source" ref="284663135"/>
-            <reference key="destination" ref="975829996"/>
-          </object>
-          <int key="connectionID">2813</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_backward</string>
-            <reference key="source" ref="284663135"/>
-            <reference key="destination" ref="545549073"/>
-          </object>
-          <int key="connectionID">2814</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_embedded_window</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="284663135"/>
-          </object>
-          <int key="connectionID">2815</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_view</string>
-            <reference key="source" ref="284663135"/>
-            <reference key="destination" ref="627102071"/>
-          </object>
-          <int key="connectionID">2816</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
             <string key="label">terminate:</string>
             <reference key="source" ref="989861549"/>
             <reference key="destination" ref="354656547"/>
@@ -5242,94 +4844,6 @@ LCAuLi4</string>
         </object>
         <object class="IBConnectionRecord">
           <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_fullscreen</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="750753776"/>
-          </object>
-          <int key="connectionID">2837</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">togglePlaylist:</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="998170671"/>
-          </object>
-          <int key="connectionID">3666</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">volumeUp:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="474770834"/>
-          </object>
-          <int key="connectionID">3668</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">volumeDown:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="963106097"/>
-          </object>
-          <int key="connectionID">3669</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">next:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="828315098"/>
-          </object>
-          <int key="connectionID">3671</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">prev:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="1023610457"/>
-          </object>
-          <int key="connectionID">3672</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">stop:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="809192538"/>
-          </object>
-          <int key="connectionID">3673</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">volumeSliderUpdated:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="788281303"/>
-          </object>
-          <int key="connectionID">3675</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_play</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="707945673"/>
-          </object>
-          <int key="connectionID">3678</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">play:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="707945673"/>
-          </object>
-          <int key="connectionID">3680</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_volumeslider</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="788281303"/>
-          </object>
-          <int key="connectionID">3687</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
             <string key="label">o_volumeslider</string>
             <reference key="source" ref="113811151"/>
             <reference key="destination" ref="788281303"/>
@@ -5337,46 +4851,6 @@ LCAuLi4</string>
           <int key="connectionID">3688</int>
         </object>
         <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_stop</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="809192538"/>
-          </object>
-          <int key="connectionID">3690</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_prev</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="1023610457"/>
-          </object>
-          <int key="connectionID">3691</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_next</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="828315098"/>
-          </object>
-          <int key="connectionID">3692</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_playlist</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="998170671"/>
-          </object>
-          <int key="connectionID">3696</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_main_pgbar</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="664576649"/>
-          </object>
-          <int key="connectionID">3704</int>
-        </object>
-        <object class="IBConnectionRecord">
           <object class="IBActionConnection" key="connection">
             <string key="label">crashReporterAction:</string>
             <reference key="source" ref="199714555"/>
@@ -5602,14 +5076,6 @@ LCAuLi4</string>
         </object>
         <object class="IBConnectionRecord">
           <object class="IBActionConnection" key="connection">
-            <string key="label">timeFieldWasClicked:</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="262403346"/>
-          </object>
-          <int key="connectionID">4271</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
             <string key="label">checkForUpdates:</string>
             <reference key="source" ref="1040926652"/>
             <reference key="destination" ref="354414928"/>
@@ -5658,70 +5124,6 @@ LCAuLi4</string>
         </object>
         <object class="IBConnectionRecord">
           <object class="IBOutletConnection" key="connection">
-            <string key="label">o_timeslider</string>
-            <reference key="source" ref="284663135"/>
-            <reference key="destination" ref="400811827"/>
-          </object>
-          <int key="connectionID">4396</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_backgroundimg_middle</string>
-            <reference key="source" ref="284663135"/>
-            <reference key="destination" ref="266027916"/>
-          </object>
-          <int key="connectionID">4403</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_backgroundimg_right</string>
-            <reference key="source" ref="284663135"/>
-            <reference key="destination" ref="645169405"/>
-          </object>
-          <int key="connectionID">4404</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_btn_audioEffects</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="38046606"/>
-          </object>
-          <int key="connectionID">4406</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">windowAction:</string>
-            <reference key="source" ref="113811151"/>
-            <reference key="destination" ref="714984330"/>
-          </object>
-          <int key="connectionID">4421</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_timefield</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="533732100"/>
-          </object>
-          <int key="connectionID">4428</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">timeFieldWasClicked:</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="896153998"/>
-          </object>
-          <int key="connectionID">4429</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">timesliderUpdate:</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="704525034"/>
-          </object>
-          <int key="connectionID">4431</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
             <string key="label">o_dmi_mute</string>
             <reference key="source" ref="651263286"/>
             <reference key="destination" ref="157574386"/>
@@ -6881,14 +6283,6 @@ LCAuLi4</string>
           <int key="connectionID">4592</int>
         </object>
         <object class="IBConnectionRecord">
-          <object class="IBOutletConnection" key="connection">
-            <string key="label">o_timeslider</string>
-            <reference key="source" ref="199714555"/>
-            <reference key="destination" ref="704525034"/>
-          </object>
-          <int key="connectionID">4593</int>
-        </object>
-        <object class="IBConnectionRecord">
           <object class="IBActionConnection" key="connection">
             <string key="label">showController:</string>
             <reference key="source" ref="199714555"/>
@@ -6986,11 +6380,291 @@ LCAuLi4</string>
         </object>
         <object class="IBConnectionRecord">
           <object class="IBOutletConnection" key="connection">
+            <string key="label">o_bottombar_view</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="1041205852"/>
+          </object>
+          <int key="connectionID">4627</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_bwd_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="1023610457"/>
+          </object>
+          <int key="connectionID">4628</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_effects_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="38046606"/>
+          </object>
+          <int key="connectionID">4629</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_fullscreen_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="714984330"/>
+          </object>
+          <int key="connectionID">4630</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_fwd_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="828315098"/>
+          </object>
+          <int key="connectionID">4631</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_play_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="707945673"/>
+          </object>
+          <int key="connectionID">4632</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_progress_bar</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="664576649"/>
+          </object>
+          <int key="connectionID">4635</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_repeat_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="1051664676"/>
+          </object>
+          <int key="connectionID">4636</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_search_fld</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="596740638"/>
+          </object>
+          <int key="connectionID">4637</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_shuffle_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="291209196"/>
+          </object>
+          <int key="connectionID">4638</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_stop_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="809192538"/>
+          </object>
+          <int key="connectionID">4639</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_time_fld</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="533732100"/>
+          </object>
+          <int key="connectionID">4640</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_time_sld</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="704525034"/>
+          </object>
+          <int key="connectionID">4641</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_time_sld_left_view</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="354459361"/>
+          </object>
+          <int key="connectionID">4642</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_time_sld_middle_view</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="21901908"/>
+          </object>
+          <int key="connectionID">4643</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_time_sld_right_view</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="828712633"/>
+          </object>
+          <int key="connectionID">4644</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_volume_down_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="963106097"/>
+          </object>
+          <int key="connectionID">4645</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_volume_sld</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="788281303"/>
+          </object>
+          <int key="connectionID">4646</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_volume_track_view</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="784705424"/>
+          </object>
+          <int key="connectionID">4647</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_volume_up_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="474770834"/>
+          </object>
+          <int key="connectionID">4648</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">bwd:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="1023610457"/>
+          </object>
+          <int key="connectionID">4649</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">effects:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="38046606"/>
+          </object>
+          <int key="connectionID">4650</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">fullscreen:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="714984330"/>
+          </object>
+          <int key="connectionID">4651</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">fwd:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="828315098"/>
+          </object>
+          <int key="connectionID">4652</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">play:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="707945673"/>
+          </object>
+          <int key="connectionID">4653</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">repeat:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="1051664676"/>
+          </object>
+          <int key="connectionID">4654</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">shuffle:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="291209196"/>
+          </object>
+          <int key="connectionID">4655</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">stop:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="809192538"/>
+          </object>
+          <int key="connectionID">4656</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">togglePlaylist:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="998170671"/>
+          </object>
+          <int key="connectionID">4657</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">volumeAction:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="474770834"/>
+          </object>
+          <int key="connectionID">4658</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">volumeAction:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="788281303"/>
+          </object>
+          <int key="connectionID">4659</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">volumeAction:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="963106097"/>
+          </object>
+          <int key="connectionID">4660</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_mainwindow</string>
+            <reference key="source" ref="199714555"/>
+            <reference key="destination" ref="498338108"/>
+          </object>
+          <int key="connectionID">4663</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_playlist_table</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="915491793"/>
+          </object>
+          <int key="connectionID">4664</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
             <string key="label">o_video_view</string>
-            <reference key="source" ref="284663135"/>
-            <reference key="destination" ref="627102071"/>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="515305233"/>
+          </object>
+          <int key="connectionID">4666</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_playlist_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="998170671"/>
           </object>
-          <int key="connectionID">4626</int>
+          <int key="connectionID">4667</int>
         </object>
       </object>
       <object class="IBMutableOrderedSet" key="objectRecords">
@@ -7024,7 +6698,7 @@ LCAuLi4</string>
               <reference ref="429932428"/>
             </object>
             <reference key="parent" ref="0"/>
-            <string key="objectName">vlc</string>
+            <string key="objectName">Main Window</string>
           </object>
           <object class="IBObjectRecord">
             <int key="objectID">2</int>
@@ -7040,19 +6714,20 @@ LCAuLi4</string>
               <reference ref="714984330"/>
               <reference ref="38046606"/>
               <reference ref="784705424"/>
-              <reference ref="788281303"/>
               <reference ref="474770834"/>
               <reference ref="963106097"/>
               <reference ref="533732100"/>
               <reference ref="998170671"/>
               <reference ref="596740638"/>
               <reference ref="915491793"/>
-              <reference ref="704525034"/>
               <reference ref="1041205852"/>
               <reference ref="828712633"/>
               <reference ref="354459361"/>
               <reference ref="21901908"/>
+              <reference ref="704525034"/>
               <reference ref="664576649"/>
+              <reference ref="788281303"/>
+              <reference ref="515305233"/>
             </object>
             <reference key="parent" ref="498338108"/>
           </object>
@@ -8365,120 +8040,6 @@ LCAuLi4</string>
             <reference key="parent" ref="47559826"/>
           </object>
           <object class="IBObjectRecord">
-            <int key="objectID">2416</int>
-            <reference key="object" ref="284663135"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="351701434"/>
-            </object>
-            <reference key="parent" ref="0"/>
-            <string key="objectName">VoutWindow</string>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">2417</int>
-            <reference key="object" ref="351701434"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="975829996"/>
-              <reference ref="545549073"/>
-              <reference ref="802390514"/>
-              <reference ref="262403346"/>
-              <reference ref="400811827"/>
-              <reference ref="750753776"/>
-              <reference ref="627102071"/>
-              <reference ref="528539871"/>
-              <reference ref="645169405"/>
-              <reference ref="266027916"/>
-            </object>
-            <reference key="parent" ref="284663135"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">2418</int>
-            <reference key="object" ref="975829996"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="551367224"/>
-            </object>
-            <reference key="parent" ref="351701434"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">2419</int>
-            <reference key="object" ref="545549073"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="1038165577"/>
-            </object>
-            <reference key="parent" ref="351701434"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">2420</int>
-            <reference key="object" ref="802390514"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="401765054"/>
-            </object>
-            <reference key="parent" ref="351701434"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">2421</int>
-            <reference key="object" ref="266027916"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="936178023"/>
-            </object>
-            <reference key="parent" ref="351701434"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">2422</int>
-            <reference key="object" ref="262403346"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="742071211"/>
-            </object>
-            <reference key="parent" ref="351701434"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">2423</int>
-            <reference key="object" ref="400811827"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="295635233"/>
-            </object>
-            <reference key="parent" ref="351701434"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">2425</int>
-            <reference key="object" ref="750753776"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="641689162"/>
-            </object>
-            <reference key="parent" ref="351701434"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">2427</int>
-            <reference key="object" ref="627102071"/>
-            <reference key="parent" ref="351701434"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">3290</int>
-            <reference key="object" ref="528539871"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="259149746"/>
-            </object>
-            <reference key="parent" ref="351701434"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">3291</int>
-            <reference key="object" ref="645169405"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="1033378443"/>
-            </object>
-            <reference key="parent" ref="351701434"/>
-          </object>
-          <object class="IBObjectRecord">
             <int key="objectID">2460</int>
             <reference key="object" ref="442533115"/>
             <object class="NSMutableArray" key="children">
@@ -8972,53 +8533,8 @@ LCAuLi4</string>
           </object>
           <object class="IBObjectRecord">
             <int key="objectID">4283</int>
-            <reference key="object" ref="1059676164"/>
-            <reference key="parent" ref="158197552"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">4317</int>
-            <reference key="object" ref="551367224"/>
-            <reference key="parent" ref="975829996"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">4318</int>
-            <reference key="object" ref="1038165577"/>
-            <reference key="parent" ref="545549073"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">4319</int>
-            <reference key="object" ref="401765054"/>
-            <reference key="parent" ref="802390514"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">4320</int>
-            <reference key="object" ref="936178023"/>
-            <reference key="parent" ref="266027916"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">4321</int>
-            <reference key="object" ref="742071211"/>
-            <reference key="parent" ref="262403346"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">4322</int>
-            <reference key="object" ref="295635233"/>
-            <reference key="parent" ref="400811827"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">4323</int>
-            <reference key="object" ref="641689162"/>
-            <reference key="parent" ref="750753776"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">4324</int>
-            <reference key="object" ref="259149746"/>
-            <reference key="parent" ref="528539871"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">4325</int>
-            <reference key="object" ref="1033378443"/>
-            <reference key="parent" ref="645169405"/>
+            <reference key="object" ref="1059676164"/>
+            <reference key="parent" ref="158197552"/>
           </object>
           <object class="IBObjectRecord">
             <int key="objectID">4326</int>
@@ -9648,6 +9164,11 @@ LCAuLi4</string>
             <reference key="object" ref="247978791"/>
             <reference key="parent" ref="935681074"/>
           </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">4665</int>
+            <reference key="object" ref="515305233"/>
+            <reference key="parent" ref="429932428"/>
+          </object>
         </object>
       </object>
       <object class="NSMutableDictionary" key="flattenedProperties">
@@ -9916,35 +9437,6 @@ LCAuLi4</string>
           <string>240.ImportedFromIB2</string>
           <string>2402.IBPluginDependency</string>
           <string>2402.ImportedFromIB2</string>
-          <string>2416.IBEditorWindowLastContentRect</string>
-          <string>2416.IBPluginDependency</string>
-          <string>2416.IBWindowTemplateEditedContentRect</string>
-          <string>2416.ImportedFromIB2</string>
-          <string>2417.IBPluginDependency</string>
-          <string>2417.ImportedFromIB2</string>
-          <string>2418.IBPluginDependency</string>
-          <string>2418.ImportedFromIB2</string>
-          <string>2419.IBPluginDependency</string>
-          <string>2419.ImportedFromIB2</string>
-          <string>2420.IBPluginDependency</string>
-          <string>2420.ImportedFromIB2</string>
-          <string>2421.CustomClassName</string>
-          <string>2421.IBPluginDependency</string>
-          <string>2421.IBViewBoundsToFrameTransform</string>
-          <string>2421.ImportedFromIB2</string>
-          <string>2422.CustomClassName</string>
-          <string>2422.IBPluginDependency</string>
-          <string>2422.IBViewBoundsToFrameTransform</string>
-          <string>2422.ImportedFromIB2</string>
-          <string>2423.CustomClassName</string>
-          <string>2423.IBPluginDependency</string>
-          <string>2423.IBViewBoundsToFrameTransform</string>
-          <string>2423.ImportedFromIB2</string>
-          <string>2425.IBPluginDependency</string>
-          <string>2425.IBViewBoundsToFrameTransform</string>
-          <string>2425.ImportedFromIB2</string>
-          <string>2427.IBPluginDependency</string>
-          <string>2427.ImportedFromIB2</string>
           <string>243.IBPluginDependency</string>
           <string>243.ImportedFromIB2</string>
           <string>244.IBPluginDependency</string>
@@ -10083,12 +9575,6 @@ LCAuLi4</string>
           <string>29.IBEditorWindowLastContentRect</string>
           <string>29.IBPluginDependency</string>
           <string>29.ImportedFromIB2</string>
-          <string>3290.CustomClassName</string>
-          <string>3290.IBPluginDependency</string>
-          <string>3290.ImportedFromIB2</string>
-          <string>3291.CustomClassName</string>
-          <string>3291.IBPluginDependency</string>
-          <string>3291.ImportedFromIB2</string>
           <string>3292.IBPluginDependency</string>
           <string>3292.ImportedFromIB2</string>
           <string>333.IBPluginDependency</string>
@@ -10210,15 +9696,6 @@ LCAuLi4</string>
           <string>4315.CustomClassName</string>
           <string>4315.IBPluginDependency</string>
           <string>4316.IBPluginDependency</string>
-          <string>4317.IBPluginDependency</string>
-          <string>4318.IBPluginDependency</string>
-          <string>4319.IBPluginDependency</string>
-          <string>4320.IBPluginDependency</string>
-          <string>4321.IBPluginDependency</string>
-          <string>4322.IBPluginDependency</string>
-          <string>4323.IBPluginDependency</string>
-          <string>4324.IBPluginDependency</string>
-          <string>4325.IBPluginDependency</string>
           <string>4326.IBPluginDependency</string>
           <string>4327.IBPluginDependency</string>
           <string>4328.IBPluginDependency</string>
@@ -10350,6 +9827,7 @@ LCAuLi4</string>
           <string>4622.IBPluginDependency</string>
           <string>4622.IBViewBoundsToFrameTransform</string>
           <string>4623.IBPluginDependency</string>
+          <string>4665.IBPluginDependency</string>
           <string>5.IBPluginDependency</string>
           <string>5.ImportedFromIB2</string>
           <string>56.IBPluginDependency</string>
@@ -10587,9 +10065,9 @@ LCAuLi4</string>
           <string>{{473, 633}, {137, 103}}</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <boolean value="YES"/>
-          <string>{{329, 176}, {604, 310}}</string>
+          <string>{{330, 298}, {604, 310}}</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>{{329, 176}, {604, 310}}</string>
+          <string>{{330, 298}, {604, 310}}</string>
           <boolean value="YES"/>
           <boolean value="YES"/>
           <boolean value="YES"/>
@@ -10665,43 +10143,6 @@ LCAuLi4</string>
           <boolean value="YES"/>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <boolean value="YES"/>
-          <string>{{330, 631}, {238, 63}}</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>{{330, 631}, {238, 63}}</string>
-          <boolean value="YES"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <boolean value="YES"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <boolean value="YES"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <boolean value="YES"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <boolean value="YES"/>
-          <string>VLBrushedMetalImageView</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <object class="NSAffineTransform">
-            <bytes key="NSTransformStruct">AUMeAABAgAAAA</bytes>
-          </object>
-          <boolean value="YES"/>
-          <string>VLCTimeField</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <object class="NSAffineTransform">
-            <bytes key="NSTransformStruct">P4AAAL+AAABDJQAAwZAAAA</bytes>
-          </object>
-          <boolean value="YES"/>
-          <string>MPSlider</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <object class="NSAffineTransform">
-            <bytes key="NSTransformStruct">P4AAAL+AAABDHgAAwZgAAA</bytes>
-          </object>
-          <boolean value="YES"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <object class="NSAffineTransform">
-            <bytes key="NSTransformStruct">P4AAAL+AAABC5AAAwbAAAA</bytes>
-          </object>
-          <boolean value="YES"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <boolean value="YES"/>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <boolean value="YES"/>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -10844,12 +10285,6 @@ LCAuLi4</string>
           <string>{{373, 736}, {468, 20}}</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <boolean value="YES"/>
-          <string>VLBrushedMetalImageView</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <boolean value="YES"/>
-          <string>VLBrushedMetalImageView</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <boolean value="YES"/>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <boolean value="YES"/>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -10864,7 +10299,7 @@ LCAuLi4</string>
           <boolean value="YES"/>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <object class="NSAffineTransform">
-            <bytes key="NSTransformStruct">P4AAAL+AAABDXgAAwggAAA</bytes>
+            <bytes key="NSTransformStruct">P4AAAL+AAABDaQAAwhwAAA</bytes>
           </object>
           <boolean value="YES"/>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -10880,7 +10315,7 @@ LCAuLi4</string>
           <string>ITSlider</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <object class="NSAffineTransform">
-            <bytes key="NSTransformStruct">P4AAAL+AAABD24AAwbgAAA</bytes>
+            <bytes key="NSTransformStruct">P4AAAL+AAABD3AAAwbgAAA</bytes>
           </object>
           <boolean value="YES"/>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -11021,15 +10456,6 @@ LCAuLi4</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <boolean value="YES"/>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <boolean value="YES"/>
@@ -11093,7 +10519,7 @@ LCAuLi4</string>
           <string>TimeLineSlider</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <object class="NSAffineTransform">
-            <bytes key="NSTransformStruct">P4AAAL+AAABDXAAAwbgAAA</bytes>
+            <bytes key="NSTransformStruct">P4AAAL+AAABDXwAAwnQAAA</bytes>
           </object>
           <boolean value="YES"/>
           <string>VLCTimeField</string>
@@ -11156,6 +10582,7 @@ LCAuLi4</string>
           </object>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <boolean value="YES"/>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <boolean value="YES"/>
@@ -11221,7 +10648,7 @@ LCAuLi4</string>
         </object>
       </object>
       <nil key="sourceID"/>
-      <int key="maxID">4626</int>
+      <int key="maxID">4667</int>
     </object>
     <object class="IBClassDescriber" key="IBDocument.Classes">
       <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.1+">
@@ -11235,11 +10662,6 @@ LCAuLi4</string>
           </object>
         </object>
         <object class="IBPartialClassDescription">
-          <string key="className">MPSlider</string>
-          <string key="superclassName">NSSlider</string>
-          <reference key="sourceIdentifier" ref="690328904"/>
-        </object>
-        <object class="IBPartialClassDescription">
           <string key="className">NSObject</string>
           <object class="IBClassDescriptionSource" key="sourceIdentifier" id="647024034">
             <string key="majorKey">IBDocumentRelativeSource</string>
@@ -11297,11 +10719,6 @@ LCAuLi4</string>
           <reference key="sourceIdentifier" ref="690328904"/>
         </object>
         <object class="IBPartialClassDescription">
-          <string key="className">VLCControllerWindow</string>
-          <string key="superclassName">NSWindow</string>
-          <reference key="sourceIdentifier" ref="690328904"/>
-        </object>
-        <object class="IBPartialClassDescription">
           <string key="className">VLCControls</string>
           <string key="superclassName">NSObject</string>
           <object class="NSMutableDictionary" key="actions">
@@ -11619,260 +11036,6 @@ LCAuLi4</string>
           </object>
         </object>
         <object class="IBPartialClassDescription">
-          <string key="className">VLCEmbeddedWindow</string>
-          <string key="superclassName">NSWindow</string>
-          <object class="NSMutableDictionary" key="actions">
-            <string key="NS.key.0">togglePlaylist:</string>
-            <string key="NS.object.0">id</string>
-          </object>
-          <object class="NSMutableDictionary" key="actionInfosByName">
-            <string key="NS.key.0">togglePlaylist:</string>
-            <object class="IBActionInfo" key="NS.object.0">
-              <string key="name">togglePlaylist:</string>
-              <string key="candidateClassName">id</string>
-            </object>
-          </object>
-          <object class="NSMutableDictionary" key="outlets">
-            <bool key="EncodedWithXMLCoder">YES</bool>
-            <object class="NSArray" key="dict.sortedKeys">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <string>o_background_view</string>
-              <string>o_backgroundimg_middle</string>
-              <string>o_backgroundimg_right</string>
-              <string>o_btn_backward</string>
-              <string>o_btn_equalizer</string>
-              <string>o_btn_forward</string>
-              <string>o_btn_fullscreen</string>
-              <string>o_btn_next</string>
-              <string>o_btn_play</string>
-              <string>o_btn_playlist</string>
-              <string>o_btn_prev</string>
-              <string>o_btn_stop</string>
-              <string>o_btn_volume_down</string>
-              <string>o_btn_volume_up</string>
-              <string>o_horizontal_split</string>
-              <string>o_main_pgbar</string>
-              <string>o_playlist</string>
-              <string>o_playlist_table</string>
-              <string>o_playlist_view</string>
-              <string>o_scrollfield</string>
-              <string>o_searchfield</string>
-              <string>o_sidebar_list</string>
-              <string>o_status</string>
-              <string>o_time</string>
-              <string>o_timeslider</string>
-              <string>o_vertical_split</string>
-              <string>o_video_view</string>
-              <string>o_videosubview</string>
-              <string>o_view</string>
-              <string>o_vlc_main</string>
-              <string>o_volumeslider</string>
-            </object>
-            <object class="NSMutableArray" key="dict.values">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-              <string>id</string>
-            </object>
-          </object>
-          <object class="NSMutableDictionary" key="toOneOutletInfosByName">
-            <bool key="EncodedWithXMLCoder">YES</bool>
-            <object class="NSArray" key="dict.sortedKeys">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <string>o_background_view</string>
-              <string>o_backgroundimg_middle</string>
-              <string>o_backgroundimg_right</string>
-              <string>o_btn_backward</string>
-              <string>o_btn_equalizer</string>
-              <string>o_btn_forward</string>
-              <string>o_btn_fullscreen</string>
-              <string>o_btn_next</string>
-              <string>o_btn_play</string>
-              <string>o_btn_playlist</string>
-              <string>o_btn_prev</string>
-              <string>o_btn_stop</string>
-              <string>o_btn_volume_down</string>
-              <string>o_btn_volume_up</string>
-              <string>o_horizontal_split</string>
-              <string>o_main_pgbar</string>
-              <string>o_playlist</string>
-              <string>o_playlist_table</string>
-              <string>o_playlist_view</string>
-              <string>o_scrollfield</string>
-              <string>o_searchfield</string>
-              <string>o_sidebar_list</string>
-              <string>o_status</string>
-              <string>o_time</string>
-              <string>o_timeslider</string>
-              <string>o_vertical_split</string>
-              <string>o_video_view</string>
-              <string>o_videosubview</string>
-              <string>o_view</string>
-              <string>o_vlc_main</string>
-              <string>o_volumeslider</string>
-            </object>
-            <object class="NSMutableArray" key="dict.values">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_background_view</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_backgroundimg_middle</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_backgroundimg_right</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_backward</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_equalizer</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_forward</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_fullscreen</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_next</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_play</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_playlist</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_prev</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_stop</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_volume_down</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_volume_up</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_horizontal_split</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_main_pgbar</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_playlist</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_playlist_table</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_playlist_view</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_scrollfield</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_searchfield</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_sidebar_list</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_status</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_time</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_timeslider</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_vertical_split</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_video_view</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_videosubview</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_view</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_vlc_main</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_volumeslider</string>
-                <string key="candidateClassName">id</string>
-              </object>
-            </object>
-          </object>
-          <object class="IBClassDescriptionSource" key="sourceIdentifier">
-            <string key="majorKey">IBDocumentRelativeSource</string>
-            <string key="minorKey">../../../../../modules/gui/macosx/embeddedwindow.h</string>
-          </object>
-        </object>
-        <object class="IBPartialClassDescription">
           <string key="className">VLCFSPanel</string>
           <string key="superclassName">NSWindow</string>
           <object class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -11892,8 +11055,6 @@ LCAuLi4</string>
               <string>saveDebugLog:</string>
               <string>showController:</string>
               <string>showMessagesPanel:</string>
-              <string>timeFieldWasClicked:</string>
-              <string>timesliderUpdate:</string>
               <string>togglePlaylist:</string>
             </object>
             <object class="NSMutableArray" key="dict.values">
@@ -11904,8 +11065,6 @@ LCAuLi4</string>
               <string>id</string>
               <string>id</string>
               <string>id</string>
-              <string>id</string>
-              <string>id</string>
             </object>
           </object>
           <object class="NSMutableDictionary" key="actionInfosByName">
@@ -11917,8 +11076,6 @@ LCAuLi4</string>
               <string>saveDebugLog:</string>
               <string>showController:</string>
               <string>showMessagesPanel:</string>
-              <string>timeFieldWasClicked:</string>
-              <string>timesliderUpdate:</string>
               <string>togglePlaylist:</string>
             </object>
             <object class="NSMutableArray" key="dict.values">
@@ -11944,14 +11101,6 @@ LCAuLi4</string>
                 <string key="candidateClassName">id</string>
               </object>
               <object class="IBActionInfo">
-                <string key="name">timeFieldWasClicked:</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBActionInfo">
-                <string key="name">timesliderUpdate:</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBActionInfo">
                 <string key="name">togglePlaylist:</string>
                 <string key="candidateClassName">id</string>
               </object>
@@ -11962,15 +11111,6 @@ LCAuLi4</string>
             <object class="NSArray" key="dict.sortedKeys">
               <bool key="EncodedWithXMLCoder">YES</bool>
               <string>o_bookmarks</string>
-              <string>o_btn_audioEffects</string>
-              <string>o_btn_ff</string>
-              <string>o_btn_fullscreen</string>
-              <string>o_btn_next</string>
-              <string>o_btn_play</string>
-              <string>o_btn_playlist</string>
-              <string>o_btn_prev</string>
-              <string>o_btn_rewind</string>
-              <string>o_btn_stop</string>
               <string>o_controls</string>
               <string>o_coredialogs</string>
               <string>o_coreinteraction</string>
@@ -11983,10 +11123,9 @@ LCAuLi4</string>
               <string>o_crashrep_title_txt</string>
               <string>o_crashrep_win</string>
               <string>o_embedded_list</string>
-              <string>o_embedded_window</string>
               <string>o_eyetv</string>
-              <string>o_main_pgbar</string>
               <string>o_mainmenu</string>
+              <string>o_mainwindow</string>
               <string>o_messages</string>
               <string>o_msgs_crashlog_btn</string>
               <string>o_msgs_panel</string>
@@ -11994,26 +11133,12 @@ LCAuLi4</string>
               <string>o_open</string>
               <string>o_playlist</string>
               <string>o_prefs</string>
-              <string>o_scrollfield</string>
               <string>o_sprefs</string>
-              <string>o_timefield</string>
-              <string>o_timeslider</string>
-              <string>o_volumeslider</string>
-              <string>o_window</string>
               <string>o_wizard</string>
             </object>
             <object class="NSMutableArray" key="dict.values">
               <bool key="EncodedWithXMLCoder">YES</bool>
               <string>id</string>
-              <string>NSButton</string>
-              <string>NSButton</string>
-              <string>NSButton</string>
-              <string>NSButton</string>
-              <string>NSButton</string>
-              <string>NSButton</string>
-              <string>NSButton</string>
-              <string>NSButton</string>
-              <string>NSButton</string>
               <string>VLCControls</string>
               <string>id</string>
               <string>id</string>
@@ -12026,9 +11151,8 @@ LCAuLi4</string>
               <string>NSTextField</string>
               <string>NSWindow</string>
               <string>id</string>
-              <string>VLCEmbeddedWindow</string>
               <string>id</string>
-              <string>NSProgressIndicator</string>
+              <string>id</string>
               <string>id</string>
               <string>NSTextView</string>
               <string>NSButton</string>
@@ -12039,11 +11163,6 @@ LCAuLi4</string>
               <string>id</string>
               <string>id</string>
               <string>id</string>
-              <string>NSTextField</string>
-              <string>NSSlider</string>
-              <string>NSSlider</string>
-              <string>VLCControllerWindow</string>
-              <string>id</string>
             </object>
           </object>
           <object class="NSMutableDictionary" key="toOneOutletInfosByName">
@@ -12051,15 +11170,6 @@ LCAuLi4</string>
             <object class="NSArray" key="dict.sortedKeys">
               <bool key="EncodedWithXMLCoder">YES</bool>
               <string>o_bookmarks</string>
-              <string>o_btn_audioEffects</string>
-              <string>o_btn_ff</string>
-              <string>o_btn_fullscreen</string>
-              <string>o_btn_next</string>
-              <string>o_btn_play</string>
-              <string>o_btn_playlist</string>
-              <string>o_btn_prev</string>
-              <string>o_btn_rewind</string>
-              <string>o_btn_stop</string>
               <string>o_controls</string>
               <string>o_coredialogs</string>
               <string>o_coreinteraction</string>
@@ -12072,10 +11182,9 @@ LCAuLi4</string>
               <string>o_crashrep_title_txt</string>
               <string>o_crashrep_win</string>
               <string>o_embedded_list</string>
-              <string>o_embedded_window</string>
               <string>o_eyetv</string>
-              <string>o_main_pgbar</string>
               <string>o_mainmenu</string>
+              <string>o_mainwindow</string>
               <string>o_messages</string>
               <string>o_msgs_crashlog_btn</string>
               <string>o_msgs_panel</string>
@@ -12083,12 +11192,7 @@ LCAuLi4</string>
               <string>o_open</string>
               <string>o_playlist</string>
               <string>o_prefs</string>
-              <string>o_scrollfield</string>
               <string>o_sprefs</string>
-              <string>o_timefield</string>
-              <string>o_timeslider</string>
-              <string>o_volumeslider</string>
-              <string>o_window</string>
               <string>o_wizard</string>
             </object>
             <object class="NSMutableArray" key="dict.values">
@@ -12098,42 +11202,6 @@ LCAuLi4</string>
                 <string key="candidateClassName">id</string>
               </object>
               <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_audioEffects</string>
-                <string key="candidateClassName">NSButton</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_ff</string>
-                <string key="candidateClassName">NSButton</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_fullscreen</string>
-                <string key="candidateClassName">NSButton</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_next</string>
-                <string key="candidateClassName">NSButton</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_play</string>
-                <string key="candidateClassName">NSButton</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_playlist</string>
-                <string key="candidateClassName">NSButton</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_prev</string>
-                <string key="candidateClassName">NSButton</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_rewind</string>
-                <string key="candidateClassName">NSButton</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_btn_stop</string>
-                <string key="candidateClassName">NSButton</string>
-              </object>
-              <object class="IBToOneOutletInfo">
                 <string key="name">o_controls</string>
                 <string key="candidateClassName">VLCControls</string>
               </object>
@@ -12182,19 +11250,15 @@ LCAuLi4</string>
                 <string key="candidateClassName">id</string>
               </object>
               <object class="IBToOneOutletInfo">
-                <string key="name">o_embedded_window</string>
-                <string key="candidateClassName">VLCEmbeddedWindow</string>
-              </object>
-              <object class="IBToOneOutletInfo">
                 <string key="name">o_eyetv</string>
                 <string key="candidateClassName">id</string>
               </object>
               <object class="IBToOneOutletInfo">
-                <string key="name">o_main_pgbar</string>
-                <string key="candidateClassName">NSProgressIndicator</string>
+                <string key="name">o_mainmenu</string>
+                <string key="candidateClassName">id</string>
               </object>
               <object class="IBToOneOutletInfo">
-                <string key="name">o_mainmenu</string>
+                <string key="name">o_mainwindow</string>
                 <string key="candidateClassName">id</string>
               </object>
               <object class="IBToOneOutletInfo">
@@ -12226,30 +11290,10 @@ LCAuLi4</string>
                 <string key="candidateClassName">id</string>
               </object>
               <object class="IBToOneOutletInfo">
-                <string key="name">o_scrollfield</string>
-                <string key="candidateClassName">id</string>
-              </object>
-              <object class="IBToOneOutletInfo">
                 <string key="name">o_sprefs</string>
                 <string key="candidateClassName">id</string>
               </object>
               <object class="IBToOneOutletInfo">
-                <string key="name">o_timefield</string>
-                <string key="candidateClassName">NSTextField</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_timeslider</string>
-                <string key="candidateClassName">NSSlider</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_volumeslider</string>
-                <string key="candidateClassName">NSSlider</string>
-              </object>
-              <object class="IBToOneOutletInfo">
-                <string key="name">o_window</string>
-                <string key="candidateClassName">VLCControllerWindow</string>
-              </object>
-              <object class="IBToOneOutletInfo">
                 <string key="name">o_wizard</string>
                 <string key="candidateClassName">id</string>
               </object>
@@ -13429,6 +12473,295 @@ LCAuLi4</string>
           </object>
         </object>
         <object class="IBPartialClassDescription">
+          <string key="className">VLCMainWindow</string>
+          <string key="superclassName">NSWindow</string>
+          <object class="NSMutableDictionary" key="actions">
+            <bool key="EncodedWithXMLCoder">YES</bool>
+            <object class="NSArray" key="dict.sortedKeys">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>bwd:</string>
+              <string>effects:</string>
+              <string>fullscreen:</string>
+              <string>fwd:</string>
+              <string>play:</string>
+              <string>repeat:</string>
+              <string>shuffle:</string>
+              <string>stop:</string>
+              <string>timeFieldWasClicked:</string>
+              <string>timeSliderAction:</string>
+              <string>togglePlaylist:</string>
+              <string>volumeAction:</string>
+            </object>
+            <object class="NSMutableArray" key="dict.values">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+            </object>
+          </object>
+          <object class="NSMutableDictionary" key="actionInfosByName">
+            <bool key="EncodedWithXMLCoder">YES</bool>
+            <object class="NSArray" key="dict.sortedKeys">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>bwd:</string>
+              <string>effects:</string>
+              <string>fullscreen:</string>
+              <string>fwd:</string>
+              <string>play:</string>
+              <string>repeat:</string>
+              <string>shuffle:</string>
+              <string>stop:</string>
+              <string>timeFieldWasClicked:</string>
+              <string>timeSliderAction:</string>
+              <string>togglePlaylist:</string>
+              <string>volumeAction:</string>
+            </object>
+            <object class="NSMutableArray" key="dict.values">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <object class="IBActionInfo">
+                <string key="name">bwd:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">effects:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">fullscreen:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">fwd:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">play:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">repeat:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">shuffle:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">stop:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">timeFieldWasClicked:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">timeSliderAction:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">togglePlaylist:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">volumeAction:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+            </object>
+          </object>
+          <object class="NSMutableDictionary" key="outlets">
+            <bool key="EncodedWithXMLCoder">YES</bool>
+            <object class="NSArray" key="dict.sortedKeys">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>o_bottombar_view</string>
+              <string>o_bwd_btn</string>
+              <string>o_effects_btn</string>
+              <string>o_fullscreen_btn</string>
+              <string>o_fwd_btn</string>
+              <string>o_play_btn</string>
+              <string>o_playlist_btn</string>
+              <string>o_playlist_table</string>
+              <string>o_progress_bar</string>
+              <string>o_repeat_btn</string>
+              <string>o_search_fld</string>
+              <string>o_shuffle_btn</string>
+              <string>o_stop_btn</string>
+              <string>o_time_fld</string>
+              <string>o_time_sld</string>
+              <string>o_time_sld_left_view</string>
+              <string>o_time_sld_middle_view</string>
+              <string>o_time_sld_right_view</string>
+              <string>o_video_view</string>
+              <string>o_volume_down_btn</string>
+              <string>o_volume_sld</string>
+              <string>o_volume_track_view</string>
+              <string>o_volume_up_btn</string>
+            </object>
+            <object class="NSMutableArray" key="dict.values">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+            </object>
+          </object>
+          <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+            <bool key="EncodedWithXMLCoder">YES</bool>
+            <object class="NSArray" key="dict.sortedKeys">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>o_bottombar_view</string>
+              <string>o_bwd_btn</string>
+              <string>o_effects_btn</string>
+              <string>o_fullscreen_btn</string>
+              <string>o_fwd_btn</string>
+              <string>o_play_btn</string>
+              <string>o_playlist_btn</string>
+              <string>o_playlist_table</string>
+              <string>o_progress_bar</string>
+              <string>o_repeat_btn</string>
+              <string>o_search_fld</string>
+              <string>o_shuffle_btn</string>
+              <string>o_stop_btn</string>
+              <string>o_time_fld</string>
+              <string>o_time_sld</string>
+              <string>o_time_sld_left_view</string>
+              <string>o_time_sld_middle_view</string>
+              <string>o_time_sld_right_view</string>
+              <string>o_video_view</string>
+              <string>o_volume_down_btn</string>
+              <string>o_volume_sld</string>
+              <string>o_volume_track_view</string>
+              <string>o_volume_up_btn</string>
+            </object>
+            <object class="NSMutableArray" key="dict.values">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_bottombar_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_bwd_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_effects_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_fullscreen_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_fwd_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_play_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_playlist_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_playlist_table</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_progress_bar</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_repeat_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_search_fld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_shuffle_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_stop_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_time_fld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_time_sld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_time_sld_left_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_time_sld_middle_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_time_sld_right_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_video_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_volume_down_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_volume_sld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_volume_track_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_volume_up_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+            </object>
+          </object>
+          <object class="IBClassDescriptionSource" key="sourceIdentifier">
+            <string key="majorKey">IBDocumentRelativeSource</string>
+            <string key="minorKey">../../../../../modules/gui/macosx/MainWindow.h</string>
+          </object>
+        </object>
+        <object class="IBPartialClassDescription">
           <string key="className">VLCPlaylist</string>
           <string key="superclassName">VLCPlaylistCommon</string>
           <object class="NSMutableDictionary" key="actions">
@@ -13887,11 +13220,6 @@ LCAuLi4</string>
         <string>fs_volume_slider_bar</string>
         <string>fullscreen-double-buttons</string>
         <string>fullscreen-double-buttons-pressed</string>
-        <string>mini-progressbar-wrapper-left</string>
-        <string>mini-progressbar-wrapper-middle</string>
-        <string>mini-progressbar-wrapper-right</string>
-        <string>pause_embedded</string>
-        <string>pause_embedded_graphite</string>
         <string>play</string>
         <string>play-pressed</string>
         <string>playlist</string>
@@ -13903,10 +13231,6 @@ LCAuLi4</string>
         <string>repeat-pressed</string>
         <string>shuffle</string>
         <string>shuffle-pressed</string>
-        <string>skip_forward_active_embedded</string>
-        <string>skip_forward_embedded_graphite</string>
-        <string>skip_previous_active_embedded</string>
-        <string>skip_previous_embedded_graphite</string>
         <string>stop</string>
         <string>stop-pressed</string>
         <string>volume-high</string>
@@ -13938,11 +13262,6 @@ LCAuLi4</string>
         <string>{95, 2}</string>
         <string>{29, 23}</string>
         <string>{29, 23}</string>
-        <string>{3, 14}</string>
-        <string>{3, 14}</string>
-        <string>{3, 14}</string>
-        <string>{33, 20}</string>
-        <string>{33, 20}</string>
         <string>{29, 30}</string>
         <string>{29, 30}</string>
         <string>{512, 512}</string>
@@ -13954,10 +13273,6 @@ LCAuLi4</string>
         <string>{28, 23}</string>
         <string>{29, 23}</string>
         <string>{29, 23}</string>
-        <string>{33, 20}</string>
-        <string>{33, 20}</string>
-        <string>{33, 20}</string>
-        <string>{33, 20}</string>
         <string>{29, 23}</string>
         <string>{29, 23}</string>
         <string>{10, 9}</string>
index e6e1236..59ba24e 100644 (file)
Binary files a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib and b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib differ
index 7b1143a..77b1662 100644 (file)
@@ -1037,7 +1037,7 @@ static VLCMainMenu *_o_sharedInstance = nil;
     }
     else if( [o_title isEqualToString: _NS("Mute")] )
     {
-        [o_mi setState: p_intf->p_sys->b_mute ? NSOnState : NSOffState];
+        //FIXME [o_mi setState: p_intf->p_sys->b_mute ? NSOnState : NSOffState];
         [self setupMenus]; /* Make sure audio menu is up to date */
     }
     else if( [o_title isEqualToString: _NS("Half Size")] ||
index 1b63d4b..02bc63c 100644 (file)
@@ -1,10 +1,13 @@
 /*****************************************************************************
  * MainWindow.h: MacOS X interface module
  *****************************************************************************
- * Copyright (C) 2011 Felix Paul Kühne
+ * Copyright (C) 2002-2011 VideoLAN
  * $Id$
  *
  * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
+ *          Jon Lech Johansen <jon-vl@nanocrew.net>
+ *          Christophe Massiot <massiot@via.ecp.fr>
+ *          Derk-Jan Hartman <hartman at videolan.org>
  *
  * 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
  *****************************************************************************/
 
 #import <Cocoa/Cocoa.h>
+#import <vlc_input.h>
 
-@interface VLCMainWindow : NSObject {
+@interface VLCMainWindow : NSWindow {
+    IBOutlet id o_play_btn;
+    IBOutlet id o_bwd_btn;
+    IBOutlet id o_fwd_btn;
+    IBOutlet id o_stop_btn;
+    IBOutlet id o_playlist_btn;
+    IBOutlet id o_repeat_btn;
+    IBOutlet id o_shuffle_btn;
+    IBOutlet id o_effects_btn;
+    IBOutlet id o_fullscreen_btn;
+    IBOutlet id o_search_fld;
+    IBOutlet id o_volume_sld;
+    IBOutlet id o_volume_track_view;
+    IBOutlet id o_volume_down_btn;
+    IBOutlet id o_volume_up_btn;
+    IBOutlet id o_time_sld;
+    IBOutlet id o_time_fld;
+    IBOutlet id o_progress_bar;
+    IBOutlet id o_bottombar_view;
+    IBOutlet id o_time_sld_left_view;
+    IBOutlet id o_time_sld_middle_view;
+    IBOutlet id o_time_sld_right_view;
+    // TODO Playlist table, additional ui stuff at the top of the window
+    IBOutlet id o_playlist_table;
+    IBOutlet id o_video_view;
 
+    BOOL b_gray_interface;
+    BOOL b_video_playback_enabled;
+    BOOL b_time_remaining;
+    int i_lastShownVolume;
+    BOOL b_mute;
+    input_state_e cachedInputState;
+
+    NSImage * o_pause_img;
+    NSImage * o_pause_pressed_img;
+    NSImage * o_play_img;
+    NSImage * o_play_pressed_img;
+    NSImage * o_repeat_img;
+    NSImage * o_repeat_pressed_img;
+    NSImage * o_repeat_all_img;
+    NSImage * o_repeat_all_pressed_img;
+    NSImage * o_repeat_one_img;
+    NSImage * o_repeat_one_pressed_img;
+    NSImage * o_shuffle_img;
+    NSImage * o_shuffle_pressed_img;
+    NSImage * o_shuffle_on_img;
+    NSImage * o_shuffle_on_pressed_img;
 }
++ (VLCMainWindow *)sharedInstance;
+
+- (IBAction)play:(id)sender;
+- (IBAction)bwd:(id)sender;
+- (IBAction)fwd:(id)sender;
+- (IBAction)stop:(id)sender;
+- (IBAction)togglePlaylist:(id)sender;
+- (IBAction)repeat:(id)sender;
+- (IBAction)shuffle:(id)sender;
+- (IBAction)timeSliderAction:(id)sender;
+- (IBAction)timeFieldWasClicked:(id)sender;
+- (IBAction)volumeAction:(id)sender;
+- (IBAction)effects:(id)sender;
+- (IBAction)fullscreen:(id)sender;
+
+- (id)videoView;
+- (void)setVideoplayEnabled:(BOOL)b_value;
+- (void)updateTimeSlider;
+- (void)updateVolumeSlider;
+- (void)updateWindow;
+- (void)setPause;
+- (void)setPlay;
+
 @end
\ No newline at end of file
index 3337770..d3b2f3d 100644 (file)
@@ -1,10 +1,13 @@
 /*****************************************************************************
  * MainWindow.h: MacOS X interface module
  *****************************************************************************
- * Copyright (C) 2011 Felix Paul Kühne
+ * Copyright (C) 2002-2011 VideoLAN
  * $Id$
  *
  * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
+ *          Jon Lech Johansen <jon-vl@nanocrew.net>
+ *          Christophe Massiot <massiot@via.ecp.fr>
+ *          Derk-Jan Hartman <hartman at videolan.org>
  *
  * 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
  *****************************************************************************/
 
 #import "MainWindow.h"
+#import "intf.h"
+#import "CoreInteraction.h"
+#import "AudioEffects.h"
+#import "MainMenu.h"
+#import "controls.h" // TODO: remove me
+#import <vlc_playlist.h>
+#import <vlc_aout_intf.h>
 
 @implementation VLCMainWindow
+static VLCMainWindow *_o_sharedInstance = nil;
 
++ (VLCMainWindow *)sharedInstance
+{
+    return _o_sharedInstance ? _o_sharedInstance : [[self alloc] init];
+}
+
+#pragma mark -
+#pragma mark Initialization
+
+- (id)init
+{
+    if( _o_sharedInstance)
+    {
+        [self dealloc];
+        return _o_sharedInstance;
+    }
+    else
+        _o_sharedInstance = [super init];
+
+    return _o_sharedInstance;
+}
+
+- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)styleMask
+                  backing:(NSBackingStoreType)backingType defer:(BOOL)flag
+{
+    /* FIXME: this should enable the SnowLeopard window style, however, it leads to ugly artifacts
+     *        needs some further investigation! -- feepk */
+     BOOL b_useTextured = YES;
+
+     if( [[NSWindow class] instancesRespondToSelector:@selector(setContentBorderThickness:forEdge:)] )
+     {
+     b_useTextured = NO;
+     styleMask ^= NSTexturedBackgroundWindowMask;
+     }
+
+    self = [super initWithContentRect:contentRect styleMask:styleMask //& ~NSTitledWindowMask
+                              backing:backingType defer:flag];
+
+    [[VLCMain sharedInstance] updateTogglePlaylistState];
+
+    // FIXME: see above...
+    if(! b_useTextured )
+     [self setContentBorderThickness:28.0 forEdge:NSMinYEdge];
+
+    /* we want to be moveable regardless of our style */
+    [self setMovableByWindowBackground: YES];
+
+    /* we don't want this window to be restored on relaunch */
+    if ([self respondsToSelector:@selector(setRestorable:)])
+        [self setRestorable:NO];
+
+    return self;
+}
+
+- (BOOL)performKeyEquivalent:(NSEvent *)o_event
+{
+    /* We indeed want to prioritize Cocoa key equivalent against libvlc,
+     so we perform the menu equivalent now. */
+    if([[NSApp mainMenu] performKeyEquivalent:o_event])
+        return TRUE;
+
+    return [[VLCMain sharedInstance] hasDefinedShortcutKey:o_event] || [(VLCControls *)[[VLCMain sharedInstance] controls] keyEvent:o_event];
+}
+
+- (void)dealloc
+{
+    config_PutInt( VLCIntf->p_libvlc, "volume", i_lastShownVolume );
+    [super dealloc];
+}
+
+- (void)awakeFromNib
+{
+    b_gray_interface = YES; //TODO
+    i_lastShownVolume = -1;
+
+    [o_play_btn setToolTip: _NS("Play/Pause")];
+    [o_bwd_btn setToolTip: _NS("Backward")];
+    [o_fwd_btn setToolTip: _NS("Forward")];
+    [o_stop_btn setToolTip: _NS("Stop")];
+    [o_playlist_btn setToolTip: _NS("Show/Hide Playlist")];
+    [o_repeat_btn setToolTip: _NS("Repeat")];
+    [o_shuffle_btn setToolTip: _NS("Shuffle")];
+    [o_effects_btn setToolTip: _NS("Effects")];
+    [o_fullscreen_btn setToolTip: _NS("Toggle Fullscreen mode")];
+    [[o_search_fld cell] setPlaceholderString: _NS("Search")];
+    [o_volume_sld setToolTip: _NS("Volume")];
+    [o_volume_down_btn setToolTip: _NS("Mute")];
+    [o_volume_up_btn setToolTip: _NS("Full Volume")];
+    [o_time_sld setToolTip: _NS("Position")];
+
+    if (b_gray_interface) {
+        [o_bottombar_view setImage: [NSImage imageNamed:@"bottom-background"]];
+        [o_bwd_btn setImage: [NSImage imageNamed:@"back"]];
+        [o_bwd_btn setAlternateImage: [NSImage imageNamed:@"back-pressed"]];
+        o_play_img = [[NSImage imageNamed:@"play"] retain];
+        o_play_pressed_img = [[NSImage imageNamed:@"play-pressed"] retain];
+        o_pause_img = [[NSImage imageNamed:@"pause"] retain];
+        o_pause_pressed_img = [[NSImage imageNamed:@"pause-pressed"] retain];
+        [o_fwd_btn setImage: [NSImage imageNamed:@"forward"]];
+        [o_fwd_btn setAlternateImage: [NSImage imageNamed:@"forward-pressed"]];
+        [o_stop_btn setImage: [NSImage imageNamed:@"stop"]];
+        [o_stop_btn setAlternateImage: [NSImage imageNamed:@"stop-pressed"]];
+        [o_playlist_btn setImage: [NSImage imageNamed:@"playlist"]];
+        [o_playlist_btn setAlternateImage: [NSImage imageNamed:@"playlist-pressed"]];
+        o_repeat_img = [[NSImage imageNamed:@"repeat"] retain];
+        o_repeat_pressed_img = [[NSImage imageNamed:@"repeat-pressed"] retain];
+        o_repeat_all_img  = [[NSImage imageNamed:@"repeat-all"] retain];
+        o_repeat_all_pressed_img = [[NSImage imageNamed:@"repeat-all-pressed"] retain];
+        o_repeat_one_img = [[NSImage imageNamed:@"repeat-one"] retain];
+        o_repeat_one_pressed_img = [[NSImage imageNamed:@"repeat-one-pressed"] retain];
+        o_shuffle_img = [[NSImage imageNamed:@"shuffle"] retain];
+        o_shuffle_pressed_img = [[NSImage imageNamed:@"shuffle-pressed"] retain];
+        o_shuffle_on_img = [[NSImage imageNamed:@"shuffle-blue"] retain];
+        o_shuffle_on_pressed_img = [[NSImage imageNamed:@"shuffle-blue-pressed"] retain];
+        [o_time_fld setTextColor: [NSColor colorWithCalibratedRed:64.0 green:64.0 blue:64.0 alpha:100.0]];
+        [o_time_sld_left_view setImage: [NSImage imageNamed:@"progression-track-wrapper-left"]];
+        [o_time_sld_middle_view setImage: [NSImage imageNamed:@"progression-track-wrapper-middle"]];
+        [o_time_sld_right_view setImage: [NSImage imageNamed:@"progression-track-wrapper-right"]];
+        [o_volume_down_btn setImage: [NSImage imageNamed:@"volume-low"]];
+        [o_volume_track_view setImage: [NSImage imageNamed:@"volumetrack"]];
+        [o_volume_up_btn setImage: [NSImage imageNamed:@"volume-high"]];
+        [o_effects_btn setImage: [NSImage imageNamed:@"effects-double-buttons"]];
+        [o_effects_btn setAlternateImage: [NSImage imageNamed:@"effects-double-buttons-pressed"]];
+        [o_fullscreen_btn setImage: [NSImage imageNamed:@"fullscreen-double-buttons"]];
+        [o_fullscreen_btn setAlternateImage: [NSImage imageNamed:@"fullscreen-double-buttons-pressed"]];
+    }
+    else
+    {
+        /* TODO: we also need to change the window style here... */
+        [o_bottombar_view setImage: [NSImage imageNamed:@"bottom-background_dark"]];
+        [o_bwd_btn setImage: [NSImage imageNamed:@"back_dark"]];
+        [o_bwd_btn setAlternateImage: [NSImage imageNamed:@"back-pressed_dark"]];
+        o_play_img = [[NSImage imageNamed:@"play_dark"] retain];
+        o_play_pressed_img = [[NSImage imageNamed:@"play-pressed_dark"] retain];
+        o_pause_img = [[NSImage imageNamed:@"pause_dark"] retain];
+        o_pause_pressed_img = [[NSImage imageNamed:@"pause-pressed_dark"] retain];
+        [o_fwd_btn setImage: [NSImage imageNamed:@"forward_dark"]];
+        [o_fwd_btn setAlternateImage: [NSImage imageNamed:@"forward-pressed_dark"]];
+        [o_stop_btn setImage: [NSImage imageNamed:@"stop_dark"]];
+        [o_stop_btn setAlternateImage: [NSImage imageNamed:@"stop-pressed_dark"]];
+        [o_playlist_btn setImage: [NSImage imageNamed:@"playlist_dark"]];
+        [o_playlist_btn setAlternateImage: [NSImage imageNamed:@"playlist-pressed_dark"]];
+        o_repeat_img = [[NSImage imageNamed:@"repeat_dark"] retain];
+        o_repeat_pressed_img = [[NSImage imageNamed:@"repeat-pressed_dark"] retain];
+        o_repeat_all_img  = [[NSImage imageNamed:@"repeat-all-blue_dark"] retain];
+        o_repeat_all_pressed_img = [[NSImage imageNamed:@"repeat-all-blue-pressed_dark"] retain];
+        o_repeat_one_img = [[NSImage imageNamed:@"repeat-one-blue_dark"] retain];
+        o_repeat_one_pressed_img = [[NSImage imageNamed:@"repeat-one-blue-pressed_dark"] retain];
+        o_shuffle_img = [[NSImage imageNamed:@"shuffle_dark"] retain];
+        o_shuffle_pressed_img = [[NSImage imageNamed:@"shuffle-pressed_dark"] retain];
+        o_shuffle_on_img = [[NSImage imageNamed:@"shuffle-blue_dark"] retain];
+        o_shuffle_on_pressed_img = [[NSImage imageNamed:@"shuffle-blue-pressed_dark"] retain];
+        [o_time_fld setTextColor: [NSColor colorWithCalibratedRed:229.0 green:229.0 blue:229.0 alpha:100.0]];
+        [o_time_sld_left_view setImage: [NSImage imageNamed:@"progression-track-wrapper-left_dark"]];
+        [o_time_sld_middle_view setImage: [NSImage imageNamed:@"progression-track-wrapper-middle_dark"]];
+        [o_time_sld_right_view setImage: [NSImage imageNamed:@"progression-track-wrapper-right_dark"]];
+        [o_volume_down_btn setImage: [NSImage imageNamed:@"volume-low_dark"]];
+        [o_volume_track_view setImage: [NSImage imageNamed:@"volume-slider-track_dark"]];
+        [o_volume_up_btn setImage: [NSImage imageNamed:@"volume-high_dark"]];
+        [o_effects_btn setImage: [NSImage imageNamed:@"effects-double-buttons_dark"]];
+        [o_effects_btn setAlternateImage: [NSImage imageNamed:@"effects-double-buttons-pressed_dark"]];
+        [o_fullscreen_btn setImage: [NSImage imageNamed:@"fullscreen-double-buttons_dark"]];
+        [o_fullscreen_btn setAlternateImage: [NSImage imageNamed:@"fullscreen-double-buttons-pressed_dark"]];        
+    }
+    [o_repeat_btn setImage: o_repeat_img];
+    [o_repeat_btn setAlternateImage: o_repeat_pressed_img];
+    [o_shuffle_btn setImage: o_shuffle_img];
+    [o_shuffle_btn setAlternateImage: o_shuffle_pressed_img];
+
+    [o_play_btn setImage: o_play_img];
+    [o_play_btn setAlternateImage: o_play_pressed_img];
+
+    [o_video_view setFrame: [o_playlist_table frame]];
+    [self setDelegate: self];
+    [self setExcludedFromWindowsMenu: YES];
+    // Set that here as IB seems to be buggy
+    [self setContentMinSize:NSMakeSize(500., 200.)];
+    [self setTitle: _NS("VLC media player")];
+    [o_playlist_btn setEnabled:NO];
+
+    [self updateVolumeSlider];
+}
+
+#pragma mark -
+#pragma mark Button Actions
+
+- (IBAction)play:(id)sender
+{
+    [[VLCCoreInteraction sharedInstance] play];
+}
+
+// TODO: we need more advanced handling for the next 2 actions to handling skipping as well
+- (IBAction)bwd:(id)sender
+{
+    [[VLCCoreInteraction sharedInstance] previous];
+}
+
+- (IBAction)fwd:(id)sender
+{
+    [[VLCCoreInteraction sharedInstance] next];
+}
+
+- (IBAction)stop:(id)sender
+{
+    [[VLCCoreInteraction sharedInstance] stop];
+}
+
+- (IBAction)togglePlaylist:(id)sender
+{
+    NSLog( @"b_videoplayen %i", b_video_playback_enabled );
+    if (b_video_playback_enabled && [o_video_view isHidden]) {
+        [o_video_view setHidden: NO];
+        [o_playlist_table setHidden: YES];
+    }
+    else
+    {
+        [o_playlist_table setHidden: NO];
+        [o_video_view setHidden: YES];
+    }
+}
+
+- (IBAction)repeat:(id)sender
+{
+    vlc_value_t looping,repeating;
+    intf_thread_t * p_intf = VLCIntf;
+    playlist_t * p_playlist = pl_Get( p_intf );
+
+    var_Get( p_playlist, "repeat", &repeating );
+    var_Get( p_playlist, "loop", &looping );
+
+    if( !repeating.b_bool && !looping.b_bool )
+    {
+        /* was: no repeating at all, switching to Repeat One */
+        [[VLCCoreInteraction sharedInstance] repeatOne];
+
+        [o_repeat_btn setImage: o_repeat_one_img];
+        [o_repeat_btn setAlternateImage: o_repeat_one_pressed_img];
+    }
+    else if( repeating.b_bool && !looping.b_bool )
+    {
+        /* was: Repeat One, switching to Repeat All */
+        [[VLCCoreInteraction sharedInstance] repeatAll];
+
+        [o_repeat_btn setImage: o_repeat_all_img];
+        [o_repeat_btn setAlternateImage: o_repeat_all_pressed_img];
+    }
+    else
+    {
+        /* was: Repeat All or bug in VLC, switching to Repeat Off */
+        [[VLCCoreInteraction sharedInstance] repeatOff];
+
+        [o_repeat_btn setImage: o_repeat_img];
+        [o_repeat_btn setAlternateImage: o_repeat_pressed_img];
+    }
+}
+
+- (IBAction)shuffle:(id)sender
+{
+    [[VLCCoreInteraction sharedInstance] shuffle];
+
+    vlc_value_t val;
+    playlist_t *p_playlist = pl_Get( VLCIntf );
+    var_Get( p_playlist, "random", &val );
+       if(val.b_bool) {
+        [o_shuffle_btn setImage: o_shuffle_on_img];
+        [o_shuffle_btn setAlternateImage: o_shuffle_on_pressed_img];
+    }
+    else
+    {
+        [o_shuffle_btn setImage: o_shuffle_img];
+        [o_shuffle_btn setAlternateImage: o_shuffle_pressed_img];
+    }
+}
+
+- (IBAction)timeSliderAction:(id)sender
+{
+    float f_updated;
+    input_thread_t * p_input;
+
+    switch( [[NSApp currentEvent] type] )
+    {
+        case NSLeftMouseUp:
+        case NSLeftMouseDown:
+        case NSLeftMouseDragged:
+            f_updated = [sender floatValue];
+            break;
+
+        default:
+            return;
+    }
+    p_input = pl_CurrentInput( VLCIntf );
+    if( p_input != NULL )
+    {
+        vlc_value_t time;
+        vlc_value_t pos;
+        NSString * o_time;
+        char psz_time[MSTRTIME_MAX_SIZE];
+
+        pos.f_float = f_updated / 10000.;
+        var_Set( p_input, "position", pos );
+        [o_time_sld setFloatValue: f_updated];
+
+        var_Get( p_input, "time", &time );
+
+        mtime_t dur = input_item_GetDuration( input_GetItem( p_input ) );
+        if( b_time_remaining && dur != -1 )
+        {
+            o_time = [NSString stringWithFormat: @"-%s", secstotimestr( psz_time, ((dur - time.i_time) / 1000000) )];
+        }
+        else
+            o_time = [NSString stringWithUTF8String: secstotimestr( psz_time, (time.i_time / 1000000) )];
+
+        [o_time_fld setStringValue: o_time];
+        [[[[VLCMain sharedInstance] controls] fspanel] setStreamPos: f_updated andTime: o_time];
+        vlc_object_release( p_input );
+    }
+}
+
+- (IBAction)timeFieldWasClicked:(id)sender
+{
+    b_time_remaining = !b_time_remaining;
+    NSLog( @"b_time_remaining %i", b_time_remaining );
+}
+
+- (IBAction)volumeAction:(id)sender
+{
+    if (sender == o_volume_sld)
+        [[VLCCoreInteraction sharedInstance] setVolume: [sender intValue]];
+    else if (sender == o_volume_down_btn)
+        [[VLCCoreInteraction sharedInstance] mute];
+    else
+        [[VLCCoreInteraction sharedInstance] setVolume: 400];
+}
+
+- (IBAction)effects:(id)sender
+{
+    [[VLCMainMenu sharedInstance] showAudioEffects: sender];
+}
+
+- (IBAction)fullscreen:(id)sender
+{
+    NSLog( @"fullscreen mode not yet implemented" );
+    [[VLCCoreInteraction sharedInstance] toggleFullscreen];
+}
+
+#pragma mark -
+#pragma mark Update interface and respond to foreign events
+- (void)updateTimeSlider
+{
+    if ([o_time_sld isEnabled])
+    {
+        input_thread_t * p_input;
+        p_input = pl_CurrentInput( VLCIntf );
+        if( p_input )
+        {
+            vlc_value_t time;
+            NSString * o_time;
+            vlc_value_t pos;
+            char psz_time[MSTRTIME_MAX_SIZE];
+            float f_updated;
+
+            var_Get( p_input, "position", &pos );
+            f_updated = 10000. * pos.f_float;
+            [o_time_sld setFloatValue: f_updated];
+
+            var_Get( p_input, "time", &time );
+
+            mtime_t dur = input_item_GetDuration( input_GetItem( p_input ) );
+            if( b_time_remaining && dur != -1 )
+            {
+                o_time = [NSString stringWithFormat: @"-%s", secstotimestr( psz_time, ((dur - time.i_time) / 1000000))];
+            }
+            else
+                o_time = [NSString stringWithUTF8String: secstotimestr( psz_time, (time.i_time / 1000000) )];
+
+            [o_time_fld setStringValue: o_time];
+    //        [[[[VLCMain sharedInstance] controls] fspanel] setStreamPos: f_updated andTime: o_time];
+        }
+    }
+}
+
+- (void)updateVolumeSlider
+{
+    audio_volume_t i_volume;
+    playlist_t * p_playlist = pl_Get( VLCIntf );
+
+    i_volume = aout_VolumeGet( p_playlist );
+
+    if( i_volume != i_lastShownVolume )
+    {
+        i_lastShownVolume = i_volume;
+        int i_volume_step = 0;
+        i_volume_step = config_GetInt( VLCIntf->p_libvlc, "volume-step" );
+        [o_volume_sld setFloatValue: (float)i_lastShownVolume / i_volume_step];
+//        [[[[VLCMain sharedInstance] controls] fspanel] setVolumeLevel: (float)i_lastShownVolume / i_volume_step];
+    }
+}
+
+- (void)updateWindow
+{
+    bool b_input = false;
+    bool b_plmul = false;
+    bool b_control = false;
+    bool b_seekable = false;
+    bool b_chapters = false;
+
+    playlist_t * p_playlist = pl_Get( VLCIntf );
+
+    PL_LOCK;
+    b_plmul = playlist_CurrentSize( p_playlist ) > 1;
+    PL_UNLOCK;
+
+    input_thread_t * p_input = playlist_CurrentInput( p_playlist );
+
+    bool b_buffering = NO;
+
+    if( ( b_input = ( p_input != NULL ) ) )
+    {
+        /* seekable streams */
+        cachedInputState = input_GetState( p_input );
+        if ( cachedInputState == INIT_S || cachedInputState == OPENING_S )
+            b_buffering = YES;
+
+        /* seekable streams */
+        b_seekable = var_GetBool( p_input, "can-seek" );
+
+        /* check whether slow/fast motion is possible */
+        b_control = var_GetBool( p_input, "can-rate" );
+
+        /* chapters & titles */
+        //FIXME! b_chapters = p_input->stream.i_area_nb > 1;
+        vlc_object_release( p_input );
+    }
+
+    if( b_buffering )
+    {
+        [o_progress_bar startAnimation:self];
+        [o_progress_bar setIndeterminate:YES];
+        [o_progress_bar setHidden:NO];
+    } else {
+        [o_progress_bar stopAnimation:self];
+        [o_progress_bar setHidden:YES];
+    }
+
+    [o_stop_btn setEnabled: b_input];
+    [o_fwd_btn setEnabled: (b_seekable || b_plmul || b_chapters)];
+    [o_bwd_btn setEnabled: (b_seekable || b_plmul || b_chapters)];
+    [[VLCMainMenu sharedInstance] setRateControlsEnabled: b_control];
+
+    [o_time_sld setFloatValue: 0.0];
+    [o_time_sld setEnabled: b_seekable];
+    [o_time_fld setStringValue: @"00:00"];
+    [[[[VLCMain sharedInstance] controls] fspanel] setStreamPos: 0 andTime: @"00:00"];
+    [[[[VLCMain sharedInstance] controls] fspanel] setSeekable: b_seekable];
+}
+
+- (void)setPause
+{
+    [o_play_btn setImage: o_pause_img];
+    [o_play_btn setAlternateImage: o_pause_pressed_img];
+    [o_play_btn setToolTip: _NS("Pause")];
+}
+
+- (void)setPlay
+{
+    [o_play_btn setImage: o_play_img];
+    [o_play_btn setAlternateImage: o_play_pressed_img];
+    [o_play_btn setToolTip: _NS("Play")];
+}
+
+#pragma mark -
+#pragma mark Video Output handling
+
+- (id)videoView
+{
+    return o_video_view;
+}
+
+- (void)setVideoplayEnabled:(BOOL)b_value
+{
+    NSLog( @"setVideoplayEnabled:%i", b_value );
+    if (b_value) {
+        b_video_playback_enabled = YES;
+        [o_playlist_btn setEnabled: YES];
+    }
+    else
+    {
+        b_video_playback_enabled = NO;
+        [o_playlist_btn setEnabled: NO];
+    }
+}
 
 @end
\ No newline at end of file
index 655cc5f..5f74cc9 100644 (file)
     /* we don't want this window to be restored on relaunch */
     if ([self respondsToSelector:@selector(setRestorable:)])
         [self setRestorable:NO];
-
-    [self makeKeyAndOrderFront: self];
 }
 
 - (void)controlTintChanged
index 9957922..6a3748d 100644 (file)
@@ -30,6 +30,7 @@
 #import "vout.h"
 #import "misc.h"
 #import "fspanel.h"
+#import "MainWindow.h"
 
 @interface VLCFSPanel ()
 - (void)hideMouse;
 
 - (IBAction)fsTimeSliderUpdate:(id)sender
 {
-    [[VLCMain sharedInstance] timesliderUpdate: sender];
+    [[VLCMainWindow sharedInstance] updateTimeSlider];
 }
 
 - (IBAction)fsVolumeSliderUpdate:(id)sender
index cbbac88..1106dab 100644 (file)
@@ -67,8 +67,8 @@ aout_instance_t *getAout(void);
 struct intf_sys_t
 {
     /* special actions */
-    bool b_mute;
     int i_play_status;
+    int i_old_play_status;
 
     /* interface update */
     bool b_intf_update;
@@ -76,7 +76,6 @@ struct intf_sys_t
     bool b_playmode_update;
     bool b_current_title_update;
     bool b_fullscreen_update;
-    bool b_volume_update;
     bool b_intf_show;
 
     /* menus handlers */
@@ -93,7 +92,6 @@ struct intf_sys_t
  *****************************************************************************/
 @class AppleRemote;
 @class VLCInformation;
-@class VLCControllerWindow;
 @class VLCEmbeddedWindow;
 @class VLCControls;
 @class VLCPlaylist;
@@ -120,31 +118,7 @@ struct intf_sys_t
     BOOL nib_coredialogs_loaded; /* CoreDialogs nibfile */
     BOOL nib_bookmarks_loaded;   /* Bookmarks nibfile */
 
-    IBOutlet VLCControllerWindow * o_window;                     /* main window */
-    IBOutlet id o_scrollfield;                                  /* info field */
-    IBOutlet NSTextField * o_timefield;                         /* time field */
-    IBOutlet NSSlider * o_timeslider;                                 /* time slider */
-    BOOL b_time_remaining;                                      /* show remaining time or playtime ? */
-    IBOutlet VLCEmbeddedWindow * o_embedded_window;             /* Embedded Vout Window */
-    float f_slider;                                             /* slider value */
-    float f_slider_old;                                         /* old slider val */
-    IBOutlet NSSlider * o_volumeslider;                         /* volume slider */
-
-    IBOutlet NSProgressIndicator * o_main_pgbar;   /* playlist window progress bar */
-    IBOutlet NSButton * o_btn_prev;     /* btn previous   */
-    IBOutlet NSButton * o_btn_rewind;   /* btn rewind     */
-    IBOutlet NSButton * o_btn_play;     /* btn play       */
-    IBOutlet NSButton * o_btn_stop;     /* btn stop       */
-    IBOutlet NSButton * o_btn_ff;       /* btn fast forward     */
-    IBOutlet NSButton * o_btn_next;     /* btn next       */
-    IBOutlet NSButton * o_btn_fullscreen;/* btn fullscreen (embedded vout window) */
-    IBOutlet NSButton * o_btn_playlist; /* btn playlist   */
-    IBOutlet NSButton * o_btn_audioEffects; /* AudioEffects btn */
-
-    NSImage * o_img_play;       /* btn play img   */
-    NSImage * o_img_pause;      /* btn pause img  */
-    NSImage * o_img_play_pressed;       /* btn play img   */
-    NSImage * o_img_pause_pressed;      /* btn pause img  */
+    IBOutlet id o_mainwindow;            /* VLCMainWindow */
 
     IBOutlet VLCControls * o_controls;     /* VLCControls    */
     IBOutlet VLCPlaylist * o_playlist;     /* VLCPlaylist    */
@@ -167,11 +141,8 @@ struct intf_sys_t
     IBOutlet NSButton * o_crashrep_includeEmail_ckb;
     IBOutlet NSTextField * o_crashrep_includeEmail_txt;
 
-    mtime_t i_end_scroll;
-
-    int     i_lastShownVolume;
-
     input_state_e cachedInputState;
+    mtime_t i_end_scroll;
 
     /* the manage thread */
     pthread_t manage_thread;
@@ -204,14 +175,11 @@ struct intf_sys_t
 - (id)simplePreferences;
 - (id)preferences;
 - (id)playlist;
-- (BOOL)isPlaylistCollapsed;
 - (id)info;
 - (id)wizard;
 - (id)embeddedList;
 - (id)getVideoViewAtPositionX: (int *)pi_x Y: (int *)pi_y withWidth: (unsigned int*)pi_width andHeight: (unsigned int*)pi_height;
 - (id)coreDialogProvider;
-- (id)mainIntfPgbar;
-- (id)controllerWindow;
 - (id)eyeTVController;
 - (id)appleRemoteController;
 - (void)applicationWillTerminate:(NSNotification *)notification;
@@ -229,14 +197,8 @@ struct intf_sys_t
 - (void)manage;
 - (void)manageIntf:(NSTimer *)o_timer;
 
-- (void)setScrollField:(NSString *)o_string stopAfter:(int )timeout;
-- (void)resetScrollField;
-
 - (void)updateMessageDisplay;
 - (void)playStatusUpdated:(int) i_status;
-- (void)manageVolumeSlider;
-- (IBAction)timesliderUpdate:(id)sender;
-- (IBAction)timeFieldWasClicked:(id)sender;
 - (IBAction)showController:(id)sender;
 
 - (IBAction)crashReporterAction:(id)sender;
index 2202f4d..81b028b 100644 (file)
@@ -41,6 +41,7 @@
 
 #import "intf.h"
 #import "MainMenu.h"
+#import "MainWindow.h"
 #import "fspanel.h"
 #import "vout.h"
 #import "prefs.h"
@@ -129,6 +130,8 @@ int WindowOpen( vout_window_t *p_wnd, const vout_window_cfg_t *cfg )
         return VLC_EGENERIC;
     }
 
+    [[VLCMainWindow sharedInstance] setVideoplayEnabled:YES];
+    [[VLCMainWindow sharedInstance] togglePlaylist:nil];
     p_wnd->control = WindowControl;
     p_wnd->sys = (vout_window_sys_t *)VLCIntf;
     return VLC_SUCCESS;
@@ -150,6 +153,7 @@ static int WindowControl( vout_window_t *p_wnd, int i_query, va_list args )
 
 void WindowClose( vout_window_t *p_wnd )
 {
+    [[VLCMainWindow sharedInstance] setVideoplayEnabled:NO];
     NSLog( @"Window Close" );
     // tell the interface to get rid of the video, TODO
 }
@@ -227,6 +231,7 @@ static int PlaylistChanged( vlc_object_t *p_this, const char *psz_variable,
     intf_thread_t * p_intf = VLCIntf;
     if( p_intf && p_intf->p_sys )
     {
+        NSLog( @"event from %s", psz_variable );
         p_intf->p_sys->b_intf_update = true;
         p_intf->p_sys->b_playlist_update = true;
         p_intf->p_sys->b_playmode_update = true;
@@ -394,9 +399,6 @@ static VLCMain *_o_sharedMainInstance = nil;
     o_info = [[VLCInfo alloc] init];
     o_mainmenu = [[VLCMainMenu alloc] init];
     o_coreinteraction = [[VLCCoreInteraction alloc] init];
-
-    i_lastShownVolume = -1;
-
     o_eyetv = [[VLCEyeTVController alloc] init];
 
     /* announce our launch to a potential eyetv plugin */
@@ -421,16 +423,9 @@ static VLCMain *_o_sharedMainInstance = nil;
     vlc_value_t val;
     var_Create( p_intf, "intf-change", VLC_VAR_BOOL );
 
-    [o_volumeslider setEnabled: YES];
-    [self manageVolumeSlider];
-    [o_window setDelegate: self];
-    [o_window setExcludedFromWindowsMenu: YES];
     [o_msgs_panel setExcludedFromWindowsMenu: YES];
     [o_msgs_panel setDelegate: self];
 
-    // Set that here as IB seems to be buggy
-    [o_window setContentMinSize:NSMakeSize(500., 200.)];
-
     p_playlist = pl_Get( p_intf );
 
     val.b_bool = false;
@@ -457,10 +452,6 @@ static VLCMain *_o_sharedMainInstance = nil;
     /* update the playmode stuff */
     p_intf->p_sys->b_playmode_update = true;
 
-    /* take care of tint changes during runtime */
-    o_img_play = [NSImage imageNamed: @"play"];
-    o_img_pause = [NSImage imageNamed: @"pause"];
-
     /* init Apple Remote support */
     o_remote = [[AppleRemote alloc] init];
     [o_remote setClickCountEnabledButtons: kRemoteButtonPlay];
@@ -501,6 +492,8 @@ static VLCMain *_o_sharedMainInstance = nil;
 
     [self _removeOldPreferences];
 
+    [o_mainwindow makeKeyAndOrderFront: self];
+
     /* Handle sleep notification */
     [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(computerWillSleep:)
            name:NSWorkspaceWillSleepNotification object:nil];
@@ -512,21 +505,6 @@ static VLCMain *_o_sharedMainInstance = nil;
 {
     if( !p_intf ) return;
 
-    [o_window setTitle: _NS("VLC media player")];
-    [self setScrollField:_NS("VLC media player") stopAfter:-1];
-
-    /* button controls */
-    [o_btn_prev setToolTip: _NS("Previous")];
-    [o_btn_rewind setToolTip: _NS("Rewind")];
-    [o_btn_play setToolTip: _NS("Play")];
-    [o_btn_stop setToolTip: _NS("Stop")];
-    [o_btn_ff setToolTip: _NS("Fast Forward")];
-    [o_btn_next setToolTip: _NS("Next")];
-    [o_btn_fullscreen setToolTip: _NS("Fullscreen")];
-    [o_volumeslider setToolTip: _NS("Volume")];
-    [o_timeslider setToolTip: _NS("Position")];
-    [o_btn_playlist setToolTip: _NS("Playlist")];
-
     /* messages panel */
     [o_msgs_panel setTitle: _NS("Messages")];
     [o_msgs_crashlog_btn setTitle: _NS("Open CrashLog...")];
@@ -577,9 +555,6 @@ static VLCMain *_o_sharedMainInstance = nil;
     [interfaceTimer release];
     interfaceTimer = nil;
 
-    /* make sure that the current volume is saved */
-    config_PutInt( p_intf->p_libvlc, "volume", i_lastShownVolume );
-
     /* unsubscribe from the interactive dialogues */
     dialog_Unregister( p_intf );
     var_DelCallback( p_intf, "dialog-error", DialogCallback, self );
@@ -617,11 +592,6 @@ static VLCMain *_o_sharedMainInstance = nil;
     [o_coredialogs release];
     [o_eyetv release];
 
-    [o_img_pause_pressed release];
-    [o_img_play_pressed release];
-    [o_img_pause release];
-    [o_img_play release];
-
     /* unsubscribe from libvlc's debug messages */
     msg_Unsubscribe( p_intf->p_sys->p_sub );
 
@@ -760,7 +730,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 - (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)hasVisibleWindows
 {
     if(!hasVisibleWindows)
-        [o_window makeKeyAndOrderFront:self];
+        [o_mainwindow makeKeyAndOrderFront:self];
 
     return YES;
 }
@@ -1202,11 +1172,6 @@ unsigned int CocoaKeyToVLC( unichar i_key )
     return nil;
 }
 
-- (BOOL)isPlaylistCollapsed
-{
-    return ![o_btn_playlist state];
-}
-
 - (id)info
 {
     if(! nib_info_loaded )
@@ -1233,7 +1198,7 @@ unsigned int CocoaKeyToVLC( unichar i_key )
 
 - (id)getVideoViewAtPositionX: (int *)pi_x Y: (int *)pi_y withWidth: (unsigned int*)pi_width andHeight: (unsigned int*)pi_height
 {
-    id videoView = [o_embedded_window videoView];
+    id videoView = [o_mainwindow videoView];
     NSRect videoRect = [videoView frame];
     int i_x = (int)videoRect.origin.x;
     int i_y = (int)videoRect.origin.y;
@@ -1263,21 +1228,6 @@ unsigned int CocoaKeyToVLC( unichar i_key )
     return nil;
 }
 
-- (id)mainIntfPgbar
-{
-    if( o_main_pgbar )
-        return o_main_pgbar;
-
-    return nil;
-}
-
-- (id)controllerWindow
-{
-    if( o_window )
-        return o_window;
-    return nil;
-}
-
 - (id)eyeTVController
 {
     if( o_eyetv )
@@ -1375,11 +1325,12 @@ static void manage_cleanup( void * args )
         }
         else if( cachedInputState != input_GetState( p_input ) )
         {
+            cachedInputState = input_GetState( p_input );
             p_intf->p_sys->b_intf_update = true;
         }
 
         /* Manage volume status */
-        [self manageVolumeSlider];
+        [o_mainwindow updateVolumeSlider];
 
         msleep( INTF_IDLE_SLEEP );
 
@@ -1393,20 +1344,6 @@ static void manage_cleanup( void * args )
     pthread_cleanup_pop(1);
 }
 
-- (void)manageVolumeSlider
-{
-    audio_volume_t i_volume;
-    playlist_t * p_playlist = pl_Get( p_intf );
-
-    i_volume = aout_VolumeGet( p_playlist );
-
-    if( i_volume != i_lastShownVolume )
-    {
-        i_lastShownVolume = i_volume;
-        p_intf->p_sys->b_volume_update = TRUE;
-    }
-}
-
 - (void)manageIntf:(NSTimer *)o_timer
 {
     vlc_value_t val;
@@ -1420,91 +1357,11 @@ static void manage_cleanup( void * args )
         p_intf->p_sys->b_intf_update = true;
         p_intf->p_sys->b_input_update = false;
         [o_mainmenu setupMenus]; /* Make sure input menu is up to date */
-
-        /* update our info-panel to reflect the new item, if we don't show
-         * the playlist or the selection is empty */
-        if( [self isPlaylistCollapsed] == YES )
-        {
-            playlist_t * p_playlist = pl_Get( p_intf );
-            PL_LOCK;
-            playlist_item_t * p_item = playlist_CurrentPlayingItem( p_playlist );
-            PL_UNLOCK;
-            if( p_item )
-                [[self info] updatePanelWithItem: p_item->p_input];
-        }
     }
     if( p_intf->p_sys->b_intf_update )
     {
-        bool b_input = false;
-        bool b_plmul = false;
-        bool b_control = false;
-        bool b_seekable = false;
-        bool b_chapters = false;
-
-        playlist_t * p_playlist = pl_Get( p_intf );
-
-        PL_LOCK;
-        b_plmul = playlist_CurrentSize( p_playlist ) > 1;
-        PL_UNLOCK;
-
-        p_input = playlist_CurrentInput( p_playlist );
-
-        bool b_buffering = NO;
-
-        if( ( b_input = ( p_input != NULL ) ) )
-        {
-            /* seekable streams */
-            cachedInputState = input_GetState( p_input );
-            if ( cachedInputState == INIT_S ||
-                 cachedInputState == OPENING_S )
-            {
-                b_buffering = YES;
-            }
-
-            /* seekable streams */
-            b_seekable = var_GetBool( p_input, "can-seek" );
-
-            /* check whether slow/fast motion is possible */
-            b_control = var_GetBool( p_input, "can-rate" );
-
-            /* chapters & titles */
-            //b_chapters = p_input->stream.i_area_nb > 1;
-            vlc_object_release( p_input );
-        }
-
-        if( b_buffering )
-        {
-            [o_main_pgbar startAnimation:self];
-            [o_main_pgbar setIndeterminate:YES];
-            [o_main_pgbar setHidden:NO];
-        }
-        else
-        {
-            [o_main_pgbar stopAnimation:self];
-            [o_main_pgbar setHidden:YES];
-        }
-
-        [o_btn_stop setEnabled: b_input];
-        [o_embedded_window setStop: b_input];
-        [o_btn_ff setEnabled: b_seekable];
-        [o_btn_rewind setEnabled: b_seekable];
-        [o_btn_prev setEnabled: (b_plmul || b_chapters)];
-        [o_embedded_window setPrev: (b_plmul || b_chapters)];
-        [o_btn_next setEnabled: (b_plmul || b_chapters)];
-        [o_embedded_window setNext: (b_plmul || b_chapters)];
-        [o_mainmenu setRateControlsEnabled: b_control];
-
-        [o_timeslider setFloatValue: 0.0];
-        [o_timeslider setEnabled: b_seekable];
-        [o_timefield setStringValue: @"00:00"];
-        [[[self controls] fspanel] setStreamPos: 0 andTime: @"00:00"];
-        [[[self controls] fspanel] setSeekable: b_seekable];
-
-        [o_embedded_window setSeekable: b_seekable];
-        [o_embedded_window setTime:@"00:00" position:0.0];
-
+        [o_mainwindow updateWindow];
         p_intf->p_sys->b_current_title_update = true;
-
         p_intf->p_sys->b_intf_update = false;
     }
 
@@ -1529,7 +1386,7 @@ static void manage_cleanup( void * args )
         if( [[o_coreinteraction voutView] isFullscreen] && config_GetInt( VLCIntf, "macosx-fspanel" ) )
             [[o_controls fspanel] fadeIn];
         else
-            [o_window makeKeyAndOrderFront: self];
+            [o_mainwindow makeKeyAndOrderFront: self];
 
         p_intf->p_sys->b_intf_show = false;
     }
@@ -1552,7 +1409,7 @@ static void manage_cleanup( void * args )
 
             free(name);
 
-            [self setScrollField: aString stopAfter:-1];
+            [o_mainwindow setTitle: aString];
             [[[self controls] fspanel] setStreamTitle: aString];
 
             [[o_coreinteraction voutView] updateTitle];
@@ -1562,33 +1419,7 @@ static void manage_cleanup( void * args )
             p_intf->p_sys->b_current_title_update = FALSE;
         }
 
-        if( [o_timeslider isEnabled] )
-        {
-            /* Update the slider */
-            vlc_value_t time;
-            NSString * o_time;
-            vlc_value_t pos;
-            char psz_time[MSTRTIME_MAX_SIZE];
-            float f_updated;
-
-            var_Get( p_input, "position", &pos );
-            f_updated = 10000. * pos.f_float;
-            [o_timeslider setFloatValue: f_updated];
-
-            var_Get( p_input, "time", &time );
-
-            mtime_t dur = input_item_GetDuration( input_GetItem( p_input ) );
-            if( b_time_remaining && dur != -1 )
-            {
-                o_time = [NSString stringWithFormat: @"-%s", secstotimestr( psz_time, ((dur - time.i_time) / 1000000))];
-            }
-            else
-                o_time = [NSString stringWithUTF8String: secstotimestr( psz_time, (time.i_time / 1000000) )];
-
-            [o_timefield setStringValue: o_time];
-            [[[self controls] fspanel] setStreamPos: f_updated andTime: o_time];
-            [o_embedded_window setTime: o_time position: f_updated];
-        }
+        [o_mainwindow updateTimeSlider];
 
         /* Manage Playing status */
         var_Get( p_input, "state", &val );
@@ -1596,7 +1427,6 @@ static void manage_cleanup( void * args )
         {
             p_intf->p_sys->i_play_status = val.i_int;
             [self playStatusUpdated: p_intf->p_sys->i_play_status];
-            [o_embedded_window playStatusUpdated: p_intf->p_sys->i_play_status];
         }
         vlc_object_release( p_input );
     }
@@ -1607,34 +1437,16 @@ static void manage_cleanup( void * args )
     else
     {
         p_intf->p_sys->i_play_status = END_S;
-        [self playStatusUpdated: p_intf->p_sys->i_play_status];
-        [o_embedded_window playStatusUpdated: p_intf->p_sys->i_play_status];
-        [o_mainmenu setSubmenusEnabled: FALSE];
-    }
-
-    if( p_intf->p_sys->b_volume_update )
-    {
-        NSString *o_text;
-        int i_volume_step = 0;
-        o_text = [NSString stringWithFormat: _NS("Volume: %d%%"), i_lastShownVolume * 400 / AOUT_VOLUME_MAX];
-        if( i_lastShownVolume != -1 )
-        [self setScrollField:o_text stopAfter:1000000];
-        i_volume_step = config_GetInt( p_intf->p_libvlc, "volume-step" );
-        [o_volumeslider setFloatValue: (float)i_lastShownVolume / i_volume_step];
-        [o_volumeslider setEnabled: TRUE];
-        [o_embedded_window setVolumeSlider: (float)i_lastShownVolume / i_volume_step];
-        [o_embedded_window setVolumeEnabled: TRUE];
-        [[[self controls] fspanel] setVolumeLevel: (float)i_lastShownVolume / i_volume_step];
-        p_intf->p_sys->b_mute = ( i_lastShownVolume == 0 );
-        p_intf->p_sys->b_volume_update = FALSE;
+        if (p_intf->p_sys->i_old_play_status != p_intf->p_sys->i_play_status)
+        {
+            [self playStatusUpdated: p_intf->p_sys->i_play_status];
+            [o_mainmenu setSubmenusEnabled: FALSE];
+            p_intf->p_sys->i_old_play_status = p_intf->p_sys->i_play_status;
+        }
     }
-
 end:
     [self updateMessageDisplay];
 
-    if( ((i_end_scroll != -1) && (mdate() > i_end_scroll)) || !p_input )
-        [self resetScrollField];
-
     [interfaceTimer autorelease];
 
     interfaceTimer = [[NSTimer scheduledTimerWithTimeInterval: 0.3
@@ -1645,116 +1457,26 @@ end:
 #pragma mark -
 #pragma mark Interface update
 
-- (void)setScrollField:(NSString *)o_string stopAfter:(int)timeout
-{
-    if( timeout != -1 )
-        i_end_scroll = mdate() + timeout;
-    else
-        i_end_scroll = -1;
-    [o_scrollfield setStringValue: o_string];
-    [o_embedded_window setScrollString: o_string];
-}
-
-- (void)resetScrollField
-{
-    playlist_t * p_playlist = pl_Get( p_intf );
-    input_thread_t * p_input = playlist_CurrentInput( p_playlist );
-
-    i_end_scroll = -1;
-    if( p_input && vlc_object_alive (p_input) )
-    {
-        NSString *o_temp;
-        PL_LOCK;
-        playlist_item_t * p_item = playlist_CurrentPlayingItem( p_playlist );
-        if( input_item_GetNowPlaying( p_item->p_input ) )
-            o_temp = [NSString stringWithUTF8String:input_item_GetNowPlaying( p_item->p_input )];
-        else
-            o_temp = [NSString stringWithUTF8String:p_item->p_input->psz_name];
-        PL_UNLOCK;
-        [self setScrollField: o_temp stopAfter:-1];
-        [[[self controls] fspanel] setStreamTitle: o_temp];
-        vlc_object_release( p_input );
-        return;
-    }
-    [self setScrollField: _NS("VLC media player") stopAfter:-1];
-}
-
 - (void)playStatusUpdated:(int)i_status
 {
     if( i_status == PLAYING_S )
     {
         [[[self controls] fspanel] setPause];
         [[self mainMenu] setPause];
-        [o_btn_play setImage: o_img_pause];
-        [o_btn_play setAlternateImage: o_img_pause_pressed];
-        [o_btn_play setToolTip: _NS("Pause")];
+        [o_mainwindow setPause];
     }
     else
     {
         [[[self controls] fspanel] setPlay];
         [[self mainMenu] setPlay];
-        [o_btn_play setImage: o_img_play];
-        [o_btn_play setAlternateImage: o_img_play_pressed];
-        [o_btn_play setToolTip: _NS("Play")];
-    }
-}
-
-- (IBAction)timesliderUpdate:(id)sender
-{
-    float f_updated;
-    playlist_t * p_playlist;
-    input_thread_t * p_input;
-
-    switch( [[NSApp currentEvent] type] )
-    {
-        case NSLeftMouseUp:
-        case NSLeftMouseDown:
-        case NSLeftMouseDragged:
-            f_updated = [sender floatValue];
-            break;
-
-        default:
-            return;
+        [o_mainwindow setPlay];
     }
-    p_playlist = pl_Get( p_intf );
-    p_input = playlist_CurrentInput( p_playlist );
-    if( p_input != NULL )
-    {
-        vlc_value_t time;
-        vlc_value_t pos;
-        NSString * o_time;
-        char psz_time[MSTRTIME_MAX_SIZE];
-
-        pos.f_float = f_updated / 10000.;
-        var_Set( p_input, "position", pos );
-        [o_timeslider setFloatValue: f_updated];
-
-        var_Get( p_input, "time", &time );
-
-        mtime_t dur = input_item_GetDuration( input_GetItem( p_input ) );
-        if( b_time_remaining && dur != -1 )
-        {
-            o_time = [NSString stringWithFormat: @"-%s", secstotimestr( psz_time, ((dur - time.i_time) / 1000000) )];
-        }
-        else
-            o_time = [NSString stringWithUTF8String: secstotimestr( psz_time, (time.i_time / 1000000) )];
-
-        [o_timefield setStringValue: o_time];
-        [[[self controls] fspanel] setStreamPos: f_updated andTime: o_time];
-        [o_embedded_window setTime: o_time position: f_updated];
-        vlc_object_release( p_input );
-    }
-}
-
-- (IBAction)timeFieldWasClicked:(id)sender
-{
-    b_time_remaining = !b_time_remaining;
 }
 
 - (IBAction)showController:(id)sender
 {
-    //FIXME: temporary hack until we have VLCMainWindow
-    [o_window makeKeyAndOrderFront:sender];
+    //FIXME: why is this function here?!
+    [o_mainwindow makeKeyAndOrderFront:sender];
 }
 
 #pragma mark -
index 26154ff..570ec79 100644 (file)
 
 
 /*****************************************************************************
- * VLCControllerWindow
- *****************************************************************************/
-
-
-@interface VLCControllerWindow : NSWindow
-{
-}
-
-@end
-
-/*****************************************************************************
  * VLCControllerView
  *****************************************************************************/
 
index d890ae8..899cf3f 100644 (file)
@@ -26,6 +26,7 @@
 #import <Carbon/Carbon.h>
 
 #import "intf.h"                                          /* VLCApplication */
+#import "MainWindow.h"
 #import "misc.h"
 #import "playlist.h"
 #import "controls.h"
@@ -404,62 +405,6 @@ static NSMutableArray *blackoutWindows = NULL;
 @end
 
 /*****************************************************************************
- * VLCControllerWindow
- *****************************************************************************/
-
-@implementation VLCControllerWindow
-
-- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)styleMask
-    backing:(NSBackingStoreType)backingType defer:(BOOL)flag
-{
-    /* FIXME: this should enable the SnowLeopard window style, however, it leads to ugly artifacts
-     *        needs some further investigation! -- feepk
-     BOOL b_useTextured = YES;
-
-    if( [[NSWindow class] instancesRespondToSelector:@selector(setContentBorderThickness:forEdge:)] )
-    {
-        b_useTextured = NO;
-        styleMask ^= NSTexturedBackgroundWindowMask;
-    } */
-
-    self = [super initWithContentRect:contentRect styleMask:styleMask //& ~NSTitledWindowMask
-    backing:backingType defer:flag];
-
-    [[VLCMain sharedInstance] updateTogglePlaylistState];
-
-    /* FIXME: see above...
-    if(! b_useTextured )
-    {
-        [self setContentBorderThickness:28.0 forEdge:NSMinYEdge];
-    }
-    */
-
-    /* we want to be moveable regardless of our style */
-    [self setMovableByWindowBackground: YES];
-
-    /* we don't want this window to be restored on relaunch */
-    if ([self respondsToSelector:@selector(setRestorable:)])
-        [self setRestorable:NO];
-
-    return self;
-}
-
-- (BOOL)performKeyEquivalent:(NSEvent *)o_event
-{
-    /* We indeed want to prioritize Cocoa key equivalent against libvlc,
-       so we perform the menu equivalent now. */
-    if([[NSApp mainMenu] performKeyEquivalent:o_event])
-        return TRUE;
-
-    return [[VLCMain sharedInstance] hasDefinedShortcutKey:o_event] ||
-           [(VLCControls *)[[VLCMain sharedInstance] controls] keyEvent:o_event];
-}
-
-@end
-
-
-
-/*****************************************************************************
  * VLCControllerView
  *****************************************************************************/
 
@@ -771,6 +716,6 @@ void _drawFrameInRect(NSRect frameRect)
     if( [ourEvent clickCount] > 1 )
         [[[VLCMain sharedInstance] controls] goToSpecificTime: nil];
     else
-        [[VLCMain sharedInstance] timeFieldWasClicked: self];
+        [[VLCMainWindow sharedInstance] timeFieldWasClicked: self];
 }
 @end
index 89ecd72..15a4c64 100644 (file)
             free( psz_uri );
         }
 
-        if( [[VLCMain sharedInstance] isPlaylistCollapsed] == NO )
-        {
-            /* update our info-panel to reflect the new item, if we aren't collapsed */
-            [[[VLCMain sharedInstance] info] updatePanelWithItem:p_item->p_input];
-        }
+        /* update our info-panel to reflect the new item */
+        [[[VLCMain sharedInstance] info] updatePanelWithItem:p_item->p_input];
     }
 }