1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-15 08:07:41 +02:00

334 Commits

Author SHA1 Message Date
James Crook
8c8f38079d Make default theme depend on EXPERIMENTAL_DA #define. 2017-04-03 13:18:34 +01:00
James Crook
028ed19d90 Sync with DarkAudacity 2017-04-02 23:07:13 +01:00
Paul Licameli
a1b88fe8d6 Fix assertion in MIDI prefs when there are no devices 2017-03-31 13:02:57 -04:00
Paul Licameli
3bb04245c5 Strong exception safety in all uses of XMLFileWriter...
... Strong, meaning that the file at the specified path is created or modified
only if all write operations complete without exceptions, barring one very
unlikely possibility that a final file rename fails, but even in that case the
output is successfully written to some path.

This commit does not add throws, but changes the type thrown to a subclass of
AudacityException, so that GuardedCall will cause the user to see an error
dialog in all cases.

Duplicated logic for making temporary files and backups is now all in one
place, the class XMLWriter.

There may be more new GuardedCalls than necessary -- the catch-all for the
event loop, AudacityApp::OnExceptionInMainLoop, might be trusted instead in
some cases --  but they are sufficient.
2017-03-18 11:45:33 -04:00
Paul Licameli
58574f2f78 Redo type HFFT as a smart pointer, remove malloc and free 2017-03-17 17:52:51 -04:00
Paul Licameli
18be1bdad6 Remove naked new[] in: tracks 2017-03-17 17:52:47 -04:00
Paul Licameli
8ddbc1d3d3 Assume number of spectrogram bins = 1/2 FFT window in fewer places...
... and that they have equal width on the linear scale
... also simplify the logic involving zero padding factor

This is more preparation for constant-q.
2017-03-17 17:52:28 -04:00
Paul Licameli
d831318132 simplify SpectrogramSettings::GetScale; abstract frequency-to-bin...
... this is a preparation for the constant-q feature, if we want it.
2017-03-17 17:52:27 -04:00
Paul Licameli
5036583549 Fewer inclusions of AudacityApp.h 2017-03-17 17:52:24 -04:00
Paul Licameli
463e7d971d Make EXPERIMENTAL_FIND_NOTES work again 2017-03-17 17:52:16 -04:00
Gale Andrews
83ae58db9f region > audio
Fits better with future proposed changes
2016-11-18 22:58:37 +00:00
Gale Andrews
cb36c53eda Fix wording for "Select all... if none" 2016-11-11 17:31:27 +00:00
David Bailes
597da6fda3 Correct duplicate access in Preferences:tracks 2016-10-26 13:29:46 +01:00
David Bailes
a79596fb4e Add a setting for whether labels can be created by typing
Added a setting for whether labels can be created by typing in a label track.
The setting can be changed in either the Tracks menu, or the Tracks category in Preferences.
By default the setting is set to on.
2016-10-26 13:11:07 +01:00
Gale Andrews
6daa2a3a93 Shorter Time Shift wording, clarify (dB) range
Also gets rid of horizontal scroll bar, at least on Windows.
2016-10-22 20:09:46 +01:00
windinthew
d5a6b83fe0 Fix issues reported on Wording page 2016-10-14 16:36:41 +01:00
Paul Licameli
f993f1eadf Regularize casts as (int), so they are easier to find and review 2016-09-20 08:42:11 -04:00
Paul Licameli
5d5edecca5 Remove unnecessary semicolons 2016-09-18 10:36:53 -04:00
Paul Licameli
88611a4530 Fewer C-style pointer casts of tracks; comments justify static_cast 2016-09-15 12:12:43 -04:00
James Crook
0f5260e600 Bug 1512 - Extended Import: Crash dragging an importer when there are no rules 2016-09-12 20:49:49 +01:00
Sven Giermann
ce09f4b883 Make RuleTable scrollable & DnD move instead of copy
Having lots of rules in RuleTable may lead to an assertion failure on opening preferences dialog:

> assert "sz.x <= 1000 && sz.y <= 750" failed in
> PrefsDialog::PrefsDialog(): Preferences dialog exceeds max size

This change will make the RuleTable scrollable (as it is/was when creating many rules) instead of expanding the dialog size.
Further I had to fix the calculation of the clicked row from the given coords. Even without this proposed change for scrolling, the calculated row has always been the one above the clicked row - maybe this changed in wxWidgets 3.0.
Now it uses CalcUnscrolledPosition() which seems to work fine even without scrolling.

Last change is for drag and drop mode: rules are not being copied, but moved on dnd - I changed this to reflect this mode on the cursor while dragging an item.
2016-09-12 17:09:42 +01:00
Paul Licameli
ed21545c80 pixel column counts and sample window sizes use unsigned types 2016-09-11 20:28:13 -04:00
James Crook
65c7e8051a ThomasFeher - Unused parameters clean up. 2016-09-11 20:31:49 +01:00
James Crook
545d741eb2 Make Audacity source more like DarkAudacity source. 2016-09-11 13:03:37 +01:00
James Crook
923eefaf90 Add code from merging.
This brings more of the code from DarkAudacity into Audacity, though not yet enabled.  This will make cherry picking later easier.
- Changing colour of html displays now possible, as colour links are visible for substitution.  (Can't use css as wxHTML is very limited).
- Export can now be preset to a particular format independent of preferences.
- SnapTo reversion on zoom now a DA controlled option.
- Caching of pinning preference for faster repaint because preferences are slow.
- Record Append now has sensible limit on number of tracks, rather than giving an error, and flipping the meaning of shift is now DA controlled.
2016-09-10 21:34:14 +01:00
Gale Andrews
973358339d Pinned option first (more logical), add access key 2016-08-15 15:40:24 +01:00
Paul Licameli
fe5ab9a462 Remove the naked new in allocation of AudacityProject 2016-08-14 15:24:59 -04:00
Gale Andrews
f7a85f4d52 Fix typo in label 2016-08-11 17:12:00 +01:00
Paul Licameli
8226441210 use vector of smart pointers to ExtImportItem objects 2016-08-11 11:51:33 -04:00
Paul Licameli
256a595d0f Use const 2016-08-11 11:51:33 -04:00
Steve Daulton
75f1f30fcb Add track scrolling shortcut to mouse preferences 2016-08-10 19:56:16 +01:00
James Crook
8dd93ef2a8 Bug 1467 - New pref for pinned head should move to the Prefs>Tracks
Also updated the wording as per comment #2 in Bug 1467.
2016-08-10 18:38:37 +01:00
Paul Licameli
8572b425c1 More safenew 2016-08-10 11:05:51 -04:00
Steve Daulton
586074bab8 Add missing hyphen 2016-08-09 18:56:37 +01:00
Steve Daulton
256a8aaedd Consistent vert/horizontal waveform zoom/scroll
Shift+Wheel -> scroll
Ctrl+Wheel -> zoom
Ctrl+Shift+Wheel -> Waveform dB end range adjust (when visible).
2016-08-09 17:01:05 +01:00
Paul Licameli
fd2e36e0c8 Remove some naked new amd delete in: FFmpeg 2016-08-08 07:51:24 -04:00
Paul Licameli
20bee00115 Remove some naked new amd delete in: tracks and clips 2016-08-08 07:30:44 -04:00
windinthew
e24673fb89 Add missing access key 2016-07-16 15:46:37 +01:00
James Crook
163063f516 Merge pull request #143 from RaphaelMarinier/remove-old-fft2
Code cleanup: removed the old real FFT code not used for a long time
2016-07-13 18:32:42 +01:00
Paul Licameli
84c0337aba Fix TAB key navigation on Mac for all dialogs (not only for panels) 2016-07-10 17:12:27 -04:00
Paul Licameli
e0f6ed9972 Rewrite wxPanelWrapper passing the base class as a template 2016-07-10 17:12:27 -04:00
James Crook
0a16141ee5 Flag PortAudio and PortMixer unhandled error returns. 2016-07-10 21:40:49 +01:00
James Crook
07090e691b Bug 1220: Residuals.
Space required in path name.  Also force old names that were set to temp directory to update to ones that aren't on Mac too.
Something to test on Mac -> What happens if suggested directory does not exist?
2016-07-06 16:01:23 +01:00
James Crook
eb32438907 Bug 1220 - OS X: Audacity's temp dir defaults to location that is cleaned up on reboot
Untested on Mac (I don't have one).  Might perhaps even fail to compile.  But 1220 is a P1.  Important enough for our schedule that we clear it now that I am happy enough to risk a 'blind patch'.
2016-07-06 12:10:26 +01:00
Paul Licameli
9f6eedf6e4 Bug682: fix Tab key navigation in Preferences, particulary Keyboard 2016-06-25 19:38:38 -04:00
Paul Licameli
4739f3e27b Compensate for wxW 3 tab navigation deficiencies on Mac...
... using char hook event handlers.  We don't need to go the extreme length
of patching wxWidgets source.
2016-06-25 19:14:05 -04:00
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
e39da0c42b New preference for pinned play head, also in Transport menu 2016-06-01 13:25:01 -04:00
Paul Licameli
4394ad1b70 Add a check item to Tracks menu for the scrolling beyond zero preference 2016-05-10 12:47:34 -04:00
Paul Licameli
a3b7305386 Remove obsolete instructions in Mouse Preferences for scrubbing 2016-05-09 23:16:07 -04:00