1 /*****************************************************************************
2 * VLCConvertAndSaveWindowController.h: MacOS X interface module
3 *****************************************************************************
4 * Copyright (C) 2012 Felix Paul Kühne
7 * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22 *****************************************************************************/
24 #import <Cocoa/Cocoa.h>
26 @
class VLCDropDisabledImageView
;
27 @
class VLCDragDropView
;
28 @
class VLCPopupPanelController
;
29 @
class VLCTextfieldPanelController
;
31 @interface VLCConvertAndSaveWindowController
: NSWindowController
34 @
property (weak
) IBOutlet VLCDragDropView
*dropBox
;
35 @
property (weak
) IBOutlet NSTextField
*dropLabel
;
37 @
property (weak
) IBOutlet VLCDropDisabledImageView
*dropImage
;
38 @
property (weak
) IBOutlet NSButton
*dropButton
;
39 @
property (weak
) IBOutlet NSTextField
*profileLabel
;
40 @
property (weak
) IBOutlet NSPopUpButton
*profilePopup
;
41 @
property (weak
) IBOutlet NSButton
*customizeButton
;
43 @
property (weak
) IBOutlet NSTextField
*destinationLabel
;
44 @
property (weak
) IBOutlet NSBox
*destinationBox
;
46 @
property (weak
) IBOutlet NSButton
*destinationCancelBtn
;
47 @
property (weak
) IBOutlet NSButton
*destinationStreamButton
;
48 @
property (weak
) IBOutlet NSButton
*destinationFileButton
;
50 @
property (weak
) IBOutlet NSButton
*okButton
;
52 @
property (weak
) IBOutlet NSView
*dropinView
;
53 @
property (weak
) IBOutlet VLCDropDisabledImageView
*dropinIcon
;
54 @
property (weak
) IBOutlet NSTextField
*dropinMediaLabel
;
55 @
property (weak
) IBOutlet NSView
*fileDestinationView
;
56 @
property (weak
) IBOutlet NSImageView
*fileDestinationIcon
;
57 @
property (weak
) IBOutlet NSTextField
*fileDestinationFileName
;
58 @
property (weak
) IBOutlet NSTextField
*fileDestinationFileNameStub
;
59 @
property (weak
) IBOutlet NSButton
*fileDestinationBrowseButton
;
60 @
property (weak
) IBOutlet NSView
*streamDestinationView
;
61 @
property (weak
) IBOutlet NSTextField
*streamDestinationURLLabel
;
62 @
property (weak
) IBOutlet NSButton
*streamDestinationButton
;
65 @
property (weak
) IBOutlet NSWindow
*customizePanel
;
66 @
property (weak
) IBOutlet NSButton
*customizeNewProfileButton
;
67 @
property (weak
) IBOutlet NSButton
*customizeCancelButton
;
68 @
property (weak
) IBOutlet NSButton
*customizeOkButton
;
69 @
property (weak
) IBOutlet NSTabView
*customizeTabView
;
70 @
property (weak
) IBOutlet NSMatrix
*customizeEncapMatrix
;
72 // customize panel: video
73 @
property (weak
) IBOutlet NSButton
*customizeVidCheckbox
;
74 @
property (weak
) IBOutlet NSButton
*customizeVidKeepCheckbox
;
75 @
property (weak
) IBOutlet NSBox
*customizeVidSettingsBox
;
76 @
property (weak
) IBOutlet NSTextField
*customizeVidCodecLabel
;
77 @
property (weak
) IBOutlet NSTextField
*customizeVidBitrateLabel
;
78 @
property (weak
) IBOutlet NSTextField
*customizeVidFramerateLabel
;
79 @
property (weak
) IBOutlet NSBox
*customizeVidResolutionBox
;
80 @
property (weak
) IBOutlet NSTextField
*customizeVidWidthLabel
;
81 @
property (weak
) IBOutlet NSTextField
*customizeVidHeightLabel
;
82 @
property (weak
) IBOutlet NSTextField
*customizeVidScaleLabel
;
83 @
property (weak
) IBOutlet NSTextField
*customizeVidResLabel
;
84 @
property (weak
) IBOutlet NSPopUpButton
*customizeVidCodecPopup
;
85 @
property (weak
) IBOutlet NSTextField
*customizeVidBitrateField
;
86 @
property (weak
) IBOutlet NSTextField
*customizeVidFramerateField
;
87 @
property (weak
) IBOutlet NSTextField
*customizeVidWidthField
;
88 @
property (weak
) IBOutlet NSTextField
*customizeVidHeightField
;
89 @
property (weak
) IBOutlet NSPopUpButton
*customizeVidScalePopup
;
91 // customize panel: audio
92 @
property (weak
) IBOutlet NSButton
*customizeAudCheckbox
;
93 @
property (weak
) IBOutlet NSButton
*customizeAudKeepCheckbox
;
94 @
property (weak
) IBOutlet NSBox
*customizeAudSettingsBox
;
95 @
property (weak
) IBOutlet NSTextField
*customizeAudCodecLabel
;
96 @
property (weak
) IBOutlet NSTextField
*customizeAudBitrateLabel
;
97 @
property (weak
) IBOutlet NSTextField
*customizeAudChannelsLabel
;
98 @
property (weak
) IBOutlet NSTextField
*customizeAudSamplerateLabel
;
99 @
property (weak
) IBOutlet NSPopUpButton
*customizeAudCodecPopup
;
100 @
property (weak
) IBOutlet NSTextField
*customizeAudBitrateField
;
101 @
property (weak
) IBOutlet NSTextField
*customizeAudChannelsField
;
102 @
property (weak
) IBOutlet NSPopUpButton
*customizeAudSampleratePopup
;
104 // customize panel: subs
105 @
property (weak
) IBOutlet NSButton
*customizeSubsCheckbox
;
106 @
property (weak
) IBOutlet NSButton
*customizeSubsOverlayCheckbox
;
107 @
property (weak
) IBOutlet NSPopUpButton
*customizeSubsPopup
;
110 @
property (weak
) IBOutlet NSWindow
*streamPanel
;
111 @
property (weak
) IBOutlet NSTextField
*streamDestinationLabel
;
112 @
property (weak
) IBOutlet NSTextField
*streamTypeLabel
;
113 @
property (weak
) IBOutlet NSTextField
*streamAddressLabel
;
114 @
property (weak
) IBOutlet NSPopUpButton
*streamTypePopup
;
115 @
property (weak
) IBOutlet NSTextField
*streamAddressField
;
116 @
property (weak
) IBOutlet NSTextField
*streamTTLLabel
;
117 @
property (weak
) IBOutlet NSTextField
*streamTTLField
;
118 @
property (weak
) IBOutlet NSStepper
*streamTTLStepper
;
119 @
property (weak
) IBOutlet NSTextField
*streamPortLabel
;
120 @
property (weak
) IBOutlet NSTextField
*streamPortField
;
121 @
property (weak
) IBOutlet NSTextField
*streamAnnouncementLabel
;
122 @
property (weak
) IBOutlet NSButton
*streamSAPCheckbox
;
123 @
property (weak
) IBOutlet NSTextField
*streamChannelLabel
;
124 @
property (weak
) IBOutlet NSTextField
*streamChannelField
;
125 @
property (weak
) IBOutlet NSMatrix
*streamSDPMatrix
;
126 @
property (weak
) IBOutlet NSButton
*streamSDPFileBrowseButton
;
127 @
property (weak
) IBOutlet NSTextField
*streamSDPLabel
;
128 @
property (weak
) IBOutlet NSTextField
*streamSDPField
;
129 @
property (weak
) IBOutlet NSButton
*streamCancelButton
;
130 @
property (weak
) IBOutlet NSButton
*streamOkButton
;
133 @
property (strong
) VLCPopupPanelController
*popupPanel
;
134 @
property (strong
) VLCTextfieldPanelController
*textfieldPanel
;
137 @
property (readwrite
, nonatomic
, retain
) NSString
* MRL
;
138 @
property (readwrite
, nonatomic
, retain
) NSString
* outputDestination
;
139 @
property (readwrite
, retain
) NSArray
* profileNames
;
140 @
property (readwrite
, retain
) NSArray
* profileValueList
;
141 @
property (readwrite
, retain
) NSMutableArray
* currentProfile
;
143 // Bindings for field / stepper combis
144 @
property (nonatomic
) int vidBitrate
;
145 @
property (nonatomic
) int vidFramerate
;
146 @
property (nonatomic
) int audBitrate
;
147 @
property (nonatomic
) int audChannels
;
150 - (IBAction
)finalizePanel
:(id
)sender
;
151 - (IBAction
)openMedia
:(id
)sender
;
152 - (IBAction
)switchProfile
:(id
)sender
;
153 - (IBAction
)iWantAFile
:(id
)sender
;
154 - (IBAction
)iWantAStream
:(id
)sender
;
155 - (IBAction
)cancelDestination
:(id
)sender
;
156 - (IBAction
)browseFileDestination
:(id
)sender
;
158 - (IBAction
)customizeProfile
:(id
)sender
;
159 - (IBAction
)closeCustomizationSheet
:(id
)sender
;
160 - (IBAction
)videoSettingsChanged
:(id
)sender
;
161 - (IBAction
)audioSettingsChanged
:(id
)sender
;
162 - (IBAction
)subSettingsChanged
:(id
)sender
;
163 - (IBAction
)newProfileAction
:(id
)sender
;
165 - (IBAction
)showStreamPanel
:(id
)sender
;
166 - (IBAction
)closeStreamPanel
:(id
)sender
;
167 - (IBAction
)streamTypeToggle
:(id
)sender
;
168 - (IBAction
)streamAnnouncementToggle
:(id
)sender
;
169 - (IBAction
)sdpFileLocationSelector
:(id
)sender
;