1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-04 01:29:43 +02:00

46 Commits

Author SHA1 Message Date
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
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
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
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
Paul Licameli
3308054170 14 new, empty .cpp files in src/menus 2018-10-24 11:04:06 -04:00
Paul Licameli
f7545650f7 Remove empty files src/LoadModules.* and all mention of them 2018-09-14 14:27:03 -04:00
James Crook
6656506529 Update POTFILES.in, audacity.pot and .po files.
Also added script add_nyquist_to_pot.sh which adds the nyquist files.
2018-08-29 11:24:53 +01:00
James Crook
c56dd71bfb Add missing files to POTFILES.in 2018-08-27 22:11:01 +01:00
Paul Licameli
332d62823d Update POTFILES.in for new and removed files
find src include lib-src/FileDialog lib-src/mod-script-pipe lib-src/mod-null lib-src/mod-nyq-bench lib-src/lib-widget-extra -name '*.cpp' -o -name '*.h' -o -name '*.mm' | sort
2018-03-01 21:41:16 -05:00
Paul Licameli
42eadfc6f7 sort POTFILES.in, so less diff to see in the next commit 2018-03-01 21:41:16 -05:00
Paul Licameli
fdf14d98c6 Updated audacity.pot 2018-01-16 21:45:53 -05:00
James Crook
b4c3119c8f Updated source for translatable strings. 2017-07-19 19:31:01 +01:00
Steve Daulton
516570074b Add preference option for Stem Plot
Tracks 'behaviors' preferences split to sub-page to avoid over-long
page for Tracks preferences.
2017-04-27 15:16:05 +01:00
James Crook
f2d75d0b69 Updated .pot and .po files for translation.
Also updated POTFILES.in to include more src files.
Some of the 'new' files include MenusMac.cpp, ScrubbingToolBar, OverlayPanel.
Also the order is now correctly alphabetical within each directory.
2016-11-20 18:34:01 +00:00
James Crook
59b4943872 PotFile Tweaks
Add back i18n hints.  Remove mod-track-panel (no official support).  Regen audacity.pot
2015-09-07 12:56:24 +01:00
Leland Lucius
f7fba51e57 Updated POTFILES.in 2015-09-06 23:36:54 -05:00
Leland Lucius
2fc4c63c93 Regenerate for new file 2015-08-17 21:54:47 -05:00
Leland Lucius
69a9ea0bb2 Added new source files to POTFILES 2015-07-19 18:15:34 -05:00
Paul-Licameli
96585b3377 Add empty ViewInfo.cpp 2015-04-18 16:49:21 -04:00
Leland Lucius
80c3705e7c Add new files and fix Linux includes 2015-04-17 17:37:28 -05:00
Leland Lucius
8fbfa460c4 Migrating the remaining effects
This brings the builtin, LV2, and VAMP effects inline with the
Audio Units, LADSPA, and VST effects.  All effects now share
a common UI.

This gives all effects (though not implemented for all):

User and factory preset capability
Preset import/export capability
Shared or private configuration options

Builtin effects can now be migrated to RTP, depending on algorithm.
LV2 effects now support graphical interfaces if the plugin supplies one.
Nyquist prompt enhanced to provide some features of the Nyquist Workbench.

It may not look like it, but this was a LOT of work, so trust me, there
WILL be problems and everything effect related should be suspect.  Keep
a sharp eye (or two) open.
2015-04-16 23:36:28 -05:00
lllucius@gmail.com
fdc524ed3f Fix Linux build after removing LoadAudioUnits.*.
Didn't even cross my mind to have to worry about it..but it makes sense.
2014-11-25 19:27:05 +00:00
james.k.crook@gmail.com
2c64427129 Changes to compile NoiseReduction for Linux too. 2014-11-13 12:53:33 +00:00
lllucius@gmail.com
a68093ae60 Added a bunch of missing files to POTFILES.in and regen'd the pot files. 2014-11-10 20:31:56 +00:00
lllucius@gmail.com
6f0a6813c3 Removed TimeTextCtrl from POTFILES.in 2014-11-10 16:53:34 +00:00
lllucius@gmail.com
4390de22ec Missed a file in r13544 2014-11-05 07:15:01 +00:00
benjamin.drung@gmail.com
2f4334dfaf Also remove UploadDialog.{cpp,h} from PORTFILES.in. 2013-12-16 20:03:29 +00:00
benjamin.drung@gmail.com
a19b6f25ae Use Automake for Audacity. 2013-11-20 02:51:42 +00:00