[vlc-devel] [PATCH v2 0/9] Introducing 15- and 31-band ISO equalizers

Ronald Wright logiconcepts819 at gmail.com
Sun Nov 29 00:11:14 CET 2015

This set of patches is an update of last year's patch set that introduces
improvements to the equalizer code, which include 15- and 31-band ISO
equalizers.  A new string variable known as "equalizer-bands-count" takes on
values "10" (for a 10-band equalizer), "15" (for a 15-band equalizer), and "31"
(for a 31-band equalizer).  The equalizer module features a new band parsing
technique that matches the way bands are parsed in the Qt interface.  The
provided preset tables for the ISO bands contain interpolated values from the
preset tables for the VLC bands.  If an appropriately formatted string of band
values is given instead of the preset, the corresponding values will be
interpolated if they do not match the current type of equalizer or will be
taken as is otherwise (see long text under "Bands gain" for more information).
It should be noted that the updated code distinguishes between rounded
frequencies, which are appropriate for display, and true frequencies, which are
actually used for IIR filtering and interpolation.

The default type of equalizer used by the desktop version of VLC is still the
10-band VLC equalizer with frequency centers 60 Hz, 170 Hz, 310 Hz, 600 Hz,
1 kHz, 3 kHz, 6 kHz, 12 kHz, 14 kHz, and 16 kHz.  The type of equalizer that
will always be used by LibVLC is the 10-band ISO equalizer with displayable
frequency centers 31.5 Hz, 63 Hz, 125 Hz, 250 Hz, 500 Hz, 1 kHz, 2 kHz, 4 kHz,
8 kHz, and 16 kHz.

Currently, the extra equalizers can only be loaded from the desktop Qt
interface, since I have close to no experience in OS X development, and the
goal of LibVLC is to keep the API as simple as possible.  However, the code for
LibVLC and the OS X interface has been adapted to the updated code in
equalizer_presets.h so that it can compile.  The Lua interface has also been
updated so that it is in sync with the latest equalizer code.

Ronald Wright (9):
  Add monotone cubic interpolation support
  Add utilities for parsing equalizer band strings
  Integrate monotone cubic interpolation and equalizer band parsing
  equalizer: Add support for extra sets of ISO bands
  Qt: Add support for extra sets of equalizer ISO bands
  lua: Update equalizer support
  http lua: Update to match updated equalizer support in Lua backend
  macosx: Adapt to new equalizer code with extra sets of ISO bands
  libvlc: Adapt to new equalizer code with extra sets of ISO bands

 include/vlc_eqz_util.h                         |  92 ++++
 include/vlc_interpolation.h                    | 127 +++++
 lib/audio.c                                    |  18 +-
 lib/media_player.c                             |  14 +-
 lib/media_player_internal.h                    |   2 +-
 modules/audio_filter/equalizer.c               | 134 +++--
 modules/audio_filter/equalizer_presets.h       | 674 +++++++++++++++++++++++--
 modules/gui/macosx/AudioEffects.m              |  27 +-
 modules/gui/qt4/components/extended_panels.cpp | 213 +++++---
 modules/gui/qt4/components/extended_panels.hpp |   5 +-
 modules/lua/libs/equalizer.c                   | 249 ++++++---
 po/POTFILES.in                                 |   4 +
 share/lua/http/css/main.css                    |  17 +
 share/lua/http/dialogs/equalizer_window.html   |   3 +
 share/lua/http/js/controllers.js               |  59 ++-
 share/lua/http/mobile_equalizer.html           |   3 +
 share/lua/intf/modules/httprequests.lua        |   1 +
 src/Makefile.am                                |   4 +
 src/libvlccore.sym                             |   6 +
 src/misc/eqz_util.c                            | 296 +++++++++++
 src/misc/interpolation.c                       | 216 ++++++++
 21 files changed, 1917 insertions(+), 247 deletions(-)
 create mode 100644 include/vlc_eqz_util.h
 create mode 100644 include/vlc_interpolation.h
 create mode 100644 src/misc/eqz_util.c
 create mode 100644 src/misc/interpolation.c


More information about the vlc-devel mailing list