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

58 Commits

Author SHA1 Message Date
Paul Licameli
8c486b50f6 Changes via History affect selection exactly as undo/redo...
... I don't know a good reason why they didn't before.  It was ancient (2010)
behavior.

This also means that RollbackState really will properly rollback the selection
too, even when there are redo items.

This simplifies away an odd special case.
2018-08-09 13:22:07 -04:00
James Crook
9357c90b43 Bug 1859 - Macros on files - Save Project causes overwrites. thus loses data
AudacityProject::Save() is now batch mode sensitive, and if in batch mode (and not overwriting) will save without prompting.
The loop for applying macros to multiple files now also clears down the project, using the new function ResetProjectToEmpty().
2018-08-05 21:34:24 +01:00
Paul Licameli
b8a8712ba0 make_movable -> std::make_unique 2018-05-10 00:56:36 -04:00
Paul Licameli
7a0475e39f Remove most uses of AUDACITY_OLD_STD 2018-05-10 00:56:36 -04:00
Paul Licameli
6d687136aa Bug1845: Remove the vacuous undo check, wasn't good enough anyway 2018-02-26 09:49:01 -05:00
Paul Licameli
43776f5263 Don't push vacuous undo items...
... Vacuous pushes should not happen yet, but may happen after the machinery
for pending track changes is added and used.

This will only detect the case of one new recording track being modified. It
will not detect it if that track is modified, but other tracks exist that are
not modified.
2018-02-21 19:20:57 -05:00
Paul Licameli
539e870302 Add machinery to TrackList for pending changes to tracks 2018-02-21 19:20:56 -05:00
Paul Licameli
4ef8da8f16 Revert "Preliminaries to support better interaction of undo and recording"
This reverts commit 6e75ae58ac56d9c94af5a4ce97951f627808473a, reversing
changes made to 714d53e00f803643131bb775858ac930b39dd5b8.
2018-01-14 21:36:33 -05:00
Paul Licameli
a0c3a4b43c Add machinery to TrackList for pending changes to tracks 2018-01-14 19:03:57 -05:00
Paul Licameli
cb403954fa Use std::[tr1::]unordered_(set|map), not the wxWidgets container macros 2018-01-08 18:22:51 -05:00
Paul Licameli
8bf3791edf TrackList constructed only by factory function, to avoid more trouble 2017-07-14 21:55:32 -04:00
Paul Licameli
63ae687baf Consolidation of Undo items not limited to three 2017-05-18 09:02:27 -04:00
Paul Licameli
38236a807c More new -> NEW, delete -> DELETE in comments 2017-03-17 17:52:41 -04:00
Paul Licameli
4ec7044639 Better calculation of space usage in undo history dialog...
... Don't double-count any block files.  Count each only in the latest undo
history state containing it, because you reclaim its space only by deleting
the history at least up to that state.

Block files may still be double-counted between undo history and the clipboard.
2016-11-07 16:46:36 -05:00
Paul Licameli
93c0b5a92d Add button to History dialog to clear the clipboard & space calc 2016-11-07 11:25:27 -05: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
4ecd93beff fix mac build! 2016-09-06 16:41:33 -04:00
Paul Licameli
35d3dd01f1 fix Windows build 2016-09-06 12:58:22 -04:00
Paul Licameli
c9bff2f0f4 BlockFile::GetSpaceUsage() returns an unsigned value 2016-09-06 12:39:57 -04:00
James Crook
af61389322 Fix memory leak in CalculateSpaceUsage
Memory leak was caused by diagnostics.
2016-08-18 21:50:34 +01:00
Paul Licameli
2ede67be96 Use type alias for pointer to BlockFile, which is still a dumb pointer 2016-08-16 12:29:59 -04:00
Paul Licameli
84a6456788 Iterate over all clips of a track, including cutlines, where needed 2016-08-13 20:17:55 -04:00
Paul Licameli
b548e641ae Simplify iterations over WaveClips outside of WaveTrack/WaveClip; ...
... also add some const qualifiers
2016-08-12 20:53:37 -04:00
Paul Licameli
a52f7f8410 new -> NEW in comments, so text search for naked new excludes them 2016-08-08 10:07:37 -04:00
Paul Licameli
8f02213e23 travis 2016-04-10 21:19:15 -04:00
Paul Licameli
f94b3b3afa Add some const qualifiers to BlockFile methods 2016-04-10 21:05:20 -04:00
Paul Licameli
a6ca36cdab TrackList holds smart pointers to tracks, Add() only takes rvalue refs to such 2016-03-26 15:41:31 -04:00
Paul Licameli
c5a70126eb TrackList always deletes tracks on destruction or when cleared 2016-03-26 15:41:29 -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
de75a00c10 Define movable_ptr and make_movable, use __AUDACITY_OLD_STD__ in fewer places 2016-03-25 20:27:25 -04:00
Leland Lucius
9dc9348127 Fixes bug #1344 (mac build)
In addition, the Xcode project can now build against the 10.6
or 10.7 SDKs.  All that is needed is to change the SDK version
and the other settings will change automatically.
2016-03-07 00:29:26 -06:00
Paul Licameli
88eeebcb8b Undoing and redoing of Tags...
Use reference counting (in std::shared_ptr) to avoid replicating Tags with each
Undo state.
2016-02-24 19:25:39 -05:00
Paul Licameli
e12a060751 Define UndoState 2016-02-24 19:10:40 -05:00
Paul Licameli
a5b6c9fd8f Add some const qualifiers; define TrackListConstIterator 2016-02-24 19:10:39 -05:00
Paul Licameli
a1c7b396b3 UndoStackElem has proper constructor and destructor; use std::vector 2016-02-24 19:10:36 -05:00
Paul Licameli
cd9bd79d83 Use an enumeration for UndoManager::PushState 2016-02-24 19:10:35 -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
55d85f1b25 Remove more uses of at(); use a std::vector of bare pointers, not wx array 2016-02-16 09:35:03 -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
38ba19183d One less indirection accessing SeqBlock 2016-02-03 22:17:07 -05:00
Paul Licameli
b89c2a130c Remove Track.h from other headers 2015-07-28 10:02:03 -04:00
Leland Lucius
4b9d81f228 Fix for bug #992 and add total space used to History 2015-05-30 15:56:46 -05:00
Leland Lucius
80c3705e7c Add new files and fix Linux includes 2015-04-17 17:37:28 -05:00
James Crook
dbe92940ad Added another missing #include "Diags.h" (UndoManager.cpp) 2015-04-17 23:11:20 +01:00
James Crook
13f8333873 First use of Diags.
Refined the Diags Macros, and used to actually monitor timings.
2015-04-17 22:43:14 +01:00
Leland Lucius
2457579091 Bug 765 - Delays using Edit commands and Draw Tool in long projects
A 4hr track used to take about 20s to cut a few samples. This is now significantly improved, to around 3s. Leland did this by

(a) moving the size calculation to when we examine the undo history, so it isn't slowing down the edits.
(b) in size calculation, using sizes that are cached rather than going to disk to find the sizes.
(c) writing the autosave file which is to an FFIle to a string first, i.e. using XMLStringWriter as a buffer for XMLFileWriter.

Step (c) may also make autosave marginally safer, as the risk of a partially updated autosave file is reduced.
2015-04-07 12:20:50 +01:00
james.k.crook@gmail.com
f5e593cc4c Paul L's new SelectedRegion class replacing use of t0 and t1. Also LabelTrack.h no longer in TrackPanel.h includes.
This change is believed to be a direct refactoring that does not change functionality.  It paves the way for more complex kinds of selection, such as selections involving frequency as well as time.  It also reduces risk of left and right edges being swapped in future code using SelectedRegion, as the default is to swap on assignment if needed.
2014-10-05 17:10:09 +00:00
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
lllucius
3ec8989265 Bug 510 - undo can change which tracks are selected, and focus
Must more extensive review of saving state

Try this one David.  I reviewed all actions in Menus.cpp and have added state
saving where it seemed to be missing.  I had no idea it would be so many (22). 
And that was only reviewing Menus.cpp.  I believe that will get them all since
all keyboard actions are tied to a menu or command action and they all go
through Menus.cpp. (I still have a few to review in TrackPanel.cpp though)
2013-10-23 20:14:09 +00:00