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
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 += \
...
@@ -193,6 +193,8 @@ EXTRA_DIST += \
extras/MacOSX/Resources/display.png
\
extras/MacOSX/Resources/display.png
\
extras/MacOSX/Resources/display_slider.png
\
extras/MacOSX/Resources/display_slider.png
\
extras/MacOSX/Resources/display_track.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_active.png
\
extras/MacOSX/Resources/fullscreen_blue.png
\
extras/MacOSX/Resources/fullscreen_blue.png
\
extras/MacOSX/Resources/next_active.png
\
extras/MacOSX/Resources/next_active.png
\
...
@@ -478,6 +480,8 @@ VLC.app: vlc
...
@@ -478,6 +480,8 @@ VLC.app: vlc
applescript.m
\
applescript.m
\
controls.h
\
controls.h
\
controls.m
\
controls.m
\
equalizer.h
\
equalizer.m
\
intf.h
\
intf.h
\
intf.m
\
intf.m
\
macosx.m
\
macosx.m
\
...
...
extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib
View file @
a45c3630
...
@@ -51,6 +51,37 @@
...
@@ -51,6 +51,37 @@
};
};
SUPERCLASS = NSObject;
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 = {
ACTIONS = {
createOutlineGroup = id;
createOutlineGroup = id;
...
...
extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib
View file @
a45c3630
...
@@ -3,13 +3,13 @@
...
@@ -3,13 +3,13 @@
<plist
version=
"1.0"
>
<plist
version=
"1.0"
>
<dict>
<dict>
<key>
IBDocumentLocation
</key>
<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>
<key>
IBEditorPositions
</key>
<dict>
<dict>
<key>
1617
</key>
<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>
<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>
<key>
915
</key>
<string>
54 452 185 199 0 0 1024 746
</string>
<string>
54 452 185 199 0 0 1024 746
</string>
</dict>
</dict>
...
@@ -21,9 +21,11 @@
...
@@ -21,9 +21,11 @@
</array>
</array>
<key>
IBOpenObjects
</key>
<key>
IBOpenObjects
</key>
<array>
<array>
<integer>
1617
</integer>
<integer>
21
</integer>
<integer>
21
</integer>
<integer>
1647
</integer>
<integer>
29
</integer>
<integer>
29
</integer>
<integer>
1617
</integer>
<integer>
2029
</integer>
</array>
</array>
<key>
IBSystem Version
</key>
<key>
IBSystem Version
</key>
<string>
7H63
</string>
<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 @@
...
@@ -7,15 +7,12 @@
objects
=
{
objects
=
{
014CEA410018CDE011CA2923
=
{
014CEA410018CDE011CA2923
=
{
explicitFileType
=
wrapper.cfbundle
;
explicitFileType
=
wrapper.cfbundle
;
fallbackIsa
=
PBXFileReference
;
isa
=
PBXFileReference
;
isa
=
PBXBundleReference
;
path
=
VLC.bundle
;
path
=
VLC.bundle
;
refType
=
3
;
refType
=
3
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
};
014CEA420018CDE011CA2923
=
{
014CEA420018CDE011CA2923
=
{
buildRules
=
(
);
buildSettings
=
{
buildSettings
=
{
COPY_PHASE_STRIP
=
NO
;
COPY_PHASE_STRIP
=
NO
;
GCC_DYNAMIC_NO_PIC
=
NO
;
GCC_DYNAMIC_NO_PIC
=
NO
;
...
@@ -29,8 +26,6 @@
...
@@ -29,8 +26,6 @@
name
=
Development
;
name
=
Development
;
};
};
014CEA430018CDE011CA2923
=
{
014CEA430018CDE011CA2923
=
{
buildRules
=
(
);
buildSettings
=
{
buildSettings
=
{
COPY_PHASE_STRIP
=
YES
;
COPY_PHASE_STRIP
=
YES
;
GCC_ENABLE_FIX_AND_CONTINUE
=
NO
;
GCC_ENABLE_FIX_AND_CONTINUE
=
NO
;
...
@@ -87,8 +82,7 @@
...
@@ -87,8 +82,7 @@
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
089C1672FE841209C02AAC07
=
{
089C1672FE841209C02AAC07
=
{
fallbackIsa
=
PBXFileReference
;
isa
=
PBXFileReference
;
isa
=
PBXFrameworkReference
;
lastKnownFileType
=
wrapper.framework
;
lastKnownFileType
=
wrapper.framework
;
name
=
Foundation.framework
;
name
=
Foundation.framework
;
path
=
/System/Library/Frameworks/Foundation.framework
;
path
=
/System/Library/Frameworks/Foundation.framework
;
...
@@ -717,6 +711,10 @@
...
@@ -717,6 +711,10 @@
8E9390CD0565D6D300C7661C
,
8E9390CD0565D6D300C7661C
,
8E49720206417F6800370C9F
,
8E49720206417F6800370C9F
,
8E49720306417F6800370C9F
,
8E49720306417F6800370C9F
,
2A16E04106C4F08700C87B09
,
2A16E04206C4F08700C87B09
,
2A16E08006C5074F00C87B09
,
2A16E08106C5074F00C87B09
,
);
);
isa
=
PBXResourcesBuildPhase
;
isa
=
PBXResourcesBuildPhase
;
runOnlyForDeploymentPostprocessing
=
0
;
runOnlyForDeploymentPostprocessing
=
0
;
...
@@ -758,8 +756,7 @@
...
@@ -758,8 +756,7 @@
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
089C167FFE841241C02AAC07
=
{
089C167FFE841241C02AAC07
=
{
fallbackIsa
=
PBXFileReference
;
isa
=
PBXFileReference
;
isa
=
PBXFrameworkReference
;
lastKnownFileType
=
wrapper.framework
;
lastKnownFileType
=
wrapper.framework
;
name
=
AppKit.framework
;
name
=
AppKit.framework
;
path
=
/System/Library/Frameworks/AppKit.framework
;
path
=
/System/Library/Frameworks/AppKit.framework
;
...
@@ -792,6 +789,8 @@
...
@@ -792,6 +789,8 @@
8E55FB800459B0FD00FB3317
,
8E55FB800459B0FD00FB3317
,
8ED6C28703E2EB1C0059A3A7
,
8ED6C28703E2EB1C0059A3A7
,
8ED6C28803E2EB1C0059A3A7
,
8ED6C28803E2EB1C0059A3A7
,
2A16E03F06C4F08700C87B09
,
2A16E04006C4F08700C87B09
,
);
);
isa
=
PBXGroup
;
isa
=
PBXGroup
;
name
=
Classes
;
name
=
Classes
;
...
@@ -818,8 +817,7 @@
...
@@ -818,8 +817,7 @@
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
1058C7ADFEA557BF11CA2CBB
=
{
1058C7ADFEA557BF11CA2CBB
=
{
fallbackIsa
=
PBXFileReference
;
isa
=
PBXFileReference
;
isa
=
PBXFrameworkReference
;
lastKnownFileType
=
wrapper.framework
;
lastKnownFileType
=
wrapper.framework
;
name
=
Cocoa.framework
;
name
=
Cocoa.framework
;
path
=
/System/Library/Frameworks/Cocoa.framework
;
path
=
/System/Library/Frameworks/Cocoa.framework
;
...
@@ -866,6 +864,74 @@
...
@@ -866,6 +864,74 @@
//192
//192
//193
//193
//194
//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
//8E0
//8E1
//8E1
//8E2
//8E2
...
@@ -1710,6 +1776,8 @@
...
@@ -1710,6 +1776,8 @@
};
};
8ECA7E520563CD9500DFC000
=
{
8ECA7E520563CD9500DFC000
=
{
children
=
(
children
=
(
2A16E07E06C5074F00C87B09
,
2A16E07F06C5074F00C87B09
,
8E93909A0565D6D300C7661C
,
8E93909A0565D6D300C7661C
,
8E93909B0565D6D300C7661C
,
8E93909B0565D6D300C7661C
,
8E93909C0565D6D300C7661C
,
8E93909C0565D6D300C7661C
,
...
...
modules/gui/macosx/Modules.am
View file @
a45c3630
...
@@ -5,6 +5,8 @@ SOURCES_macosx = \
...
@@ -5,6 +5,8 @@ SOURCES_macosx = \
applescript.m \
applescript.m \
controls.h \
controls.h \
controls.m \
controls.m \
equalizer.m \
equalizer.h \
intf.m \
intf.m \
intf.h \
intf.h \
macosx.m \
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