-
Notifications
You must be signed in to change notification settings - Fork 228
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactoring: Move sound sources into src/sound folder #2575
Conversation
@ann0see And if we indeed are going to change the src tree we maybe should have a look if it wouldn't be useful to split up some more at the same time... i.e. Common, Client, Server, Protocol,.... EDIT: Also the generated ui_*.h files should not go into root but into a src/generated folder And would it be possible to get the same structure in the editors (Qt Creator, VS, XCode) too? That would be a great improvement too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't have a deeper look yet, just some thoughts. As said elsewhere, I like this idea.
- Did you check translations? It looks like each .ts file contains references to the source path, so I guess they must/should be updated to match the new location to avoid all translations showing up as new? I haven't checked though if this is really the case. Maybe Qt tooling is intelligent enough to update it itself, but it should be checked nevertheless.
- Various checks or scripts contain explicit references to our code directories. As everything is moved to the existing src/, this should be fine already, but I'm mentioning it nevertheless.
- I didn't think of the fact that windows/ etc. are not gone automatically, as they contain build scripts, platform-specific resources (icons, installers). Some (at least mac/) continues to ship source files. Would be nice to get rid of that as well, but maybe in a follow-up PR...
- I think it would be logical to move the windows/ASIOSDK2 extraction target. Either, it should be moved along with the code which is using it or it could be moved to libs/ where all other third-party stuff lives. As this is closely related to the move of the ASIO sound implementation, I think this should be done in this PR as well. It will likely affect docs and build scripts though.
Hmm. Moving ASIO around involves some bigger changes, I think? I'd like to have it in libs. |
@hoffie just updated the .ts files |
Yes. But this needs a bit of restructuring other places too... |
I agree that that seems more consistent. oboe is also in libs. |
No. I did that already in this PR - and it seems to build fine. |
To keep related things together please move soundbase.h and soundbase.cpp to ./Sound too ! |
133e7fc
to
1901792
Compare
@pgScorpio moved the soundbase files too. Also added a README stub which you can use for documenting your new design + ideas. |
What's missing here? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Thanks! :)
@pljones is this ok to be merged? @pgScorpio depends on this being merged such that he can continue |
@jamulussoftware/maindevelopers any review here? I think we should merge this. |
1901792
to
64c04a5
Compare
Rebased. I'll open another PR based on this branch moving the other files soon (as requested by @hoffie) |
One thing I noticed when I was doing my various changes... linux/sound.h depends on src/server.h. It shouldn't - not sure if you want to go fixing this here, though. (It means moving the high resolution timer from src/server.* to src/util.* - was a simple cut-n-paste.) |
I wouldn't want to include it here. This should just move the files without many changes |
Should be another PR I think
To keep things clean I would create a new .h/.cpp i.e. 'timers'. EDIT: This will be solved for linux/sound in the sound-redesign anyway... |
@pljones could you please review this PR? The sound.h server.h dependency should be part of another PR, so this isn't blocking. |
64c04a5
to
d8d00df
Compare
!exists(windows/ASIOSDK2) { | ||
error("Error: ASIOSDK2 must be placed in Jamulus windows folder.") | ||
!exists(libs/ASIOSDK2/common) { | ||
error("Error: ASIOSDK2 must be placed in Jamulus \\libs folder such that e.g. \\libs\ASIOSDK2\common exists.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, you added two more unescaped backslashes.
I double checked it, and it seems that qmake treats \\x
and \x
the same (with exception of x = "
), so I guess you could just leave them unescaped, but it still seems cleaner to have it escaped, IMO.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok.
d8d00df
to
6101576
Compare
Note to maintainers: Should be squash-merged. |
Since @pgScorpio depends on this and I think it's save, I will merge this in the following days if nobody objects |
@jamulussoftware/maindevelopers I will merge this today |
Short description of changes
Moves the sound.cpp / sound.h / sound.mm files to src/sound/
CHANGELOG: Refactoring: Moved sound API files into src/sound folder. Contributors will now find the sound.cpp/sound.h/sound.mm in the src/sound folder for consistency
Context: Fixes an issue?
Related to: #2573
@pgScorpio, I assume you should also have a look at this PR.
Does this change need documentation? What needs to be documented and how?
Yes
Status of this Pull Request
Waiting on second review
What is missing until this pull request can be merged?
Second review
Checklist