1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-23 17:30:17 +01:00
Commit Graph

706 Commits

Author SHA1 Message Date
Paul Licameli
44d664c7bb Remove ErrorDialog.h from .h files (one function moves out of line) 2019-03-31 15:39:55 -04:00
James Crook
09dab612fe Change AutoSelect to only select Audio. 2019-03-29 22:12:00 +00:00
Paul Licameli
3760db9dff Remove wx/wxchar.h from headers 2019-03-29 15:56:54 -04:00
Paul Licameli
cfde442bcd Remove a few small member functions from AudacityProject 2019-03-27 13:32:54 -04:00
Paul Licameli
69962f62d3 Remove AudacityProject::GetScreenEndTime 2019-03-27 13:32:54 -04:00
Paul Licameli
4018b191b4 Remove Get/Set functions for selection bounds from AudacityProject 2019-03-27 13:32:53 -04:00
James Crook
2a691b5dc6 Bug 2084 - Enh: Auto-select behaviour changed from previous version and not documented. 2019-03-27 16:30:33 +00:00
Paul Licameli
71adb89342 Remove non-UI functions in TrackPanelListener 2019-03-27 04:06:15 -04:00
Paul Licameli
a915a510bd include <wx/setup.h> in all files where wxUSE* macros are used...
... even if it's redundant; improving on what was done at b47e2f9
2019-03-23 14:56:02 -04:00
Paul Licameli
f45300f032 This is only comments, in files where USE_ macros are tested...
... following the comment convention used in the preceding commit.
2019-03-22 12:38:30 -04:00
Paul Licameli
02db402b54 Bug2064: ESC key should abort drags in time ruler on Linux...
... Reimplement the ESC key handling in TrackPanel and time ruler on all
operating systems so that it does not rely on the focused window, but instead
uses the application-wide event filter.

This includes reversion of 9491605cfc
2019-03-18 12:43:14 -04:00
Paul Licameli
b4ce681867 WaveTrack.h does not include WaveClip.h 2019-03-18 01:44:42 -04:00
Paul Licameli
906e55f047 Experimental.h in all .h or .cpp files that directly use EXPERIMENTALs...
... except Audacity.h; and in no others.

Do so even if Experimental.h gets multiply included, as in both the .h and
.cpp files.

This makes it easier to do a text scan to be sure there are no unintended quiet
changes of meaning because of omission of Experimental.h when the flag is
an enabled one.

Also move inclusions of Experimental.h earlier.

Also don't require Experimental.h to be preceded by Audacity.h to define
EXPERIMENTAL_MIDI_OUT correctly.
2019-03-17 22:54:00 -04:00
Paul Licameli
41175e94cd Simplify by removing many std::move of shared_ptr to tracks...
... Don't need them, as we did with std::unique_ptr
2019-03-16 13:11:33 -04:00
Paul Licameli
6f89c48873 Reimplement Track::Pointer using std::enable_shared_from_this...
... now the Track need not be owned yet by a TrackList
2019-03-16 13:11:32 -04:00
Paul Licameli
1bcb7c20a5 Remove some nested #include from Project.h 2019-03-16 13:09:54 -04:00
Paul Licameli
f7162d3326 OverlayPanel uses weak_ptr to Overlay, which simplifies other dtors 2019-03-16 08:21:03 -04:00
Paul Licameli
ac2fecf151 Don't rely on order of Bind to EVT_TRACK_PANEL_TIMER from project...
... instead, re-process the event, and let each handler bind to the one it
depends on.

This still leaves a critical ordering of construction of playback scroller and
play indicator overlay in AudacityProject::AudacityProject (reverse of the
previous), but that will be removed by other means.
2019-03-16 08:20:44 -04:00
Paul Licameli
a30000cf74 Use type aliases FilePath, FilePaths...
... for wxString and wxArrayStringEx, holding file paths (absolute or relative,
directory or plain file); to be replaced later with different types

(not yet using std::vector, becase of some uses of wxArrayString::Index with
two arguments)
2019-03-15 15:18:11 -04:00
Paul Licameli
06b3b42794 Remove unnecessary initializers for empty wxString 2019-03-15 15:18:11 -04:00
Paul Licameli
dfeb7e18aa Type aliases for some uses of ComponentInterfaceSymbol...
... to be replaced later with distinct types

Also changing FamilyId => Family in function names

Also NumericFormatId => NumericFormatSymbol
2019-03-14 17:26:20 -04:00
Paul Licameli
b8c0125143 Replace comparisons against wxEmptyString with empty() 2019-03-14 16:20:18 -04:00
Paul Licameli
50074f2cfe Replace comparisons against "" with empty() 2019-03-14 13:23:41 -04:00
Paul Licameli
da33daf197 Some replacements of wxArrayString with auto 2019-03-10 14:47:12 -04:00
Paul Licameli
c68e336247 More use of std:: style members of wxString...
... replacing:

Length => length
Len => length
2019-03-10 14:44:54 -04:00
Paul Licameli
2db49dc1f0 Use standard library style members of wxArrayString (and wxString) ...
... which will make it easier to change the types of those containers to
std::vectors of other string-like classes

for wxString,

IsEmpty => empty
Clear => clear
Alloc => reserve

for wxArrayString,

Count => size
GetCount => size
IsEmpty => empty
Add => push_back
Clear => clear
Empty => clear
Sort => std::sort (only with default comparator)
SetCount => resize
Last => back
Item => operator []
Alloc => reserve
2019-03-10 14:43:57 -04:00
Paul Licameli
9d18263be6 Bug2059: Save empty,record,save-as shouldn't delete old _data folder 2019-02-09 17:04:45 -05:00
Paul Licameli
0941eaa0d5 Bug2058: shouldn't lose data in original project when saving-as...
... Bug was introduced at commit e87e15f, which was part of an unsuccessful
attempt to fix performance Bug1979
2019-01-26 14:23:37 -05:00
Paul Licameli
340bd20fc6 Fix data loss saving a stereo track lossless or compressed...
... in case clip boundaries don't match and the right channel covers a greater
time extent than the left.

Don't lose those parts of the right channel, before or after, and also make the
start time of the project correct in case the right channel starts earlier.

This is an old bug, going back as far as the git history.
2018-12-20 13:53:38 -05:00
James Crook
253aca7eec Bug 2035 - Save Project fails to display error message on Save with overfull disk 2018-12-02 21:55:58 +00:00
James Crook
5a87d5ea67 Bug 2040 - Linux: Assert on recording or generating when main Window minimised 2018-12-02 16:58:17 +00:00
Paul Licameli
50f8579475 Move AudacityProject::DoTrackMute and DoTrackSolo...
... also fixed the bug that muting and soloing from the mixer board did not
update accessibility.
2018-10-28 16:50:01 -04:00
Paul Licameli
51c3541716 Move AudacityProject::RemoveTrack 2018-10-28 16:45:38 -04:00
Paul Licameli
83f504e30f Move AudacityProject::SetTrackPan and SetTrackGain 2018-10-28 16:43:20 -04:00
Paul Licameli
edd23e2634 Move AudacityProject::GetZoomOf* 2018-10-28 16:43:17 -04:00
Paul Licameli
b2ea8ab6e9 Move AudacityProject::EditByLabel and EditClipboardByLabel 2018-10-28 16:30:39 -04:00
Paul Licameli
95cca91eb1 Move AudacityProject::Clear 2018-10-28 16:26:03 -04:00
Paul Licameli
012ea76132 Moved mixer board update code out of class AudacityProject...
... And we don't need GetMixerBoard() any more
2018-10-27 18:01:09 -04:00
Paul Licameli
1fc4c5724e MixerBoard no longer needs update at undo push...
... it does that sooner, and ony when needed, when relevant track data really
change, by listening to the TrackList.
2018-10-27 18:01:08 -04:00
Paul Licameli
ccc2bbe3ef MixerBoard listens for events for track sliders, mute, solo, name 2018-10-27 18:01:08 -04:00
Paul Licameli
5ab2faceea MixerBoard listens to TrackList for insert, delete, permute...
... Which is also sufficient to detect undo/redo/rollback

And detects more often than undo state changes, so that if you drag a track
in TrackPanel, the same permutation is seen at once in MixerBoard, even before
button-up
2018-10-27 18:00:52 -04:00
Paul Licameli
7150d43083 MixerBoard listens to TrackList for selection changes 2018-10-27 16:27:53 -04:00
Paul Licameli
96d104cb38 Lyrics panel listens; AudacityProject not responsible for updating it 2018-10-27 12:52:06 -04:00
Paul Licameli
ad8fafa6a0 History window listens for events 2018-10-27 12:52:06 -04:00
Paul Licameli
dbcf8ae59b AudacityApp emits an event when the global clipboard changes 2018-10-27 12:52:06 -04:00
Paul Licameli
4f7d308ca3 Some inversion of control flow when popping Undo state 2018-10-27 11:31:42 -04:00
Paul Licameli
303553ae4e Take class AdornedRulerPanel out of src/widgets...
... It's not a utility widget like RulerPanel.  It has a lot of application
specific logic in it.
2018-10-24 15:04:41 -04:00
Paul Licameli
492a44894b Move MenuManager functions out of Project.cpp 2018-10-24 15:04:41 -04:00
Paul Licameli
e048a4aacd Move a static function and an enumeration out of MenuCommandHandler 2018-10-24 12:16:46 -04:00
Paul Licameli
800f6500ba No more member definitions of AudacityProject inside Menus.cpp 2018-10-24 12:16:46 -04:00