Completed Proposal Equalization

From Audacity Wiki
Revision as of 21:36, 8 March 2019 by BillWharrie (talk | contribs) (Create page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Proposal pages help us get from feature requests into actual plans. This proposal page is about improving the Equalization effect.
Proposal pages are used on an ongoing basis by the Audacity development team and are open to edits from visitors to the wiki. They are a good way to get community feedback on a proposal.

  • Note: Proposals for Google Summer of Code projects are significantly different in structure, are submitted via Google's web app and may or may not have a corresponding proposal page.

Proposed Improvements

1) Break the Equalization into two effects: a) Graphic Equalizer and b) Draw Curves (or some other name)
2) Rationalize the naming, saving and loading of presets

Developer/QA Backing

  • Bill


Making Two Effects

Currently, EQ curves created in the "Draw" mode cannot be translated directly to the "Graphic" mode. For example, create a severe EQ curve in Draw mode, switch to Graphic mode then back to Draw mode. This is confusing for users.

Breaking the current effect into two distinct effects would remove this confusion. Users familiar and comfortable with the classic Graphic Equalizer interface can choose that. Those who want more control can use the Draw Curves effect.

Naming, saving and loading of presets

This is currently a massive kludge.

There are two parallel systems:

  • the legacy "Save/Manage Curves" dialog
  • the new (and consistent across all other effects) "Manage" button
They do not play well together and can result in confusion and unexpected results. It was proposed in November 2018 that the Manage button's menu items dealing with presets be disabled, but this does not appear to have been done.

What happens when saving named presets is far from transparent to the user, and sometimes results in non-sensical displays. For example:

  • In either mode, make a curve - it will be called "unnamed"
  • Click the Save/Manage Curves button
  • Click the Rename button
  • Give the curve a name, click OK then OK again
  • In the Equalization window, beside "Select Curve:", the dropdown menu remains "unnamed"

The above is perhaps moot since I am proposing that we do away with the Save/Manage Curves system and present a consistent interface across all effects.

The problem with EQ presets

The file EQCurves.xml stores the named presets along with the frequency/level pairs necessary to define the curve. This is the file that is referenced by the legacy Save/Manage Curves button and dialog.

The file pluginsettings.cfg is the one used by the new Manage button presets system. In the case of the Equalization effect, the information stored in this file refers to named curves created in the EQCurves.xml file. It is therefore possible to:

  • create a named preset using the Save/Manage Curves system
  • create a named preset using the Manage button (that references the named curve displayed in the Select Curve dropdown)
  • delete the named preset using the Save/Manage Curves system
  • attempt to load the preset using the Manage button
It is also very simple to create a preset using the Manage button that references the "unnamed" curve. Changing the unnamed curve (which apparently happens a lot in the background) will result in a completely different curve being loaded using the Manage button.

The proposal for EQ presets

  • Use the Manage button; do away with the legacy Save/Manage Curves button and dialog.
  • Do away with the "Select Curve" dropdown.
    • use the Manage button load saved curves
    • simply display the name of the loaded curve
    • change the displayed name to "unnamed" if the curve is changed

It seems that EQCurves.xml may still be needed to save the extensive information needed to specify a curve. In that case the contents of EQCurves.xml should be managed by the preset saving and loading functions of the Manage button.