James Crook
9985b8a9b8
Fix Big Time TimerToolBar, Stage III
...
Fixed issue where format selector could disappear.
Fixed upgrade from 2.3.3.
Remembers time format.
2020-02-14 12:02:21 +00:00
Paul Licameli
c64b3cb31f
Rewrite FileDialogWrapper using FileNames::FileTypes...
...
... also removing some repeated code and using the config keys /DefaultOpenType
and /LastOpenType only in Import.cpp
2019-12-29 15:35:03 -05:00
Paul Licameli
61161a2f00
TranslatableString for more status bar messages
2019-12-28 23:49:18 -05:00
Paul Licameli
1887928fe2
ProjectManager::GetHoursMinsString returns TranslatableString
2019-12-28 23:49:18 -05:00
Paul Licameli
49cab86fc1
TranslatableString for tooltips and status bar messages
2019-12-20 21:54:49 -05:00
Paul Licameli
dc39f22442
AudacityMessageBox takes TranslatableString message and caption
2019-12-20 21:32:50 -05:00
Paul Licameli
2e3ba2204f
Rewrites of TranslatableString and reimplementation of wxPLURAL...
...
... including move-construction of the base string, debug string formatting,
and contexts (not fully implemented)
2019-12-11 14:55:29 -05:00
Steve Daulton
75fdadf674
Fix bug 680
...
"Project was recovered" replaces "Create new project" in Undo History.
2019-07-19 13:15:50 +01:00
Paul Licameli
8414ebffa5
ScrubbingOverlay declared and defined entirely within ScrubUI.cpp
2019-07-04 09:22:20 -04:00
Paul Licameli
13c2e4de0f
Move members from ControlToolBar into class ProjectAudioManager...
...
... and ControlToolBar is included in fewer places
2019-07-03 16:52:16 -04:00
Paul Licameli
1e4812f470
GetProjectPanel analogous to GetProjectFrame breaks dependencies...
...
... in places that need the TrackPanel but only to invoke common wxWindow
methods on it.
This eliminates direct use of TrackPanel by Scrubbing and ProjectWindow
2019-07-03 13:53:07 -04:00
Paul Licameli
7597080418
Move the project window initialization into ProjectManager
2019-07-03 13:50:57 -04:00
Paul Licameli
d0c4677ab1
Move most of ProjectWindow initialization into nonmember function
2019-07-03 13:34:44 -04:00
Paul Licameli
68999934e0
ProjectAudioManager doesn't use ProjectWindow, which doesn't use...
...
ControlToolBar, after we make a system to register functions that calculate
necessary minimum widths for status bar fields.
Also let Scrubbing.cpp register its own strings.
Also be sure to size the status field sufficiently for "Playing at Speed".
2019-07-02 21:01:54 -04:00
Paul Licameli
9f61b67965
Manage some more status bar changes with ProjectStatus
2019-07-02 21:01:34 -04:00
Paul Licameli
e2362bc25a
Move project status string management to new attached object class
2019-07-02 21:01:34 -04:00
Paul Licameli
abe69ddd35
Remove some unnecessary calls to FixScrollbars...
...
... because RedrawProject or HandleResize invokes it
2019-07-02 08:06:24 -04:00
Paul Licameli
c6478f43af
Lower ViewActions as member functions of ProjectWindow
2019-06-25 00:14:53 -04:00
Paul Licameli
2d11e6bda9
Move DoImportMidi out of FileMenus
2019-06-25 00:14:52 -04:00
Paul Licameli
8eca219d57
Separate versions of DoImportMIDI that do and don't assume a project
2019-06-25 00:14:52 -04:00
Paul Licameli
d2f386a329
Move functions into new file TrackUtilities.cpp ...
...
... so that other files do not have link dependency on TrackMenus.cpp
The new project enlargest the big s.c.c. by 1, to 25
2019-06-24 23:13:22 -04:00
Paul Licameli
02e620d35f
Move functions into new file SelectUtilities.cpp ...
...
... so that other files do not have link dependency on SelectMenus.cpp
The new file enlarges the big s.c.c. to 24
2019-06-24 23:06:44 -04:00
Paul Licameli
e08a942ab8
Fix other cause of intermittent timing-dependent crash at shutdown...
...
... AudioIO holds a weak pointer to its listener so there is no dangling
pointer
2019-06-24 13:32:08 -04:00
Paul Licameli
42a4f55ffe
Prepare to split AudioIOBase from AudioIO...
...
... New files, but (almost) empty; don't use the global variable gAudioIO,
but use one of two accessor function names (which are the same function for
now).
AudioIOBase will have fewer dependencies than AudioIO -- in particular, no
dependency on tracks.
It won't include StartStream. It will contain functions to query the
present state of streams, and device capabilities.
2019-06-10 20:48:38 -04:00
Paul Licameli
bb7964122e
Fix windows crash at startup, again...
...
... The fix done at 2f9322e was undone at 43b1afc because of the unacceptable
file dependencies. This fixes it by other means. Make a null check in
SetProjectTitle in case it is invoked before ProjectWindow has been constructed;
also ensure in ProjectManager::New that it is called at least once after that.
2019-06-10 11:49:38 -04:00
Paul Licameli
8b70203e45
Lower functions from ProjectManager to ProjectFileManager...
...
... not improving the dependency graph, but it's a more sensible division of
duties, keeping related functions together.
2019-06-09 12:10:51 -04:00
Paul Licameli
27eeb1035c
New files for ProjectFileManager
2019-06-09 12:10:51 -04:00
Paul Licameli
c24aa39e3a
ProjectFileIO has fewer dependencies...
...
... after lifting some steps of file opening into ProjectManager
see also commit 0a109d2
2019-06-09 12:10:51 -04:00
Paul Licameli
43b1afc679
ProjectFileIO, ProjectFileManager don't use ProjectWindow...
...
... or SelectionBar, after lifting some steps of file opening into
ProjectManager
see also commit 0a109d2
2019-06-09 12:10:50 -04:00
Paul Licameli
4bf3365af4
Split class ProjectFileManager from ProjectFileIO...
...
... The former will handle File menu items, and the choosing of file paths to
write; the latter will handle the XML contents and do auto-save. Auto-save is
a lower-level thing that must be done in many places whenever undo history
is pushed or modified.
2019-06-09 12:10:50 -04:00
Paul Licameli
997bf9781d
New files for ProjectSelectionManager
2019-06-09 12:10:49 -04:00
Paul Licameli
186f2f6ac7
Split class ProjectSelectionManager from ProjectManager...
...
... handling the callbacks from the selection toolbars.
Next ProjectFileManager will be split out of ProjectManager, and
ProjectSelectionManager will be used by it during file opening, so separating
files for it avoids a cycle.
2019-06-09 12:10:48 -04:00
Paul Licameli
f03684db4f
New class ProjectHistory split from ProjectManager for undo, etc...
...
... And yet fewer inclusions of Projectmanager.h, though it's still not yet
free of cycles
2019-06-09 12:10:48 -04:00
Paul Licameli
d979a8959b
New files for ProjectAudioManager...
...
... This eliminates some inclusions of ProjectManager, helping to free it from
cycles into a higher level
2019-06-09 12:10:47 -04:00
Paul Licameli
0c2c2803a3
New class ProjectAudioManager implements AudioIO callbacks
2019-06-09 12:10:46 -04:00
Paul Licameli
090374381c
Supply #include "Experimental.h" in recent new files
2019-06-09 08:56:38 -04:00
Paul Licameli
ee592b633e
Revert "Put initial focus in the Control toolbar again..."
...
This reverts commit 6f3342a8956b423299fe8fd314afb823de0deacb.
2019-06-08 07:00:46 -04:00
Paul Licameli
0b85251885
Fewer inclusions of AudioIO.h and Import.h
2019-06-06 12:53:20 -04:00
Paul Licameli
6f3342a895
Put initial focus in the Control toolbar again...
...
... it had changed after commit 4abc71c
2019-06-06 12:42:51 -04:00
Paul Licameli
236b188d6b
ProjectWindow does not depend on ProjectFileIO
2019-06-05 07:24:01 -04:00
Paul Licameli
4f940c855d
New files for ProjectWindow
2019-06-03 01:43:26 -04:00
Paul Licameli
4abc71c6b4
Do the separation of classes ProjectWindow and AudacityProject
2019-06-03 01:43:23 -04:00
Paul Licameli
3fc961f74a
New files for ProjectFileIO
2019-06-03 01:24:01 -04:00
Paul Licameli
7b8bfd1d02
New attached structure ProjectFileIO handles load and save
2019-06-03 01:21:15 -04:00
Paul Licameli
fee5582826
New files for ProjectManager
2019-06-03 01:21:12 -04:00