1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-26 23:33:49 +01:00

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.
This commit is contained in:
Paul Licameli
2019-06-06 17:43:34 -04:00
parent 3cf124d92a
commit e2cf1d93c2
25 changed files with 202 additions and 424 deletions

View File

@@ -543,7 +543,6 @@
<ClInclude Include="..\..\..\src\HitTestResult.h" />
<ClInclude Include="..\..\..\src\import\FormatClassifier.h" />
<ClInclude Include="..\..\..\src\import\ImportForwards.h" />
<ClInclude Include="..\..\..\src\import\ImportGStreamer.h" />
<ClInclude Include="..\..\..\src\import\MultiFormatReader.h" />
<ClInclude Include="..\..\..\src\import\SpecPowerMeter.h" />
<ClInclude Include="..\..\..\src\InconsistencyException.h" />
@@ -752,13 +751,7 @@
<ClInclude Include="..\..\..\src\export\ExportOGG.h" />
<ClInclude Include="..\..\..\src\export\ExportPCM.h" />
<ClInclude Include="..\..\..\src\import\Import.h" />
<ClInclude Include="..\..\..\src\import\ImportFFmpeg.h" />
<ClInclude Include="..\..\..\src\import\ImportFLAC.h" />
<ClInclude Include="..\..\..\src\import\ImportLOF.h" />
<ClInclude Include="..\..\..\src\import\ImportMIDI.h" />
<ClInclude Include="..\..\..\src\import\ImportMP3.h" />
<ClInclude Include="..\..\..\src\import\ImportOGG.h" />
<ClInclude Include="..\..\..\src\import\ImportPCM.h" />
<ClInclude Include="..\..\..\src\import\ImportPlugin.h" />
<ClInclude Include="..\..\..\src\import\ImportRaw.h" />
<ClInclude Include="..\..\..\src\import\RawAudioGuess.h" />

View File

@@ -1630,27 +1630,9 @@
<ClInclude Include="..\..\..\src\import\Import.h">
<Filter>src\import</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\import\ImportFFmpeg.h">
<Filter>src\import</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\import\ImportFLAC.h">
<Filter>src\import</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\import\ImportLOF.h">
<Filter>src\import</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\import\ImportMIDI.h">
<Filter>src\import</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\import\ImportMP3.h">
<Filter>src\import</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\import\ImportOGG.h">
<Filter>src\import</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\import\ImportPCM.h">
<Filter>src\import</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\import\ImportPlugin.h">
<Filter>src\import</Filter>
</ClInclude>
@@ -1948,9 +1930,6 @@
<ClInclude Include="..\..\..\src\SseMathFuncs.h">
<Filter>src</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\import\ImportGStreamer.h">
<Filter>src\import</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\widgets\HelpSystem.h">
<Filter>src\widgets</Filter>
</ClInclude>