1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-04-30 15:49:41 +02:00

435 Commits

Author SHA1 Message Date
Paul Licameli
a6e2ca0aa8 Move some enums into new files WaveTrackViewConstants.* ...
... freeing TracksPrefs from the second largest s.c.c. which is now only 20
2019-06-22 21:46:32 -04:00
Paul Licameli
77eeba5463 Define utility AttachedVirtualFunction 2019-06-21 09:16:48 -04:00
Paul Licameli
674b66128d New files for PlayableTrackControls 2019-06-19 18:34:48 -04:00
Paul Licameli
015e3abfe5 New files for TrackInfo 2019-06-19 12:59:02 -04:00
Paul Licameli
a99b746520 Move class ZoomInfo to separate files 2019-06-19 11:35:45 -04:00
Paul Licameli
e30ffc340a New files CommonTrackControls.cpp, CommonTrackView.cpp 2019-06-18 16:01:06 -04:00
Paul Licameli
d7753f7acd Rename old .cpp files, add new .h files 2019-06-18 16:01:05 -04:00
Paul Licameli
45436db166 New files for CommonCommandFlags 2019-06-16 01:21:05 -04:00
Paul Licameli
758e9813f1 Move MeterPanelBase to new files...
... which frees AudioIOBase, QualityPrefs, and ProjectAudioIO from cycles
2019-06-10 20:48:39 -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
7ed99c6e8f Split EnvelopeEditor.cpp from Envelope.cpp...
... Envelope drops down out of the big strongly connected component, the new
piece stays behind
2019-06-10 20:48:38 -04:00
Paul Licameli
e2cf1d93c2 Import.cpp does not depend on subclasses of ImportPlugin...
... freeing 15 files from the big strongly connected component:

ImportFFmpeg & ODDecodeFFMpegTask (still in a cycle of two)
ImportFLAC
ImportGStreamer
ImportLOF
ImportMIDI
ImportMP3
ImportOGG
ImportPCM
ImportQT
ProjectFileManager
ProjectFSCK
ProjectManager
ProjectSelectionManager
ODDecodeFlacTask

And eight header files in src/import are deleted.

This breaks a lot of cycles because Import, which is still in the big component,
no longer includes ImportLOF, which recursively uses ProjectManager. A
registration system for the subclasses of ImportFileHandle allows that
recursion without the cyclic compilation dependencies.
2019-06-09 12:10:52 -04:00
Paul Licameli
27eeb1035c New files for ProjectFileManager 2019-06-09 12:10:51 -04:00
Paul Licameli
997bf9781d New files for ProjectSelectionManager 2019-06-09 12:10:49 -04:00
Paul Licameli
0c6cda50c3 Split AutoRecoveryDialog.cpp from AutoRecovery.cpp...
... leaving AutoRecovery as a lower-level file, to be used by ProjectHistory
for auto-save, and not including ProjectManager.

The new file floats to a high level of the graph, but AutoRecovery.cpp
remains in the big strongly connected component.
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
4f940c855d New files for ProjectWindow 2019-06-03 01:43:26 -04:00
Paul Licameli
3fc961f74a New files for ProjectFileIO 2019-06-03 01:24:01 -04:00
Paul Licameli
fee5582826 New files for ProjectManager 2019-06-03 01:21:12 -04:00
Paul Licameli
e5cf2165d1 New files for ProjectAudioIO 2019-06-03 01:18:08 -04:00
Paul Licameli
05efeeb5bd New files for ProjectSettings 2019-06-03 01:13:13 -04:00
Paul Licameli
af039f19ff Generalize means for decoupled code to add data to core structures...
... Generalizing what was first done at 280e8d9 for certain menu command
handlers.

Allow core data structures to host data attached by other code, on which it
need have no compilation or link dependencies.
2019-05-21 10:08:56 -04:00
Paul Licameli
390af96796 Dispatch read of top-level project XML tags with a table of functions...
... which makes Project.cpp a bit less dependent on some details of other
classes

This puts Tags.cpp back into the big strongly connected component of the
dependency graph.  That will be remedied later when Project.cpp becomes a
low-level file
2019-05-20 21:38:07 -04:00
Henric Jungheim
6a04d36bbd Tell Visual Studio that KeyboardCapture.h is a header file. 2019-05-20 17:59:19 -07:00
Paul Licameli
f86403378b Move AudacityMessageBox to its own files...
... breaking cycles among low-level files introduced by 273ba9f
2019-05-20 14:48:36 -04:00
Paul Licameli
e5c7e5a21f Three new files in the build, still empty 2019-05-18 14:57:24 -04:00
Paul Licameli
b04387a21d Move AudacityApp::GenerateCrashReport to its own files 2019-05-17 16:29:31 -04:00
Paul Licameli
a047fa6e7a Missing alias file tracking out of AudacityApp, into new files...
... which reduces the need for including AudacityApp.h
2019-05-17 16:28:50 -04:00
Paul Licameli
338d7cd164 A class encapsulating the global clipboard 2019-05-17 06:47:53 -04:00
James Crook
027c5b4533 Give Inno Setup its own folder 2019-04-21 21:04:09 +01:00
Henric Jungheim
e2b5dade4c Store project dependencies in Audacity.vcxproj, not audacity.sln. 2019-04-12 13:50:36 -07:00
James Crook
afde1a8e91 Build mod-script-pipe when building solution. 2019-04-11 10:06:49 +01:00
James Crook
947a977256 Build windows installer with mod-script-pipe. 2019-04-10 20:05:24 +01:00
James Crook
084ad070b2 Show config.h in MSVC project 2019-04-06 10:54:06 +01:00
Henric Jungheim
cd3a0326ae Remove ReleaseSSE and ReleaseNASM solution configurations.
Remove the ReleaseSSE configuration from the libmp3lame and
libmpg123 projects.
Remove unused files.
2019-03-28 02:53:06 -07:00
James Crook
01d95a4113 Enable SSE in LAME
Maybe a 5% speed improvement - but hard to judge.  Possibly not worth it?
2019-03-27 16:30:33 +00:00
James Crook
5e0efd1a25 Start on built-in LAME
Using LAME 3.10
Windows project files substantially changed from original, and included into audacity solution.
2019-03-26 17:46:53 +00:00
Steve Daulton
6e6148604d Nyquist plug-in installer added
Ran "autoreconf --force --no-recursive" for Linux build.

Add nyquist-plug-in-installer.ny to Windows build

Add Nyquist Plug-in Installer to mac build

Fix translation strings in plug-in installer
2019-03-21 14:30:26 +00:00
Paul Licameli
3dba70120c CommandManager, MenuManager don't use Lyrics.h, MixerBoard.h ...
... instead define new base classes in src/commands that those other
windows can inherit.  The classes have nothing but a virtual destructor.  This
lets CommandManager use dynamic_cast to detect the special windows.

See commits cbfde23 and 68e4bf6 which added the #include directives
2019-03-16 13:10:59 -04:00
Henric Jungheim
d06abcd27e Enable conformance mode for the FileDialog and Audacity projects. 2019-03-15 10:13:27 +00:00
Henric Jungheim
0f33e2bafa Provide global build defaults for Windows.
Set the SDK to 10.0.17763.
Set a default WXWIN property if the WXWIN environment variable is not set.
Source files will be interpreted as UTF-8 by default.
Use LTCG for release builds.
2019-03-15 10:11:35 +00:00
Henric Jungheim
d734cf9a4e Drop an unmatched quote from the Audacity Debug configuration's include dirs. 2019-03-15 10:11:35 +00:00
James Crook
cf9f7268aa Disable Vietnamese translation in win installer.
It causes an error message when building the installer.  The translation is
in any case not up to date.
2019-02-23 11:06:58 +00:00
SteveDaulton
aceb34d786 Add aud-do-support.lsp to Windows build 2018-11-09 20:23:50 +00:00
Mikhail Korbakov
472240494c We can get only Unofficial/Vietnamese.islu for Inno Setup 5.6.1 2018-11-04 17:56:00 +00:00
James Crook
88c70f3c37 Remove win/compile.txt which was accidentally re-introduced.
win/build.txt is its replacement.
2018-11-02 23:09:16 +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
39fc20c5ee TrackPanelCellIterator is no longer needed 2018-11-01 18:25:02 -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