Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
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-gpu
Commits
a45c3630
Commit
a45c3630
authored
Aug 07, 2004
by
Jérome Decoodt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
All: equalizer window for MacOS. Need a bit of corrections for the presets part.
Reviews welcome
parent
2d29135d
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
558 additions
and
16 deletions
+558
-16
Makefile.am
Makefile.am
+4
-0
extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib
...s/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib
+31
-0
extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib
extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib
+6
-4
extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib
...s/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib
+0
-0
extras/MacOSX/vlc.pbproj/project.pbxproj
extras/MacOSX/vlc.pbproj/project.pbxproj
+80
-12
modules/gui/macosx/Modules.am
modules/gui/macosx/Modules.am
+2
-0
modules/gui/macosx/equalizer.h
modules/gui/macosx/equalizer.h
+52
-0
modules/gui/macosx/equalizer.m
modules/gui/macosx/equalizer.m
+383
-0
No files found.
Makefile.am
View file @
a45c3630
...
...
@@ -193,6 +193,8 @@ EXTRA_DIST += \
extras/MacOSX/Resources/display.png
\
extras/MacOSX/Resources/display_slider.png
\
extras/MacOSX/Resources/display_track.png
\
extras/MacOSX/Resources/equalizerdrawer_active.png
\
extras/MacOSX/Resources/equalizerdrawer_blue.png
\
extras/MacOSX/Resources/fullscreen_active.png
\
extras/MacOSX/Resources/fullscreen_blue.png
\
extras/MacOSX/Resources/next_active.png
\
...
...
@@ -478,6 +480,8 @@ VLC.app: vlc
applescript.m
\
controls.h
\
controls.m
\
equalizer.h
\
equalizer.m
\
intf.h
\
intf.m
\
macosx.m
\
...
...
extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib
View file @
a45c3630
...
...
@@ -51,6 +51,37 @@
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
bandSliderUpdated = id;
changePreset = id;
enable = id;
preampSliderUpdated = id;
toggleWindow = id;
twopass = id;
};
CLASS = VLCEqualizer;
LANGUAGE = ObjC;
OUTLETS = {
"o_btn_2pass" = id;
"o_btn_enable" = id;
"o_btn_equalizer" = id;
"o_popup_presets" = id;
"o_slider_band1" = id;
"o_slider_band10" = id;
"o_slider_band2" = id;
"o_slider_band3" = id;
"o_slider_band4" = id;
"o_slider_band5" = id;
"o_slider_band6" = id;
"o_slider_band7" = id;
"o_slider_band8" = id;
"o_slider_band9" = id;
"o_slider_preamp" = id;
"o_window" = id;
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
createOutlineGroup = id;
...
...
extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib
View file @
a45c3630
...
...
@@ -3,13 +3,13 @@
<plist
version=
"1.0"
>
<dict>
<key>
IBDocumentLocation
</key>
<string>
571 224 505 517 0 0 1024 746
</string>
<string>
793 27 505 517 0 0 1280 1002
</string>
<key>
IBEditorPositions
</key>
<dict>
<key>
1617
</key>
<string>
542 480 104 149 0 0 1024 746
</string>
<string>
693 686 104 149 0 0 1280 1002
</string>
<key>
29
</key>
<string>
366 655 419 44 0 0 1024 746
</string>
<string>
521 894 419 44 0 0 1280 1002
</string>
<key>
915
</key>
<string>
54 452 185 199 0 0 1024 746
</string>
</dict>
...
...
@@ -21,9 +21,11 @@
</array>
<key>
IBOpenObjects
</key>
<array>
<integer>
1617
</integer>
<integer>
21
</integer>
<integer>
1647
</integer>
<integer>
29
</integer>
<integer>
1617
</integer>
<integer>
2029
</integer>
</array>
<key>
IBSystem Version
</key>
<string>
7H63
</string>
...
...
extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib
View file @
a45c3630
No preview for this file type
extras/MacOSX/vlc.pbproj/project.pbxproj
View file @
a45c3630
...
...
@@ -7,15 +7,12 @@
objects
=
{
014CEA410018CDE011CA2923
=
{
explicitFileType
=
wrapper.cfbundle
;
fallbackIsa
=
PBXFileReference
;
isa
=
PBXBundleReference
;
isa
=
PBXFileReference
;
path
=
VLC.bundle
;
refType
=
3
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
014CEA420018CDE011CA2923
=
{
buildRules
=
(
);
buildSettings
=
{
COPY_PHASE_STRIP
=
NO
;
GCC_DYNAMIC_NO_PIC
=
NO
;
...
...
@@ -29,8 +26,6 @@
name
=
Development
;
};
014CEA430018CDE011CA2923
=
{
buildRules
=
(
);
buildSettings
=
{
COPY_PHASE_STRIP
=
YES
;
GCC_ENABLE_FIX_AND_CONTINUE
=
NO
;
...
...
@@ -87,8 +82,7 @@
sourceTree
=
"<group>"
;
};
089C1672FE841209C02AAC07
=
{
fallbackIsa
=
PBXFileReference
;
isa
=
PBXFrameworkReference
;
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
Foundation.framework
;
path
=
/System/Library/Frameworks/Foundation.framework
;
...
...
@@ -717,6 +711,10 @@
8E9390CD0565D6D300C7661C
,
8E49720206417F6800370C9F
,
8E49720306417F6800370C9F
,
2A16E04106C4F08700C87B09
,
2A16E04206C4F08700C87B09
,
2A16E08006C5074F00C87B09
,
2A16E08106C5074F00C87B09
,
);
isa
=
PBXResourcesBuildPhase
;
runOnlyForDeploymentPostprocessing
=
0
;
...
...
@@ -758,8 +756,7 @@
sourceTree
=
"<group>"
;
};
089C167FFE841241C02AAC07
=
{
fallbackIsa
=
PBXFileReference
;
isa
=
PBXFrameworkReference
;
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
AppKit.framework
;
path
=
/System/Library/Frameworks/AppKit.framework
;
...
...
@@ -792,6 +789,8 @@
8E55FB800459B0FD00FB3317
,
8ED6C28703E2EB1C0059A3A7
,
8ED6C28803E2EB1C0059A3A7
,
2A16E03F06C4F08700C87B09
,
2A16E04006C4F08700C87B09
,
);
isa
=
PBXGroup
;
name
=
Classes
;
...
...
@@ -818,8 +817,7 @@
sourceTree
=
"<group>"
;
};
1058C7ADFEA557BF11CA2CBB
=
{
fallbackIsa
=
PBXFileReference
;
isa
=
PBXFrameworkReference
;
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
Cocoa.framework
;
path
=
/System/Library/Frameworks/Cocoa.framework
;
...
...
@@ -866,6 +864,74 @@
//192
//193
//194
//2A0
//2A1
//2A2
//2A3
//2A4
2A16E03F06C4F08700C87B09
=
{
fileEncoding
=
30
;
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
equalizer.h
;
path
=
"/Users/djc/src/videolan/vlc-trunk/modules/gui/macosx/equalizer.h"
;
refType
=
0
;
sourceTree
=
"<absolute>"
;
};
2A16E04006C4F08700C87B09
=
{
fileEncoding
=
30
;
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
equalizer.m
;
path
=
"/Users/djc/src/videolan/vlc-trunk/modules/gui/macosx/equalizer.m"
;
refType
=
0
;
sourceTree
=
"<absolute>"
;
};
2A16E04106C4F08700C87B09
=
{
fileRef
=
2A16E03F06C4F08700C87B09
;
isa
=
PBXBuildFile
;
settings
=
{
};
};
2A16E04206C4F08700C87B09
=
{
fileRef
=
2A16E04006C4F08700C87B09
;
isa
=
PBXBuildFile
;
settings
=
{
};
};
2A16E07E06C5074F00C87B09
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
name
=
equalizerdrawer_active.png
;
path
=
Resources/equalizerdrawer_active.png
;
refType
=
4
;
sourceTree
=
"<group>"
;
};
2A16E07F06C5074F00C87B09
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
name
=
equalizerdrawer_blue.png
;
path
=
Resources/equalizerdrawer_blue.png
;
refType
=
4
;
sourceTree
=
"<group>"
;
};
2A16E08006C5074F00C87B09
=
{
fileRef
=
2A16E07E06C5074F00C87B09
;
isa
=
PBXBuildFile
;
settings
=
{
};
};
2A16E08106C5074F00C87B09
=
{
fileRef
=
2A16E07F06C5074F00C87B09
;
isa
=
PBXBuildFile
;
settings
=
{
};
};
//2A0
//2A1
//2A2
//2A3
//2A4
//8E0
//8E1
//8E2
...
...
@@ -1710,6 +1776,8 @@
};
8ECA7E520563CD9500DFC000
=
{
children
=
(
2A16E07E06C5074F00C87B09
,
2A16E07F06C5074F00C87B09
,
8E93909A0565D6D300C7661C
,
8E93909B0565D6D300C7661C
,
8E93909C0565D6D300C7661C
,
...
...
modules/gui/macosx/Modules.am
View file @
a45c3630
...
...
@@ -5,6 +5,8 @@ SOURCES_macosx = \
applescript.m \
controls.h \
controls.m \
equalizer.m \
equalizer.h \
intf.m \
intf.h \
macosx.m \
...
...
modules/gui/macosx/equalizer.h
0 → 100644
View file @
a45c3630
/*****************************************************************************
* equalizer.h: MacOS X interface module
*****************************************************************************
* Copyright (C) 2004 VideoLAN
* $Id: equalizer.h 1 2004-08-07 23:51:00Z djc $
*
* Authors: Jrme Decoodt <djc@videolan.org>
*
* 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.
*
* 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
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* VLCEqualizer interface
*****************************************************************************/
@interface
VLCEqualizer
:
NSObject
{
IBOutlet
id
o_btn_2pass
;
IBOutlet
id
o_btn_enable
;
IBOutlet
id
o_btn_equalizer
;
IBOutlet
id
o_popup_presets
;
IBOutlet
id
o_slider_band1
;
IBOutlet
id
o_slider_band10
;
IBOutlet
id
o_slider_band2
;
IBOutlet
id
o_slider_band3
;
IBOutlet
id
o_slider_band4
;
IBOutlet
id
o_slider_band5
;
IBOutlet
id
o_slider_band6
;
IBOutlet
id
o_slider_band7
;
IBOutlet
id
o_slider_band8
;
IBOutlet
id
o_slider_band9
;
IBOutlet
id
o_slider_preamp
;
IBOutlet
id
o_window
;
}
-
(
IBAction
)
bandSliderUpdated
:(
id
)
sender
;
-
(
IBAction
)
changePreset
:(
id
)
sender
;
-
(
IBAction
)
enable
:(
id
)
sender
;
-
(
IBAction
)
preampSliderUpdated
:(
id
)
sender
;
-
(
IBAction
)
toggleWindow
:(
id
)
sender
;
-
(
IBAction
)
twopass
:(
id
)
sender
;
@end
modules/gui/macosx/equalizer.m
0 → 100644
View file @
a45c3630
/*****************************************************************************
* equalizer.m: MacOS X interface module
*****************************************************************************
* Copyright (C) 2004 VideoLAN
* $Id: equalizer.m 1 2004-08-07 23:50:00Z djc $
*
* Authors: Jrme Decoodt <djc@videolan.org>
*
* 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.
*
* 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
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#include <vlc/vlc.h>
#include <vlc/aout.h>
#include <aout_internal.h>
#include "intf.h"
#include <math.h>
#include "equalizer.h"
/*****************************************************************************
* VLCEqualizer implementation
*****************************************************************************/
@implementation
VLCEqualizer
static
void
ChangeFiltersString
(
intf_thread_t
*
p_intf
,
aout_instance_t
*
p_aout
,
char
*
psz_name
,
vlc_bool_t
b_add
)
{
char
*
psz_parser
,
*
psz_string
;
if
(
p_aout
)
{
psz_string
=
var_GetString
(
p_aout
,
"audio-filter"
);
}
else
{
psz_string
=
config_GetPsz
(
p_intf
,
"audio-filter"
);
}
if
(
!
psz_string
)
psz_string
=
strdup
(
""
);
psz_parser
=
strstr
(
psz_string
,
psz_name
);
if
(
b_add
)
{
if
(
!
psz_parser
)
{
psz_parser
=
psz_string
;
asprintf
(
&
psz_string
,
(
*
psz_string
)
?
"%s,%s"
:
"%s%s"
,
psz_string
,
psz_name
);
free
(
psz_parser
);
}
else
{
return
;
}
}
else
{
if
(
psz_parser
)
{
memmove
(
psz_parser
,
psz_parser
+
strlen
(
psz_name
)
+
(
*
(
psz_parser
+
strlen
(
psz_name
))
==
','
?
1
:
0
),
strlen
(
psz_parser
+
strlen
(
psz_name
))
+
1
);
if
(
*
(
psz_string
+
strlen
(
psz_string
)
-
1
)
==
','
)
{
*
(
psz_string
+
strlen
(
psz_string
)
-
1
)
=
'\0'
;
}
}
else
{
free
(
psz_string
);
return
;
}
}
if
(
p_aout
==
NULL
)
{
config_PutPsz
(
p_intf
,
"audio-filter"
,
psz_string
);
}
else
{
int
i
;
var_SetString
(
p_aout
,
"audio-filter"
,
psz_string
);
for
(
i
=
0
;
i
<
p_aout
->
i_nb_inputs
;
i
++
)
{
p_aout
->
pp_inputs
[
i
]
->
b_restart
=
VLC_TRUE
;
}
}
free
(
psz_string
);
}
static
vlc_bool_t
GetFiltersStatus
(
intf_thread_t
*
p_intf
,
aout_instance_t
*
p_aout
,
char
*
psz_name
)
{
char
*
psz_parser
,
*
psz_string
;
if
(
p_aout
)
{
psz_string
=
var_GetString
(
p_aout
,
"audio-filter"
);
}
else
{
psz_string
=
config_GetPsz
(
p_intf
,
"audio-filter"
);
}
if
(
!
psz_string
)
psz_string
=
strdup
(
""
);
psz_parser
=
strstr
(
psz_string
,
psz_name
);
free
(
psz_string
);
if
(
psz_parser
)
return
VLC_TRUE
;
else
return
VLC_FALSE
;
}
-
(
IBAction
)
bandSliderUpdated
:(
id
)
sender
{
intf_thread_t
*
p_intf
=
VLCIntf
;
aout_instance_t
*
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
char
psz_values
[
102
];
memset
(
psz_values
,
0
,
102
);
/* Write the new bands values */
/* TODO: write a generic code instead of ten times the same thing */
sprintf
(
psz_values
,
"%s %.1f"
,
psz_values
,
[
o_slider_band1
floatValue
]
);
sprintf
(
psz_values
,
"%s %.1f"
,
psz_values
,
[
o_slider_band2
floatValue
]
);
sprintf
(
psz_values
,
"%s %.1f"
,
psz_values
,
[
o_slider_band3
floatValue
]
);
sprintf
(
psz_values
,
"%s %.1f"
,
psz_values
,
[
o_slider_band4
floatValue
]
);
sprintf
(
psz_values
,
"%s %.1f"
,
psz_values
,
[
o_slider_band5
floatValue
]
);
sprintf
(
psz_values
,
"%s %.1f"
,
psz_values
,
[
o_slider_band6
floatValue
]
);
sprintf
(
psz_values
,
"%s %.1f"
,
psz_values
,
[
o_slider_band7
floatValue
]
);
sprintf
(
psz_values
,
"%s %.1f"
,
psz_values
,
[
o_slider_band8
floatValue
]
);
sprintf
(
psz_values
,
"%s %.1f"
,
psz_values
,
[
o_slider_band9
floatValue
]
);
sprintf
(
psz_values
,
"%s %.1f"
,
psz_values
,
[
o_slider_band10
floatValue
]
);
if
(
p_aout
==
NULL
)
{
config_PutPsz
(
p_intf
,
"equalizer-bands"
,
psz_values
);
msg_Dbg
(
p_intf
,
"equalizer settings set to %s"
,
psz_values
);
}
else
{
var_SetString
(
p_aout
,
"equalizer-bands"
,
psz_values
);
msg_Dbg
(
p_intf
,
"equalizer settings changed to %s"
,
psz_values
);
vlc_object_release
(
p_aout
);
}
}
-
(
IBAction
)
changePreset
:(
id
)
sender
{
intf_thread_t
*
p_intf
=
VLCIntf
;
float
preamp
,
band
[
10
];
char
*
p
,
*
p_next
;
int
b_2p
;
int
i
;
aout_instance_t
*
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
vlc_bool_t
enabled
=
GetFiltersStatus
(
p_intf
,
p_aout
,
"equalizer"
);
static
char
*
preset_list
[]
=
{
"flat"
,
"classical"
,
"club"
,
"dance"
,
"fullbass"
,
"fullbasstreeble"
,
"fulltreeble"
,
"headphones"
,
"largehall"
,
"live"
,
"party"
,
"pop"
,
"reggae"
,
"rock"
,
"ska"
,
"soft"
,
"softrock"
,
"techno"
};
if
(
p_aout
==
NULL
)
{
config_PutPsz
(
p_intf
,
"equalizer-preset"
,
preset_list
[[
sender
indexOfSelectedItem
]]
);
}
else
{
var_SetString
(
p_aout
,
"equalizer-preset"
,
preset_list
[[
sender
indexOfSelectedItem
]]
);
vlc_object_release
(
p_aout
);
}
if
(
(
p_aout
==
NULL
)
||
(
enabled
==
VLC_FALSE
)
)
{
preamp
=
config_GetFloat
(
p_intf
,
"equalizer-preamp"
);
p
=
config_GetPsz
(
p_intf
,
"equalizer-bands"
);
b_2p
=
config_GetInt
(
p_intf
,
"equalizer-2pass"
);
}
else
{
preamp
=
var_GetFloat
(
p_aout
,
"equalizer-preamp"
);
p
=
var_GetString
(
p_aout
,
"equalizer-bands"
);
b_2p
=
var_GetBool
(
p_aout
,
"equalizer-2pass"
);
vlc_object_release
(
p_aout
);
}
/* Set the preamp slider */
[
o_slider_preamp
setFloatValue
:
preamp
];
/* Set the bands slider */
for
(
i
=
0
;
i
<
10
;
i
++
)
{
/* Read dB -20/20 */
#ifdef HAVE_STRTOF
band
[
i
]
=
strtof
(
p
,
&
p_next
);
#else
band
[
i
]
=
(
float
)
strtod
(
p
,
&
p_next
);
#endif
if
(
!
p_next
||
p_next
==
p
)
break
;
/* strtof() failed */
if
(
!*
p
)
break
;
/* end of line */
p
=
p_next
+
1
;
}
[
o_slider_band1
setFloatValue
:
band
[
0
]];
[
o_slider_band2
setFloatValue
:
band
[
1
]];
[
o_slider_band3
setFloatValue
:
band
[
2
]];
[
o_slider_band4
setFloatValue
:
band
[
3
]];
[
o_slider_band5
setFloatValue
:
band
[
4
]];
[
o_slider_band6
setFloatValue
:
band
[
5
]];
[
o_slider_band7
setFloatValue
:
band
[
6
]];
[
o_slider_band8
setFloatValue
:
band
[
7
]];
[
o_slider_band9
setFloatValue
:
band
[
8
]];
[
o_slider_band10
setFloatValue
:
band
[
9
]];
if
(
enabled
==
VLC_TRUE
)
[
o_btn_enable
setState
:
NSOnState
];
else
[
o_btn_enable
setState
:
NSOffState
];
[
o_btn_2pass
setState
:(
(
b_2p
==
VLC_TRUE
)?
NSOnState
:
NSOffState
)];
}
-
(
IBAction
)
enable
:(
id
)
sender
{
intf_thread_t
*
p_intf
=
VLCIntf
;
aout_instance_t
*
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
ChangeFiltersString
(
p_intf
,
p_aout
,
"equalizer"
,
[
sender
state
]);
if
(
p_aout
!=
NULL
)
vlc_object_release
(
p_aout
);
}
-
(
IBAction
)
preampSliderUpdated
:(
id
)
sender
{
intf_thread_t
*
p_intf
=
VLCIntf
;
float
f
=
[
sender
floatValue
]
;
aout_instance_t
*
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
if
(
p_aout
==
NULL
)
{
config_PutFloat
(
p_intf
,
"equalizer-preamp"
,
f
);
}
else
{
var_SetFloat
(
p_aout
,
"equalizer-preamp"
,
f
);
vlc_object_release
(
p_aout
);
}
}
-
(
IBAction
)
toggleWindow
:(
id
)
sender
{
if
(
[
o_window
isVisible
]
)
{
[
o_window
orderOut
:
sender
];
[
o_btn_equalizer
setState
:
NSOffState
];
}
else
{
intf_thread_t
*
p_intf
=
VLCIntf
;
float
preamp
,
band
[
10
];
char
*
p
,
*
p_next
;
int
b_2p
;
int
i
;
aout_instance_t
*
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
vlc_bool_t
enabled
=
GetFiltersStatus
(
p_intf
,
p_aout
,
"equalizer"
);
if
(
(
p_aout
==
NULL
)
||
(
enabled
==
VLC_FALSE
)
)
{
preamp
=
config_GetFloat
(
p_intf
,
"equalizer-preamp"
);
p
=
config_GetPsz
(
p_intf
,
"equalizer-bands"
);
b_2p
=
config_GetInt
(
p_intf
,
"equalizer-2pass"
);
}
else
{
preamp
=
var_GetFloat
(
p_aout
,
"equalizer-preamp"
);
p
=
var_GetString
(
p_aout
,
"equalizer-bands"
);
b_2p
=
var_GetBool
(
p_aout
,
"equalizer-2pass"
);
vlc_object_release
(
p_aout
);
}
/* Set the preamp slider */
[
o_slider_preamp
setFloatValue
:
preamp
];
/* Set the bands slider */
for
(
i
=
0
;
i
<
10
;
i
++
)
{
/* Read dB -20/20 */
#ifdef HAVE_STRTOF
band
[
i
]
=
strtof
(
p
,
&
p_next
);
#else
band
[
i
]
=
(
float
)
strtod
(
p
,
&
p_next
);
#endif
if
(
!
p_next
||
p_next
==
p
)
break
;
/* strtof() failed */
if
(
!*
p
)
break
;
/* end of line */
p
=
p_next
+
1
;
}
[
o_slider_band1
setFloatValue
:
band
[
0
]];
[
o_slider_band2
setFloatValue
:
band
[
1
]];
[
o_slider_band3
setFloatValue
:
band
[
2
]];
[
o_slider_band4
setFloatValue
:
band
[
3
]];
[
o_slider_band5
setFloatValue
:
band
[
4
]];
[
o_slider_band6
setFloatValue
:
band
[
5
]];
[
o_slider_band7
setFloatValue
:
band
[
6
]];
[
o_slider_band8
setFloatValue
:
band
[
7
]];
[
o_slider_band9
setFloatValue
:
band
[
8
]];
[
o_slider_band10
setFloatValue
:
band
[
9
]];
if
(
enabled
==
VLC_TRUE
)
[
o_btn_enable
setState
:
NSOnState
];
else
[
o_btn_enable
setState
:
NSOffState
];
[
o_btn_2pass
setState
:(
(
b_2p
==
VLC_TRUE
)?
NSOnState
:
NSOffState
)];
[
o_window
makeKeyAndOrderFront
:
sender
];
[
o_btn_equalizer
setState
:
NSOnState
];
}
}
-
(
IBAction
)
twopass
:(
id
)
sender
{
intf_thread_t
*
p_intf
=
VLCIntf
;
aout_instance_t
*
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
vlc_bool_t
b_2p
=
[
sender
state
]
?
VLC_TRUE
:
VLC_FALSE
;
if
(
p_aout
==
NULL
)
{
config_PutInt
(
p_intf
,
"equalizer-2pass"
,
b_2p
);
}
else
{
var_SetBool
(
p_aout
,
"equalizer-2pass"
,
b_2p
);
if
(
[
o_btn_enable
state
]
)
{
int
i
;
for
(
i
=
0
;
i
<
p_aout
->
i_nb_inputs
;
i
++
)
{
p_aout
->
pp_inputs
[
i
]
->
b_restart
=
VLC_TRUE
;
}
}
vlc_object_release
(
p_aout
);
}
}
@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