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
8e64cfd2
Commit
8e64cfd2
authored
Feb 09, 2008
by
Felix Paul Kühne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
macosx: fully implemented the interface and audio categories (excepting the visualiser setting)
parent
e77ff475
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
204 additions
and
15 deletions
+204
-15
modules/gui/macosx/simple_prefs.h
modules/gui/macosx/simple_prefs.h
+7
-4
modules/gui/macosx/simple_prefs.m
modules/gui/macosx/simple_prefs.m
+197
-11
No files found.
modules/gui/macosx/simple_prefs.h
View file @
8e64cfd2
...
...
@@ -2,7 +2,7 @@
* simple_prefs.h: Simple Preferences for Mac OS X
*****************************************************************************
* Copyright (C) 2008 the VideoLAN team
* $Id
:
$
* $Id$
*
* Authors: Felix Paul Kühne <fkuehne at videolan dot org>
*
...
...
@@ -22,6 +22,8 @@
*****************************************************************************/
#import <Cocoa/Cocoa.h>
#import "intf.h"
#import <vlc/vlc.h>
@interface
VLCSimplePrefs
:
NSObject
{
...
...
@@ -50,8 +52,6 @@
IBOutlet
id
o_audio_vol_txt
;
IBOutlet
id
o_intf_art_pop
;
IBOutlet
id
o_intf_art_txt
;
IBOutlet
id
o_intf_black_ckb
;
IBOutlet
id
o_intf_embvout_ckb
;
IBOutlet
id
o_intf_fspanel_ckb
;
IBOutlet
id
o_intf_lang_pop
;
IBOutlet
id
o_intf_lang_txt
;
...
...
@@ -80,9 +80,10 @@
itemForItemIdentifier
:
(
NSString
*
)
o_itemIdent
willBeInsertedIntoToolbar
:
(
BOOL
)
b_willBeInserted
;
-
(
NSArray
*
)
toolbarDefaultItemIdentifiers
:
(
NSToolbar
*
)
toolbar
;
-
(
NSArray
*
)
toolbarAllowedItemIdentifiers
:
(
NSToolbar
*
)
toolbar
;
-
(
NSArray
*
)
toolbarAllowedItemIdentifiers
:
(
NSToolbar
*
)
toolbar
;
-
(
void
)
initStrings
;
-
(
void
)
resetControls
;
-
(
void
)
showSimplePrefs
;
-
(
IBAction
)
buttonAction
:(
id
)
sender
;
...
...
@@ -90,6 +91,8 @@
returnCode
:(
int
)
i_return
contextInfo
:(
void
*
)
o_context
;
-
(
void
)
saveChangedSettings
;
/* interface */
-
(
IBAction
)
interfaceSettingChanged
:(
id
)
sender
;
-
(
void
)
showInterfaceSettings
;
...
...
modules/gui/macosx/simple_prefs.m
View file @
8e64cfd2
...
...
@@ -2,7 +2,7 @@
* simple_prefs.m: Simple Preferences for Mac OS X
*****************************************************************************
* Copyright (C) 2008 the VideoLAN team
* $Id
:
$
* $Id$
*
* Authors: Felix Paul Kühne <fkuehne at videolan dot org>
*
...
...
@@ -21,8 +21,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import "intf.h"
#import <vlc/vlc.h>
#import "simple_prefs.h"
#import "prefs.h"
...
...
@@ -63,16 +61,16 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
{
[
self
initStrings
];
[
self
resetControls
];
/* setup the toolbar */
o_sprefs_toolbar
=
[[[
NSToolbar
alloc
]
initWithIdentifier
:
VLCSPrefsToolbarIdentifier
]
autorelease
];
[
o_sprefs_toolbar
setAllowsUserCustomization
:
NO
];
[
o_sprefs_toolbar
setAutosavesConfiguration
:
NO
];
[
o_sprefs_toolbar
setDisplayMode
:
NSToolbarDisplayModeIconAndLabel
];
[
o_sprefs_toolbar
setSizeMode
:
NSToolbarSizeModeRegular
];
[
o_sprefs_toolbar
setDelegate
:
self
];
[
o_sprefs_win
setToolbar
:
o_sprefs_toolbar
];
[
o_sprefs_win
setToolbar
:
o_sprefs_toolbar
];
}
-
(
NSToolbarItem
*
)
toolbar
:
(
NSToolbar
*
)
o_sprefs_toolbar
...
...
@@ -129,7 +127,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
-
(
NSArray
*
)
toolbarSelectableItemIdentifiers
:(
NSToolbar
*
)
toolbar
{
return
[
NSArray
arrayWithObjects
:
VLCIntfSettingToolbarIdentifier
,
VLCAudioSettingToolbarIdentifier
,
NSToolbarFlexibleSpaceItemIdentifier
,
nil
];
return
[
NSArray
arrayWithObjects
:
VLCIntfSettingToolbarIdentifier
,
VLCAudioSettingToolbarIdentifier
,
nil
];
}
-
(
void
)
initStrings
...
...
@@ -138,6 +136,93 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
msg_Warn
(
p_intf
,
"localisation of the simple preferences not implemented!"
);
}
-
(
void
)
resetControls
{
module_config_t
*
p_item
;
int
i
,
y
;
char
*
psz_tmp
;
/**********************
* 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
];
[
o_intf_meta_ckb
setState
:
config_GetInt
(
p_intf
,
"fetch-meta"
)];
[
o_intf_fspanel_ckb
setState
:
config_GetInt
(
p_intf
,
"macosx-fspanel"
)];
/******************
* audio settings *
******************/
[
o_audio_enable_ckb
setState
:
config_GetInt
(
p_intf
,
"audio"
)];
[
o_audio_vol_fld
setIntValue
:
config_GetInt
(
p_intf
,
"volume"
)];
[
o_audio_vol_sld
setIntValue
:
config_GetInt
(
p_intf
,
"volume"
)];
[
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
];
[
o_audio_lang_fld
setStringValue
:
[
NSString
stringWithUTF8String
:
config_GetPsz
(
p_intf
,
"audio-language"
)]];
[
o_audio_headphone_ckb
setState
:
config_GetInt
(
p_intf
,
"headphone-dolby"
)];
psz_tmp
=
config_GetPsz
(
p_intf
,
"audio-filter"
);
if
(
psz_tmp
)
[
o_audio_norm_ckb
setState
:
(
int
)
strstr
(
psz_tmp
,
"normvol"
)];
[
o_audio_norm_fld
setFloatValue
:
config_GetFloat
(
p_intf
,
"norm-max-level"
)];
// visualizer
msg_Warn
(
p_intf
,
"visualizer not implemented!"
);
/* Last.FM is optional */
if
(
module_Exists
(
p_intf
,
"audioscrobbler"
)
)
{
[
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
[
o_audio_last_ckb
setState
:
NSOffState
];
}
/******************
* video settings *
******************/
/*******************
* codecs settings *
*******************/
/*********************
* subtitle settings *
*********************/
/********************
* hotkeys settings *
********************/
}
-
(
void
)
showSimplePrefs
{
/* we want to show the interface settings, if no category was chosen */
...
...
@@ -156,7 +241,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
[
o_sprefs_win
orderOut
:
sender
];
else
if
(
sender
==
o_sprefs_save_btn
)
{
msg_Warn
(
p_intf
,
"sprefs saving not implemented, your changes have no effect!"
)
;
[
self
saveChangedSettings
]
;
[
o_sprefs_win
orderOut
:
sender
];
}
else
if
(
sender
==
o_sprefs_reset_btn
)
...
...
@@ -169,7 +254,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
{
[
o_sprefs_win
orderOut
:
self
];
[[[
VLCMain
sharedInstance
]
getPreferences
]
showPrefs
];
/* TODO: reset our selector controls here */
[
self
resetControls
];
}
else
msg_Err
(
p_intf
,
"unknown buttonAction sender"
);
...
...
@@ -182,7 +267,100 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
if
(
i_return
==
NSAlertAlternateReturn
)
{
config_ResetAll
(
p_intf
);
/* TODO: we need to reset our views here */
[
self
resetControls
];
}
}
-
(
void
)
saveChangedSettings
{
module_config_t
*
p_item
;
char
*
psz_tmp
;
int
i
;
/**********************
* 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
]
);
config_PutInt
(
p_intf
,
"fetch-meta"
,
[
o_intf_meta_ckb
state
]
);
config_PutInt
(
p_intf
,
"macosx-fspanel"
,
[
o_intf_fspanel_ckb
state
]
);
/* okay, let's save our changes to vlcrc */
i
=
config_SaveConfigFile
(
p_intf
,
"main"
);
i
=
config_SaveConfigFile
(
p_intf
,
"macosx"
);
if
(
i
!=
0
)
msg_Err
(
p_intf
,
"An error occured while saving the Audio settings using SimplePrefs"
);
b_intfSettingChanged
=
NO
;
}
/******************
* audio settings *
******************/
if
(
b_audioSettingChanged
)
{
config_PutInt
(
p_intf
,
"audio"
,
[
o_audio_enable_ckb
state
]
);
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
]
);
config_PutPsz
(
p_intf
,
"audio-language"
,
[[
o_audio_lang_fld
stringValue
]
UTF8String
]
);
config_PutInt
(
p_intf
,
"headphone-dolby"
,
[
o_audio_headphone_ckb
state
]
);
psz_tmp
=
config_GetPsz
(
p_intf
,
"audio-filter"
);
if
(
!
psz_tmp
)
config_PutPsz
(
p_intf
,
"audio-filter"
,
"volnorm"
);
else
if
(
(
int
)
strstr
(
psz_tmp
,
"normvol"
)
==
NO
)
{
/* work-around a GCC 4.0.1 bug */
psz_tmp
=
(
char
*
)[[
NSString
stringWithFormat
:
@"%s:volnorm"
,
psz_tmp
]
UTF8String
];
config_PutPsz
(
p_intf
,
"audio-filter"
,
psz_tmp
);
}
else
{
psz_tmp
=
(
char
*
)[[[
NSString
stringWithUTF8String
:
psz_tmp
]
stringByTrimmingCharactersInSet
:
[
NSCharacterSet
characterSetWithCharactersInString
:
@":volnorm"
]]
UTF8String
];
psz_tmp
=
(
char
*
)[[[
NSString
stringWithUTF8String
:
psz_tmp
]
stringByTrimmingCharactersInSet
:
[
NSCharacterSet
characterSetWithCharactersInString
:
@"volnorm:"
]]
UTF8String
];
psz_tmp
=
(
char
*
)[[[
NSString
stringWithUTF8String
:
psz_tmp
]
stringByTrimmingCharactersInSet
:
[
NSCharacterSet
characterSetWithCharactersInString
:
@"volnorm"
]]
UTF8String
];
config_PutPsz
(
p_intf
,
"audio-filter"
,
psz_tmp
);
}
config_PutFloat
(
p_intf
,
"norm-max-level"
,
[
o_audio_norm_fld
floatValue
]
);
msg_Warn
(
p_intf
,
"visualizer not implemented!"
);
if
(
[
o_audio_last_ckb
state
]
==
NSOnState
)
config_AddIntf
(
VLC_OBJECT
(
p_intf
),
"audioscrobbler"
);
else
config_RemoveIntf
(
VLC_OBJECT
(
p_intf
),
"audioscrobbler"
);
config_PutPsz
(
p_intf
,
"lastfm-username"
,
[[
o_audio_lastuser_fld
stringValue
]
UTF8String
]
);
config_PutPsz
(
p_intf
,
"lastfm-password"
,
[[
o_audio_lastuser_fld
stringValue
]
UTF8String
]
);
/* okay, let's save our changes to vlcrc */
i
=
config_SaveConfigFile
(
p_intf
,
"main"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"audioscrobbler"
);
i
=
i
+
config_SaveConfigFile
(
p_intf
,
"volnorm"
);
if
(
i
!=
0
)
msg_Err
(
p_intf
,
"An error occured while saving the Audio settings using SimplePrefs"
);
b_audioSettingChanged
=
NO
;
}
}
...
...
@@ -224,6 +402,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
-
(
IBAction
)
interfaceSettingChanged
:(
id
)
sender
{
b_intfSettingChanged
=
YES
;
}
-
(
void
)
showInterfaceSettings
...
...
@@ -234,6 +413,13 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
-
(
IBAction
)
audioSettingChanged
:(
id
)
sender
{
if
(
sender
==
o_audio_vol_sld
)
[
o_audio_vol_fld
setIntValue
:
[
o_audio_vol_sld
intValue
]];
if
(
sender
==
o_audio_vol_fld
)
[
o_audio_vol_sld
setIntValue
:
[
o_audio_vol_fld
intValue
]];
b_audioSettingChanged
=
YES
;
}
-
(
void
)
showAudioSettings
...
...
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