Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
ebc092f4
Commit
ebc092f4
authored
Jan 06, 2003
by
Christophe Massiot
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MacOS X port :
* New "stream output" area in the open panel.
parent
7f00f3bf
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
268 additions
and
31 deletions
+268
-31
extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib
...s/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib
+16
-0
extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib
extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib
+6
-2
extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib
...s/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib
+0
-0
modules/gui/macosx/open.h
modules/gui/macosx/open.h
+24
-1
modules/gui/macosx/open.m
modules/gui/macosx/open.m
+222
-28
No files found.
extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib
View file @
ebc092f4
...
...
@@ -125,6 +125,10 @@
openVTSBrowse = id;
panelCancel = id;
panelOk = id;
soutChanged = id;
soutFileBrowse = id;
soutModeChanged = id;
soutStepperChanged = id;
};
CLASS = VLCOpen;
LANGUAGE = ObjC;
...
...
@@ -166,6 +170,18 @@
"o_net_udpm_port_stp" = id;
"o_panel" = id;
"o_playlist" = id;
"o_sout_access" = id;
"o_sout_cbox" = id;
"o_sout_file_btn_browse" = id;
"o_sout_file_path" = id;
"o_sout_mrl" = id;
"o_sout_mrl_lbl" = id;
"o_sout_mux" = id;
"o_sout_udp_addr" = id;
"o_sout_udp_addr_lbl" = id;
"o_sout_udp_port" = id;
"o_sout_udp_port_lbl" = id;
"o_sout_udp_port_stp" = id;
"o_tabview" = id;
};
SUPERCLASS = NSObject;
...
...
extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib
View file @
ebc092f4
...
...
@@ -3,7 +3,7 @@
<plist
version=
"1.0"
>
<dict>
<key>
IBDocumentLocation
</key>
<string>
95 526 428 434 0 0 1600 1178
</string>
<string>
33 278 428 434 0 0 1152 746
</string>
<key>
IBEditorPositions
</key>
<dict>
<key>
29
</key>
...
...
@@ -11,12 +11,16 @@
<key>
303
</key>
<string>
93 566 72 114 0 0 1600 1178
</string>
<key>
909
</key>
<string>
761 663 440 172 0 0 1600 1178
</string>
<string>
338 411 440 172 0 0 1152 746
</string>
<key>
915
</key>
<string>
594 532 93 96 0 0 1600 1178
</string>
</dict>
<key>
IBFramework Version
</key>
<string>
291.0
</string>
<key>
IBOpenObjects
</key>
<array>
<integer>
636
</integer>
</array>
<key>
IBSystem Version
</key>
<string>
6G30
</string>
</dict>
...
...
extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib
View file @
ebc092f4
No preview for this file type
modules/gui/macosx/open.h
View file @
ebc092f4
...
...
@@ -2,7 +2,7 @@
* open.h: MacOS X plugin for vlc
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: open.h,v 1.
5 2003/01/05 02:39:48
massiot Exp $
* $Id: open.h,v 1.
6 2003/01/06 02:45:09
massiot Exp $
*
* Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
*
...
...
@@ -23,6 +23,10 @@
NSArray
*
GetEjectableMediaOfClass
(
const
char
*
psz_class
);
#define OPEN_PANEL_FULL_HEIGHT 494
#define OPEN_PANEL_SHORT_HEIGHT 325
#define WINDOW_TITLE_HEIGHT 21
/*****************************************************************************
* Intf_Open interface
*****************************************************************************/
...
...
@@ -72,6 +76,19 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class );
IBOutlet
id
o_net_cs_port_stp
;
IBOutlet
id
o_net_http_url
;
IBOutlet
id
o_net_http_url_lbl
;
IBOutlet
id
o_sout_cbox
;
IBOutlet
id
o_sout_mrl_lbl
;
IBOutlet
id
o_sout_mrl
;
IBOutlet
id
o_sout_access
;
IBOutlet
id
o_sout_file_path
;
IBOutlet
id
o_sout_file_btn_browse
;
IBOutlet
id
o_sout_udp_addr
;
IBOutlet
id
o_sout_udp_addr_lbl
;
IBOutlet
id
o_sout_udp_port
;
IBOutlet
id
o_sout_udp_port_lbl
;
IBOutlet
id
o_sout_udp_port_stp
;
IBOutlet
id
o_sout_mux
;
}
-
(
void
)
openTarget
:(
int
)
i_type
;
...
...
@@ -94,6 +111,12 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class );
-
(
IBAction
)
openNetStepperChanged
:(
id
)
sender
;
-
(
void
)
openNetInfoChanged
:(
NSNotification
*
)
o_notification
;
-
(
IBAction
)
soutChanged
:(
id
)
sender
;
-
(
IBAction
)
soutFileBrowse
:(
id
)
sender
;
-
(
void
)
soutModeChanged
:(
NSNotification
*
)
o_notification
;
-
(
void
)
soutInfoChanged
:(
NSNotification
*
)
o_notification
;
-
(
IBAction
)
soutStepperChanged
:(
id
)
sender
;
-
(
IBAction
)
panelCancel
:(
id
)
sender
;
-
(
IBAction
)
panelOk
:(
id
)
sender
;
...
...
modules/gui/macosx/open.m
View file @
ebc092f4
...
...
@@ -2,7 +2,7 @@
* open.m: MacOS X plugin for vlc
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: open.m,v 1.
6 2003/01/05 02:39:48
massiot Exp $
* $Id: open.m,v 1.
7 2003/01/06 02:45:09
massiot Exp $
*
* Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
* Christophe Massiot <massiot@via.ecp.fr>
...
...
@@ -136,6 +136,36 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class )
-
(
void
)
awakeFromNib
{
intf_thread_t
*
p_intf
=
[
NSApp
getIntf
];
char
*
psz_sout
=
config_GetPsz
(
p_intf
,
"sout"
);
if
(
psz_sout
!=
NULL
&&
*
psz_sout
)
{
[
o_sout_cbox
setState
:
YES
];
NSRect
s_rect
=
[
o_panel
frame
];
s_rect
.
size
.
height
=
OPEN_PANEL_FULL_HEIGHT
+
WINDOW_TITLE_HEIGHT
;
[
o_panel
setFrame
:
s_rect
display
:
NO
];
NSPoint
s_point
;
s_point
.
x
=
0
;
s_point
.
y
=
0
;
[[
o_panel
contentView
]
setBoundsOrigin
:
s_point
];
}
else
{
[
o_sout_cbox
setState
:
NO
];
NSRect
s_rect
=
[
o_panel
frame
];
s_rect
.
size
.
height
=
OPEN_PANEL_SHORT_HEIGHT
+
WINDOW_TITLE_HEIGHT
;
[
o_panel
setFrame
:
s_rect
display
:
NO
];
NSPoint
s_point
;
s_point
.
x
=
0
;
s_point
.
y
=
OPEN_PANEL_FULL_HEIGHT
-
OPEN_PANEL_SHORT_HEIGHT
;
[[
o_panel
contentView
]
setBoundsOrigin
:
s_point
];
free
(
psz_sout
);
}
[
o_panel
setTitle
:
_NS
(
"Open Target"
)];
[
o_mrl_lbl
setTitle
:
_NS
(
"Media Resource Locator (MRL)"
)];
...
...
@@ -177,6 +207,19 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class )
[
o_net_cs_port
setIntValue
:
config_GetInt
(
p_intf
,
"channel-port"
)];
[
o_net_cs_port_stp
setIntValue
:
config_GetInt
(
p_intf
,
"channel-port"
)];
[
o_sout_cbox
setTitle
:
_NS
(
"Stream output"
)];
[
o_sout_mrl_lbl
setTitle
:
_NS
(
"Stream output MRL"
)];
[[
o_sout_access
cellAtRow
:
0
column
:
0
]
setTitle
:
_NS
(
"File"
)];
[[
o_sout_access
cellAtRow
:
1
column
:
0
]
setTitle
:
_NS
(
"UDP"
)];
[[
o_sout_access
cellAtRow
:
2
column
:
0
]
setTitle
:
_NS
(
"RTP"
)];
[
o_sout_file_btn_browse
setStringValue
:
_NS
(
"Browse..."
)];
[
o_sout_udp_addr_lbl
setStringValue
:
_NS
(
"Address"
)];
[
o_sout_udp_port_lbl
setStringValue
:
_NS
(
"Port"
)];
[[
o_sout_mux
cellAtRow
:
0
column
:
0
]
setTitle
:
_NS
(
"PS"
)];
[[
o_sout_mux
cellAtRow
:
0
column
:
1
]
setTitle
:
_NS
(
"TS"
)];
[[
NSNotificationCenter
defaultCenter
]
addObserver
:
self
selector:
@selector
(
openFilePathChanged
:)
name:
NSControlTextDidChangeNotification
...
...
@@ -223,6 +266,19 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class )
selector:
@selector
(
openNetInfoChanged
:)
name:
NSControlTextDidChangeNotification
object:
o_net_http_url
];
[[
NSNotificationCenter
defaultCenter
]
addObserver
:
self
selector:
@selector
(
soutInfoChanged
:)
name:
NSControlTextDidChangeNotification
object:
o_sout_file_path
];
[[
NSNotificationCenter
defaultCenter
]
addObserver
:
self
selector:
@selector
(
soutInfoChanged
:)
name:
NSControlTextDidChangeNotification
object:
o_sout_udp_addr
];
[[
NSNotificationCenter
defaultCenter
]
addObserver
:
self
selector:
@selector
(
soutInfoChanged
:)
name:
NSControlTextDidChangeNotification
object:
o_sout_udp_port
];
}
-
(
void
)
openTarget
:(
int
)
i_type
...
...
@@ -236,11 +292,21 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class )
if
(
i_result
)
{
NSString
*
o_sout
=
[
o_sout_mrl
stringValue
];
if
(
[
o_sout_cbox
state
]
)
{
intf_thread_t
*
p_intf
=
[
NSApp
getIntf
];
config_PutPsz
(
p_intf
,
"sout"
,
[
o_sout
lossyCString
]
);
}
NSString
*
o_source
=
[
o_mrl
stringValue
];
[
o_playlist
appendArray
:
[
NSArray
arrayWithObject
:
o_source
]
atPos
:
-
1
];
}
[
self
soutModeChanged
:
nil
];
}
-
(
void
)
tabView
:(
NSTabView
*
)
o_tv
didSelectTabViewItem
:(
NSTabViewItem
*
)
o_tvi
...
...
@@ -291,6 +357,23 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class )
[
o_mrl
setStringValue
:
o_mrl_string
];
}
-
(
IBAction
)
openFileBrowse
:(
id
)
sender
{
NSOpenPanel
*
o_open_panel
=
[
NSOpenPanel
openPanel
];
[
o_open_panel
setAllowsMultipleSelection
:
NO
];
[
o_open_panel
setTitle
:
_NS
(
"Open File"
)];
[
o_open_panel
setPrompt
:
_NS
(
"Open"
)];
if
(
[
o_open_panel
runModalForDirectory
:
nil
file:
nil
types
:
nil
]
==
NSOKButton
)
{
NSString
*
o_filename
=
[[
o_open_panel
filenames
]
objectAtIndex
:
0
];
[
o_file_path
setStringValue
:
o_filename
];
[
self
openFilePathChanged
:
nil
];
}
}
-
(
IBAction
)
openFileStreamChanged
:(
id
)
sender
{
[
self
openFilePathChanged
:
nil
];
...
...
@@ -439,6 +522,25 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class )
[
self
openDiscTypeChanged
:
nil
];
}
-
(
IBAction
)
openVTSBrowse
:(
id
)
sender
{
NSOpenPanel
*
o_open_panel
=
[
NSOpenPanel
openPanel
];
[
o_open_panel
setAllowsMultipleSelection
:
NO
];
[
o_open_panel
setCanChooseFiles
:
NO
];
[
o_open_panel
setCanChooseDirectories
:
YES
];
[
o_open_panel
setTitle
:
_NS
(
"Open VIDEO_TS Directory"
)];
[
o_open_panel
setPrompt
:
_NS
(
"Open"
)];
if
(
[
o_open_panel
runModalForDirectory
:
nil
file:
nil
types
:
nil
]
==
NSOKButton
)
{
NSString
*
o_dirname
=
[[
o_open_panel
filenames
]
objectAtIndex
:
0
];
[
o_disc_videots_folder
setStringValue
:
o_dirname
];
[
self
openDiscInfoChanged
:
nil
];
}
}
-
(
IBAction
)
openNetModeChanged
:(
id
)
sender
{
NSString
*
o_mode
;
...
...
@@ -449,10 +551,10 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class )
o_mode
=
[[
o_net_mode
selectedCell
]
title
];
if
(
[
o_mode
isEqualToString
:
@"UDP/RTP"
]
)
b_udp
=
TRUE
;
else
if
(
[
o_mode
isEqualToString
:
@"UDP/RTP Multicast"
]
)
b_udpm
=
TRUE
;
else
if
(
[
o_mode
isEqualToString
:
@"Channel server"
]
)
b_cs
=
TRUE
;
else
if
(
[
o_mode
isEqualToString
:
@"HTTP/FTP/MMS"
]
)
b_http
=
TRUE
;
if
(
[
o_mode
isEqualToString
:
_NS
(
"UDP/RTP"
)
]
)
b_udp
=
TRUE
;
else
if
(
[
o_mode
isEqualToString
:
_NS
(
"UDP/RTP Multicast"
)
]
)
b_udpm
=
TRUE
;
else
if
(
[
o_mode
isEqualToString
:
_NS
(
"Channel server"
)
]
)
b_cs
=
TRUE
;
else
if
(
[
o_mode
isEqualToString
:
_NS
(
"HTTP/FTP/MMS"
)
]
)
b_http
=
TRUE
;
[
o_net_udp_port
setEnabled
:
b_udp
];
[
o_net_udp_port_stp
setEnabled
:
b_udp
];
...
...
@@ -557,40 +659,130 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class )
[
o_mrl
setStringValue
:
o_mrl_string
];
}
-
(
IBAction
)
openFileBrowse
:(
id
)
sender
-
(
IBAction
)
soutChanged
:(
id
)
sender
;
{
NSOpenPanel
*
o_open_panel
=
[
NSOpenPanel
openPane
l
];
[
self
soutModeChanged
:
ni
l
];
[
o_open_panel
setAllowsMultipleSelection
:
NO
];
[
o_open_panel
setTitle
:
_NS
(
"Open File"
)];
[
o_open_panel
setPrompt
:
_NS
(
"Open"
)];
if
(
[
o_sout_cbox
state
]
)
{
NSPoint
s_point
;
s_point
.
x
=
0
;
s_point
.
y
=
0
;
[[
o_panel
contentView
]
setBoundsOrigin
:
s_point
];
[[
o_panel
contentView
]
setNeedsDisplay
:
YES
];
if
(
[
o_open_panel
runModalForDirectory
:
nil
file:
nil
types
:
nil
]
==
NSOKButton
)
NSRect
s_rect
=
[
o_panel
frame
];
s_rect
.
size
.
height
=
OPEN_PANEL_FULL_HEIGHT
+
WINDOW_TITLE_HEIGHT
;
s_rect
.
origin
.
y
-=
OPEN_PANEL_FULL_HEIGHT
-
OPEN_PANEL_SHORT_HEIGHT
;
[
o_panel
setFrame
:
s_rect
display
:
YES
animate
:
YES
];
}
else
{
NSString
*
o_filename
=
[[
o_open_panel
filenames
]
objectAtIndex
:
0
];
[
o_file_path
setStringValue
:
o_filename
];
[
self
openFilePathChanged
:
nil
];
NSPoint
s_point
;
s_point
.
x
=
0
;
s_point
.
y
=
OPEN_PANEL_FULL_HEIGHT
-
OPEN_PANEL_SHORT_HEIGHT
;
[[
o_panel
contentView
]
setBoundsOrigin
:
s_point
];
[[
o_panel
contentView
]
setNeedsDisplay
:
YES
];
NSRect
s_rect
=
[
o_panel
frame
];
s_rect
.
size
.
height
=
OPEN_PANEL_SHORT_HEIGHT
+
WINDOW_TITLE_HEIGHT
;
s_rect
.
origin
.
y
+=
OPEN_PANEL_FULL_HEIGHT
-
OPEN_PANEL_SHORT_HEIGHT
;
[
o_panel
setFrame
:
s_rect
display
:
YES
animate
:
YES
];
}
}
-
(
IBAction
)
openVTS
Browse
:(
id
)
sender
-
(
IBAction
)
soutFile
Browse
:(
id
)
sender
{
NSOpenPanel
*
o_open_panel
=
[
NSOpenPanel
openPanel
];
NSSavePanel
*
o_save_panel
=
[
NSSavePanel
savePanel
];
NSString
*
o_mux_string
;
if
(
[[[
o_sout_mux
selectedCell
]
title
]
isEqualToString
:
_NS
(
"PS"
)]
)
o_mux_string
=
@"vob"
;
else
o_mux_string
=
@"ts"
;
[
o_open_panel
setAllowsMultipleSelection
:
NO
];
[
o_open_panel
setCanChooseFiles
:
NO
];
[
o_open_panel
setCanChooseDirectories
:
YES
];
[
o_open_panel
setTitle
:
_NS
(
"Open VIDEO_TS Directory"
)];
[
o_open_panel
setPrompt
:
_NS
(
"Open"
)];
NSString
*
o_name
=
[
NSString
stringWithFormat
:
@"vlc-output.%@"
,
o_mux_string
];
if
(
[
o_open_panel
runModalForDirectory
:
nil
file:
nil
types
:
nil
]
==
NSOKButton
)
[
o_save_panel
setTitle
:
_NS
(
"Save File"
)];
[
o_save_panel
setPrompt
:
_NS
(
"Save"
)];
if
(
[
o_save_panel
runModalForDirectory
:
nil
file:
o_name
]
==
NSOKButton
)
{
NSString
*
o_dirname
=
[[
o_open_panel
filenames
]
objectAtIndex
:
0
];
[
o_disc_videots_folder
setStringValue
:
o_dirname
];
[
self
openDiscInfoChanged
:
nil
];
NSString
*
o_filename
=
[
o_save_panel
filename
];
[
o_sout_file_path
setStringValue
:
o_filename
];
[
self
soutInfoChanged
:
nil
];
}
}
-
(
void
)
soutModeChanged
:(
NSNotification
*
)
o_notification
{
NSString
*
o_mode
;
BOOL
b_file
=
FALSE
;
BOOL
b_udp
=
FALSE
;
BOOL
b_rtp
=
FALSE
;
o_mode
=
[[
o_sout_access
selectedCell
]
title
];
if
(
[
o_mode
isEqualToString
:
_NS
(
"File"
)]
)
b_file
=
TRUE
;
else
if
(
[
o_mode
isEqualToString
:
_NS
(
"UDP"
)]
)
b_udp
=
TRUE
;
else
if
(
[
o_mode
isEqualToString
:
_NS
(
"RTP"
)]
)
b_rtp
=
TRUE
;
[
o_sout_file_path
setEnabled
:
b_file
];
[
o_sout_file_btn_browse
setEnabled
:
b_file
];
[
o_sout_udp_addr
setEnabled
:
b_udp
|
b_rtp
];
[
o_sout_udp_port
setEnabled
:
b_udp
|
b_rtp
];
[
o_sout_udp_port_stp
setEnabled
:
b_udp
|
b_rtp
];
[[
o_sout_mux
cellAtRow
:
0
column
:
0
]
setEnabled
:
!
b_rtp
];
if
(
b_rtp
)
{
[[
o_sout_mux
cellAtRow
:
0
column
:
1
]
setState
:
YES
];
}
[
self
soutInfoChanged
:
nil
];
}
-
(
void
)
soutInfoChanged
:(
NSNotification
*
)
o_notification
{
NSString
*
o_mode
;
NSString
*
o_mux
;
NSString
*
o_mrl_string
;
NSString
*
o_mux_string
;
o_mode
=
[[
o_sout_access
selectedCell
]
title
];
o_mux
=
[[
o_sout_mux
selectedCell
]
title
];
if
(
[
o_mux
isEqualToString
:
_NS
(
"PS"
)]
)
o_mux_string
=
@"ps"
;
else
o_mux_string
=
@"ts"
;
if
(
[
o_mode
isEqualToString
:
_NS
(
"File"
)]
)
{
o_mrl_string
=
[
NSString
stringWithFormat
:
@"file/%@://%@"
,
o_mux_string
,
[
o_sout_file_path
stringValue
]];
}
else
if
(
[
o_mode
isEqualToString
:
_NS
(
"UDP"
)]
)
{
o_mrl_string
=
[
NSString
stringWithFormat
:
@"udp/%@://%@:%i"
,
o_mux_string
,
[
o_sout_udp_addr
stringValue
],
[
o_sout_udp_port
intValue
]];
}
else
{
o_mrl_string
=
[
NSString
stringWithFormat
:
@"rtp/%@://%@:%i"
,
o_mux_string
,
[
o_sout_udp_addr
stringValue
],
[
o_sout_udp_port
intValue
]];
}
[
o_sout_mrl
setStringValue
:
o_mrl_string
];
}
-
(
IBAction
)
soutStepperChanged
:(
id
)
sender
{
[
o_sout_udp_port
setIntValue
:
[
o_net_udp_port_stp
intValue
]];
[
self
soutInfoChanged
:
nil
];
}
-
(
IBAction
)
openFile
:(
id
)
sender
...
...
@@ -604,6 +796,8 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class )
if
(
[
o_open_panel
runModalForDirectory
:
nil
file:
nil
types
:
nil
]
==
NSOKButton
)
{
intf_thread_t
*
p_intf
=
[
NSApp
getIntf
];
config_PutPsz
(
p_intf
,
"sout"
,
NULL
);
[
o_playlist
appendArray
:
[
o_open_panel
filenames
]
atPos
:
-
1
];
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment