Skip to content

Recording: add true mono recording support [DRAFT] - #15947

Closed
dheeraj23195 wants to merge 10 commits into
mixxxdj:mainfrom
dheeraj23195:monorecording
Closed

Recording: add true mono recording support [DRAFT]#15947
dheeraj23195 wants to merge 10 commits into
mixxxdj:mainfrom
dheeraj23195:monorecording

Conversation

@dheeraj23195

Copy link
Copy Markdown

This PR implements True Mono Recording Support as detailed in Issue #15180 . I have, after discussions with the community and maintainers, implemented an Independent Recording output option. So if the user wants the audio output in stereo but the recording output in Mono, that is possible (or any of the other three permutations).
The PR is opened as Draft because encoder-specific validation is still in
Progress and community feedback is requested, especially for compressed formats.

Also, This is the GUI Change that will take place due to the recording output preference added:
Before:
image

After:
image

Also I havent still setup precommit, I'm happy to set it up and publish the PR if needed.

@daschuer daschuer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, this is already a nice Draft. I left some comments for polishing.

Comment thread .vscode/tasks.json Outdated
Comment thread src/encoder/encodermp3.cpp Outdated
Comment thread src/encoder/encoderopus.cpp Outdated
Comment thread src/preferences/dialog/dlgprefrecorddlg.ui Outdated
@daschuer

daschuer commented Feb 4, 2026

Copy link
Copy Markdown
Member

As a first-time contributor we need you to sign the Mixxx Contributor Agreement and comment here when you have done so. It gives us permission to distribute your contribution under the GPL v2 or later license and the Apple Mac App Store. It is also helpful for us to have contact information for contributors in case we may need it in the future.

@dheeraj23195

dheeraj23195 commented Feb 4, 2026

Copy link
Copy Markdown
Author

Oh also the checks that have failed I think are due to a warning that was also thrown in my code but I ignored as it was a warning i didnt know it would cause these checks to fail but it's basic reordering of lines to change order of implementation i guess so i'll do that too. And in the meanwhile I have filled out the contributor agreement.

@daschuer

Copy link
Copy Markdown
Member

The GitHub workflow fails because of code style issues. You can completely get around the hassle with code style by installing pre-commit locally. It will fix these issues on the go:
https://github.com/mixxxdj/mixxx/wiki/using-git#set-up-automatic-code-checking

@daschuer

Copy link
Copy Markdown
Member

There are still code style issues. Do you have pre commit installed now? If yes, you can fix the code style for all commits by (untested)

git rebase upstream/main --exec "pre-commit run --from-ref HEAD~ --to-ref HEAD"

Git will stop if there is an formating issue and fix it in the working copy. You can apply it by

git commit -a --amend
git rebase continue

Finally

git push -f 

@daschuer

Copy link
Copy Markdown
Member

Did you try, the suggestion? Has it failed? I wonder why there is a final code style fix commit. That's not an issue, I am just curious.

@dheeraj23195

Copy link
Copy Markdown
Author

Did you try, the suggestion? Has it failed? I wonder why there is a final code style fix commit. That's not an issue, I am just curious.

Yeah just tried the rebase and force pushed, the last fix code styles issues commit is a previous one i tried but it is done again due to the rebase.

@dheeraj23195

dheeraj23195 commented Feb 12, 2026

Copy link
Copy Markdown
Author

Did you try, the suggestion? Has it failed? I wonder why there is a final code style fix commit. That's not an issue, I am just curious.

Yeah just tried the rebase and force pushed, the last fix code styles issues commit is a previous one i tried but it is done again due to the rebase.

Is it possible that the code style check is failing in the UI file which i changed but wasnt able to get my VSC to match the spacing already present in the file and used normal tabs? Because I dont see precommit fixing that. I am really sorry for not taking of pre-commit earlier which could have avoided this entire fuss.

@daschuer daschuer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have tested Wave recording and it works good. Thank you.

We have a EncoderBroadcastSettings::getChannelMode(); function that return Mono or stereo. I think this need to be used to avoid redundant channel info.

Comment thread src/encoder/encoderopus.cpp Outdated
Comment thread src/encoder/encoderwave.cpp Outdated
@dheeraj23195
dheeraj23195 force-pushed the monorecording branch 3 times, most recently from f22062e to 1667a4a Compare February 13, 2026 01:44
@dheeraj23195

Copy link
Copy Markdown
Author

Hi! I've attempted to fix the code style issues and rebased on main. Let's see if the CI Check passes? If this still fails, I'm happy to create a fresh PR with a clean commit history. Let me know which approach you'd prefer.

@dheeraj23195

Copy link
Copy Markdown
Author

Hi Daniel! I have opened a new draft PR #15977 for cleaner commit history and easier to pass CI code style check due to no non pre-commit commits. Please allow workflow approval on that and once that passes CI Checks, I will close this PR

@dheeraj23195

Copy link
Copy Markdown
Author

Hi Daniel! I am closing this PR and opening a new one to avoid commit history before pre-commit and make the passing of the CI Check easier. Thank you :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants