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