Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
887efa47
Commit
887efa47
authored
Feb 27, 2008
by
Felix Paul Kühne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
macosx: Implemented the Subs/OSD and Input categories of the Simple Prefs
parent
9ab3a054
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
453 additions
and
71 deletions
+453
-71
extras/package/macosx/Resources/English.lproj/Preferences.nib/classes.nib
...acosx/Resources/English.lproj/Preferences.nib/classes.nib
+40
-0
extras/package/macosx/Resources/English.lproj/Preferences.nib/info.nib
...e/macosx/Resources/English.lproj/Preferences.nib/info.nib
+11
-6
extras/package/macosx/Resources/English.lproj/Preferences.nib/keyedobjects.nib
.../Resources/English.lproj/Preferences.nib/keyedobjects.nib
+0
-0
modules/gui/macosx/simple_prefs.h
modules/gui/macosx/simple_prefs.h
+49
-3
modules/gui/macosx/simple_prefs.m
modules/gui/macosx/simple_prefs.m
+353
-62
No files found.
extras/package/macosx/Resources/English.lproj/Preferences.nib/classes.nib
View file @
887efa47
...
...
@@ -27,7 +27,9 @@
ACTIONS = {
audioSettingChanged = id;
buttonAction = id;
inputSettingChanged = id;
interfaceSettingChanged = id;
osdSettingChanged = id;
videoSettingChanged = id;
};
CLASS = VLCSimplePrefs;
...
...
@@ -56,6 +58,26 @@
"o_audio_vol_fld" = id;
"o_audio_vol_sld" = id;
"o_audio_vol_txt" = id;
"o_input_access_box" = id;
"o_input_avi_pop" = id;
"o_input_avi_txt" = id;
"o_input_bandwidth_ckb" = id;
"o_input_cachelevel_pop" = id;
"o_input_cachelevel_txt" = id;
"o_input_caching_box" = id;
"o_input_dump_ckb" = id;
"o_input_httpproxy_fld" = id;
"o_input_httpproxy_txt" = id;
"o_input_mux_box" = id;
"o_input_net_box" = id;
"o_input_postproc_fld" = id;
"o_input_postproc_txt" = id;
"o_input_record_ckb" = id;
"o_input_rtsp_ckb" = id;
"o_input_serverport_fld" = id;
"o_input_serverport_txt" = id;
"o_input_timeshift_ckb" = id;
"o_input_view" = id;
"o_intf_art_pop" = id;
"o_intf_art_txt" = id;
"o_intf_embedded_ckb" = id;
...
...
@@ -65,6 +87,24 @@
"o_intf_meta_ckb" = id;
"o_intf_network_box" = id;
"o_intf_view" = id;
"o_osd_encoding_pop" = id;
"o_osd_encoding_txt" = id;
"o_osd_font_box" = id;
"o_osd_font_btn" = id;
"o_osd_font_color_pop" = id;
"o_osd_font_color_txt" = id;
"o_osd_font_effect_pop" = id;
"o_osd_font_effect_txt" = id;
"o_osd_font_fld" = id;
"o_osd_font_size_pop" = id;
"o_osd_font_size_txt" = id;
"o_osd_font_txt" = id;
"o_osd_lang_box" = id;
"o_osd_lang_fld" = id;
"o_osd_lang_txt" = id;
"o_osd_osd_box" = id;
"o_osd_osd_ckb" = id;
"o_osd_view" = id;
"o_sprefs_basicFull_matrix" = id;
"o_sprefs_basic_box" = id;
"o_sprefs_cancel_btn" = id;
...
...
extras/package/macosx/Resources/English.lproj/Preferences.nib/info.nib
View file @
887efa47
...
...
@@ -3,15 +3,19 @@
<plist
version=
"1.0"
>
<dict>
<key>
IBDocumentLocation
</key>
<string>
113 117
505 518 0 0 1280 778
</string>
<string>
391 94
505 518 0 0 1280 778
</string>
<key>
IBEditorPositions
</key>
<dict>
<key>
2311
</key>
<string>
345 406 590 264 0 0 1280 778
</string>
<key>
2330
</key>
<string>
450 263
590 502 0 0 1280 778
</string>
<string>
345 266
590 502 0 0 1280 778
</string>
<key>
2440
</key>
<string>
345 343 590 389 0 0 1280 778
</string>
<key>
2523
</key>
<string>
345 351 590 373 0 0 1280 778
</string>
<key>
2562
</key>
<string>
345 310 590 455 0 0 1280 778
</string>
</dict>
<key>
IBFramework Version
</key>
<string>
446.1
</string>
...
...
@@ -24,7 +28,7 @@
</array>
</dict>
<key>
IBLastGroupID
</key>
<string>
2
</string>
<string>
3
</string>
<key>
IBLockedObjects
</key>
<array>
<integer>
2203
</integer>
...
...
@@ -34,10 +38,11 @@
</array>
<key>
IBOpenObjects
</key>
<array>
<integer>
2311
</integer>
<integer>
2440
</integer>
<integer>
2265
</integer>
<integer>
2330
</integer>
<integer>
2523
</integer>
<integer>
2562
</integer>
<integer>
2440
</integer>
<integer>
2311
</integer>
</array>
<key>
IBSystem Version
</key>
<string>
8S2167
</string>
...
...
extras/package/macosx/Resources/English.lproj/Preferences.nib/keyedobjects.nib
View file @
887efa47
No preview for this file type
modules/gui/macosx/simple_prefs.h
View file @
887efa47
...
...
@@ -51,6 +51,27 @@
IBOutlet
id
o_audio_vol_sld
;
IBOutlet
id
o_audio_vol_txt
;
IBOutlet
id
o_input_access_box
;
IBOutlet
id
o_input_avi_pop
;
IBOutlet
id
o_input_avi_txt
;
IBOutlet
id
o_input_bandwidth_ckb
;
IBOutlet
id
o_input_cachelevel_pop
;
IBOutlet
id
o_input_cachelevel_txt
;
IBOutlet
id
o_input_caching_box
;
IBOutlet
id
o_input_dump_ckb
;
IBOutlet
id
o_input_httpproxy_fld
;
IBOutlet
id
o_input_httpproxy_txt
;
IBOutlet
id
o_input_mux_box
;
IBOutlet
id
o_input_net_box
;
IBOutlet
id
o_input_postproc_fld
;
IBOutlet
id
o_input_postproc_txt
;
IBOutlet
id
o_input_record_ckb
;
IBOutlet
id
o_input_rtsp_ckb
;
IBOutlet
id
o_input_serverport_fld
;
IBOutlet
id
o_input_serverport_txt
;
IBOutlet
id
o_input_timeshift_ckb
;
IBOutlet
id
o_input_view
;
IBOutlet
id
o_intf_art_pop
;
IBOutlet
id
o_intf_art_txt
;
IBOutlet
id
o_intf_embedded_ckb
;
...
...
@@ -61,6 +82,25 @@
IBOutlet
id
o_intf_network_box
;
IBOutlet
id
o_intf_view
;
IBOutlet
id
o_osd_encoding_pop
;
IBOutlet
id
o_osd_encoding_txt
;
IBOutlet
id
o_osd_font_box
;
IBOutlet
id
o_osd_font_btn
;
IBOutlet
id
o_osd_font_color_pop
;
IBOutlet
id
o_osd_font_color_txt
;
IBOutlet
id
o_osd_font_effect_pop
;
IBOutlet
id
o_osd_font_effect_txt
;
IBOutlet
id
o_osd_font_fld
;
IBOutlet
id
o_osd_font_size_pop
;
IBOutlet
id
o_osd_font_size_txt
;
IBOutlet
id
o_osd_font_txt
;
IBOutlet
id
o_osd_lang_box
;
IBOutlet
id
o_osd_lang_fld
;
IBOutlet
id
o_osd_lang_txt
;
IBOutlet
id
o_osd_osd_box
;
IBOutlet
id
o_osd_osd_ckb
;
IBOutlet
id
o_osd_view
;
IBOutlet
id
o_sprefs_basic_box
;
IBOutlet
id
o_sprefs_basicFull_matrix
;
IBOutlet
id
o_sprefs_cancel_btn
;
...
...
@@ -93,11 +133,13 @@
BOOL
b_audioSettingChanged
;
BOOL
b_intfSettingChanged
;
BOOL
b_videoSettingChanged
;
BOOL
b_osdSettingChanged
;
BOOL
b_inputSettingChanged
;
id
o_currentlyShownCategoryView
;
NSToolbar
*
o_sprefs_toolbar
;
NSOpenPanel
*
o_selectFolderPanel
;
intf_thread_t
*
p_intf
;
}
+
(
VLCSimplePrefs
*
)
sharedInstance
;
...
...
@@ -132,9 +174,13 @@
-
(
IBAction
)
videoSettingChanged
:(
id
)
sender
;
-
(
void
)
showVideoSettings
;
/* subtitles */
/* OSD / subtitles */
-
(
IBAction
)
osdSettingChanged
:(
id
)
sender
;
-
(
void
)
showOSDSettings
;
/* input & codecs */
-
(
IBAction
)
inputSettingChanged
:(
id
)
sender
;
-
(
void
)
showInputSettings
;
/* hotkeys */
...
...
modules/gui/macosx/simple_prefs.m
View file @
887efa47
...
...
@@ -28,6 +28,9 @@ static NSString* VLCSPrefsToolbarIdentifier = @"Our Simple Preferences Toolbar I
static
NSString
*
VLCIntfSettingToolbarIdentifier
=
@"Intf Settings Item Identifier"
;
static
NSString
*
VLCAudioSettingToolbarIdentifier
=
@"Audio Settings Item Identifier"
;
static
NSString
*
VLCVideoSettingToolbarIdentifier
=
@"Video Settings Item Identifier"
;
static
NSString
*
VLCOSDSettingToolbarIdentifier
=
@"Subtitles Settings Item Identifier"
;
static
NSString
*
VLCInputSettingToolbarIdentifier
=
@"Input Settings Item Identifier"
;
static
NSString
*
VLCHotkeysSettingToolbarIdentifier
=
@"Hotkeys Settings Item Identifier"
;
@implementation
VLCSimplePrefs
...
...
@@ -115,41 +118,76 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
else
if
(
[
o_itemIdent
isEqual
:
VLCVideoSettingToolbarIdentifier
]
)
{
o_toolbarItem
=
[[[
NSToolbarItem
alloc
]
initWithItemIdentifier
:
o_itemIdent
]
autorelease
];
[
o_toolbarItem
setLabel
:
_NS
(
"Video"
)];
[
o_toolbarItem
setPaletteLabel
:
_NS
(
"General Video settings"
)];
[
o_toolbarItem
setToolTip
:
_NS
(
"General Video settings"
)];
[
o_toolbarItem
setImage
:
[
NSImage
imageNamed
:
@"spref_cone_Video_64"
]];
[
o_toolbarItem
setTarget
:
self
];
[
o_toolbarItem
setAction
:
@selector
(
showVideoSettings
)];
[
o_toolbarItem
setEnabled
:
YES
];
[
o_toolbarItem
setAutovalidates
:
YES
];
}
else
if
(
[
o_itemIdent
isEqual
:
VLCOSDSettingToolbarIdentifier
]
)
{
o_toolbarItem
=
[[[
NSToolbarItem
alloc
]
initWithItemIdentifier
:
o_itemIdent
]
autorelease
];
[
o_toolbarItem
setLabel
:
_NS
(
"Subtitles & OSD"
)];
[
o_toolbarItem
setPaletteLabel
:
_NS
(
"Subtitles & OSD settings"
)];
[
o_toolbarItem
setToolTip
:
_NS
(
"Subtitles & OSD settings"
)];
[
o_toolbarItem
setImage
:
[
NSImage
imageNamed
:
@"spref_cone_Subtitles_64"
]];
[
o_toolbarItem
setTarget
:
self
];
[
o_toolbarItem
setAction
:
@selector
(
showOSDSettings
)];
[
o_toolbarItem
setEnabled
:
YES
];
[
o_toolbarItem
setAutovalidates
:
YES
];
}
else
if
(
[
o_itemIdent
isEqual
:
VLCInputSettingToolbarIdentifier
]
)
{
o_toolbarItem
=
[[[
NSToolbarItem
alloc
]
initWithItemIdentifier
:
o_itemIdent
]
autorelease
];
[
o_toolbarItem
setLabel
:
_NS
(
"Input & Codecs"
)];
[
o_toolbarItem
setPaletteLabel
:
_NS
(
"Input & Codec settings"
)];
[
o_toolbarItem
setToolTip
:
_NS
(
"Input & Codec settings"
)];
[
o_toolbarItem
setImage
:
[
NSImage
imageNamed
:
@"spref_cone_Input_64"
]];
[
o_toolbarItem
setTarget
:
self
];
[
o_toolbarItem
setAction
:
@selector
(
showInputSettings
)];
[
o_toolbarItem
setEnabled
:
YES
];
[
o_toolbarItem
setAutovalidates
:
YES
];
}
return
o_toolbarItem
;
}
-
(
NSArray
*
)
toolbarDefaultItemIdentifiers
:
(
NSToolbar
*
)
toolbar
{
return
[
NSArray
arrayWithObjects
:
VLCIntfSettingToolbarIdentifier
,
VLCAudioSettingToolbarIdentifier
,
VLCVideoSettingToolbarIdentifier
,
NSToolbarFlexibleSpaceItemIdentifier
,
nil
];
return
[
NSArray
arrayWithObjects
:
VLCIntfSettingToolbarIdentifier
,
VLCAudioSettingToolbarIdentifier
,
VLCVideoSettingToolbarIdentifier
,
VLCOSDSettingToolbarIdentifier
,
VLCInputSettingToolbarIdentifier
,
NSToolbarFlexibleSpaceItemIdentifier
,
nil
];
}
-
(
NSArray
*
)
toolbarAllowedItemIdentifiers
:
(
NSToolbar
*
)
toolbar
{
return
[
NSArray
arrayWithObjects
:
VLCIntfSettingToolbarIdentifier
,
VLCAudioSettingToolbarIdentifier
,
VLCVideoSettingToolbarIdentifier
,
NSToolbarFlexibleSpaceItemIdentifier
,
nil
];
return
[
NSArray
arrayWithObjects
:
VLCIntfSettingToolbarIdentifier
,
VLCAudioSettingToolbarIdentifier
,
VLCVideoSettingToolbarIdentifier
,
VLCOSDSettingToolbarIdentifier
,
VLCInputSettingToolbarIdentifier
,
NSToolbarFlexibleSpaceItemIdentifier
,
nil
];
}
-
(
NSArray
*
)
toolbarSelectableItemIdentifiers
:(
NSToolbar
*
)
toolbar
{
return
[
NSArray
arrayWithObjects
:
VLCIntfSettingToolbarIdentifier
,
VLCAudioSettingToolbarIdentifier
,
VLCVideoSettingToolbarIdentifier
,
nil
];
return
[
NSArray
arrayWithObjects
:
VLCIntfSettingToolbarIdentifier
,
VLCAudioSettingToolbarIdentifier
,
VLCVideoSettingToolbarIdentifier
,
VLCOSDSettingToolbarIdentifier
,
VLCInputSettingToolbarIdentifier
,
nil
];
}
-
(
void
)
initStrings
{
msg_Warn
(
p_intf
,
"localisation of the simple preferences not implemented!"
);
msg_Warn
(
p_intf
,
"localisation of the simple preferences
is
not implemented!"
);
}
-
(
void
)
resetControls
...
...
@@ -158,31 +196,43 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
int
i
,
y
=
0
;
char
*
psz_tmp
;
#define SetupIntList( object, name ) \
[object removeAllItems]; \
p_item = config_FindConfig( VLC_OBJECT(p_intf), name ); \
for( i = 0; i < p_item->i_list; i++ ) \
{ \
if( p_item->ppsz_list_text[i] != NULL) \
[object addItemWithTitle: _NS( p_item->ppsz_list_text[i] )]; \
else \
[object addItemWithTitle: [NSString stringWithUTF8String: p_item->ppsz_list[i]]]; \
} \
if( p_item->value.i < [object numberOfItems] ) \
[object selectItemAtIndex: p_item->value.i]; \
else \
[object selectItemAtIndex: 0]
#define SetupStringList( object, name ) \
[object removeAllItems]; \
y = 0; \
p_item = config_FindConfig( VLC_OBJECT(p_intf), name ); \
for( i = 0; p_item->ppsz_list[i] != nil; i++ ) \
{ \
[object addItemWithTitle: _NS( p_item->ppsz_list_text[i] )]; \
if( p_item->value.psz && !strcmp( p_item->value.psz, p_item->ppsz_list[i] ) ) \
y = i; \
} \
[object selectItemAtIndex: y]
/**********************
* interface settings *
**********************/
[
o_intf_lang_pop
removeAllItems
];
p_item
=
config_FindConfig
(
VLC_OBJECT
(
p_intf
),
"language"
);
for
(
i
=
0
;
p_item
->
ppsz_list
[
i
]
!=
nil
;
i
++
)
{
[
o_intf_lang_pop
addItemWithTitle
:
_NS
(
p_item
->
ppsz_list_text
[
i
]
)];
if
(
p_item
->
value
.
psz
&&
!
strcmp
(
p_item
->
value
.
psz
,
p_item
->
ppsz_list
[
i
]
)
)
y
=
i
;
}
[
o_intf_lang_pop
selectItemAtIndex
:
y
];
[
o_intf_art_pop
removeAllItems
];
p_item
=
config_FindConfig
(
VLC_OBJECT
(
p_intf
),
"album-art"
);
for
(
i
=
0
;
i
<
p_item
->
i_list
;
i
++
)
[
o_intf_art_pop
addItemWithTitle
:
_NS
(
p_item
->
ppsz_list_text
[
i
]
)];
[
o_intf_art_pop
selectItemAtIndex
:
0
];
[
o_intf_art_pop
selectItemAtIndex
:
p_item
->
value
.
i
];
SetupStringList
(
o_intf_lang_pop
,
"language"
);
SetupIntList
(
o_intf_art_pop
,
"album-art"
);
[
o_intf_meta_ckb
setState
:
config_GetInt
(
p_intf
,
"fetch-meta"
)];
[
o_intf_fspanel_ckb
setState
:
config_GetInt
(
p_intf
,
"macosx-fspanel"
)];
[
o_intf_embedded_ckb
setState
:
config_GetInt
(
p_intf
,
"embedded-video"
)];
/******************
* audio settings *
******************/
...
...
@@ -192,13 +242,8 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
[
o_audio_spdif_ckb
setState
:
config_GetInt
(
p_intf
,
"spdif"
)];
[
o_audio_dolby_pop
removeAllItems
];
p_item
=
config_FindConfig
(
VLC_OBJECT
(
p_intf
),
"force-dolby-surround"
);
for
(
i
=
0
;
i
<
p_item
->
i_list
;
i
++
)
[
o_audio_dolby_pop
addItemWithTitle
:
_NS
(
p_item
->
ppsz_list_text
[
i
]
)];
[
o_audio_dolby_pop
selectItemAtIndex
:
0
];
[
o_audio_dolby_pop
selectItemAtIndex
:
p_item
->
value
.
i
];
SetupIntList
(
o_audio_dolby_pop
,
"force-dolby-surround"
);
[
o_audio_lang_fld
setStringValue
:
[
NSString
stringWithUTF8String
:
config_GetPsz
(
p_intf
,
"audio-language"
)]];
[
o_audio_headphone_ckb
setState
:
config_GetInt
(
p_intf
,
"headphone-dolby"
)];
...
...
@@ -216,7 +261,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
{
[
o_audio_lastuser_fld
setStringValue
:
[
NSString
stringWithUTF8String
:
config_GetPsz
(
p_intf
,
"lastfm-username"
)]];
[
o_audio_lastpwd_fld
setStringValue
:
[
NSString
stringWithUTF8String
:
config_GetPsz
(
p_intf
,
"lastfm-password"
)]];
if
(
config_ExistIntf
(
VLC_OBJECT
(
p_intf
),
"audioscrobbler"
)
)
[
o_audio_last_ckb
setState
:
NSOnState
];
else
...
...
@@ -238,7 +283,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
[
o_video_snap_folder_fld
setStringValue
:
[
NSString
stringWithUTF8String
:
config_GetPsz
(
p_intf
,
"snapshot-path"
)]];
[
o_video_snap_prefix_fld
setStringValue
:
[
NSString
stringWithUTF8String
:
config_GetPsz
(
p_intf
,
"snapshot-prefix"
)]];
[
o_video_snap_seqnum_ckb
setState
:
config_GetInt
(
p_intf
,
"snapshot-sequential"
)];
[
o_video_snap_format_pop
removeAllItems
];
p_item
=
config_FindConfig
(
VLC_OBJECT
(
p_intf
),
"snapshot-format"
);
for
(
i
=
0
;
p_item
->
ppsz_list
[
i
]
!=
nil
;
i
++
)
{
...
...
@@ -248,14 +293,99 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
}
[
o_video_snap_format_pop
selectItemAtIndex
:
y
];
/*******************
* codecs settings *
*******************/
/***************************
* input & codecs settings *
***************************/
[
o_input_serverport_fld
setIntValue
:
config_GetInt
(
p_intf
,
"server-port"
)];
if
(
config_GetPsz
(
p_intf
,
"http-proxy"
)
!=
NULL
)
[
o_input_httpproxy_fld
setStringValue
:
[
NSString
stringWithUTF8String
:
config_GetPsz
(
p_intf
,
"http-proxy"
)]];
[
o_input_postproc_fld
setIntValue
:
config_GetInt
(
p_intf
,
"ffmpeg-pp-q"
)];
SetupIntList
(
o_input_avi_pop
,
"avi-index"
);
[
o_input_rtsp_ckb
setState
:
config_GetInt
(
p_intf
,
"rtsp-tcp"
)];
psz_tmp
=
config_GetPsz
(
p_intf
,
"access-filter"
);
if
(
psz_tmp
)
{
[
o_input_record_ckb
setState
:
(
int
)
strstr
(
psz_tmp
,
"record"
)];
[
o_input_dump_ckb
setState
:
(
int
)
strstr
(
psz_tmp
,
"dump"
)];
[
o_input_bandwidth_ckb
setState
:
(
int
)
strstr
(
psz_tmp
,
"bandwidth"
)];
[
o_input_timeshift_ckb
setState
:
(
int
)
strstr
(
psz_tmp
,
"timeshift"
)];
}
[
o_input_cachelevel_pop
removeAllItems
];
[
o_input_cachelevel_pop
addItemsWithTitles
:
[
NSArray
arrayWithObjects
:
_NS
(
"Custom"
),
_NS
(
"Lowest latency"
),
_NS
(
"Low latency"
),
_NS
(
"Normal"
),
_NS
(
"High latency"
),
_NS
(
"Higher latency"
),
nil
]];
[[
o_input_cachelevel_pop
itemAtIndex
:
0
]
setTag
:
0
];
[[
o_input_cachelevel_pop
itemAtIndex
:
1
]
setTag
:
100
];
[[
o_input_cachelevel_pop
itemAtIndex
:
2
]
setTag
:
200
];
[[
o_input_cachelevel_pop
itemAtIndex
:
3
]
setTag
:
300
];
[[
o_input_cachelevel_pop
itemAtIndex
:
4
]
setTag
:
400
];
[[
o_input_cachelevel_pop
itemAtIndex
:
5
]
setTag
:
500
];
#define TestCaC( name ) \
b_cache_equal = b_cache_equal && \
( i_cache == config_GetInt( p_intf, name ) )
#define TestCaCi( name, int ) \
b_cache_equal = b_cache_equal && \
( ( i_cache * int ) == config_GetInt( p_intf, name ) )
/* Select the accurate value of the PopupButton */
bool
b_cache_equal
=
true
;
int
i_cache
=
config_GetInt
(
p_intf
,
"file-caching"
);
TestCaC
(
"udp-caching"
);
if
(
module_Exists
(
p_intf
,
"dvdread"
)
)
TestCaC
(
"dvdread-caching"
);
if
(
module_Exists
(
p_intf
,
"dvdnav"
)
)
TestCaC
(
"dvdnav-caching"
);
TestCaC
(
"tcp-caching"
);
TestCaC
(
"fake-caching"
);
TestCaC
(
"cdda-caching"
);
TestCaC
(
"screen-caching"
);
TestCaC
(
"vcd-caching"
);
TestCaCi
(
"rtsp-caching"
,
4
);
TestCaCi
(
"ftp-caching"
,
2
);
TestCaCi
(
"http-caching"
,
4
);
if
(
module_Exists
(
p_intf
,
"access_realrtsp"
))
TestCaCi
(
"realrtsp-caching"
,
10
);
TestCaCi
(
"mms-caching"
,
19
);
if
(
b_cache_equal
)
[
o_input_cachelevel_pop
selectItemWithTag
:
i_cache
];
else
[
o_input_cachelevel_pop
selectItemWithTitle
:
_NS
(
"Custom"
)];
/*********************
* subtitle settings *
*********************/
[
o_osd_osd_ckb
setState
:
config_GetInt
(
p_intf
,
"osd"
)];
[
o_osd_encoding_pop
removeAllItems
];
y
=
0
;
p_item
=
config_FindConfig
(
VLC_OBJECT
(
p_intf
),
"subsdec-encoding"
);
for
(
i
=
0
;
p_item
->
ppsz_list
[
i
]
!=
nil
;
i
++
)
{
if
(
p_item
->
ppsz_list
[
i
]
!=
""
)
[
o_osd_encoding_pop
addItemWithTitle
:
_NS
(
p_item
->
ppsz_list
[
i
]
)];
else
[
o_osd_encoding_pop
addItemWithTitle
:
@" "
];
if
(
p_item
->
value
.
psz
&&
!
strcmp
(
p_item
->
value
.
psz
,
p_item
->
ppsz_list
[
i
]
)
)
y
=
i
;
}
[
o_osd_encoding_pop
selectItemAtIndex
:
y
];
[
o_osd_lang_fld
setStringValue
:
[
NSString
stringWithUTF8String
:
config_GetPsz
(
p_intf
,
"sub-language"
)]];
if
(
config_GetPsz
(
p_intf
,
"freetype-font"
)
!=
NULL
)
[
o_osd_font_fld
setStringValue
:
[
NSString
stringWithUTF8String
:
config_GetPsz
(
p_intf
,
"freetype-font"
)]];
SetupIntList
(
o_osd_font_color_pop
,
"freetype-color"
);
SetupIntList
(
o_osd_font_size_pop
,
"freetype-rel-fontsize"
);
SetupIntList
(
o_osd_font_effect_pop
,
"freetype-effect"
);
/********************
* hotkeys settings *
********************/
...
...
@@ -305,7 +435,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
if
(
i_return
==
NSAlertAlternateReturn
)
{
config_ResetAll
(
p_intf
);
b_intfSettingChanged
,
b_videoSettingChanged
,
b_audioSettingChanged
=
YES
;
b_intfSettingChanged
=
b_videoSettingChanged
=
b_audioSettingChanged
=
YES
;
[
self
resetControls
];
}
}
...
...
@@ -316,22 +446,27 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
char
*
psz_tmp
;
int
i
;
#define SaveIntList( object, name ) \
p_item = config_FindConfig( VLC_OBJECT(p_intf), name ); \
if( [object indexOfSelectedItem] >= 0 ) \
config_PutInt( p_intf, name, p_item->pi_list[[object indexOfSelectedItem]] ); \
else \
config_PutInt( p_intf, name, [object intValue] ) \
#define SaveStringList( object, name ) \
p_item = config_FindConfig( VLC_OBJECT(p_intf), name ); \
if( [object indexOfSelectedItem] >= 0 ) \
config_PutPsz( p_intf, name, strdup( p_item->ppsz_list[[object indexOfSelectedItem]] ) ); \
else \
config_PutPsz( p_intf, name, strdup( [[VLCMain sharedInstance] delocalizeString: [object stringValue]] ) )
/**********************
* interface settings *
**********************/
if
(
b_intfSettingChanged
)
{
p_item
=
config_FindConfig
(
VLC_OBJECT
(
p_intf
),
"language"
);
if
(
[
o_intf_lang_pop
indexOfSelectedItem
]
>=
0
)
config_PutPsz
(
p_intf
,
"language"
,
strdup
(
p_item
->
ppsz_list
[[
o_intf_lang_pop
indexOfSelectedItem
]]
)
);
else
config_PutPsz
(
p_intf
,
"language"
,
strdup
(
[[
VLCMain
sharedInstance
]
delocalizeString
:
[
o_intf_lang_pop
stringValue
]]
)
);
p_item
=
config_FindConfig
(
VLC_OBJECT
(
p_intf
),
"album-art"
);
if
(
[
o_intf_art_pop
indexOfSelectedItem
]
>=
0
)
config_PutInt
(
p_intf
,
"album-art"
,
p_item
->
pi_list
[[
o_intf_art_pop
indexOfSelectedItem
]]
);
else
config_PutInt
(
p_intf
,
"album-art"
,
[
o_intf_art_pop
intValue
]
);
SaveStringList
(
o_intf_lang_pop
,
"language"
);
SaveIntList
(
o_intf_art_pop
,
"album-art"
);
config_PutInt
(
p_intf
,
"fetch-meta"
,
[
o_intf_meta_ckb
state
]
);
config_PutInt
(
p_intf
,
"macosx-fspanel"
,
[
o_intf_fspanel_ckb
state
]
);
...
...
@@ -359,11 +494,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
config_PutInt
(
p_intf
,
"volume"
,
[
o_audio_vol_sld
intValue
]
);
config_PutInt
(
p_intf
,
"spdif"
,
[
o_audio_spdif_ckb
state
]
);
p_item
=
config_FindConfig
(
VLC_OBJECT
(
p_intf
),
"force-dolby-surround"
);
if
(
[
o_audio_dolby_pop
indexOfSelectedItem
]
>=
0
)
config_PutInt
(
p_intf
,
"force-dolby-surround"
,
p_item
->
pi_list
[[
o_audio_dolby_pop
indexOfSelectedItem
]]
);
else
config_PutInt
(
p_intf
,
"force-dolby-surround"
,
[
o_audio_dolby_pop
intValue
]
);
SaveIntList
(
o_audio_dolby_pop
,
"force-dolby-surround"
);
config_PutPsz
(
p_intf
,
"audio-language"
,
[[
o_audio_lang_fld
stringValue
]
UTF8String
]
);
config_PutInt
(
p_intf
,
"headphone-dolby"
,
[
o_audio_headphone_ckb
state
]
);
...
...
@@ -390,7 +521,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
/* Last.FM is optional */
if
(
module_Exists
(
p_intf
,
"audioscrobbler"
)
)
{
{
if
(
[
o_audio_last_ckb
state
]
==
NSOnState
)
config_AddIntf
(
VLC_OBJECT
(
p_intf
),
"audioscrobbler"
);
else
...
...
@@ -435,7 +566,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
i
=
config_SaveConfigFile
(
p_intf
,
"main"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"macosx"
);
if
(
i
!=
0
)
{
msg_Err
(
p_intf
,
"An error occured while saving the Video settings using SimplePrefs"
);
...
...
@@ -443,6 +574,118 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
}
b_videoSettingChanged
=
NO
;
}
/***************************
* input & codecs settings *
***************************/
if
(
b_inputSettingChanged
)
{
config_PutInt
(
p_intf
,
"server-port"
,
[
o_input_serverport_fld
intValue
]
);
config_PutPsz
(
p_intf
,
"http-proxy"
,
[[
o_input_httpproxy_fld
stringValue
]
UTF8String
]
);
config_PutInt
(
p_intf
,
"ffmpeg-pp-q"
,
[
o_input_postproc_fld
intValue
]
);
SaveIntList
(
o_input_avi_pop
,
"avi-index"
);
config_PutInt
(
p_intf
,
"rtsp-tcp"
,
[
o_input_rtsp_ckb
state
]
);
#define CaCi( name, int ) config_PutInt( p_intf, name, int * [[o_input_cachelevel_pop selectedItem] tag] )
#define CaC( name ) CaCi( name, 1 )
msg_Dbg
(
p_intf
,
"Adjusting all cache values at: %i"
,
[[
o_input_cachelevel_pop
selectedItem
]
tag
]
);
CaC
(
"udp-caching"
);
if
(
module_Exists
(
p_intf
,
"dvdread"
)
)
{
CaC
(
"dvdread-caching"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"dvdread"
);
}
if
(
module_Exists
(
p_intf
,
"dvdnav"
)
)
{
CaC
(
"dvdnav-caching"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"dvdnav"
);
}
CaC
(
"tcp-caching"
);
CaC
(
"vcd-caching"
);
CaC
(
"fake-caching"
);
CaC
(
"cdda-caching"
);
CaC
(
"file-caching"
);
CaC
(
"screen-caching"
);
CaCi
(
"rtsp-caching"
,
4
);
CaCi
(
"ftp-caching"
,
2
);
CaCi
(
"http-caching"
,
4
);
if
(
module_Exists
(
p_intf
,
"access_realrtsp"
)
)
{
CaCi
(
"realrtsp-caching"
,
10
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"access_realrtsp"
);
}
CaCi
(
"mms-caching"
,
19
);
#define SaveAccessFilter( object, name ) \
if( [object state] == NSOnState ) \
{ \
if( b_first ) \
{ \
[o_temp appendString: name]; \
b_first = NO; \
} \
else \
[o_temp appendFormat: @":%@", name]; \
}
BOOL
b_first
=
YES
;
NSMutableString
*
o_temp
=
[[
NSMutableString
alloc
]
init
];
SaveAccessFilter
(
o_input_record_ckb
,
@"record"
);
SaveAccessFilter
(
o_input_dump_ckb
,
@"dump"
);
SaveAccessFilter
(
o_input_bandwidth_ckb
,
@"bandwidth"
);
SaveAccessFilter
(
o_input_timeshift_ckb
,
@"timeshift"
);
config_PutPsz
(
p_intf
,
"access-filter"
,
[
o_temp
UTF8String
]
);
[
o_temp
release
];
i
=
config_SaveConfigFile
(
p_intf
,
"main"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"ffmpeg"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"access_http"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"access_file"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"access_tcp"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"access_fake"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"cdda"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"screen"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"vcd"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"access_ftp"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"access_mms"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"live555"
);
if
(
i
!=
0
)
{
msg_Err
(
p_intf
,
"An error occured while saving the Input settings using SimplePrefs"
);
i
=
0
;
}
b_inputSettingChanged
=
NO
;
}
/**********************
* subtitles settings *
**********************/
if
(
b_osdSettingChanged
)
{
config_PutInt
(
p_intf
,
"osd"
,
[
o_osd_osd_ckb
state
]
);
if
(
[
o_osd_encoding_pop
indexOfSelectedItem
]
>=
0
)
config_PutPsz
(
p_intf
,
"subsdec-encoding"
,
[[[
o_osd_encoding_pop
selectedItem
]
title
]
UTF8String
]
);
config_PutPsz
(
p_intf
,
"sub-language"
,
[[
o_osd_lang_fld
stringValue
]
UTF8String
]
);
config_PutPsz
(
p_intf
,
"freetype-font"
,
[[
o_osd_font_fld
stringValue
]
UTF8String
]
);
SaveIntList
(
o_osd_font_color_pop
,
"freetype-color"
);
SaveIntList
(
o_osd_font_size_pop
,
"freetype-rel-fontsize"
);
SaveIntList
(
o_osd_font_effect_pop
,
"freetype-effect"
);
i
=
config_SaveConfigFile
(
p_intf
,
NULL
);
if
(
i
!=
0
)
{
msg_Err
(
p_intf
,
"An error occured while saving the OSD/Subtitle settings using SimplePrefs"
);
i
=
0
;
}
b_osdSettingChanged
=
NO
;
}
/********************
* hotkeys settings *
********************/
}
-
(
void
)
showSettingsForCategory
:
(
id
)
o_new_category_view
...
...
@@ -456,7 +699,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
/* restore our window's height, if we've shown another category previously */
o_old_view_rect
=
[
o_currentlyShownCategoryView
frame
];
o_win_rect
.
size
.
height
=
o_win_rect
.
size
.
height
-
o_old_view_rect
.
size
.
height
;
/* remove our previous category view */
[
o_currentlyShownCategoryView
removeFromSuperviewWithoutNeedingDisplay
];
}
...
...
@@ -517,13 +760,13 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
[
o_selectFolderPanel
setCanChooseFiles
:
NO
];
[
o_selectFolderPanel
setResolvesAliases
:
YES
];
[
o_selectFolderPanel
setAllowsMultipleSelection
:
NO
];
[
o_selectFolderPanel
setMessage
:
_NS
(
"Choose the
F
older to save your video snapshots to."
)];
[
o_selectFolderPanel
setMessage
:
_NS
(
"Choose the
f
older to save your video snapshots to."
)];
[
o_selectFolderPanel
setCanCreateDirectories
:
YES
];
[
o_selectFolderPanel
setPrompt
:
_NS
(
"Choose"
)];
[
o_selectFolderPanel
beginSheetForDirectory
:
nil
file
:
nil
modalForWindow
:
o_sprefs_win
modalDelegate:
self
didEndSelector:
@selector
(
savePanelDidEnd
:
returnCode
:
contextInfo
:
)
contextInfo:
nil
];
contextInfo:
o_video_snap_folder_btn
];
}
else
b_videoSettingChanged
=
YES
;
...
...
@@ -533,8 +776,16 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
{
if
(
returnCode
==
NSOKButton
)
{
[
o_video_snap_folder_fld
setStringValue
:
[
o_selectFolderPanel
filename
]];
b_videoSettingChanged
=
YES
;
if
(
contextInfo
==
o_video_snap_folder_btn
)
{
[
o_video_snap_folder_fld
setStringValue
:
[
o_selectFolderPanel
filename
]];
b_videoSettingChanged
=
YES
;
}
else
if
(
contextInfo
==
o_osd_font_btn
)
{
[
o_osd_font_fld
setStringValue
:
[
o_selectFolderPanel
filename
]];
b_osdSettingChanged
=
YES
;
}
}
[
o_selectFolderPanel
release
];
...
...
@@ -545,4 +796,44 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
msg_Dbg
(
p_intf
,
"showing video settings"
);
[
self
showSettingsForCategory
:
o_video_view
];
}
-
(
IBAction
)
osdSettingChanged
:(
id
)
sender
{
if
(
sender
==
o_osd_font_btn
)
{
o_selectFolderPanel
=
[[
NSOpenPanel
alloc
]
init
];
[
o_selectFolderPanel
setCanChooseDirectories
:
NO
];
[
o_selectFolderPanel
setCanChooseFiles
:
YES
];
[
o_selectFolderPanel
setResolvesAliases
:
YES
];
[
o_selectFolderPanel
setAllowsMultipleSelection
:
NO
];
[
o_selectFolderPanel
setMessage
:
_NS
(
"Choose the font to display your Subtitles with."
)];
[
o_selectFolderPanel
setCanCreateDirectories
:
NO
];
[
o_selectFolderPanel
setPrompt
:
_NS
(
"Choose"
)];
[
o_selectFolderPanel
setAllowedFileTypes
:
[
NSArray
arrayWithObjects
:
@"dfont"
,
@"ttf"
,
@"otf"
,
@"FFIL"
,
nil
]];
[
o_selectFolderPanel
beginSheetForDirectory
:
@"/System/Library/Fonts/"
file
:
nil
modalForWindow
:
o_sprefs_win
modalDelegate:
self
didEndSelector:
@selector
(
savePanelDidEnd
:
returnCode
:
contextInfo
:
)
contextInfo:
o_osd_font_btn
];
}
else
b_osdSettingChanged
=
YES
;
}
-
(
void
)
showOSDSettings
{
msg_Dbg
(
p_intf
,
"showing OSD settings"
);
[
self
showSettingsForCategory
:
o_osd_view
];
}
-
(
IBAction
)
inputSettingChanged
:(
id
)
sender
{
b_inputSettingChanged
=
YES
;
}
-
(
void
)
showInputSettings
{
msg_Dbg
(
p_intf
,
"showing Input Settings"
);
[
self
showSettingsForCategory
:
o_input_view
];
}
@end
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