Commit Graph

299 Commits

Author SHA1 Message Date
Raphaël Marinier 6ac68db5be Code cleanup: removed the old real FFT code not used since at least 2009.
I confirmed that the currently used real FFT code in RealFFTf.cpp is faster
than the old one with a quick benchmark that calls PowerSpectrum() on 4-minute
audio file, with different sizes of computation windows:

Window_size: 256 method: new FFT time_s: 0.393
Window_size: 256 method: old FFT time_s: 1.065
Window_size: 1024 method: new FFT time_s: 0.38
Window_size: 1024 method: old FFT time_s: 0.958
Window_size: 4096 method: new FFT time_s: 0.413
Window_size: 4096 method: old FFT time_s: 1.084
Window_size: 16384 method: new FFT time_s: 0.518
Window_size: 16384 method: old FFT time_s: 1.338
Window_size: 65536 method: new FFT time_s: 0.655
Window_size: 65536 method: old FFT time_s: 1.524
Window_size: 262144 method: new FFT time_s: 0.735
Window_size: 262144 method: old FFT time_s: 1.873
2016-06-25 20:40:16 +02:00
Paul Licameli ad711e783b Bug470: Disable some Manage Curves buttons when no curve selected 2016-06-22 19:10:36 -04:00
Paul Licameli db137ddf76 wxWindow takes ownership of its wxAccessible, so we can use safenew. 2016-05-06 21:03:37 -04:00
Paul Licameli 1bdd1a07ab Similarly for Equalization: avoid assertion in debug build, if you ESC...
... while dragging a point in "Draw Curves".
2016-04-25 01:04:38 -04:00
Paul Licameli 2d7e21536e Sweep for filename copying: prefs and effects 2016-04-10 22:25:49 -04:00
Paul Licameli 3ced1503ee Make EXPERIMENTAL_EQ_SSE_THREADED compilable, at least on Windows. 2016-04-03 11:37:18 -04:00
Paul Licameli 3015a9c8d9 Track cut and copy functions return a unique_ptr argument...
... Because they are factory functions.
2016-03-26 11:50:13 -04:00
Paul Licameli 5ef4dd46a5 TrackFactory functions return std::unique_ptr, although some callers...
... release() them for now.
2016-03-26 11:50:12 -04:00
Steve Daulton 3cab059038 Tweak EQDefaultCurve update path
and add log message to aid testing.
2016-03-21 11:59:41 +00:00
Steve Daulton 7d5e54e364 Fix some assert error in EQ curves
Selected EQ curves in Draw mode should now retain their name
when they are selected.
2016-03-08 21:55:07 +00:00
Steve Daulton 4173bb1a37 Fix error in string comparison 2016-02-29 13:26:38 +00:00
Steve Daulton 36f3f8aab2 Update Eq factory presets on upgrade
Add search paths for EQDefaultCurves.xml
2016-02-27 21:20:53 +00:00
Steve Daulton b5d2528c03 Enable Eq factory presets to be updated on upgrade 2016-02-27 13:17:27 +00:00
Paul Licameli 60bcd7aea2 Fix warnings for unused variables and functions 2016-02-26 14:56:26 -05:00
Paul Licameli 99f161c36c Sweep unnecessary wxString copies: effects 2016-02-22 22:31:47 -05:00
Paul Licameli dbaa811577 Stack-allocate where possible! ...
... Removed many unnecessary naked news and deletes.
2016-02-17 18:15:57 -05:00
Paul Licameli df6a7c5464 More uses of safenew for classes we derive from wxWindow classes...
... Also removed some unnecessary deletes of widgets that are managed by parent
windows
2016-02-14 20:39:28 -05:00
Paul Licameli 3f237daddc Use macro safenew for many allocations of wxWindow subclasses 2016-02-14 20:20:19 -05:00
Paul Licameli 6052b5f9be Throw by value, catch by reference: don't use pointers...
... that's what the better books on C++ recommend.
2016-02-14 19:36:17 -05:00
Paul Licameli 7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
Paul Licameli 56e7653343 "delete"->"DELETE" in comments, easier to find remaining naked operator delete 2016-02-14 18:50:45 -05:00
Leland Lucius 76436fc3fd Don't display message if the EQ curves file is missing.
I can't think of a reason for having the message.  Either the curves
are there or they are not.
2015-12-21 23:38:05 -06:00
Leland Lucius 2a234d86f8 "Should" fix the remaining issue in bug #1081 2015-08-27 10:16:28 -05:00
Leland Lucius e15236efdc Fix the assertion mentioned in bug #1081 2015-08-27 09:38:09 -05:00
Paul Licameli 1b8f44d053 ViewInfo does not redundantly (or inconsistently!) store the screen width 2015-08-21 22:39:18 -04:00
Leland Lucius 5a9025b558 Hopefully this'll fix the assertions 2015-08-16 15:04:24 -05:00
Paul Licameli cf45a58fdc dB range is now in Waveforms preferences and view settings, and ...
... the preference is independent of those in Interface and Recording
preferences, which affect meters, sound activated recordings, time track,
and Plot Spectrum
2015-08-15 18:07:29 -04:00
Leland Lucius 7a77109c7b Should fix slider alignment (wx3) issue and fix bugs #1081 and #1088 2015-08-15 12:45:16 -05:00
Leland Lucius 1e195ecea6 Fix many wx3.1.0 assertions now to prevent double testing 2015-07-30 02:05:23 -05:00
Paul Licameli d39eaa4e65 Remove WaveTrack.h from other headers 2015-07-28 10:02:05 -04:00
Steve Daulton df8ddde874 Added dB - linear amplitude conversion macros. 2015-07-24 21:59:34 +01:00
Paul Licameli e0f4595485 TrackArtist, LabelTrack, TimeTrack, Envelope functions take ZoomInfo...
... and SelectedRegion, and not ViewInfo or zoom level as a double.

Also some leftOffset arguments.

Assumptions of uniform zoom level persist in TrackArtist::DrawClipSpectrum and
in TrackArtist::DrawClipWaveform but no longer in the rest.
2015-07-19 11:44:13 -04:00
Paul-Licameli bd08c7c778 Envelope event handlers do not directly use zoom (pps) values 2015-07-19 11:44:08 -04:00
Leland Lucius 0ef7ccb1d1 Fix permissions...not sure why this was happening though 2015-05-29 19:49:28 -05:00
Leland Lucius c816d2562d Fix for bug #985
Was not able to reproduce the assert mentioned in the report though.
2015-05-29 11:32:55 -05:00
Leland Lucius d0d8f37d85 Correct dialog background color on GTK 2015-05-19 09:51:06 -05:00
Steve Daulton d9f3c432d4 Fix for bugs 943, 942, 941, 843 and 775.
Non-linear effects now process tracks before mixing.
This will be slower when multiple tracks are selected
but the preview should now match the applied effect.
SetLinearEffectFlag(true) allows linear effects to
preview more quickly when multiple tracks selected, by
pre-mixing selected tracks.
Simple generators like Tone and Noise may be marked as
'linear' so that they only preview a few seconds.
Generators that vary over time (such as Chirp) must use
the full duration that is set. As this currently
requires calculating the full duration, preview for
'non-linear' generators are not limited to the preview
length.
2015-05-15 12:51:51 +01:00
James Crook ccc71c31b6 Some effect descriptions (for Doxygen). 2015-05-09 17:36:54 +01:00
Leland Lucius 4d0de66523 Fix for bug #387
As this is a reversal of change committed in 2007 with no real
explanation or history behind that change other than it was
done for Export, we should probably give exporting a bit of a
workout.
2015-05-03 23:36:30 -05:00
Daniel Winzen 038989e41d Fix uninitialized variable in Equalizer effect
Delete mCustomBackup, as it is never used
2015-04-30 11:49:21 +02:00
Leland Lucius 27657ddea7 Restore non-preset values when Factory Preset -> Defaults is selected 2015-04-27 10:52:42 -05:00
Daniel Winzen 92d522132e Variable cleanup 2015-04-23 18:30:38 +02:00
Leland Lucius 76864cb2d3 Fix EQ effect based on Peter's feedback 2015-04-22 13:02:55 -05:00
Leland Lucius 7a0aa43a82 Convert all wxTRANSLATE() to XO()
XO() can be used anywhere a string must be extracted for translation
but not automatically translated at runtime.
2015-04-18 23:03:49 -05:00
Leland Lucius 8fbfa460c4 Migrating the remaining effects
This brings the builtin, LV2, and VAMP effects inline with the
Audio Units, LADSPA, and VST effects.  All effects now share
a common UI.

This gives all effects (though not implemented for all):

User and factory preset capability
Preset import/export capability
Shared or private configuration options

Builtin effects can now be migrated to RTP, depending on algorithm.
LV2 effects now support graphical interfaces if the plugin supplies one.
Nyquist prompt enhanced to provide some features of the Nyquist Workbench.

It may not look like it, but this was a LOT of work, so trust me, there
WILL be problems and everything effect related should be suspect.  Keep
a sharp eye (or two) open.
2015-04-16 23:36:28 -05:00
Leland Lucius a03d65ef4d Cleanup lib-src
Removing:

id3lib
libresample
libsamplerate
taglib
2015-04-16 14:41:41 -05:00
v.audacity c70c02130a Martyn's patch for Bug 721 - Equalization: Changing language from non-English to English creates two "unnamed" curves. 2014-08-01 20:15:30 +00:00
RichardAsh1981@gmail.com 59b8cdeaa8 separate out Help system functions into their own source file (pending some extra ones) and change the required includes to accomodate this. As a result, some error class definitions have to move from .cpp file to .h file. 2014-06-06 21:34:36 +00:00
benjamin.drung@gmail.com 277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
martynshaw99 f1ce8a5cc2 Optimisation for speed, due to some code I found in an FFT routine. 2014-02-17 00:00:59 +00:00
james.k.crook@gmail.com 88bfabbd76 Indentation of EVENT_MAPS fixed. 2014-01-16 18:25:03 +00:00
james.k.crook@gmail.com d847ee7162 Andrew Hallendorff's SSE accelerated Equalization. 2014-01-16 17:55:35 +00:00
martynshaw99 3f1ebbe3dd Don't allow 'Classic Filters' to be applied to mixed sample-rate tracks, as we don't support that.
Fix a typo in the name of 'Classic Filters'.
Improve consistency layout as we switch filter types.
Remove a win warning in EQ.
Improve some code readability / change styles (please don't shoot me for that!).   OK, possibly increased the inconsistency.
2014-01-09 00:13:34 +00:00
martynshaw99 45973724b3 Eject if tracks are not all at the same sampling rate.
We could perhaps apply the filter at different sampling rates, but that would require a lot of reworking.
2014-01-08 01:03:31 +00:00
lllucius 8a260f33d0 Fix for bug #662
http://bugzilla.audacityteam.org/show_bug.cgi?id=662
2013-10-11 20:01:41 +00:00
martynshaw99 4f5de6d5e3 Quiet a bunch of 'unreferenced formal parameter' warnings on Windows.
The remaining ones are 'formal parameter's referenced by other platforms.
2013-09-25 22:57:54 +00:00
martynshaw99 4ce2643d5f Remove the
// Indentation settings for Vim and Emacs
etc. lines from all files, as Campbell's patch (except for other changes to Languages.cpp)
2013-09-24 00:14:37 +00:00
RichardAsh1981@gmail.com 81f6306d7f check the loop boundary before dereferncing the array to avoid an out-of-bounds access. Patch by Campbell Barton with revisions suggested by Alan Horstmann 2013-09-18 19:46:47 +00:00
james.k.crook@gmail.com dba81b3f1c Cleanup: Fixed lots of trivial MSVC warnings. 2013-08-25 21:51:26 +00:00
v.audacity 51e0391b7d Campbell Barton's patch for mem leaks, http://www.graphicall.org/ftp/ideasman42/audacity_mem_leak_fix_r12450.diff 2013-08-03 00:24:26 +00:00
v.audacity b33983833b Remove individual credits from built-in effects. Should always be in About dialog instead. 2013-06-21 22:10:50 +00:00
v.audacity fb94bd9203 Steve Daulton's fix for bug 599 2013-04-23 05:39:57 +00:00
martynshaw99 025c6ad6d6 Reset tool tip when the Flatten button is pressed. 2013-04-20 20:42:54 +00:00
martynshaw99 da3d1c5564 Fix bug 627 by taking into account changes to envelope code. 2013-04-20 20:29:23 +00:00
v.audacity c26b3c6b49 Campbell Barton's further patch to turn many, many tabs to our 3-space convenbtion 2013-02-23 04:33:20 +00:00
v.audacity fd14d9cfc0 slight adjustment to better distinguish caption from message 2013-01-08 00:57:15 +00:00
RichardAsh1981@gmail.com 2326bb8347 Commit most of patch-envelope-range-2.patch from Maarten Baert, excluding an unrelated change and some independent ones already committed. There is an outstanding potential issue with the TimeTrack:: copy constructor awaiting further input 2012-12-29 16:28:28 +00:00
richardash1981 c1e09f4aa8 convert wxstring to C string before passing to printf, compile error on GCC and run-time crash for Visual C++ 2012-11-27 21:44:05 +00:00
martynshaw99 c8bc60eff4 Fix bug #599 where we didn't do something sensible when somebody has a corrupt .xml EQ file.
Also improve the error message so they can see which file is corrupt.
2012-11-26 00:15:39 +00:00
v.audacity fd17ae3903 David Bailes patch for bug 577 2012-10-13 00:59:14 +00:00
v.audacity ebb4f530bb Apparently, wxConfigBase::Write() does not update values for next access on all platforms unless Flush() method is called. Added many calls to wxConfigBase::Flush() to make sure the Rad() calls get the right values. 2012-08-02 06:03:19 +00:00
v.audacity 33179c5253 Gale's fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=569 (P3) 2012-08-01 22:36:02 +00:00
james.k.crook@gmail.com dd97cae3d9 Removed some (hidden) Cleanspeech cruft that had been used to disable effects. Made some static text open to translation. Added more i18n hints (thanks Thomas Breinstrup). 2012-04-05 11:21:15 +00:00
james.k.crook@gmail.com 63f0b8b09e Fixed more internationalisation hints. 2012-03-20 16:17:37 +00:00
james.k.crook@gmail.com 2d96e01b3f Tidy up equalization curve renaming logic so it is clearer what is going on. 2012-02-09 18:22:43 +00:00
v.audacity 5f5b9778de Fixes per Vigilant Sentry (http://www.vigilantsw.com/)
* Fix memory leaks.

* Add comments about initializations and checking for successful results.

* Add checks for NULL deref.

* Consistency in "TODO" vs "TO-DO" comments!
2012-02-08 05:09:14 +00:00
v.audacity 458152070e Fix some problems with asserts in 11308. Further wording corrections. 2011-11-18 03:47:43 +00:00
v.audacity 59db8d4ad4 See http://bugzilla.audacityteam.org/show_bug.cgi?id=451#c31 and http://bugzilla.audacityteam.org/show_bug.cgi?id=451#c32. 2011-11-16 05:59:48 +00:00
martynshaw99 9a3e03a9cd Update Batch error message to match new dialog 2011-08-16 00:05:38 +00:00
martynshaw99 65fb8f4ff8 Reposition effects presets in audacity.cfg that were previously claimed by CleanSpeech. Still a lot of work to do! 2011-06-14 23:48:58 +00:00
mchinen 4ffd3ef681 fix wxStandardPaths call for EQDefaultCurves.xml retrieval. Needed static Get method, otherwise the default init creates a unix object 2011-01-02 21:17:33 +00:00
martynshaw99 7d7c00aa6a Improvements for non-win platforms, thanks to Leland.
EQDefaultCurves.xml should be in
    * Unix: prefix/share/appinfo
    * Windows: the directory where the executable file is located
    * Mac: appinfo.app/Contents/Resources bundle subdirectory
according to http://docs.wxwidgets.org/trunk/classwx_standard_paths.html#5514bf6288ee9f5a0acaf065762ad95d
I'm guessing that people making those releases should know what that means.  The Win one is already sorted.
2010-12-29 23:35:39 +00:00
martynshaw99 959c2909f3 More robust handling of default curves:
When looking for default curves, EQDefaultCurves.xml is searched for in the DataDir first, then the exeDir, then the error dialog is popped up.
Error dialog stays open while user visits web site to get EQDefaultCurves.xml.
The 'normal' set of curves EQCurves.xml is still in DataDir.
2010-12-11 22:32:07 +00:00
martynshaw99 9c0f933b0c Improvements to the missing EQCurves.xml error dialog. 2010-12-03 00:57:56 +00:00
martynshaw99 570f279ed0 Mark the "xml files" filter for importing for translation. 2010-11-07 23:17:51 +00:00
v.audacity 300d50a5d1 Standardize titles capitalization for buttons and static texts. 2010-10-16 08:37:27 +00:00
martynshaw99 500c84fe5d Improve the way that EQ curves with points beyond fs/2 are handled, making use of Envelope code. Why didn't I think of this before? :-) 2010-10-12 00:11:06 +00:00
windinthew 16716a6ef8 Can't use "v" for an access key - conflicts with Preview 2010-07-11 06:56:02 +00:00
BusinessmanProgrammerSteve df4e7d2bf5 Fix GCC warning and crash on EQ screen. 2010-07-02 05:33:50 +00:00
martynshaw99 992a1ab277 Hopefully read .xml and .XML files on case-sensitive OSs,
Remove 'delete' key functionality.
2010-06-30 23:58:56 +00:00
martynshaw99 e982fdb716 Add another SetName for the rename dialog. Maybe it'll help screen readers? 2010-06-27 22:28:04 +00:00
martynshaw99 31abee22b5 Add a suffix to duplicate names.
Remove double-click to rename, for keyboard users.
Added 'Names' to controls in the hope that screen readers will be helped.
Resizing works better.
Various tidy-up, inc. adding a few comments!
2010-06-27 22:20:58 +00:00
windinthew 336a4b4f0d * Added access keys for main EQ window
* Fixed a typo in "Manage Curves" help text and tweaked it a bit (uses "Save" word as per "Save/Manage curves..." button)
2010-06-18 20:39:32 +00:00
martynshaw99 da5c299292 New EQCurves management dialog. 2010-06-15 23:49:51 +00:00
martynshaw99 3ee3c168e6 Correcting the layout of EQ freq ruler (borders, off-by-ones).
Avoid an unnecessary alert in Envelope.
2010-03-23 01:27:12 +00:00
windinthew cfb9f77a9d Add "Inverse RIAA" to the list of available curves, given it will probably be the most heavily used of the possible inverted curves 2010-02-22 06:22:46 +00:00
martynshaw99 24c5b9869e Correct EQ curve (typos) 2010-02-22 01:18:31 +00:00
richardash1981 d45ac35dde Make EQ curve inversion a non-experimental feature, and change the name of the "flat" button to "flatten" - that's what it does to the curve. 2010-02-21 17:36:22 +00:00
ra e74978ba77 Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches 2010-01-23 19:44:49 +00:00