-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Features Loop Recorder #45
Conversation
@@ -382,7 +390,7 @@ void EngineMaster::process(const CSAMPLE *, const CSAMPLE *pOut, const int iBuff | |||
// Mix all the enabled headphone channels together. | |||
m_headphoneGain.setGain(chead_gain); | |||
mixChannels(headphoneOutput, maxChannels, m_pHead, iBufferSize, &m_headphoneGain); | |||
|
|||
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.
nitpick -- make sure your text editor is set to remove excess whitespace
Questions: Why wait until the file is open to start recording? Why not record to memory until the file is open, then empty the buffer and write to disk from then on? like writetobuffer(); if (isfileopen()) { flushbuffer to file() } I gave you some hints about better ways to figure out deck selection. Let me know what you think |
I like the idea of writing to a buffer while the file is opening. That should help a lot with the performance issues. The deck selection is next on my list. Thanks for the suggestions. |
m_filesRecorded << m_recordingLocation; | ||
|
||
// TODO(carl) is this thread safe? | ||
m_pConfig->set(ConfigKey(LOOP_RECORDING_PREF_KEY, "Path"), m_recordingLocation); |
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.
I would prefer to not use the config API to notify enginelooprecorder.cpp of the loop location, since it's not technically thread-safe and not the great option for performance. I don't think I can connect the manager to a slot in enginelooprecorder.cpp though since we've subclassed QThread.
…order Conflicts: src/dlgprefrecorddlg.ui
…order Conflicts: src/engine/enginemaster.cpp src/engine/enginemaster.h
|
||
// Read config and check radio button | ||
QString loopFormat = m_pConfig->getValueString(ConfigKey(LOOP_RECORDING_PREF_KEY,"Encoding")); | ||
if(loopFormat == ENCODING_WAVE) |
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.
always use braces, even if there's only one item in the branch.
When I push the record button in the Deere-looprecord skin, nothing happens. Can you add directions at the top of this pull for how to test? |
It's currently partially broken since I haven't had time to fully integrate On Monday, December 23, 2013, Owen Williams wrote:
|
What is the state of this PR? Is it possible to keep it mergeable (resolve conflicts)? |
It's drifted pretty far away from being mergeable. The effects branch changed a bunch of stuff in the engine that conflicts with this branch so it will take some significant effort to get it back to being mergeable. I'm moving soon, so I won't have time to work on it in the next month or so, but I intend on revisiting at some point this fall. I'd be fine closing this and reopening a new PR when I have something that works with the newer changes to the engine. |
Thank you for the updates and for still being on board. Lets leave it open as reminder. |
@cpill0789 , are you interested in reviving this for 2.1? I'd love to play with this :) |
This pull request has not been updated in years so I am closing it to reduce the clutter of open PRs. I'm also not convinced that having the loop recorder as a separate entity in the UI rather than integrated into decks is a good idea because this does not fit with the design of any controller other than the NI Traktor Kontrol S4. Notably NI has not put controls for the loop recorder on any of their other controllers. |
i would love to see a looper happening in mixxx :) |
LateNight / Tango: collapse unconfigured Mic/Aux units, add Setup button
…mobile Fix issue where hamburger menu can be scrolled to
This pull request is for my GSoC 2013 Loop Recorder Project.
Design document: http://mixxx.org/wiki/doku.php/loop_recorder
Launchpad Blueprint: https://blueprints.launchpad.net/mixxx/+spec/loop-recorder
Test skins are available at https://github.com/cpill0789/mixxx/tree/loop_recorder_skins
In order to activate you need to add a --loopRecord (or --loopRecorder) when you run Mixxx.