Proposal Import/Export Eq Curves

Feature Implemented
The 1.3.13 release provided a simple method to import/export curves for the Equalization effect. This allows a "library" of curves to be made available for simple download and installation by any user.

See the History of this page and the discussion tab for previous background and discussion.

Developer/QA Backing

 * Martyn Shaw
 * GA

Use Cases and problems addressed
Equalization is a popular effect but did not encourage the widest usage.


 * The Preset list was over-dominated by "gramophone record equalization" curves to exclusion of others.
 * A simple method was needed to export curves so allowing users to share their custom curves with others and quickly build a library of Equalization settings such as "50s Radio", "soften vocals". This previously required the cumbersome solution of copying a screen-capture or manually editing the EQCurves.xml file.
 * Exportable curves could have "educational value" for people that are new to audio processing.

Implementation

 * Clicking the "Save/Manage Curves..." button brings up a dialog allowing export of the current curve settings to an XML file and import of a curve in correct .xml formatting. This button replaces the previous "Save As" and "Delete" buttons. "Custom" curves are now called "unnamed".
 * You can also save unnamed curves to the list of curves, rename, re-order or delete individual or multiple curves.
 * When you change the curves list, an automatic backup is made to EQBackup.xml, so if you make a mistake you can import that backup file. You can also restore the presets to the default set, which removes any customised curves you saved.

Ideas rejected in current implementation

 * Retaining the "Save As" and "Delete" buttons with new Import/Export buttons to right of these. This would have been more intuitive in many ways but meant more clutter on the interface for anyone only wanting the installed presets. Also the "Grid" checkbox would have to be moved down a line and other ways would be needed to do things like reorder the presets list.
 * Building the default curves into the application as before, to avoid users deleting or corrupting the defaults. Not building in means you can have easy developer updates to the defaults, without re-compile. Also you don't have to have the same frequency spacing for each curve. You could still have this flexibility with a built-in default if you turned the XML into a string and included it in an .h file, but it's more work.

Content of default curves
There is still some concern that a single RIAA curve in the defaults does not reflect the amount of interest in "gramophone record equalization" and will mean extra hunting around for 78 RPM curves. A possible counter argument is that advanced users might get better results by hunting around for a curve that matched the record exactly.

Reset original presets only
There is no direct way to reset the originally supplied presets without losing custom curves that you saved or imported.