Paul Licameli
721faf89c6
Avoid possible dangling pointer problems with EVT_TRACKLIST_UPDATED
2017-06-01 14:40:05 -04:00
James Crook
028ed19d90
Sync with DarkAudacity
2017-04-02 23:07:13 +01:00
Paul Licameli
e1473dfe76
void return, not boolean success, from some Track virtual functions...
...
... The return codes were mostly ignored anyway, and exceptions will be thrown
instead.
It seems there was also confusion whether the return values of Track::Paste
and Track::SyncLockAdjust were to indicate success or indicate whether there
was any change. No matter now.
2017-03-31 18:26:52 -04:00
Paul Licameli
6b84dc1c1d
Factory methods will return non-NULL or throw
2017-03-31 18:14:29 -04:00
Paul Licameli
a936aed643
Another use of type AudioTrack
2017-03-30 20:48:27 -04:00
Paul Licameli
7bda40f656
Common functions read and write mute and solo in Wave and Note
2017-03-30 16:00:27 -04:00
Paul Licameli
6c4cf46c06
Move mute and solo state into PlayableTrack
2017-03-29 13:45:08 -04:00
Paul Licameli
5fdd9fe05a
Remove TrackList::GetLink
2017-03-17 17:52:29 -04:00
Paul Licameli
64d163ebcd
Make EXPERIMENTAL_OUTPUT_DISPLAY compile
2017-03-17 17:52:18 -04:00
Darrell Walisser
11cfe75793
Add missing template instantiation
2017-02-07 13:11:33 -05:00
Paul Licameli
c439ceba03
Consistency among the methods of SyncLockedTracksIterator...
...
A sync-lock group is a maximal sub-sequence of the tracks, containing:
one or more wave tracks (and/or Note tracks, if MIDI is enabled),
and zero or more label tracks.
(These are not exhaustive of all of the types of tracks.)
So redefine Next(), Prev(), and Last() carefully to implement this intention.
2016-11-04 00:10:21 -04:00
Paul Licameli
67cec5ad83
Make many counts of tracks and channels unsigned...
...
... And in some places where a library uses signed types, assert that
the reported number is not negative.
What led me to this, is that there are many places where a size_t value for
an allocation is the product of a number of channels and some other number.
2016-09-07 10:11:41 -04:00
Paul Licameli
46f38708ed
Dir manager uses std::shared_ptr
2016-08-13 12:23:05 -04:00
Paul Licameli
f4aee7948f
Bug1429: Fix Mac crash in 2nd Audacity process enabling VST plugins
2016-06-27 23:40:50 -04:00
Paul Licameli
7e0de9a9bc
Fix incidentals to Bug 1331, though not the bug itself...
...
... See comments #1 and #2 at
http://bugzilla.audacityteam.org/show_bug.cgi?id=1331
Don't make strange undo history if, e.g., R to record (or other keystroke
with undoable effects) interrupts a drag with undoable effects (like time
shift). Ensure that by first simulating a mouse button up event to stop the
drag, before dispatching the keystroke.
Don't crash if certain other drags, that do not have undoable effects, such
as selection or vertical ruler drag -- are interrupted by a keystroke
command (Ctrl+C in particular could cause crash). However, in these cases,
the drag is still allowed to continue.
2016-05-21 23:19:09 -04:00
Max Kellermann
8ef83759a7
Track: disable TrackList::Add<NoteTrack> if MIDI support is disabled
...
Fixes build failure when configured with --without-midi.
2016-04-28 04:40:01 -04:00
Paul Licameli
b28ec2957a
Make EXPERIMENTAL_MIDI_OUT compilable, but it doesn't link
2016-04-09 15:10:05 -04:00
Paul Licameli
e327032137
Mac build
2016-03-31 17:39:04 -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
bc5519a0e2
TrackList::Remove and TrackListIterator::RemoveCurrent always delete the track
2016-03-26 15:41:26 -04:00
Paul Licameli
81c2cc950f
Rewrite the sorting of tracks
2016-03-26 15:41:24 -04:00
Paul Licameli
a6fe2b19d6
TrackList uses std::list. Eliminate TrackListNode and unused ReplaceCurrent().
2016-03-26 15:41:21 -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
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
c609af3bbe
Correct TrackList::Swap -- mind the back-pointers in the tracks.
2016-03-14 11:18:32 -04:00
Paul Licameli
aee12f5755
Define and use copy and move for TrackList, simplifying recording code
2016-03-07 06:43:42 -05: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
99eeaf27b6
Don't forget the self-assignment check!
2016-03-06 10:54:26 -05:00
Paul Licameli
cd8a19f055
Define copy, move, and Swap for TrackList
2016-03-06 10:41:07 -05:00
Paul Licameli
43790cfa56
std::vector for wave track pointers; remove deprecated TrackList function; ...
...
... and some more uses of const
2016-03-01 20:54:48 -05:00
Paul Licameli
7aee5d09d8
Move the recent const_casts elsewhere
2016-02-29 19:56:27 -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
c98b090182
Rename SyncLockTracksIterator::First to StartWith to be consistent
2016-02-24 12:59:28 -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
9c483e2e86
Add (redundant) #include "Experimental.h" in all .cpp files using the symbols
2015-08-31 17:56:10 -04:00
Paul Licameli
439fdc66ff
weaken dependency of TrackPanel.cpp on LabelTrack.h, a bit
2015-08-23 19:02:06 -04:00
Paul Licameli
51d7b3670c
Remove LabelTrack.h from other headers
2015-07-28 10:02:07 -04:00
Paul Licameli
991ba8cc6e
Remove TimeTrack.h from other headers
2015-07-28 10:02:02 -04:00
Paul-Licameli
1992b0c7e3
Fix a compilation warning, make some member functions const
2015-05-29 00:35:00 -04:00
Paul-Licameli
14a36dad46
Bug834, part 2 - Memory leak and orphans after cancelling any generator
...
New project. New track. Generate sound -- do not cancel. Select all,
generate sound again -- this time, do cancel the progress dialog.
Undo, so you see one, empty track again. Save. Close. Reopen.
The cause of these orphans is different from the first case. The previous
commit is necessary but not sufficient to fix this.
2015-04-08 11:41:38 -04:00
james.k.crook@gmail.com
14e0380444
Fixed some warnings.
2014-10-09 22:12:51 +00:00
benjamin.drung@gmail.com
277932dccb
Remove trailing spaces.
2014-06-03 20:30:19 +00:00
james.k.crook@gmail.com
30e6a3dec4
Removed some per-file memory allocation debugging that is not needed (and generates warnings) now that we do it from AudacityHeaders.h
2014-01-13 21:21:14 +00:00
martynshaw99
f209391d59
John (Thales) code to make the waveform display look like the output of the gain and pan sliders, rather than the input. Added as EXPERIMENTAL_OUTPUT_DISPLAY since there is work to do, but I think this deserves wider input/views.
2013-05-30 23:14:25 +00:00
richardash1981
eae6a70c6e
always resize a track when it linked/unlinked so that it's minimised size is honoured, and we don't get over-minimised tracks. splitting very-small-but-not-minimised tracks can still give these symptoms. Patch by Sven Giermann
2013-03-10 16:31:07 +00:00
v.audacity
72825001f5
modified version of Steve's patch for bugs 428 and 430
2013-01-05 00:05:59 +00:00
v.audacity
59db8d4ad4
See http://bugzilla.audacityteam.org/show_bug.cgi?id=451#c31 and http://bugzilla.audacityteam.org/show_bug.cgi?id=451#c32 .
2011-11-16 05:59:48 +00:00
mchinen
68a2c2514a
Bug 367 (P2) followup - fix another crash case. Rewrite of MoveClipToTrack will need to be done as a lot of the code does not take into account sync locked tracks.
2011-04-17 23:54:30 +00:00
rbdannenberg
a1f0e5ed5b
Extensive changes to improve NoteTrack display and (some) editing, NoteTrack playback via MIDI, and Midi-to-Audio alignment.
2010-09-18 21:02:36 +00:00