1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-17 17:17:40 +02:00

91 Commits

Author SHA1 Message Date
Paul Licameli
079eb3e98e Bug1375: Fix sync-lock behavior ...
... which was broken by commit 3015a9c8d9229406f8c33fd32ffc64c11d77ca54
2016-05-21 02:04:12 -04:00
Paul Licameli
1033095696 RAII for locking of WaveTracks 2016-04-12 00:55:59 -04:00
Paul Licameli
f94b3b3afa Add some const qualifiers to BlockFile methods 2016-04-10 21:05:20 -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
Paul Licameli
f42a953752 Track duplication methods return unique_ptr, although some callers...
... simply release() them for now.
2016-03-26 11:50:10 -04:00
Paul Licameli
2157b92b7b Another const argument, another "override" 2016-03-02 12:47:52 -05:00
Paul Licameli
0c9deb398c Fix mac build. No standard headers in Audacity.h. 2016-03-01 12:22:37 -05:00
Paul Licameli
48a5f55179 More const qualifiers, for copying of tracks, and replacing in lists of tracks
... (the tracks may be const, not the list, when replacing)
2016-02-27 17:30:30 -05:00
Paul Licameli
6f63226291 More const qualifiers and mutable members for drawing of tracks 2016-02-27 13:04:34 -05:00
Paul Licameli
d097c7fad4 More const qualifications. The source of a paste is const. 2016-02-27 12:54:57 -05:00
Paul Licameli
70c1d57591 More const qualifications, and mutables, for functions that draw tracks...
... The display related  members that had to become mutable are probably
ones that don't belong in the track classes, ultimately.
2016-02-27 12:35:17 -05:00
Paul Licameli
05f5375e4a Use std::vector for wave track locations 2016-02-27 12:08:03 -05:00
Paul Licameli
60bcd7aea2 Fix warnings for unused variables and functions 2016-02-26 14:56:26 -05:00
Paul Licameli
4a6fd96a97 Commented out some unused functions 2016-02-26 12:35:30 -05:00
Paul Licameli
a5b6c9fd8f Add some const qualifiers; define TrackListConstIterator 2016-02-24 19:10:39 -05:00
Paul Licameli
9bf098c7d9 Sweep unnecessary wxString copies: rest 2016-02-23 02:15:56 -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
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
Paul Licameli
507cee7ee5 One less indirection accessing Region 2016-02-02 11:49:53 -05:00
Paul Licameli
d70ff3337d Bug501: Improve time-shift of clips between tracks...
... When you click in a stereo clip, move the correct partner clip with it.

When you click in the selection and it spans clips, move all clips containing
any part of the selection.  (As horizontal dragging does.)  Even if these are
not all within the same stereo track.

I implemented this rule:  If any clip moves up (or down) by n audio tracks
(not counting the label tracks), all clips must move the same number, and
all must move from mono to mono or left to left or right to right.  If that
is not possible, no move happens.
2016-01-24 23:08:10 -05:00
Paul Licameli
e9479e6c26 Bug671: Really fixed by the fix for bug389, but this is some extra safety. 2016-01-23 20:31:11 -05:00
Steve Daulton
8a6edf3623 Add custom track name defaults to preferences 2016-01-21 02:42:25 +00:00
Paul Licameli
b84c1b322e Bug1169: end the separate treatment of lin vs. log display bounds for spectrum...
... also make WaveTrack responsible for storing and validating the bounds
... also let the bounds vary per-track even though other settings are default
... also change some code names to mention "period" not "undertone"
2015-09-06 21:47:14 -04:00
Paul Licameli
9c483e2e86 Add (redundant) #include "Experimental.h" in all .cpp files using the symbols 2015-08-31 17:56:10 -04:00
Paul Licameli
80d7ed36f0 Bug1162: Be careful remapping db scale extremes, when the db limit value changes 2015-08-27 16:06:13 -04:00
Paul Licameli
555aa14e9e Bug1160: Fix scale limits in waveform views 2015-08-26 07:24:20 -04:00
Paul Licameli
b11f57a643 Fix bugs in retraction of Waveforms preferences page 2015-08-19 11:52:31 -04:00
Paul Licameli
4a704af03f Restore Waveform (dB) to Tracks preferences for default view mode 2015-08-19 10:21:09 -04:00
Leland Lucius
37168ebbf6 Merge remote-tracking branch 'upstream/master' into wx3 2015-07-28 15:06:25 -05:00
Paul Licameli
51d7b3670c Remove LabelTrack.h from other headers 2015-07-28 10:02:07 -04:00
Paul Licameli
d39eaa4e65 Remove WaveTrack.h from other headers 2015-07-28 10:02:05 -04:00
Paul Licameli
5abbd463b2 Waveform dB is not a track type. Logarithmic is a Wavetrack scale type...
... Also removed one line from the track control drop-down, and changed
accelerators to more mnemonic choices.

Also the open page of View Settings... determines track view type after OK
2015-07-28 08:08:13 -04:00
Paul Licameli
0c4418af22 Boilerplate for empty waveform preferences, analogous to Spectra 2015-07-28 08:08:10 -04:00
Paul Licameli
adb4a534e8 Pitch is no longer a special view type... && bug fixes 1040, 1041
... It is a choice of algorithm in spectrogram settings, and any frequency
scale may be chosen with it.  Spectral selection works in it.
2015-07-27 23:01:20 -04:00
Paul Licameli
f74713f020 WaveTrack::WaveTrackDisplay does not encode scale or spectral selection...
... SpectrogramSettings does that instead, and Preferences or View Settings
are the user interface for changing it.

Handle invalidation of spectrogram pixel cache for scale type changes,
just as for other changes of settings.  No more
TrackArtist::InvalidateSpectrumCache().

View type of track now switches to Spectrum when applying or OKing the
View Settings... dialog and the Spectrogram page is open (and for now
it is still the only page)
2015-07-27 23:01:04 -04:00
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
Leland Lucius
9b9c8cc073 Round 5 of wx3 changes
FileDialog now complete on Linux.  Needs some fine tuning on
Windows and OSX.
Builds with wx3 and gtk2 or gtk3.
Still more effect work to do.
2015-07-14 23:33:53 -05:00
Paul Licameli
ccebaf9d95 Bugs 1043, 1044 -- Be careful with new display modes in preferences
Write a new key so version 2.1.0 isn't confused by the reordered values

Add some future proofing against similar to 2.1.1 code
2015-06-23 13:12:07 -04:00
Leland Lucius
de1fe0ae37 Fix for bug 2015-06-15 23:38:02 -05:00
Paul-Licameli
1992b0c7e3 Fix a compilation warning, make some member functions const 2015-05-29 00:35:00 -04:00
Paul-Licameli
bdc2839112 Preliminaries for bug 900
Create WaveTrackCache as a utility class but don't use it anywhere yet.

The possible minor performance problem with effects is fixed by changes
in WaveTrack::GetBestBlockSize().
2015-05-26 20:02:37 -04:00
Leland Lucius
3e1fbcd5ec Additional autosave speed improvement and 1 fix
This changes the autosave XML file to a binary representation
during writing to speed up autosave processing.  A lot of the
time used during autosave is a result of having to convert and
print all of the values to the XML file.

Writing the same information, but in binary format, reduces
all of that to just the bare essentials and the actual write
I/O.

During recovery, the binary file is read and converted to
the real xML representation and processing happens as it
did before.

It is a noticeable difference with very long or many tracks.

The included fix has to do with append recording.

Say you have 3 tracks and you want to append recorded audio
to the middle track.  Sometime later Audacity crashes and
upon recovery, the recorded audio is actually appended to
the third track, not the second one.

This fixes that by adding an "autosaveid" to each track as
it is written to the autosave file.  The same ID is written
to the recording recovery appends to the autosave file.

Then, during recovery, the IDs are matched up and the audio
gets appended to the proper track.

These autosaveid attributes are only present in the autosave
file and not in saved project files.
2015-04-17 16:58:26 -05:00
Paul-Licameli
e26ab98e0e Bug 828 (partial) - Don't divide by zero in Contrast dialog 2015-04-09 19:21:39 -04:00
Paul-Licameli
0a69283a7e Fix linux compilation 2015-04-08 12:15:30 -04:00
Paul-Licameli
d37a730f56 Bug822 - memory leak and orphans when paste eliminates cutlines 2015-04-08 09:37:46 -04:00
v.audacity@gmail.com
7e96305991 Get rid of an unused var to avoid compiler warning. 2015-02-19 11:17:40 +00:00
v.audacity
5f1ce03e32 PRL's fix for bug 827 2015-02-19 11:08:58 +00:00
lllucius
b9647586af Committing patch from bug 2015-01-04 19:44:54 +00:00