1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-02 17:09:26 +02:00

2575 Commits

Author SHA1 Message Date
Paul Licameli
1dffeace93 Access SpectrogramSettings via WaveTrack, which may be nondefault (no UI yet)...
... and add accessors to SpectrogramSettings, and remove TrackArtist functions
for getting and setting the globals.
2015-07-26 21:10:16 -04:00
Paul Licameli
a1621f7d1b Define and use SpectrogramSettings::GetFFTLength() 2015-07-26 21:10:15 -04:00
Paul Licameli
778e7726df Safe copy constructor and assignment for SpectrogramSettings 2015-07-26 21:10:14 -04:00
Paul Licameli
786c1da645 Move class SpectrogramSettings to its own file 2015-07-26 21:10:13 -04:00
Paul Licameli
b924c8ad62 Fix crash initializing GlobalPrefsDialog for special case of undefined temp...
... directory at startup time.
2015-07-26 19:53:17 -04:00
Paul Licameli
7b01339e51 Future subclasses of PrefsDialog may choose the preferred page by other means. 2015-07-26 19:53:15 -04:00
Paul Licameli
2361758316 PrefsDialog can vary the title prefix string 2015-07-26 19:53:13 -04:00
Paul Licameli
8399effc45 Table-driven construction of Prefs dialog. A factory for each kind of panel...
... and maybe a future plug-in protocol to break compilation dependency on
all of the PrefsPanel subclasses.
2015-07-26 19:41:20 -04:00
Paul Licameli
f37c37e67c Fix travis errors by other means 2015-07-26 19:23:55 -04:00
Paul Licameli
06d01ee424 Revert "More deconsting to satisfy Travis"
This reverts commit 90d03f835179c407d32d046c060ec96606abdab1.
2015-07-26 19:08:55 -04:00
Paul Licameli
ca30328e8f Revert "Fix Travis Build (const in structure)"
This reverts commit 13c17d3d5da5fdaf5d0f0ea99886b06194f4fc41.
2015-07-26 19:08:33 -04:00
Steve Daulton
5f164649c3 Fix build error on Linux.
Header file <limits> required for std::numeric_limits
2015-07-26 17:24:31 +01:00
Paul Licameli
cdc268f681 Bug 1097: Fix unsafe macro definitions which caused display bugs 2015-07-26 00:05:27 -04:00
Paul Licameli
a548303fdc Bug1090: Draw sync-lock tiles only when we should 2015-07-25 22:03:26 -04:00
Paul Licameli
dc9549df53 Bug1095 -- quantize times when drawing selection backgroun in wave track 2015-07-25 20:54:55 -04:00
Paul Licameli
03984c48a5 Bug1096: Fix crash changing view types 2015-07-25 19:58:24 -04:00
Paul Licameli
65f1bbe449 Disable spectral editing effects in one place in Nyquist.cpp...
... by passing invalid frequency values,
rather than by checking the 'view property in each effect.

Spectral editing is now permitted only for appropriate track view types.

But I would suggest reconsideration of the exact conditions in which we do
this.
2015-07-25 15:12:18 -04:00
Paul Licameli
7f7506dbcd Bugs 895, 1048: Now typing '-' can set upper or lower frequency to undefined 2015-07-25 14:41:44 -04:00
Paul Licameli
d3c9a9fd80 Bug1093: Now selection in Waveform view will not delete frequency selection 2015-07-25 13:53:39 -04:00
Paul Licameli
fd274e6d0e Bug892: Spec. Sel. Toolbar no longer forces selection below half project rate...
... rather, selections up to half of the maximum of project rate and all track
rates is permitted.

Also added some more cautions to the Nyquist code for spectral selection
effects, in case input frequencies exceed Nyquist for the track (as they
may now do).
2015-07-25 13:28:23 -04:00
Paul Licameli
cf9851c313 Bug 891: Changing low or high frequency in spectral selection toolbar...
... will not change the opposite bound, but will instead be constrained by it.
2015-07-25 11:41:52 -04:00
Steve Daulton
df8ddde874 Added dB - linear amplitude conversion macros. 2015-07-24 21:59:34 +01:00
Steve Daulton
da060228eb Update Normalize.cpp
Allow 2 decimal places in Normalize control (as requested by Gale).
I don't see any practical case where this is 'necessary', but it is a user request, there may be some obscure use case, and it does no harm.
2015-07-23 17:51:39 +01:00
Paul Licameli
0eca155060 Bug 1089: Spectrogram and Spectrogram log(f) views cannot be selected 2015-07-23 03:52:42 -04:00
Paul Licameli
007e0f7103 Bug 1089: Spectrogram and Spectrogram log(f) views cannot be selected 2015-07-23 03:51:46 -04:00
Steve Daulton
aa54699cf4 Improve input precision for some effects.
This addresses some minor regressions that occurred as a consequence
of the improved validation in 2.1.1.
2015-07-20 16:29:44 +01:00
James Crook
90d03f8351 More deconsting to satisfy Travis
const in struct not supported by Travis version of gcc.
2015-07-19 19:51:30 +01:00
James Crook
13c17d3d5d Fix Travis Build (const in structure)
Not supported by version of gcc used by travis.
2015-07-19 19:01:15 +01:00
James Crook
c4825967de Bug844 - Shortcuts that activate play abort recording
Six shortcuts for play after/before selection now added to shortcuts that are disabled if Audio is recording.
2015-07-19 18:43:49 +01:00
Paul Licameli
e70f91c64e Removed ShuttleGui.h from other headers 2015-07-19 12:31:03 -04:00
Paul Licameli
c02652b3ab rest of fisheye drawing code...
And finally, make ZoomInfo::zoom protected!
2015-07-19 11:44:29 -04:00
Paul Licameli
57e0ce56ed Draw tool does not assume editing is allowed all-or-none across the whole screen 2015-07-19 11:44:28 -04:00
Paul Licameli
e3a03ff07e Tick size on the time ruler will not jump when fisheye approaches ends 2015-07-19 11:44:26 -04:00
Paul Licameli
79e9f2b5dd Scrolling left of zero will work right with fisheye present. 2015-07-19 11:44:25 -04:00
Paul Licameli
a4482aa3af Stubs needed to eliminate remaining direct uses of ViewInfo::zoom ...
... and anticipate a problems fisheye will introduce with time ruler display
and horizontal scrolling past zero.

Will be used in waveform and spectrogram drawing, and in hit-test for sample
editing.  Those things will no longer make the assumption of uniform zoom
level across the width of the screen, though that does remain true without the
rest of the fisheye project.
2015-07-19 11:44:23 -04:00
Paul Licameli
c5754ee751 Remove Envelope::GetValueAtX 2015-07-19 11:44:19 -04:00
Paul Licameli
6b9e7506dd Ruler-drawing does not assume uniform zoom, ...
... and AdornedRulerPanel exposes an invalidation function for later use
2015-07-19 11:44:18 -04:00
Paul Licameli
8664c877ba WaveDisplay may or may not manage its own memory. 2015-07-19 11:44:16 -04:00
Paul Licameli
c14b326913 Publicize class SpecCache. TrackArtist will re-use it. 2015-07-19 11:44:15 -04: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
5316032fee An overload of Envelope::GetValues for nonuniform time steps, taking ZoomInfo 2015-07-19 11:44:11 -04:00
Paul-Licameli
c4386f4dc8 Ruler event handler does not directly use zoom (pps) value 2015-07-19 11:44:10 -04:00
Paul-Licameli
bd08c7c778 Envelope event handlers do not directly use zoom (pps) values 2015-07-19 11:44:08 -04:00
Paul-Licameli
1f9113f5cc Label track event handler does not directly use zoom (pps) values 2015-07-19 11:44:07 -04:00
Paul-Licameli
fe36b636cb Rewrite SnapManager to avoid using ZoomInfo::zoom 2015-07-19 11:44:05 -04:00
Paul-Licameli
5418ce377b Move PositionToTime, TimeToPosition into class ZoomInfo ...
... and use them in many more places in TrackPanel.cpp, so there are fewer
direct uses of ZoomInfo::zoom.

Also use then in horizontal scrolling code
2015-07-19 11:44:04 -04:00
Paul-Licameli
5a6d5d1443 Add and use some ZoomInfo and ViewInfo member functions, so we can eliminate...
... miscellaneous direct uses of ZoomInfo::zoom to test and set zoom level.

This includes all the remaining assignments to it.

But moving TrackInfo::PositionToTime and TrackInfo::TimeToPosition into
ZoomInfo and using them is needed to eliminate many more uses.

Also #if'd out the unused AudacityProject::OnZoomToggle().
2015-07-19 11:44:02 -04:00
Paul-Licameli
8ba9ea5621 ViewInfo has a base class, ZoomInfo, containing only what TrackArtist needs besides the SelectedRegion 2015-07-19 11:44:00 -04:00
Paul-Licameli
ab21f75c77 ViewInfo is becoming a smart class, not a dumb struct
Now it has:
A constructor
XML attribute serializer functions (but no XML tag of its own)

Also removed unused lastZoom
2015-07-19 11:43:59 -04:00
Paul Licameli
35e0897bf7 Avoid needless mix/max/rms calculation when showing individual samples. 2015-07-19 11:43:55 -04:00