]> git.sesse.net Git - vlc/commitdiff
macosx: remove dead code and rename vout.* to VideoView.*
authorFelix Paul Kühne <fkuehne@videolan.org>
Sun, 4 Sep 2011 16:42:52 +0000 (18:42 +0200)
committerFelix Paul Kühne <fkuehne@videolan.org>
Sun, 4 Sep 2011 17:36:34 +0000 (19:36 +0200)
Makefile.am
extras/package/macosx/vlc.xcodeproj/project.pbxproj
modules/gui/macosx/MainMenu.m
modules/gui/macosx/Modules.am
modules/gui/macosx/VideoView.h [moved from modules/gui/macosx/vout.h with 97% similarity]
modules/gui/macosx/VideoView.m [moved from modules/gui/macosx/vout.m with 99% similarity]
modules/gui/macosx/controls.m
modules/gui/macosx/embeddedwindow.h [deleted file]
modules/gui/macosx/embeddedwindow.m [deleted file]
modules/gui/macosx/intf.m
modules/gui/macosx/voutgl.m [deleted file]

index fc7edae9316ad7d2feabf2475f0282876369d5a4..669a5910818a86c8cd8395ab8b0c727947c87c97 100644 (file)
@@ -475,19 +475,14 @@ VLC-release.app: vlc
            prefs.m \
            simple_prefs.h \
            simple_prefs.m \
-           vout.h \
-           voutgl.m \
            wizard.h \
            wizard.m \
            bookmarks.h \
            bookmarks.m \
            coredialogs.h \
            coredialogs.m \
-           embeddedwindow.h \
-           embeddedwindow.m \
            fspanel.h \
-           fspanel.m \
-           vout.m; do \
+           fspanel.m; do \
          cp "$(srcdir)/modules/gui/macosx/$$i" \
              $(top_builddir)/tmp/modules/gui/macosx; \
        done
@@ -608,19 +603,14 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/lib/.lib
            prefs.m \
            simple_prefs.h \
            simple_prefs.m \
-           vout.h \
-           voutgl.m \
            wizard.h \
            wizard.m \
            bookmarks.h \
            bookmarks.m \
            coredialogs.h \
            coredialogs.m \
-           embeddedwindow.h \
-           embeddedwindow.m \
            fspanel.h \
-           fspanel.m \
-           vout.m; do \
+           fspanel.m; do \
          cp "$(srcdir)/modules/gui/macosx/$$i" \
              $(top_builddir)/tmp/modules/gui/macosx; \
        done
index 1a9a88ffea9ef6452f5031f45687b1878e2f5093..0dfdddb6840025e6c97b276213b394daa460dba7 100644 (file)
                8E6BC6FA041684EC0059A3A7 /* controls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = controls.h; path = ../../../modules/gui/macosx/controls.h; sourceTree = SOURCE_ROOT; };
                8E9CA1A306D7DEE800B7186C /* prefs_widgets.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = prefs_widgets.h; path = ../../../modules/gui/macosx/prefs_widgets.h; sourceTree = SOURCE_ROOT; };
                8E9CA1A406D7DEE800B7186C /* prefs_widgets.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = prefs_widgets.m; path = ../../../modules/gui/macosx/prefs_widgets.m; sourceTree = SOURCE_ROOT; };
-               8E9CA1A506D7DEE800B7186C /* voutgl.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; name = voutgl.m; path = ../../../modules/gui/macosx/voutgl.m; sourceTree = SOURCE_ROOT; };
                8EBF3FA303F13FFB0059A3A7 /* vlc.scriptSuite */ = {isa = PBXFileReference; lastKnownFileType = text; name = vlc.scriptSuite; path = Resources/vlc.scriptSuite; sourceTree = SOURCE_ROOT; };
                8EBF3FA503F140960059A3A7 /* vlc.scriptTerminology */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = vlc.scriptTerminology; path = Resources/vlc.scriptTerminology; sourceTree = SOURCE_ROOT; };
                8ED6C27B03E2EB1C0059A3A7 /* controls.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = controls.m; path = ../../../modules/gui/macosx/controls.m; sourceTree = SOURCE_ROOT; };
                8ED6C28403E2EB1C0059A3A7 /* playlist.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = playlist.m; path = ../../../modules/gui/macosx/playlist.m; sourceTree = SOURCE_ROOT; };
                8ED6C28503E2EB1C0059A3A7 /* prefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = prefs.h; path = ../../../modules/gui/macosx/prefs.h; sourceTree = SOURCE_ROOT; };
                8ED6C28603E2EB1C0059A3A7 /* prefs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = prefs.m; path = ../../../modules/gui/macosx/prefs.m; sourceTree = SOURCE_ROOT; };
-               8ED6C28703E2EB1C0059A3A7 /* vout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = vout.h; path = ../../../modules/gui/macosx/vout.h; sourceTree = SOURCE_ROOT; };
-               8ED6C28803E2EB1C0059A3A7 /* vout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = vout.m; path = ../../../modules/gui/macosx/vout.m; sourceTree = SOURCE_ROOT; };
                8EDAC3430440F72D0059A3A7 /* README.MacOSX.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = README.MacOSX.rtf; sourceTree = SOURCE_ROOT; };
                8EE1AF9F044465080059A3A7 /* about.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = about.h; path = ../../../modules/gui/macosx/about.h; sourceTree = SOURCE_ROOT; };
                8EE1AFA0044465080059A3A7 /* about.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = about.m; path = ../../../modules/gui/macosx/about.m; sourceTree = SOURCE_ROOT; };
                CCB24D5D0D54BBAE004D780C /* simple_prefs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; name = simple_prefs.m; path = ../../../modules/gui/macosx/simple_prefs.m; sourceTree = SOURCE_ROOT; };
                CCB24D5E0D54BBAE004D780C /* simple_prefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = simple_prefs.h; path = ../../../modules/gui/macosx/simple_prefs.h; sourceTree = SOURCE_ROOT; };
                CCBE999E0F922C51000705F8 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
-               CCC593780AB4A9FB0004FF52 /* embeddedwindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = embeddedwindow.h; path = ../../../modules/gui/macosx/embeddedwindow.h; sourceTree = SOURCE_ROOT; };
-               CCC593790AB4A9FB0004FF52 /* embeddedwindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = embeddedwindow.m; path = ../../../modules/gui/macosx/embeddedwindow.m; sourceTree = SOURCE_ROOT; };
                CCC895830D9A8A82005AE59C /* eyetv.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = eyetv.m; path = ../../../modules/access/eyetv.m; sourceTree = SOURCE_ROOT; };
+               CCCCDCA01413E1C000FE3DE1 /* VideoView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = VideoView.h; path = ../../../modules/gui/macosx/VideoView.h; sourceTree = "<group>"; };
+               CCCCDCA11413E1C000FE3DE1 /* VideoView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = VideoView.m; path = ../../../modules/gui/macosx/VideoView.m; sourceTree = "<group>"; };
                CCCDDEEF13E870BB00A35661 /* SideBarItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SideBarItem.h; path = ../../../modules/gui/macosx/SideBarItem.h; sourceTree = "<group>"; };
                CCCDDEF013E870BB00A35661 /* SideBarItem.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SideBarItem.m; path = ../../../modules/gui/macosx/SideBarItem.m; sourceTree = "<group>"; };
                CCCE366D13817E4500694F2A /* VideoEffects.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = VideoEffects.h; path = ../../../modules/gui/macosx/VideoEffects.h; sourceTree = "<group>"; };
                                8E49720106417F6800370C9F /* playlistinfo.m */,
                                8E55FB7F0459B0FD00FB3317 /* output.h */,
                                8E55FB800459B0FD00FB3317 /* output.m */,
-                               8ED6C28703E2EB1C0059A3A7 /* vout.h */,
-                               8ED6C28803E2EB1C0059A3A7 /* vout.m */,
-                               8E9CA1A506D7DEE800B7186C /* voutgl.m */,
+                               CCCCDCA01413E1C000FE3DE1 /* VideoView.h */,
+                               CCCCDCA11413E1C000FE3DE1 /* VideoView.m */,
                                DC769AB8085DF0DB001A838D /* wizard.h */,
                                DC769AB7085DF0DB001A838D /* wizard.m */,
                                DCE7BD0708A5724D007B10AE /* bookmarks.h */,
                                DCE7BD0608A5724D007B10AE /* bookmarks.m */,
-                               CCC593780AB4A9FB0004FF52 /* embeddedwindow.h */,
-                               CCC593790AB4A9FB0004FF52 /* embeddedwindow.m */,
                                2AEF857609A5FEC900130822 /* fspanel.h */,
                                2AEF857709A5FEC900130822 /* fspanel.m */,
                                CC6EDD4F0B9CA2140096068A /* eyetv.h */,
index a3bea0c94061d835f48de5e45c33b272bcdfd42e..4cddd1452f273e777bfa4cb042c6541b78003b6a 100644 (file)
@@ -37,7 +37,7 @@
 #import "coredialogs.h"
 #import "controls.h"
 #import "playlistinfo.h"
-#import "vout.h"
+#import "VideoView.h"
 #import "CoreInteraction.h"
 #import "MainWindow.h"
 
index 9e02d71230b8d12fbef6087d5a80c480ab72f0b6..aa2c29b2013cb7e894d08aa39466e581a3c7aeec 100644 (file)
@@ -54,8 +54,6 @@ SOURCES_macosx = \
        VideoEffects.m \
        bookmarks.h \
        bookmarks.m \
-       embeddedwindow.h \
-       embeddedwindow.m \
        PXSourceList.h \
        PXSourceList.m \
        PXSourceListDataSource.h \
@@ -66,8 +64,7 @@ SOURCES_macosx = \
        fspanel.h \
        eyetv.h \
        eyetv.m \
-       vout.h \
-       vout.m \
-       voutgl.m \
+       VideoView.h \
+       VideoView.m \
        $(NULL)
 
similarity index 97%
rename from modules/gui/macosx/vout.h
rename to modules/gui/macosx/VideoView.h
index a2694edbbfdd7d7994764103cde144849109721b..e5b22b2398602cd4df972a10a03a42e034716391 100644 (file)
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * vout.h: MacOS X video output module
+ * VideoView.h: MacOS X video output module
  *****************************************************************************
  * Copyright (C) 2002-2011 the VideoLAN team
  * $Id$
similarity index 99%
rename from modules/gui/macosx/vout.m
rename to modules/gui/macosx/VideoView.m
index 232474106ec4e9eae3bc1036c32fceb233a7da8f..705a8f971b227b8cf7ec20a2024ae41b54f0610e 100644 (file)
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * vout.m: MacOS X video output module
+ * VideoView.m: MacOS X video output module
  *****************************************************************************
  * Copyright (C) 2002-2011 the VideoLAN team
  * $Id$
@@ -32,7 +32,7 @@
 #import <string.h>
 
 #import "intf.h"
-#import "vout.h"
+#import "VideoView.h"
 #import "CoreInteraction.h"
 #import "MainMenu.h"
 #import "MainWindow.h"
index 2e2b1c7bc2a7582f83fc5ac314b407e7a4bdd01d..e147ed6af05faa7d97c722a4833acf2acda3b810 100644 (file)
@@ -33,7 +33,7 @@
 #include <string.h>
 
 #import "intf.h"
-#import "vout.h"
+#import "VideoView.h"
 #import "open.h"
 #import "controls.h"
 #import "playlist.h"
diff --git a/modules/gui/macosx/embeddedwindow.h b/modules/gui/macosx/embeddedwindow.h
deleted file mode 100644 (file)
index d66271e..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/*****************************************************************************
- * embeddedwindow.h: MacOS X interface module
- *****************************************************************************
- * Copyright (C) 2005-2007 the VideoLAN team
- * $Id$
- *
- * Authors: Benjamin Pracht <bigben at videolan dot 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
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * VLCEmbeddedWindow interface
- *****************************************************************************/
-
-#import "CompatibilityFixes.h"
-#import "misc.h"
-
-@interface VLCEmbeddedWindow : NSWindow <NSWindowDelegate, NSAnimationDelegate>
-{
-    IBOutlet id o_btn_backward;
-    IBOutlet id o_btn_forward;
-    IBOutlet id o_btn_fullscreen;
-    IBOutlet id o_btn_equalizer;
-    IBOutlet id o_btn_playlist;
-    IBOutlet id o_btn_play;
-    IBOutlet id o_btn_prev;
-    IBOutlet id o_btn_stop;
-    IBOutlet id o_btn_next;
-    IBOutlet id o_btn_volume_down;
-    IBOutlet id o_volumeslider;
-    IBOutlet id o_btn_volume_up;
-    IBOutlet id o_backgroundimg_right;
-    IBOutlet id o_backgroundimg_middle;
-    IBOutlet id o_timeslider;
-    IBOutlet id o_main_pgbar;
-    IBOutlet id o_time;
-    IBOutlet id o_scrollfield;
-    IBOutlet id o_horizontal_split;
-    IBOutlet id o_vertical_split;
-    IBOutlet id o_videosubview;
-    IBOutlet id o_view;
-    IBOutlet id o_background_view;
-       IBOutlet id o_searchfield;
-       IBOutlet id o_status;
-       IBOutlet id o_playlist;
-       IBOutlet id o_playlist_view;
-       IBOutlet id o_playlist_table;
-       IBOutlet id o_vlc_main;
-    IBOutlet id o_video_view;
-
-    NSImage * o_img_play;
-    NSImage * o_img_play_pressed;
-    NSImage * o_img_pause;
-    NSImage * o_img_pause_pressed;
-
-    VLCWindow       * o_fullscreen_window;
-    NSViewAnimation * o_fullscreen_anim1;
-    NSViewAnimation * o_fullscreen_anim2;
-    NSViewAnimation * o_makekey_anim;
-    NSView          * o_temp_view;
-    /* set to yes if we are fullscreen and all animations are over */
-    BOOL              b_fullscreen;
-    NSRecursiveLock * o_animation_lock;
-
-    BOOL              b_window_is_invisible;
-
-    NSSize videoRatio;
-    NSInteger originalLevel;
-}
-
-- (void)controlTintChanged;
-
-- (id)videoView;
-
-- (void)setTime: (NSString *)o_arg_ime position: (float)f_position;
-- (id)getPgbar;
-- (void)playStatusUpdated: (int)i_status;
-- (void)setSeekable: (BOOL)b_seekable;
-- (void)setStop:(BOOL)b_input;
-- (void)setPrev:(BOOL)b_input;
-- (void)setNext:(BOOL)b_input;
-- (void)setVolumeEnabled:(BOOL)b_input;
-
-- (void)setScrollString:(NSString *)o_string;
-
-- (void)setVolumeSlider:(float)f_level;
-
-- (void)setVideoRatio:(NSSize)ratio;
-
-- (NSView *)mainView;
-
-- (IBAction)togglePlaylist:(id)sender;
-
-- (BOOL)isFullscreen;
-
-- (void)lockFullscreenAnimation;
-- (void)unlockFullscreenAnimation;
-
-- (void)enterFullscreen;
-- (void)leaveFullscreen;
-/* Allows leaving fullscreen by simply fading out the display */
-- (void)leaveFullscreenAndFadeOut: (BOOL)fadeout;
-
-/* private */
-- (void)hasEndedFullscreen;
-- (void)hasBecomeFullscreen;
-
-- (void)setFrameOnMainThread:(NSData*)packedargs;
-@end
-
-/*****************************************************************************
- * embeddedbackground
- *****************************************************************************/
-
-
-@interface embeddedbackground : NSView
-{
-    IBOutlet id o_window;
-    IBOutlet id o_timeslider;
-    IBOutlet id o_main_pgbar;
-    IBOutlet id o_time;
-    IBOutlet id o_scrollfield;
-    IBOutlet id o_searchfield;
-    IBOutlet id o_btn_backward;
-    IBOutlet id o_btn_forward;
-    IBOutlet id o_btn_fullscreen;
-    IBOutlet id o_btn_equalizer;
-    IBOutlet id o_btn_playlist;
-    IBOutlet id o_btn_play;
-    IBOutlet id o_btn_prev;
-    IBOutlet id o_btn_stop;
-    IBOutlet id o_btn_next;
-    IBOutlet id o_btn_volume_down;
-    IBOutlet id o_volumeslider;
-    IBOutlet id o_btn_volume_up;
-    
-    NSPoint dragStart;
-}
-
-@end
-
-/*****************************************************************************
- * statusbar
- *****************************************************************************/
-
-
-@interface statusbar : NSView
-{
-    IBOutlet id o_text;
-       
-       BOOL mainwindow;
-}
-
-@end
diff --git a/modules/gui/macosx/embeddedwindow.m b/modules/gui/macosx/embeddedwindow.m
deleted file mode 100644 (file)
index 6771098..0000000
+++ /dev/null
@@ -1,1012 +0,0 @@
-/*****************************************************************************
- * embeddedwindow.m: MacOS X interface module
- *****************************************************************************
- * Copyright (C) 2005-2011 the VideoLAN team
- * $Id$
- *
- * Authors: Benjamin Pracht <bigben at videolan dot org>
- *          Felix Paul Kühne <fkuehne at videolan dot 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
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-
-#import "intf.h"
-#import "controls.h"
-#import "vout.h"
-#import "embeddedwindow.h"
-#import "fspanel.h"
-#import "CoreInteraction.h"
-#import "playlist.h"
-#import <vlc_url.h>
-
-/* SetSystemUIMode, ... */
-#import <Carbon/Carbon.h>
-
-#if 0
-
-/*****************************************************************************
- * VLCEmbeddedWindow Implementation
- *****************************************************************************/
-
-@implementation VLCEmbeddedWindow
-
-- (id)initWithContentRect:(NSRect)contentRect styleMask: (NSUInteger)windowStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
-{
-    BOOL b_useTextured = YES;
-    if( [[NSWindow class] instancesRespondToSelector:@selector(setContentBorderThickness:forEdge:)] )
-    {
-        b_useTextured = NO;
-        windowStyle ^= NSTexturedBackgroundWindowMask;
-    }
-    self = [super initWithContentRect:contentRect styleMask:windowStyle backing:bufferingType defer:deferCreation];
-    if(! b_useTextured )
-    {
-        [self setContentBorderThickness:28.0 forEdge:NSMinYEdge];
-    }
-    return self;
-}
-
-- (void)awakeFromNib
-{
-    [self setDelegate: self];
-
-    /* button strings */
-    [o_btn_backward setToolTip: _NS("Rewind")];
-    [o_btn_forward setToolTip: _NS("Fast Forward")];
-    [o_btn_fullscreen setToolTip: _NS("Fullscreen")];
-    [o_btn_play setToolTip: _NS("Play")];
-    [o_timeslider setToolTip: _NS("Position")];
-    [o_btn_prev setToolTip: _NS("Previous")];
-    [o_btn_stop setToolTip: _NS("Stop")];
-    [o_btn_next setToolTip: _NS("Next")];
-    [o_volumeslider setToolTip: _NS("Volume")];
-    [o_btn_playlist setToolTip: _NS("Playlist")];
-    [self setTitle: _NS("VLC media player")];
-
-    o_img_play = [NSImage imageNamed: @"play_embedded"];
-    o_img_pause = [NSImage imageNamed: @"pause_embedded"];
-
-    /* Useful to save o_view frame in fullscreen mode */
-    o_temp_view = [[NSView alloc] init];
-    [o_temp_view setAutoresizingMask:NSViewHeightSizable | NSViewWidthSizable];
-
-    o_fullscreen_window = nil;
-    o_makekey_anim = o_fullscreen_anim1 = o_fullscreen_anim2 = nil;
-
-    /* Not fullscreen when we wake up */
-    [o_btn_fullscreen setState: NO];
-    b_fullscreen = NO;
-
-    [self setMovableByWindowBackground:YES];
-
-    [self setDelegate:self];
-
-    /* Make sure setVisible: returns NO */
-    [self orderOut:self];
-    b_window_is_invisible = YES;
-    videoRatio = NSMakeSize( 0., 0. );
-
-    /* enlarge the time slider and move items around in case we have no window resize control */
-    if ([self showsResizeIndicator] == NO) {
-        NSRect view_rect;
-        view_rect = [o_backgroundimg_right frame];
-        
-        [o_backgroundimg_right setFrame: NSMakeRect( view_rect.origin.x+15,
-                                                    view_rect.origin.y,
-                                                    view_rect.size.width,
-                                                    view_rect.size.height )];
-        
-        view_rect = [o_backgroundimg_middle frame];
-        [o_backgroundimg_middle setFrame: NSMakeRect( view_rect.origin.x,
-                                                     view_rect.origin.y,
-                                                     view_rect.size.width+15,
-                                                     view_rect.size.height )];
-        
-        view_rect = [o_timeslider frame];
-        [o_timeslider setFrame: NSMakeRect( view_rect.origin.x,
-                                           view_rect.origin.y,
-                                           view_rect.size.width+15,
-                                           view_rect.size.height )];
-        
-        view_rect = [o_time frame];
-        [o_time setFrame: NSMakeRect( view_rect.origin.x+15,
-                                     view_rect.origin.y,
-                                     view_rect.size.width,
-                                     view_rect.size.height )];
-    }
-
-    /* we don't want this window to be restored on relaunch */
-    if ([self respondsToSelector:@selector(setRestorable:)])
-        [self setRestorable:NO];
-}
-
-- (void)controlTintChanged
-{
-    BOOL b_playing = NO;
-    if( [o_btn_play alternateImage] == o_img_play_pressed )
-        b_playing = YES;
-
-    if( [NSColor currentControlTint] == NSGraphiteControlTint )
-    {
-        o_img_play_pressed = [NSImage imageNamed: @"play_embedded_graphite"];
-        o_img_pause_pressed = [NSImage imageNamed: @"pause_embedded_graphite"];
-        [o_btn_backward setAlternateImage: [NSImage imageNamed: @"skip_previous_embedded_graphite"]];
-        [o_btn_forward setAlternateImage: [NSImage imageNamed: @"skip_forward_embedded_graphite"]];
-        [o_btn_fullscreen setAlternateImage: [NSImage imageNamed: @"fullscreen_graphite"]];
-    } else {
-        o_img_play_pressed = [NSImage imageNamed: @"play_embedded_blue"];
-        o_img_pause_pressed = [NSImage imageNamed: @"pause_embedded_blue"];
-        [o_btn_backward setAlternateImage: [NSImage imageNamed: @"skip_previous_embedded_blue"]];
-        [o_btn_forward setAlternateImage: [NSImage imageNamed: @"skip_forward_embedded_blue"]];
-        [o_btn_fullscreen setAlternateImage: [NSImage imageNamed: @"fullscreen_blue"]];
-    }
-
-    if( b_playing )
-        [o_btn_play setAlternateImage: o_img_play_pressed];
-    else
-        [o_btn_play setAlternateImage: o_img_pause_pressed];
-}
-
-- (void)dealloc
-{
-    [[NSNotificationCenter defaultCenter] removeObserver: self];
-    [o_img_play release];
-    [o_img_play_pressed release];
-    [o_img_pause release];
-    [o_img_pause_pressed release];
-
-    [super dealloc];
-}
-
-- (id)videoView
-{
-    return o_video_view;
-}
-
-- (void)setTime:(NSString *)o_arg_time position:(float)f_position
-{
-    [o_time setStringValue: o_arg_time];
-    [o_timeslider setFloatValue: f_position];
-}
-
-- (void)playStatusUpdated:(int)i_status
-{
-    if( i_status == PLAYING_S )
-    {
-        [o_btn_play setImage: o_img_pause];
-        [o_btn_play setAlternateImage: o_img_pause_pressed];
-        [o_btn_play setToolTip: _NS("Pause")];
-    }
-    else
-    {
-        [o_btn_play setImage: o_img_play];
-        [o_btn_play setAlternateImage: o_img_play_pressed];
-        [o_btn_play setToolTip: _NS("Play")];
-    }
-}
-
-- (void)setSeekable:(BOOL)b_seekable
-{
-    [o_btn_forward setEnabled: b_seekable];
-    [o_btn_backward setEnabled: b_seekable];
-    [o_timeslider setEnabled: b_seekable];
-}
-
-- (void)setScrollString:(NSString *)o_string
-{
-    [o_scrollfield setStringValue: o_string];
-}
-
-- (id)getPgbar
-{
-    if( o_main_pgbar )
-        return o_main_pgbar;
-
-    return nil;
-}
-
-- (void)setStop:(BOOL)b_input
-{
-    [o_btn_stop setEnabled: b_input];
-}
-
-- (void)setNext:(BOOL)b_input
-{
-    [o_btn_next setEnabled: b_input];
-}
-
-- (void)setPrev:(BOOL)b_input
-{
-    [o_btn_prev setEnabled: b_input];
-}
-
-- (void)setVolumeEnabled:(BOOL)b_input
-{
-    [o_volumeslider setEnabled: b_input];
-}
-
-- (void)setVolumeSlider:(float)f_level
-{
-    [o_volumeslider setFloatValue: f_level];
-}
-
-- (BOOL)windowShouldZoom:(NSWindow *)sender toFrame:(NSRect)newFrame
-{
-    [self setFrame: newFrame display: YES animate: YES];
-    return NO;
-}
-
-- (BOOL)windowShouldClose:(id)sender
-{
-    playlist_t * p_playlist = pl_Get( VLCIntf );
-    playlist_Stop( p_playlist );
-
-    return YES;
-}
-
-- (NSView *)mainView
-{
-    if (o_fullscreen_window)
-        return o_temp_view;
-    else
-        return o_view;
-}
-
-- (void)setVideoRatio:(NSSize)ratio
-{
-    videoRatio = ratio;
-}
-
-- (NSSize)windowWillResize:(NSWindow *)window toSize:(NSSize)proposedFrameSize
-{
-    if( videoRatio.height == 0. || videoRatio.width == 0. )
-        return proposedFrameSize;
-
-    if( [[VLCCoreInteraction sharedInstance] aspectRatioIsLocked] )
-    {
-        NSRect viewRect = [o_view convertRect:[o_view bounds] toView: nil];
-        NSRect contentRect = [self contentRectForFrameRect:[self frame]];
-        float marginy = viewRect.origin.y + [self frame].size.height - contentRect.size.height;
-        float marginx = contentRect.size.width - viewRect.size.width;
-        proposedFrameSize.height = (proposedFrameSize.width - marginx) * videoRatio.height / videoRatio.width + marginy;
-    }
-
-    return proposedFrameSize;
-}
-
-- (void)becomeMainWindow
-{
-       [o_status becomeMainWindow];
-    [super becomeMainWindow];
-}
-
-- (void)resignMainWindow
-{
-       [o_status resignMainWindow];
-    [super resignMainWindow];
-}
-
-- (CGFloat)splitView:(NSSplitView *) splitView constrainSplitPosition:(CGFloat) proposedPosition ofSubviewAt:(NSInteger) index
-{
-       if([splitView isVertical])
-               return proposedPosition;
-       else if ( splitView == o_vertical_split )
-               return proposedPosition ;
-       else {
-               float bottom = [splitView frame].size.height - [splitView dividerThickness];
-               if(proposedPosition > bottom - 50) {
-                       [o_btn_playlist setState: NSOffState];
-                       [o_searchfield setHidden:YES];
-                       [o_playlist_view setHidden:YES];
-                       return bottom;
-               }
-               else {
-                       [o_btn_playlist setState: NSOnState];
-                       [o_searchfield setHidden:NO];
-                       [o_playlist_view setHidden:NO];
-                       [o_playlist swapPlaylists: o_playlist_table];
-                       [o_vlc_main togglePlaylist:self];
-                       return proposedPosition;
-               }
-       }
-}
-
-- (void)splitViewWillResizeSubviews:(NSNotification *) notification
-{
-
-}
-
-- (CGFloat)splitView:(NSSplitView *) splitView constrainMinCoordinate:(CGFloat) proposedMin ofSubviewAt:(NSInteger) offset
-{
-       if([splitView isVertical])
-               return 125.;
-       else
-               return 0.;
-}
-
-- (CGFloat)splitView:(NSSplitView *) splitView constrainMaxCoordinate:(CGFloat) proposedMax ofSubviewAt:(NSInteger) offset
-{
-    if([splitView isVertical])
-               return MIN([self frame].size.width - 551, 300);
-       else
-               return [splitView frame].size.height;
-}
-
-- (BOOL)splitView:(NSSplitView *) splitView canCollapseSubview:(NSView *) subview
-{
-       if([splitView isVertical])
-               return NO;
-       else
-               return NO;
-}
-
-- (NSRect)splitView:(NSSplitView *)splitView effectiveRect:(NSRect)proposedEffectiveRect forDrawnRect:(NSRect)drawnRect
-   ofDividerAtIndex:(NSInteger)dividerIndex
-{
-       if([splitView isVertical]) {
-               drawnRect.origin.x -= 3;
-               drawnRect.size.width += 5;
-               return drawnRect;
-       }
-       else
-               return drawnRect;
-}
-
-- (IBAction)togglePlaylist:(id)sender
-{
-       NSView *playback_area = [[o_vertical_split subviews] objectAtIndex:0];
-       NSView *playlist_area = [[o_vertical_split subviews] objectAtIndex:1];
-       NSRect newVid = [playback_area frame];
-       NSRect newList = [playlist_area frame];
-       if(newList.size.height < 50 && sender != self && sender != o_vlc_main) {
-               newList.size.height = newVid.size.height/2;
-               newVid.size.height = newVid.size.height/2;
-               newVid.origin.y = newVid.origin.y + newList.size.height;
-               [o_btn_playlist setState: NSOnState];
-               [o_searchfield setHidden:NO];
-               [o_playlist_view setHidden:NO];
-               [o_playlist swapPlaylists: o_playlist_table];
-               [o_vlc_main togglePlaylist:self];
-       }
-       else {
-               newVid.size.height = newVid.size.height + newList.size.height;
-               newList.size.height = 0;
-               newVid.origin.y = 0;
-               [o_btn_playlist setState: NSOffState];
-               [o_searchfield setHidden:YES];
-               [o_playlist_view setHidden:YES];
-       }
-       [playback_area setFrame: newVid];
-       [playlist_area setFrame: newList];
-}
-
-/*****************************************************************************
- * Fullscreen support
- */
-
-- (BOOL)isFullscreen
-{
-    return b_fullscreen;
-}
-
-- (void)lockFullscreenAnimation
-{
-    [o_animation_lock lock];
-}
-
-- (void)unlockFullscreenAnimation
-{
-    [o_animation_lock unlock];
-}
-
-- (void)enterFullscreen
-{
-    NSMutableDictionary *dict1, *dict2;
-    NSScreen *screen;
-    NSRect screen_rect;
-    NSRect rect;
-    vout_thread_t *p_vout = getVout();
-    BOOL blackout_other_displays = config_GetInt( VLCIntf, "macosx-black" );
-
-    if( p_vout )
-        screen = [NSScreen screenWithDisplayID:(CGDirectDisplayID)var_GetInteger( p_vout, "video-device" )];
-
-    [self lockFullscreenAnimation];
-
-    if (!screen)
-    {
-        msg_Dbg( VLCIntf, "chosen screen isn't present, using current screen for fullscreen mode" );
-        screen = [self screen];
-    }
-    if (!screen)
-    {
-        msg_Dbg( VLCIntf, "Using deepest screen" );
-        screen = [NSScreen deepestScreen];
-    }
-
-    if( p_vout )
-        vlc_object_release( p_vout );
-
-    screen_rect = [screen frame];
-
-    [o_btn_fullscreen setState: YES];
-
-    [NSCursor setHiddenUntilMouseMoves: YES];
-
-    if( blackout_other_displays )
-        [screen blackoutOtherScreens];
-
-    /* Make sure we don't see the window flashes in float-on-top mode */
-    originalLevel = [self level];
-    [self setLevel:NSNormalWindowLevel];
-
-    /* Only create the o_fullscreen_window if we are not in the middle of the zooming animation */
-    if (!o_fullscreen_window)
-    {
-        /* We can't change the styleMask of an already created NSWindow, so we create another window, and do eye catching stuff */
-
-        rect = [[o_view superview] convertRect: [o_view frame] toView: nil]; /* Convert to Window base coord */
-        rect.origin.x += [self frame].origin.x;
-        rect.origin.y += [self frame].origin.y;
-        o_fullscreen_window = [[VLCWindow alloc] initWithContentRect:rect styleMask: NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES];
-        [o_fullscreen_window setBackgroundColor: [NSColor blackColor]];
-        [o_fullscreen_window setCanBecomeKeyWindow: YES];
-
-        if (![self isVisible] || [self alphaValue] == 0.0)
-        {
-            /* We don't animate if we are not visible, instead we
-             * simply fade the display */
-            CGDisplayFadeReservationToken token;
-
-            if( blackout_other_displays )
-            {
-                CGAcquireDisplayFadeReservation( kCGMaxDisplayReservationInterval, &token );
-                CGDisplayFade( token, 0.5, kCGDisplayBlendNormal, kCGDisplayBlendSolidColor, 0, 0, 0, YES );
-            }
-
-            if ([screen isMainScreen])
-                SetSystemUIMode( kUIModeAllHidden, kUIOptionAutoShowMenuBar);
-
-            [[o_view superview] replaceSubview:o_view with:o_temp_view];
-            [o_temp_view setFrame:[o_view frame]];
-            [o_fullscreen_window setContentView:o_view];
-
-            [o_fullscreen_window makeKeyAndOrderFront:self];
-            [o_fullscreen_window orderFront:self animate:YES];
-
-            [o_fullscreen_window setFrame:screen_rect display:YES];
-
-            if( blackout_other_displays )
-            {
-                CGDisplayFade( token, 0.3, kCGDisplayBlendSolidColor, kCGDisplayBlendNormal, 0, 0, 0, NO );
-                CGReleaseDisplayFadeReservation( token );
-            }
-
-            /* Will release the lock */
-            [self hasBecomeFullscreen];
-
-            return;
-        }
-
-        /* Make sure we don't see the o_view disappearing of the screen during this operation */
-        NSDisableScreenUpdates();
-        [[o_view superview] replaceSubview:o_view with:o_temp_view];
-        [o_temp_view setFrame:[o_view frame]];
-        [o_fullscreen_window setContentView:o_view];
-        [o_fullscreen_window makeKeyAndOrderFront:self];
-        NSEnableScreenUpdates();
-    }
-
-    /* We are in fullscreen (and no animation is running) */
-    if (b_fullscreen)
-    {
-        /* Make sure we are hidden */
-        [super orderOut: self];
-        [self unlockFullscreenAnimation];
-        return;
-    }
-
-    if (o_fullscreen_anim1)
-    {
-        [o_fullscreen_anim1 stopAnimation];
-        [o_fullscreen_anim1 release];
-    }
-    if (o_fullscreen_anim2)
-    {
-        [o_fullscreen_anim2 stopAnimation];
-        [o_fullscreen_anim2 release];
-    }
-
-    if ([screen isMainScreen])
-        SetSystemUIMode( kUIModeAllHidden, kUIOptionAutoShowMenuBar);
-
-    dict1 = [[NSMutableDictionary alloc] initWithCapacity:2];
-    dict2 = [[NSMutableDictionary alloc] initWithCapacity:3];
-
-    [dict1 setObject:self forKey:NSViewAnimationTargetKey];
-    [dict1 setObject:NSViewAnimationFadeOutEffect forKey:NSViewAnimationEffectKey];
-
-    [dict2 setObject:o_fullscreen_window forKey:NSViewAnimationTargetKey];
-    [dict2 setObject:[NSValue valueWithRect:[o_fullscreen_window frame]] forKey:NSViewAnimationStartFrameKey];
-    [dict2 setObject:[NSValue valueWithRect:screen_rect] forKey:NSViewAnimationEndFrameKey];
-
-    /* Strategy with NSAnimation allocation:
-        - Keep at most 2 animation at a time
-        - leaveFullscreen/enterFullscreen are the only responsible for releasing and alloc-ing
-    */
-    o_fullscreen_anim1 = [[NSViewAnimation alloc] initWithViewAnimations:[NSArray arrayWithObject:dict1]];
-    o_fullscreen_anim2 = [[NSViewAnimation alloc] initWithViewAnimations:[NSArray arrayWithObject:dict2]];
-
-    [dict1 release];
-    [dict2 release];
-
-    [o_fullscreen_anim1 setAnimationBlockingMode: NSAnimationNonblocking];
-    [o_fullscreen_anim1 setDuration: 0.3];
-    [o_fullscreen_anim1 setFrameRate: 30];
-    [o_fullscreen_anim2 setAnimationBlockingMode: NSAnimationNonblocking];
-    [o_fullscreen_anim2 setDuration: 0.2];
-    [o_fullscreen_anim2 setFrameRate: 30];
-
-    [o_fullscreen_anim2 setDelegate: self];
-    [o_fullscreen_anim2 startWhenAnimation: o_fullscreen_anim1 reachesProgress: 1.0];
-
-    [o_fullscreen_anim1 startAnimation];
-    /* fullscreenAnimation will be unlocked when animation ends */
-}
-
-- (void)hasBecomeFullscreen
-{
-    [o_fullscreen_window makeFirstResponder: [[[VLCMain sharedInstance] controls] voutView]];
-
-    [o_fullscreen_window makeKeyWindow];
-    [o_fullscreen_window setAcceptsMouseMovedEvents: TRUE];
-
-    /* tell the fspanel to move itself to front next time it's triggered */
-    [[[[VLCMain sharedInstance] controls] fspanel] setVoutWasUpdated: (int)[[o_fullscreen_window screen] displayID]];
-
-    if([self isVisible])
-        [super orderOut: self];
-
-    [[[[VLCMain sharedInstance] controls] fspanel] setActive: nil];
-
-    b_fullscreen = YES;
-    [self unlockFullscreenAnimation];
-}
-
-- (void)leaveFullscreen
-{
-    [self leaveFullscreenAndFadeOut: NO];
-}
-
-- (void)leaveFullscreenAndFadeOut: (BOOL)fadeout
-{
-    NSMutableDictionary *dict1, *dict2;
-    NSRect frame;
-    BOOL blackout_other_displays = config_GetInt( VLCIntf, "macosx-black" );
-
-    [self lockFullscreenAnimation];
-
-    b_fullscreen = NO;
-    [o_btn_fullscreen setState: NO];
-
-    /* We always try to do so */
-    [NSScreen unblackoutScreens];
-
-    /* Don't do anything if o_fullscreen_window is already closed */
-    if (!o_fullscreen_window)
-    {
-        [self unlockFullscreenAnimation];
-        return;
-    }
-
-    if (fadeout)
-    {
-        /* We don't animate if we are not visible, instead we
-        * simply fade the display */
-        CGDisplayFadeReservationToken token;
-
-        if( blackout_other_displays )
-        {
-            CGAcquireDisplayFadeReservation( kCGMaxDisplayReservationInterval, &token );
-            CGDisplayFade( token, 0.3, kCGDisplayBlendNormal, kCGDisplayBlendSolidColor, 0, 0, 0, YES );
-        }
-
-        [[[[VLCMain sharedInstance] controls] fspanel] setNonActive: nil];
-        SetSystemUIMode( kUIModeNormal, kUIOptionAutoShowMenuBar);
-
-        /* Will release the lock */
-        [self hasEndedFullscreen];
-
-        /* Our window is hidden, and might be faded. We need to workaround that, so note it
-         * here */
-        b_window_is_invisible = YES;
-
-        if( blackout_other_displays )
-        {
-            CGDisplayFade( token, 0.5, kCGDisplayBlendSolidColor, kCGDisplayBlendNormal, 0, 0, 0, NO );
-            CGReleaseDisplayFadeReservation( token );
-        }
-
-        return;
-    }
-
-    [self setAlphaValue: 0.0];
-    [self orderFront: self];
-
-    [[[[VLCMain sharedInstance] controls] fspanel] setNonActive: nil];
-    SetSystemUIMode( kUIModeNormal, kUIOptionAutoShowMenuBar);
-
-    if (o_fullscreen_anim1)
-    {
-        [o_fullscreen_anim1 stopAnimation];
-        [o_fullscreen_anim1 release];
-    }
-    if (o_fullscreen_anim2)
-    {
-        [o_fullscreen_anim2 stopAnimation];
-        [o_fullscreen_anim2 release];
-    }
-
-    frame = [[o_temp_view superview] convertRect: [o_temp_view frame] toView: nil]; /* Convert to Window base coord */
-    frame.origin.x += [self frame].origin.x;
-    frame.origin.y += [self frame].origin.y;
-
-    dict2 = [[NSMutableDictionary alloc] initWithCapacity:2];
-    [dict2 setObject:self forKey:NSViewAnimationTargetKey];
-    [dict2 setObject:NSViewAnimationFadeInEffect forKey:NSViewAnimationEffectKey];
-
-    o_fullscreen_anim2 = [[NSViewAnimation alloc] initWithViewAnimations:[NSArray arrayWithObjects:dict2, nil]];
-    [dict2 release];
-
-    [o_fullscreen_anim2 setAnimationBlockingMode: NSAnimationNonblocking];
-    [o_fullscreen_anim2 setDuration: 0.3];
-    [o_fullscreen_anim2 setFrameRate: 30];
-
-    [o_fullscreen_anim2 setDelegate: self];
-
-    dict1 = [[NSMutableDictionary alloc] initWithCapacity:3];
-
-    [dict1 setObject:o_fullscreen_window forKey:NSViewAnimationTargetKey];
-    [dict1 setObject:[NSValue valueWithRect:[o_fullscreen_window frame]] forKey:NSViewAnimationStartFrameKey];
-    [dict1 setObject:[NSValue valueWithRect:frame] forKey:NSViewAnimationEndFrameKey];
-
-    o_fullscreen_anim1 = [[NSViewAnimation alloc] initWithViewAnimations:[NSArray arrayWithObjects:dict1, nil]];
-    [dict1 release];
-
-    [o_fullscreen_anim1 setAnimationBlockingMode: NSAnimationNonblocking];
-    [o_fullscreen_anim1 setDuration: 0.2];
-    [o_fullscreen_anim1 setFrameRate: 30];
-    [o_fullscreen_anim2 startWhenAnimation: o_fullscreen_anim1 reachesProgress: 1.0];
-
-    /* Make sure o_fullscreen_window is the frontmost window */
-    [o_fullscreen_window orderFront: self];
-
-    [o_fullscreen_anim1 startAnimation];
-    /* fullscreenAnimation will be unlocked when animation ends */
-}
-
-- (void)hasEndedFullscreen
-{
-    /* This function is private and should be only triggered at the end of the fullscreen change animation */
-    /* Make sure we don't see the o_view disappearing of the screen during this operation */
-    NSDisableScreenUpdates();
-    [o_view retain];
-    [o_view removeFromSuperviewWithoutNeedingDisplay];
-    [[o_temp_view superview] replaceSubview:o_temp_view with:o_view];
-    [o_view release];
-    [o_view setFrame:[o_temp_view frame]];
-    [self makeFirstResponder: o_view];
-    if ([self isVisible])
-        [super makeKeyAndOrderFront:self]; /* our version contains a workaround */
-    [o_fullscreen_window orderOut: self];
-    NSEnableScreenUpdates();
-
-    [o_fullscreen_window release];
-    o_fullscreen_window = nil;
-    [self setLevel:originalLevel];
-
-    [self unlockFullscreenAnimation];
-}
-
-- (void)animationDidEnd:(NSAnimation*)animation
-{
-    NSArray *viewAnimations;
-    if( o_makekey_anim == animation )
-    {
-        [o_makekey_anim release];
-        return;
-    }
-    if ([animation currentValue] < 1.0)
-        return;
-
-    /* Fullscreen ended or started (we are a delegate only for leaveFullscreen's/enterFullscren's anim2) */
-    viewAnimations = [o_fullscreen_anim2 viewAnimations];
-    if ([viewAnimations count] >=1 &&
-        [[[viewAnimations objectAtIndex: 0] objectForKey: NSViewAnimationEffectKey] isEqualToString:NSViewAnimationFadeInEffect])
-    {
-        /* Fullscreen ended */
-        [self hasEndedFullscreen];
-    }
-    else
-    {
-        /* Fullscreen started */
-        [self hasBecomeFullscreen];
-    }
-}
-
-- (void)orderOut: (id)sender
-{
-    [super orderOut: sender];
-
-    /* Make sure we leave fullscreen */
-    [self leaveFullscreenAndFadeOut: YES];
-}
-
-- (void)makeKeyAndOrderFront: (id)sender
-{
-    /* Hack
-     * when we exit fullscreen and fade out, we may endup in
-     * having a window that is faded. We can't have it fade in unless we
-     * animate again. */
-
-    if(!b_window_is_invisible)
-    {
-        /* Make sure we don't do it too much */
-        [super makeKeyAndOrderFront: sender];
-        return;
-    }
-
-    [super setAlphaValue:0.0f];
-    [super makeKeyAndOrderFront: sender];
-
-    NSMutableDictionary * dict = [[NSMutableDictionary alloc] initWithCapacity:2];
-    [dict setObject:self forKey:NSViewAnimationTargetKey];
-    [dict setObject:NSViewAnimationFadeInEffect forKey:NSViewAnimationEffectKey];
-
-    o_makekey_anim = [[NSViewAnimation alloc] initWithViewAnimations:[NSArray arrayWithObject:dict]];
-    [dict release];
-
-    [o_makekey_anim setAnimationBlockingMode: NSAnimationNonblocking];
-    [o_makekey_anim setDuration: 0.1];
-    [o_makekey_anim setFrameRate: 30];
-    [o_makekey_anim setDelegate: self];
-
-    [o_makekey_anim startAnimation];
-    b_window_is_invisible = NO;
-
-    /* fullscreenAnimation will be unlocked when animation ends */
-}
-
-
-
-/* Make sure setFrame gets executed on main thread especially if we are animating.
- * (Thus we won't block the video output thread) */
-- (void)setFrame:(NSRect)frame display:(BOOL)display animate:(BOOL)animate
-{
-    struct { NSRect frame; BOOL display; BOOL animate;} args;
-    NSData *packedargs;
-
-    args.frame = frame;
-    args.display = display;
-    args.animate = animate;
-
-    packedargs = [NSData dataWithBytes:&args length:sizeof(args)];
-
-    [self performSelectorOnMainThread:@selector(setFrameOnMainThread:)
-                    withObject: packedargs waitUntilDone: YES];
-}
-
-- (void)setFrameOnMainThread:(NSData*)packedargs
-{
-    struct args { NSRect frame; BOOL display; BOOL animate; } * args = (struct args*)[packedargs bytes];
-
-    if( args->animate )
-    {
-        /* Make sure we don't block too long and set up a non blocking animation */
-        NSDictionary * dict = [NSDictionary dictionaryWithObjectsAndKeys:
-            self, NSViewAnimationTargetKey,
-            [NSValue valueWithRect:[self frame]], NSViewAnimationStartFrameKey,
-            [NSValue valueWithRect:args->frame], NSViewAnimationEndFrameKey, nil];
-
-        NSViewAnimation * anim = [[NSViewAnimation alloc] initWithViewAnimations:[NSArray arrayWithObject:dict]];
-        [dict release];
-
-        [anim setAnimationBlockingMode: NSAnimationNonblocking];
-        [anim setDuration: 0.4];
-        [anim setFrameRate: 30];
-        [anim startAnimation];
-    }
-    else {
-        [super setFrame:args->frame display:args->display animate:args->animate];
-    }
-
-}
-@end
-
-/*****************************************************************************
- * embeddedbackground
- *****************************************************************************/
-
-
-@implementation embeddedbackground
-
-- (void)dealloc
-{
-    [self unregisterDraggedTypes];
-    [super dealloc];
-}
-
-- (void)awakeFromNib
-{
-    [self registerForDraggedTypes:[NSArray arrayWithObjects:NSTIFFPboardType,
-                                   NSFilenamesPboardType, nil]];
-    [self addSubview: o_timeslider];
-    [self addSubview: o_scrollfield];
-    [self addSubview: o_time];
-    [self addSubview: o_main_pgbar];
-    [self addSubview: o_btn_backward];
-    [self addSubview: o_btn_forward];
-    [self addSubview: o_btn_fullscreen];
-    [self addSubview: o_btn_equalizer];
-    [self addSubview: o_btn_playlist];
-    [self addSubview: o_btn_play];
-    [self addSubview: o_btn_prev];
-    [self addSubview: o_btn_stop];
-    [self addSubview: o_btn_next];
-    [self addSubview: o_btn_volume_down];
-    [self addSubview: o_volumeslider];
-    [self addSubview: o_btn_volume_up];
-    [self addSubview: o_searchfield];
-}
-
-- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender
-{
-    if ((NSDragOperationGeneric & [sender draggingSourceOperationMask])
-        == NSDragOperationGeneric)
-    {
-        return NSDragOperationGeneric;
-    }
-    else
-    {
-        return NSDragOperationNone;
-    }
-}
-
-- (BOOL)prepareForDragOperation:(id <NSDraggingInfo>)sender
-{
-    return YES;
-}
-
-- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
-{
-    NSPasteboard *o_paste = [sender draggingPasteboard];
-    NSArray *o_types = [NSArray arrayWithObjects: NSFilenamesPboardType, nil];
-    NSString *o_desired_type = [o_paste availableTypeFromArray:o_types];
-    NSData *o_carried_data = [o_paste dataForType:o_desired_type];
-    BOOL b_autoplay = config_GetInt( VLCIntf, "macosx-autoplay" );
-
-    if( o_carried_data )
-    {
-        if ([o_desired_type isEqualToString:NSFilenamesPboardType])
-        {
-            int i;
-            NSArray *o_array = [NSArray array];
-            NSArray *o_values = [[o_paste propertyListForType: NSFilenamesPboardType]
-                                 sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
-
-            for( i = 0; i < (int)[o_values count]; i++)
-            {
-                NSDictionary *o_dic;
-                char *psz_uri = make_URI([[o_values objectAtIndex:i] UTF8String], NULL);
-                if( !psz_uri )
-                    continue;
-
-                o_dic = [NSDictionary dictionaryWithObject:[NSString stringWithCString:psz_uri encoding:NSUTF8StringEncoding] forKey:@"ITEM_URL"];
-                free( psz_uri );
-
-                o_array = [o_array arrayByAddingObject: o_dic];
-            }
-            if( b_autoplay )
-                [[[VLCMain sharedInstance] playlist] appendArray: o_array atPos: -1 enqueue:NO];
-            else
-                [[[VLCMain sharedInstance] playlist] appendArray: o_array atPos: -1 enqueue:YES];
-            return YES;
-        }
-    }
-    [self setNeedsDisplay:YES];
-    return YES;
-}
-
-- (void)concludeDragOperation:(id <NSDraggingInfo>)sender
-{
-    [self setNeedsDisplay:YES];
-}
-
-- (void)drawRect:(NSRect)rect
-{
-    NSImage *leftImage = [NSImage imageNamed:@"display_left"];
-    NSImage *middleImage = [NSImage imageNamed:@"display_middle"];
-    NSImage *rightImage = [NSImage imageNamed:@"display_right"];
-    [middleImage setSize:NSMakeSize(NSWidth( [self bounds] ) - 134 - [leftImage size].width - [rightImage size].width, [middleImage size].height)];
-    [middleImage setScalesWhenResized:YES];
-    [leftImage compositeToPoint:NSMakePoint( 122., 40. ) operation:NSCompositeSourceOver];
-    [middleImage compositeToPoint:NSMakePoint( 122. + [leftImage size].width, 40. ) operation:NSCompositeSourceOver];
-    [rightImage compositeToPoint:NSMakePoint( NSWidth( [self bounds] ) - 12 - [rightImage size].width, 40. ) operation:NSCompositeSourceOver];
-}
-
-- (void)mouseDown:(NSEvent *)event
-{
-    dragStart = [self convertPoint:[event locationInWindow] fromView:nil];
-}
-
-- (void)mouseDragged:(NSEvent *)event
-{
-    NSPoint dragLocation = [self convertPoint:[event locationInWindow] fromView:nil];
-    NSPoint winOrigin = [o_window frame].origin;
-
-    NSPoint newOrigin = NSMakePoint(winOrigin.x + (dragLocation.x - dragStart.x),
-                                    winOrigin.y + (dragLocation.y - dragStart.y));
-    [o_window setFrameOrigin: newOrigin];
-}
-
-@end
-
-/*****************************************************************************
- * statusbar
- *****************************************************************************/
-
-
-@implementation statusbar
-- (void)awakeFromNib
-{
-    [self addSubview: o_text];
-       mainwindow = YES;
-}
-
-- (void)resignMainWindow
-{
-       mainwindow = NO;
-       [self needsDisplay];
-}
-
-- (void)becomeMainWindow
-{
-       mainwindow = YES;
-       [self needsDisplay];
-}
-
-- (void)drawRect:(NSRect)rect
-{
-       if(mainwindow)
-               [[NSColor colorWithCalibratedRed:0.820
-                                                                  green:0.843
-                                                                       blue:0.886
-                                                                  alpha:1.0] set];
-       else
-               [[NSColor colorWithCalibratedWhite:0.91 alpha:1.0] set];
-       NSRectFill(rect);
-       /*NSRect divider = rect;
-       divider.origin.y += divider.size.height - 1;
-       divider.size.height = 1;
-       [[NSColor colorWithCalibratedWhite:0.65 alpha:1.] set];
-       NSRectFill(divider);*/
-}
-@end
-
-#endif
index a0d9034bfa0c38f2fdbe1d87e5f81d3ae47f92db..75ea4a4a6c3a630085df1b8b32b0fb9b58ae916d 100644 (file)
@@ -42,7 +42,7 @@
 #import "CompatibilityFixes.h"
 #import "intf.h"
 #import "MainMenu.h"
-#import "vout.h"
+#import "VideoView.h"
 #import "prefs.h"
 #import "playlist.h"
 #import "playlistinfo.h"
@@ -51,7 +51,6 @@
 #import "wizard.h"
 #import "bookmarks.h"
 #import "coredialogs.h"
-#import "embeddedwindow.h"
 #import "AppleRemote.h"
 #import "eyetv.h"
 #import "simple_prefs.h"
diff --git a/modules/gui/macosx/voutgl.m b/modules/gui/macosx/voutgl.m
deleted file mode 100644 (file)
index 33c84df..0000000
+++ /dev/null
@@ -1,419 +0,0 @@
-/*****************************************************************************
- * voutgl.m: MacOS X OpenGL provider
- *****************************************************************************
- * Copyright (C) 2001-2004, 2007-2009, 2011 the VideoLAN team
- * $Id$
- *
- * Authors: Colin Delacroix <colin@zoy.org>
- *          Florian G. Pflug <fgp@phlo.org>
- *          Jon Lech Johansen <jon-vl@nanocrew.net>
- *          Derk-Jan Hartman <hartman at videolan dot org>
- *          Eric Petit <titer@m0k.org>
- *          Benjamin Pracht <bigben at videolan dot org>
- *          Damien Fouilleul <damienf at videolan dot org>
- *          Felix Paul Kuehne <fkuehne at videolan dot 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
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include <stdlib.h>                                                /* free() */
-#include <string.h>
-
-#include <vlc_common.h>
-#include <vlc_keys.h>
-
-#include "intf.h"
-#include "vout.h"
-
-#include <OpenGL/OpenGL.h>
-#include <OpenGL/gl.h>
-
-#if 0
-
-/*****************************************************************************
- * VLCGLView interface
- *****************************************************************************/
-@interface VLCGLView : NSOpenGLView <VLCVoutViewResetting>
-{
-    vout_thread_t * p_vout;
-}
-
-+ (void)resetVout: (NSValue *) voutValue;
-- (id) initWithVout: (vout_thread_t *) p_vout;
-@end
-
-struct vout_sys_t
-{
-    VLCGLView         * o_glview;
-    VLCVoutView       * o_vout_view;
-    bool                b_saved_frame;
-    NSRect              s_frame;
-    bool                b_got_frame;
-
-    bool                b_embedded;
-};
-
-/*****************************************************************************
- * Local prototypes
- *****************************************************************************/
-
-static int  Init   ( vout_thread_t * p_vout );
-static void End    ( vout_thread_t * p_vout );
-static int  Manage ( vout_thread_t * p_vout );
-static int  Control( vout_thread_t *, int, va_list );
-static void Swap   ( vout_thread_t * p_vout );
-static int  Lock   ( vout_thread_t * p_vout );
-static void Unlock ( vout_thread_t * p_vout );
-
-int OpenVideoGL  ( vlc_object_t * p_this )
-{
-    vout_thread_t * p_vout = (vout_thread_t *) p_this;
-
-    if( !CGDisplayUsesOpenGLAcceleration( kCGDirectMainDisplay ) )
-    {
-        msg_Warn( p_vout, "no OpenGL hardware acceleration found. "
-                          "Video display might be slow" );
-    }
-    msg_Dbg( p_vout, "display is Quartz Extreme accelerated" );
-
-    p_vout->p_sys = malloc( sizeof( vout_sys_t ) );
-    if( p_vout->p_sys == NULL )
-        return VLC_ENOMEM;
-
-    memset( p_vout->p_sys, 0, sizeof( vout_sys_t ) );
-
-    NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init];
-
-    p_vout->p_sys->b_embedded = false;
-
-    [VLCGLView performSelectorOnMainThread:@selector(initVout:) withObject:[NSValue valueWithPointer:p_vout] waitUntilDone:YES];
-
-    [o_pool release];
-
-    /* Check to see if initVout: was successfull */
-    if( !p_vout->p_sys->o_vout_view )
-    {
-        free( p_vout->p_sys );
-        return VLC_EGENERIC;
-    }
-
-    p_vout->pf_init   = Init;
-    p_vout->pf_end    = End;
-    p_vout->pf_manage = Manage;
-    p_vout->pf_control= Control;
-    p_vout->pf_swap   = Swap;
-    p_vout->pf_lock   = Lock;
-    p_vout->pf_unlock = Unlock;
-    p_vout->p_sys->b_got_frame = false;
-
-    return VLC_SUCCESS;
-}
-
-void CloseVideoGL ( vlc_object_t * p_this )
-{
-    vout_thread_t * p_vout = (vout_thread_t *) p_this;
-
-    if(VLCIntf && vlc_object_alive (VLCIntf))
-    {
-        NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init];
-
-        /* Close the window */
-        [p_vout->p_sys->o_vout_view performSelectorOnMainThread:@selector(closeVout) withObject:NULL waitUntilDone:YES];
-
-        [o_pool release];
-    }
-    /* Clean up */
-    free( p_vout->p_sys );
-}
-
-static int Init( vout_thread_t * p_vout )
-{
-    [[p_vout->p_sys->o_glview openGLContext] makeCurrentContext];
-    return VLC_SUCCESS;
-}
-
-static void End( vout_thread_t * p_vout )
-{
-    [[p_vout->p_sys->o_glview openGLContext] makeCurrentContext];
-}
-
-static int Manage( vout_thread_t * p_vout )
-{
-    if( p_vout->i_changes & VOUT_ASPECT_CHANGE )
-    {
-        [p_vout->p_sys->o_glview reshape];
-        p_vout->i_changes &= ~VOUT_ASPECT_CHANGE;
-    }
-    if( p_vout->i_changes & VOUT_CROP_CHANGE )
-    {
-        [p_vout->p_sys->o_glview reshape];
-        p_vout->i_changes &= ~VOUT_CROP_CHANGE;
-    }
-
-    if( p_vout->i_changes & VOUT_FULLSCREEN_CHANGE )
-    {
-        NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init];
-
-        p_vout->b_fullscreen = !p_vout->b_fullscreen;
-
-        if( p_vout->b_fullscreen )
-            [p_vout->p_sys->o_vout_view enterFullscreen];
-        else
-            [p_vout->p_sys->o_vout_view leaveFullscreen];
-
-        [o_pool release];
-
-        p_vout->i_changes &= ~VOUT_FULLSCREEN_CHANGE;
-    }
-
-    if( p_vout->p_sys->o_vout_view )
-        [p_vout->p_sys->o_vout_view manage];
-    return VLC_SUCCESS;
-}
-
-/*****************************************************************************
- * Control: control facility for the vout
- *****************************************************************************/
-static int Control( vout_thread_t *p_vout, int i_query, va_list args )
-{
-    bool b_arg;
-
-    switch( i_query )
-    {
-        case VOUT_SET_STAY_ON_TOP:
-            b_arg = (bool) va_arg( args, int );
-            [p_vout->p_sys->o_vout_view setOnTop: b_arg];
-            return VLC_SUCCESS;
-
-        default:
-            return VLC_EGENERIC;
-    }
-}
-
-static void Swap( vout_thread_t * p_vout )
-{
-    p_vout->p_sys->b_got_frame = true;
-    [[p_vout->p_sys->o_glview openGLContext] flushBuffer];
-}
-
-static int Lock( vout_thread_t * p_vout )
-{
-    if( kCGLNoError == CGLLockContext([[p_vout->p_sys->o_glview openGLContext] CGLContextObj]) )
-    {
-        [[p_vout->p_sys->o_glview openGLContext] makeCurrentContext];
-        return 0;
-    }
-    return 1;
-}
-
-static void Unlock( vout_thread_t * p_vout )
-{
-    CGLUnlockContext([[p_vout->p_sys->o_glview openGLContext] CGLContextObj]);
-}
-
-/*****************************************************************************
- * VLCGLView implementation
- *****************************************************************************/
-@implementation VLCGLView
-+ (void)initVout:(NSValue *)arg
-{
-    vout_thread_t * p_vout = [arg pointerValue];
-
-    /* Create the GL view */
-    p_vout->p_sys->o_glview = [[VLCGLView alloc] initWithVout: p_vout];
-    [p_vout->p_sys->o_glview autorelease];
-
-    /* Spawn the window */
-    id old_vout = p_vout->p_sys->o_vout_view;
-    p_vout->p_sys->o_vout_view = [[VLCVoutView voutView: p_vout
-                                                subView: p_vout->p_sys->o_glview frame: nil] retain];
-    [old_vout release];
-}
-
-/* This function will reset the o_vout_view. It's useful to go fullscreen. */
-+ (void)resetVout:(NSValue *) voutValue
-{
-    vout_thread_t * p_vout = [voutValue pointerValue];
-    if( p_vout->b_fullscreen )
-    {
-        /* Save window size and position */
-        p_vout->p_sys->s_frame.size =
-            [p_vout->p_sys->o_vout_view frame].size;
-        p_vout->p_sys->s_frame.origin =
-            [[p_vout->p_sys->o_vout_view voutWindow]frame].origin;
-        p_vout->p_sys->b_saved_frame = true;
-    }
-
-    [p_vout->p_sys->o_vout_view closeVout];
-
-#define o_glview p_vout->p_sys->o_glview
-    o_glview = [[VLCGLView alloc] initWithVout: p_vout];
-    [o_glview autorelease];
-
-    if( p_vout->p_sys->b_saved_frame )
-    {
-        id old_vout = p_vout->p_sys->o_vout_view;
-        p_vout->p_sys->o_vout_view = [[VLCVoutView voutView: p_vout
-                                                    subView: o_glview
-                                                      frame: &p_vout->p_sys->s_frame] retain];
-        [old_vout release];
-    }
-    else
-    {
-        id old_vout = p_vout->p_sys->o_vout_view;
-        p_vout->p_sys->o_vout_view = [[VLCVoutView voutView: p_vout
-                                                    subView: o_glview frame: nil] retain];
-        [old_vout release];
-    }
-#undef o_glview
-}
-
-- (id) initWithVout: (vout_thread_t *) vout
-{
-    /* Must be called from main thread:
-     * "The NSView class is generally thread-safe, with a few exceptions. You
-     * should create, destroy, resize, move, and perform other operations on NSView
-     * objects only from the main thread of an application. Drawing from secondary
-     * threads is thread-safe as long as you bracket drawing calls with calls to
-     * lockFocusIfCanDraw and unlockFocus." Cocoa Thread Safety */
-
-    p_vout = vout;
-
-    NSOpenGLPixelFormatAttribute attribs[] =
-    {
-        NSOpenGLPFADoubleBuffer,
-        NSOpenGLPFAAccelerated,
-        NSOpenGLPFANoRecovery,
-        NSOpenGLPFAColorSize, 24,
-        NSOpenGLPFAAlphaSize, 8,
-        NSOpenGLPFADepthSize, 24,
-        NSOpenGLPFAWindow,
-        0
-    };
-
-    NSOpenGLPixelFormat * fmt = [[NSOpenGLPixelFormat alloc]
-        initWithAttributes: attribs];
-
-    if( !fmt )
-    {
-        msg_Warn( p_vout, "could not create OpenGL video output" );
-        return nil;
-    }
-
-    self = [super initWithFrame: NSMakeRect(0,0,10,10) pixelFormat: fmt];
-    [fmt release];
-
-    [[self openGLContext] makeCurrentContext];
-    [[self openGLContext] update];
-
-    /* Swap buffers only during the vertical retrace of the monitor.
-       http://developer.apple.com/documentation/GraphicsImaging/
-       Conceptual/OpenGL/chap5/chapter_5_section_44.html */
-    GLint params[] = { 1 };
-    CGLSetParameter( CGLGetCurrentContext(), kCGLCPSwapInterval, params );
-    return self;
-}
-
-- (BOOL)mouseDownCanMoveWindow
-{
-    return YES;
-}
-
-- (void) reshape
-{
-    int x, y;
-
-    Lock( p_vout );
-    NSRect bounds = [self bounds];
-
-    if( var_GetBool( p_vout, "macosx-stretch" ) )
-    {
-        x = bounds.size.width;
-        y = bounds.size.height;
-    }
-    else if( bounds.size.height * p_vout->fmt_in.i_visible_width *
-             p_vout->fmt_in.i_sar_num <
-             bounds.size.width * p_vout->fmt_in.i_visible_height *
-             p_vout->fmt_in.i_sar_den )
-    {
-        x = ( bounds.size.height * p_vout->fmt_in.i_visible_width *
-              p_vout->fmt_in.i_sar_num ) /
-            ( p_vout->fmt_in.i_visible_height * p_vout->fmt_in.i_sar_den);
-
-        y = bounds.size.height;
-    }
-    else
-    {
-        x = bounds.size.width;
-        y = ( bounds.size.width * p_vout->fmt_in.i_visible_height *
-              p_vout->fmt_in.i_sar_den) /
-            ( p_vout->fmt_in.i_visible_width * p_vout->fmt_in.i_sar_num  );
-    }
-
-    glViewport( ( bounds.size.width - x ) / 2,
-                ( bounds.size.height - y ) / 2, x, y );
-
-    [super reshape];
-
-    if( p_vout->p_sys->b_got_frame )
-    {
-        /* Ask the opengl module to redraw */
-        vout_thread_t * p_parent;
-        p_parent = (vout_thread_t *) p_vout->p_parent;
-        Unlock( p_vout );
-        if( p_parent && p_parent->pf_display )
-        {
-            p_parent->pf_display( p_parent, NULL );
-        }
-    }
-    else
-    {
-        glClear( GL_COLOR_BUFFER_BIT );
-        Unlock( p_vout );
-    }
-}
-
-- (void) update
-{
-    Lock( p_vout );
-    [super update];
-    Unlock( p_vout );
-}
-
-- (void) drawRect: (NSRect) rect
-{
-    Lock( p_vout );
-    [[p_vout->p_sys->o_glview openGLContext] flushBuffer];
-    [super drawRect:rect];
-    Unlock( p_vout );
-}
-
-- (void) renewGState
-{
-    NSWindow *window = [self window];
-
-       if ([window respondsToSelector:@selector(disableScreenUpdatesUntilFlush)])
-       {
-               [window disableScreenUpdatesUntilFlush];
-       }
-
-    [super renewGState];
-}
-
-@end
-#endif