improve maintainability Jamulus.pro
Describe the bug
In the past month there where a lot of changes to Jamulus.pro, leading to a lot of rebase actions with a high chance on mistakes. Especially for me since I have a sound-redesign branch with added files for Sound in the OS folders. (PS: there are also several headers missing in the definitions for ASIO)
The headers and sources for sound (especially linux) are used in multiple places in the Jamulus.pro file and therefore have to be changed in multiple places too. I suggest we use separate defines for the sound files which can be used at many places, but have to be edited in just one place.
To Reproduce
n.a.
Expected behavior
Easier maintenance, less prone to mistakes/errors.
Screenshots
n.a.
Operating system
all
Version of Jamulus
n.a.
Additional context General idea:
HEADERS_ASIO= ...
SOURCES_ASIO= ...
HEADERS_JACK= ...
SOURCES_JACK= ...
HEADERS_COREAUDIO= ...
SOURCES_COREAUDIO= ...
HEADERS_COREAUDIOIOS= ...
SOURCES_COREAUDIOIOS= ...
HEADERS_OBOE= ...
SOURCES_OBOE= ...
....
HEADERS+=$$HEADERS_JACK
SOURCES+=$$SOURCES_JACK
...
HEADERS+=$$HEADERS_COREAUDIO
SOURCES+=$$SOURCES_COREAUDIO
....
HEADERS+=$$HEADERS_JACK
SOURCES+=$$SOURCES_JACK
Another point is that it looks very strange when including "linux" files in a Windows build etc. So it would be more clear when using separate folders for the sound implementation files like sound/jack, sound/asio, sound/coreaudio, sound/oboe, ...
See my implementation in my sound-redesign branch. (which has several added files, so not valid for current master.)
- I like the idea of having the includes grouped together (although I don't have a strong opinion here)
- I totally agree regarding the backend-specific directory structure. I don't know why those directories should be at the root of the repo either.
src/sound/{jack,asio,oboe,coreaudio,...}would seem logical to me. I would certainly support this change.
Edit: When submitting a PR, the renames should not contain any other changes to the contents of the renamed files (except changes which are relevant to the rename, of course ;)).
@hoffie #2575 is ready for review now. I'm not 100% sure about the src/sound/{...} names, but feel free to suggest alternatives
Missing here: Change the files to variables