Paul Licameli
b83ed90cfb
Remove or comment Ruler.h, Overlay.h, OverlayPanel.h in other headers
2019-03-31 14:44:24 -04:00
Paul Licameli
ef98cfd74f
Remove wx/{docview,datetime,datectrl,cursor}.h from *.h
2019-03-30 13:32:44 -04:00
Paul Licameli
4d29686116
Remove wx/gdicmn.h from headers
2019-03-30 11:52:48 -04:00
Paul Licameli
08c16b6eb7
Remove wx/{html/htmlwin,fileconf,dragimag,debug,dcclient}.h from *.h
2019-03-30 10:53:22 -04:00
Paul Licameli
bcc2e0d13b
Remove wx/frame.h, wx/sizer.h, wx/access.h from headers
2019-03-28 11:21:15 -04:00
Paul Licameli
69962f62d3
Remove AudacityProject::GetScreenEndTime
2019-03-27 13:32:54 -04:00
Paul Licameli
ca5bb78abe
Remove AudacityProject::GetSelection
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
Paul Licameli
c3aad2e026
Remove wx/event.h from headers
2019-03-27 04:36:51 -04:00
James Crook
4762136f16
Select -> Select track
2019-03-25 19:36:55 +00:00
James Crook
74a78bf542
Improve tooltip on Track Select button.
2019-03-25 16:03:37 +00:00
Paul Licameli
bb634614e6
static overloads of Track::SharedPointer when null check is needed...
...
... Some optimizing compilers don't let us get away with null check on this
in a nonstatic member function.
2019-03-23 13:23:46 -04:00
Paul Licameli
0dd0a5cb5a
Remove <wx/menu.h> from CommandManager.h, moving inline functions out
2019-03-23 10:56:43 -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
James Crook
4ff7d7875a
Add 'Select Track' Button.
...
This is a first take at this new feature. I'm expecting we'll want to refine it.
https://wiki.audacityteam.org/wiki/Proposal_Select_Track_button_in_TCP has the feature proposal.
2019-03-21 19:43:36 +00:00
Paul Licameli
b4ce681867
WaveTrack.h does not include WaveClip.h
2019-03-18 01:44:42 -04:00
Paul Licameli
5e7d41ec07
Each .cpp/.mm file includes corresponding header before any other...
...
... except Audacity.h
This forces us to make each header contain all forward declarations or nested
headers that it requires, rather than depend on context.
2019-03-17 22:54:52 -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
173a300427
Include nothing before Audacity.h, as comments say we should...
...
... and remove some duplicated inclusions
2019-03-17 21:41:39 -04:00
Paul Licameli
6f31a9f7dc
Specific types, const versions: getting track & vruler controls...
...
... See changes to classes CommonTrackPanelCell and Track; the rest follows
2019-03-17 15:20:52 -04:00
Paul Licameli
43899da80d
Remove some nested #include from TrackPanelAx.h
2019-03-17 15:05:24 -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
dd86346156
ShuttlegGUI: const wxArrayStringEx & arguments, not wxArrayString *...
...
... for choice, combo, and listbox; reference allows passing temporaries,
eliminating need for some variables to hold the string arrays.
2019-03-16 07:17:21 -04:00
Paul Licameli
5fd6965925
Use type aliases CommandID, CommandIDs...
...
... for identifiers of menu commands and macros, and for vectors thereof
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
50074f2cfe
Replace comparisons against "" with empty()
2019-03-14 13:23:41 -04:00
Paul Licameli
6d5bc21d50
Define and use wxArrayStringEx...
...
reducing verbosity where there were repeated calls of Add(), and defining
move construction and assignment for efficient returns from functions
2019-03-10 16:23:44 -04:00
Paul Licameli
da33daf197
Some replacements of wxArrayString with auto
2019-03-10 14:47:12 -04:00
Paul Licameli
dd8eb9e3d9
Less use of wxArrayString::Index() ...
...
... instead use the utility make_iterator_range and its index() or contains()
method. This generic utility works with any container defining begin() and
end().
This further lessens dependency on wxWidgets container idioms.
2019-03-10 14:45:06 -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
2d650fa0e8
Rename LabelTrack::IsSelected so it doesn't shadow Track::IsSelected
2018-11-08 11:08:19 -05:00
Steve Daulton
bc60de2ffa
Disable Scrub Ruler by default
2018-11-04 21:18:29 +00:00
James Crook
7030c9fc4f
More doxygen
2018-11-03 13:18:26 +00:00
James Crook
466e9c179e
Create ComponentInterface
...
It combines the old IdentInterface with the ParamsInterface, providing an identifier and parameters (if needed).
The main purpose of the change is to make the class hierarchy (as viewed via doxygen) much easier to follow.
2018-11-02 17:04:43 +00:00
Paul Licameli
005abb06d6
Replace uses of TrackPanel::Cells() with CellularPanel::VisitCells()
2018-11-01 18:25:02 -04:00
James Crook
76166135d4
Fix many MSVC compiler warnings.
2018-10-29 13:19:33 +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
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
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
e048a4aacd
Move a static function and an enumeration out of MenuCommandHandler
2018-10-24 12:16:46 -04:00
Paul Licameli
1be1217d1d
Tracks Menus
2018-10-24 12:16:40 -04:00
Paul Licameli
903b42f84a
Transport Menus
2018-10-24 12:16:35 -04:00
Paul Licameli
fb8b5029e5
Select and Clip Menus
2018-10-24 12:16:33 -04:00
Paul Licameli
032070a2d9
Define table for Transport menu
2018-10-21 12:16:25 -04:00