Paul Licameli
406b23cae7
More uses of AUDACITY_DLL_API...
...
... in many places where the function call will later need to be between
modules (or libraries, or the executable) and the annotation will be a necessity
to keep the linkage working on Windows.
That's all that this sweeping commit does.
2021-05-10 10:46:55 -04:00
Paul Licameli
c5ebc396eb
Audacity.h has shrunk to nothing, now remove it!
2021-05-10 00:05:23 -05:00
Paul Licameli
e653b4aaf8
Eliminate Experimental.h, configure compile options instead...
...
... This makes it impossible to forget to include the EXPERIMENTAL definitions
(such as when cutting and pasting code) and so get unintended quiet changes of
behavior.
The EXPERIMENTAL flags are now specified instead in new file Experimental.cmake
2021-04-27 12:40:07 -04:00
Paul Licameli
caa312ab7b
Remove some unneeded #includes and forward declarations
2020-11-20 13:47:47 -05:00
Paul Licameli
047fa18afd
Remove unused TrackPanel::MakeParentModifyState
2020-07-11 05:11:09 -04:00
David Bailes
25c1a0b280
Bug 2422 - Append Recording always scrolls vertically to bottom track
...
Fix:
Move the scrolling to ProjectAudioManager::DoRecord(), where it's known whether the recording is appending to existing tracks or not.
2020-07-07 16:32:33 +01:00
Leland Lucius
cbf1bb558e
AUP3: Removes OD code related to project file handling
...
This removes all of the OnDemand code embedded throughout
the main codebase. Individual files related specifically
to OD have been left in place, but removed from the build.
2020-07-01 01:14:05 -05:00
Paul Licameli
0a00110612
Remove mod-track-panel and all mention of it
2020-05-25 17:21:05 -04:00
Paul Licameli
49cab86fc1
TranslatableString for tooltips and status bar messages
2019-12-20 21:54:49 -05:00
Paul Licameli
7c4b624388
Remove friends from TrackPanel
2019-07-29 00:06:08 -04:00
Paul Licameli
bff30b6ae9
Eliminate idle event handler of CellularPanel...
...
... achieving the intent of b7386c2db1
by other
means
2019-07-07 13:48:27 -04:00
Paul Licameli
eb4eba6325
AdornedRulerPanel updates its play region in idle time...
...
... Eliminating TP_DisplaySelection and making ProjectWindow independent of
AdornedRulerPanel
2019-07-03 23:38:33 -04:00
Paul Licameli
acfd2b7010
TrackFocus is a new attached object...
...
... removing the need to use TrackPanel to get and set the focused track
ProjectAudioManager loses its direct dependency on TrackPanel
2019-07-03 19:10:21 -04:00
Paul Licameli
52ff705b0d
ScrollIntoView out of TrackPanel, into ProjectWindow
2019-07-03 13:32:32 -04:00
Paul Licameli
dc216d669b
Move drawing code for snap guidelines
2019-06-26 23:39:42 -04:00
Paul Licameli
e6dae33038
Move drawing code for focus border
2019-06-26 23:39:42 -04:00
Paul Licameli
488cb466c3
Move drawing code for track controls
2019-06-26 23:39:42 -04:00
Paul Licameli
b45d1387dc
Move drawing (and updating) code for vertical rulers
2019-06-26 23:39:42 -04:00
Paul Licameli
fccb832e2d
Move drawing code for track borders and shadows
2019-06-26 23:39:42 -04:00
Paul Licameli
1ca079b503
Move drawing code for margins and separators
2019-06-26 23:39:42 -04:00
Paul Licameli
868481b686
GetSceenEndTime out of TrackPanel
2019-06-26 21:25:15 -04:00
Paul Licameli
d29d10d712
GetTracksUsableArea() out of TrackPanel
2019-06-26 21:25:15 -04:00
Paul Licameli
f87dfd43c1
GetVRulerWidth, GetLabelWidth, GetLeftOffset out of TrackPanel.h...
...
... And some things demoted from ViewInfo to ZoomInfo, related to x coordinates
only
2019-06-26 21:25:15 -04:00
Paul Licameli
baf31dd72e
TrackPanel copies its size, stores VRuler width in ViewInfo
2019-06-26 21:25:15 -04:00
Paul Licameli
25f4d6cf8b
TrackPanelAx does not depend on TrackPanel...
...
... TrackPanelAx now sends an event to the project when track focus changes,
and TrackPanel listens for it.
TrackPanel also initializes TrackPanelAx with a callback to do the details of
rectangle calculation.
2019-06-25 11:24:40 -04:00
Paul Licameli
2257fa642a
Remove TrackPanel::EnsureVisible; TrackList sends an event instead
2019-06-25 10:54:55 -04:00
Paul Licameli
6a03e7c84a
Global slider instances for control panels out of TrackPanel.cpp...
...
... and updating of them is accomplished privately in implementation files,
reducing intrusions into TrackPanel and ProjectWindow
This removes #include-s from TrackInfo.cpp, leaving dependency cycles better
than previously
2019-06-19 18:34:47 -04:00
Paul Licameli
23b584b529
Move code to TrackInfo.cpp
2019-06-19 12:59:08 -04:00
Paul Licameli
f534d7b8d7
ReCreateSliders doesn't need a parent window
2019-06-19 12:58:29 -04:00
Paul Licameli
4c5b65d7f6
Move some constants and GetVRulerOffset() out of TrackPanel.h
2019-06-18 11:36:50 -04:00
Paul Licameli
d85b297ca5
TrackPanel listens for Undo events, doesn't intrude in ProjectHistory
2019-06-12 11:11:41 -04:00
Paul Licameli
b7386c2db1
Use idle events to update TrackPanel cursor...
...
... As when recording starts or stops, or the Tools button has changed, or
scrolling has changed the results of hit-test.
This reduces TrackPanel's intrusions into other code, including ProjectHistory.
Also for AdornedRulerPanel, which shares the base class CellularPanel
2019-06-12 11:05:55 -04:00
Paul Licameli
490544cfd4
Lower EVT_TRACK_PANEL_TIMER into Project...
...
... so there are fewer dependencies on TrackPanel.
This frees ASlider, Ruler, and ViewInfo from cycles
2019-06-10 21:56:46 -04:00
Paul Licameli
6dc5162614
Use an event so that ProjectSettings.cpp does not need TrackPanel.h
2019-06-03 01:15:44 -04:00
Paul Licameli
35892fc869
Rearrange setting time & freq formats for numeric controls...
...
... Just one low-level function for each that simply sets; just one high-level
function for each that also pushes notifications; and to make that work,
toolbars need some rewriting to avoid recursion when the notifications they
post come back to them.
2019-05-28 19:23:42 -04:00
Paul Licameli
d1ad8f55e0
static TrackPanel::Get()...
...
... not member functions of AudacityProject
2019-05-24 15:46:30 -04:00
Paul Licameli
62899a32f4
All things with an UpdatePrefs() message listen for an event...
...
... Still to do, improve the handling of updates of only subsets of the prefs
2019-05-20 21:38:13 -04:00
Paul Licameli
9c75ebe7f7
TrackPanel subscribes directly to ODManager for events...
...
... cutting middleman AudacityProject out
2019-05-20 21:38:10 -04:00
Paul Licameli
735860c856
Remove the TrackPanelFactory...
...
... It was part of an attempt at decoupling that will be superseded by other
techniques
2019-05-20 21:38:08 -04:00
Paul Licameli
548192fcf3
Remove redundant #include-s from .h files...
...
Redundant, because transitively implied. But don't do this for inclusions of
Audacity.h or Experimental.h.
2019-05-16 14:58:34 -04:00
Paul Licameli
56f51d8176
Revert "Remove redundant #include-s from .h files..."
...
This reverts commit b7fe62d170
.
2019-05-16 14:33:55 -04:00
Paul Licameli
b7fe62d170
Remove redundant #include-s from .h files...
...
Redundant, because transitively implied. But don't do this for inclusions of
Audacity.h or Experimental.h.
2019-05-16 14:15:05 -04:00
Paul Licameli
8f55d55869
Remove two call-through functions to TrackPanel from AudacityProject
2019-04-26 14:05:57 -04:00
Paul Licameli
2b32884596
Remove some unnecessary toolbar related declarations, fix comments
2019-04-23 17:02:04 -04:00
Paul Licameli
4714d72b3f
Can't remove remaining wx headers from other headers, comment that
2019-03-31 01:41:16 -04:00
Paul Licameli
2e05d2d884
Remove wx/{radiobut,ownerdrw,menuitem,menu,listbox}.h from *.h
2019-03-30 12:15:53 -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
adcb93512c
Include Audacity.h in all files that test config USE_ macros...
...
... except Experimental.h, but see preceding commit.
This is especially important in the header files.
Be sure there are no quiet changes of meaning when a header file is included
in a different context, not having seen Audacity.h. Rather include Audacity.h
even if redundantly.
Also, in some header files, move more inside the include-guard #ifdef-#endif
pair.
2019-03-22 12:36:54 -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
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