intf.h 4.02 KB
Newer Older
1
/*****************************************************************************
2
 * intf.h: MacOS X interface module
3
 *****************************************************************************
4
 * Copyright (C) 2002-2015 VLC authors and VideoLAN
5
 * $Id$
6
 *
7
 * Authors: Derk-Jan Hartman <hartman at videolan dot org>
8
 *          Felix Paul Kühne <fkuehne at videolan dot org>
9
 *          David Fuhrmann <david dot fuhrmann at googlemail dot com>
10
 *          Pierre d'Herbemont <pdherbemont # videolan org>
11 12 13 14 15
 *
 * 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.
16
 *
17 18 19 20 21 22 23
 * 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
Antoine Cellerier's avatar
Antoine Cellerier committed
24
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
25 26
 *****************************************************************************/

27 28 29 30
#ifdef HAVE_CONFIG_H
#   include "config.h"
#endif

31 32 33 34 35 36
#import <vlc_common.h>
#import <vlc_interface.h>
#import <vlc_playlist.h>
#import <vlc_vout.h>
#import <vlc_aout.h>
#import <vlc_input.h>
37
#import <vlc_vout_window.h>
38
#import <vlc_atomic.h>
39

40
#import <Cocoa/Cocoa.h>
41
#import "misc.h"
42
#import "MainWindow.h"
43
#import "VLCVoutWindowController.h"
44
#import "VLCStatusBarIcon.h"
45
#import "StringUtility.h"
46

47
/*****************************************************************************
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
48
 * Local prototypes.
49
 *****************************************************************************/
50 51

intf_thread_t *getIntf();
52

53
static NSString * VLCInputChangedNotification = @"VLCInputChangedNotification";
54 55

/*****************************************************************************
56
 * VLCMain interface
57
 *****************************************************************************/
58
@class AppleRemote;
59 60
@class VLCInfo;
@class VLCMainMenu;
61
@class VLCPlaylist;
62
@class VLCInputManager;
63
@class ResumeDialogController;
64 65 66
@class VLCSimplePrefs;
@class VLCPrefs;
@class VLCCoreDialogProvider;
67
@class VLCBookmarksWindowController;
68
@class VLCOpen;
69
@class VLCDebugMessageVisualizer;
70
@class VLCTrackSynchronization;
71
@class VLCAudioEffectsWindowController;
72
@class VLCVideoEffects;
73
@class VLCConvertAndSave;
74
@class ExtensionsManager;
75
@class VLCInfo;
76
@class VLCStatusBarIcon;
77

78
@interface VLCMain : NSObject <NSWindowDelegate, NSApplicationDelegate>
79

80
@property (readonly) VLCVoutWindowController* voutController;
81
@property (readonly) BOOL nativeFullscreenMode;
82
@property (nonatomic, readwrite) BOOL playlistUpdatedSelectorInQueue;
83

Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
84
+ (VLCMain *)sharedInstance;
85
+ (void)killInstance;
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
86

87
- (VLCMainMenu *)mainMenu;
88
- (VLCMainWindow *)mainWindow;
89
- (VLCBookmarksWindowController *)bookmarks;
90 91 92
- (VLCOpen *)open;
- (VLCSimplePrefs *)simplePreferences;
- (VLCPrefs *)preferences;
93
- (VLCPlaylist *)playlist;
94
- (VLCCoreDialogProvider *)coreDialogProvider;
95
- (ResumeDialogController *)resumeDialog;
96
- (VLCInputManager *)inputManager;
97
- (ExtensionsManager *)extensionsManager;
98
- (VLCStatusBarIcon *)statusBarIcon;
99

100 101
- (VLCDebugMessageVisualizer *)debugMsgPanel;

102
- (VLCTrackSynchronization *)trackSyncPanel;
103
- (VLCAudioEffectsWindowController *)audioEffectsPanel;
104
- (VLCVideoEffects *)videoEffectsPanel;
105

106 107 108
- (VLCInfo *)currentMediaInfoPanel;


109 110
- (VLCConvertAndSave *)convertAndSaveWindow;

111 112
- (void)setActiveVideoPlayback:(BOOL)b_value;
- (BOOL)activeVideoPlayback;
113
- (void)applicationWillTerminate:(NSNotification *)notification;
114

115
- (void)showFullscreenController;
116

117 118
- (BOOL)isTerminating;

119 120
@end

121 122 123 124 125 126

/*****************************************************************************
 * VLCApplication interface
 *****************************************************************************/

@interface VLCApplication : NSApplication
127

128
@end
129 130

#import "helpers.h"