1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-21 06:01:13 +02: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

@@ -495,16 +495,11 @@ audacity_SOURCES = \
import/Import.cpp \
import/Import.h \
import/ImportFLAC.cpp \
import/ImportFLAC.h \
import/ImportForwards.h \
import/ImportLOF.cpp \
import/ImportLOF.h \
import/ImportMP3.cpp \
import/ImportMP3.h \
import/ImportOGG.cpp \
import/ImportOGG.h \
import/ImportPCM.cpp \
import/ImportPCM.h \
import/ImportPlugin.h \
import/ImportRaw.cpp \
import/ImportRaw.h \
@@ -776,7 +771,6 @@ audacity_SOURCES += \
export/ExportFFmpegDialogs.cpp \
export/ExportFFmpegDialogs.h \
import/ImportFFmpeg.cpp \
import/ImportFFmpeg.h \
$(NULL)
endif
@@ -785,7 +779,6 @@ audacity_CPPFLAGS += $(GSTREAMER_CFLAGS)
audacity_LDADD += $(GSTREAMER_LIBS)
audacity_SOURCES += \
import/ImportGStreamer.cpp \
import/ImportGStreamer.h \
$(NULL)
endif
@@ -881,7 +874,6 @@ audacity_CPPFLAGS += $(QUICKTIME_CFLAGS)
audacity_LDADD += $(QUICKTIME_LIBS)
audacity_SOURCES += \
import/ImportQT.cpp \
import/ImportQT.h \
$(NULL)
endif