Merge lp://qastaging/~ywwg/mixxx/features_xwax2 into lp://qastaging/mixxx/1.10
Proposed by
Owen Williams
Status: | Merged | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Merged at revision: | 2863 | ||||||||||||||||||||
Proposed branch: | lp://qastaging/~ywwg/mixxx/features_xwax2 | ||||||||||||||||||||
Merge into: | lp://qastaging/mixxx/1.10 | ||||||||||||||||||||
Diff against target: |
3843 lines (+1680/-472) (has conflicts) 57 files modified
mixxx/build/depends.py (+3/-0) mixxx/lib/xwax/timecoder.c (+1/-1) mixxx/lib/xwax/timecoder_win32.cpp (+1/-1) mixxx/src/cachingreader.cpp (+163/-145) mixxx/src/cachingreader.h (+79/-74) mixxx/src/dlgprefnovinyldlg.ui (+23/-0) mixxx/src/dlgprefvinyl.cpp (+3/-0) mixxx/src/dlgprefvinyldlg.ui (+7/-0) mixxx/src/engine/enginebuffer.cpp (+5/-9) mixxx/src/engine/enginebufferscalelinear.cpp (+0/-10) mixxx/src/engine/enginebufferscalest.h (+5/-5) mixxx/src/engine/enginedeck.cpp (+1/-2) mixxx/src/engine/enginemaster.cpp (+11/-2) mixxx/src/engine/enginemaster.h (+2/-0) mixxx/src/engine/enginevinylsoundemu.cpp (+37/-25) mixxx/src/engine/enginevinylsoundemu.h (+6/-1) mixxx/src/engine/engineworkerscheduler.cpp (+25/-11) mixxx/src/engine/engineworkerscheduler.h (+21/-6) mixxx/src/engine/readaheadmanager.cpp (+12/-7) mixxx/src/engine/readaheadmanager.h (+2/-1) mixxx/src/engine/syncworker.cpp (+25/-0) mixxx/src/engine/syncworker.h (+20/-0) mixxx/src/engine/vinylcontrolcontrol.cpp (+6/-0) mixxx/src/engine/vinylcontrolcontrol.h (+2/-0) mixxx/src/library/basesqltablemodel.cpp (+85/-0) mixxx/src/library/basetrackcache.cpp (+15/-2) mixxx/src/library/dao/trackdao.cpp (+3/-1) mixxx/src/library/itunes/itunesfeature.cpp (+45/-20) mixxx/src/library/preparelibrarytablemodel.cpp (+5/-1) mixxx/src/library/rhythmbox/rhythmboxfeature.cpp (+1/-1) mixxx/src/library/traktor/traktorfeature.cpp (+1/-1) mixxx/src/mixxx.cpp (+10/-35) mixxx/src/skin/legacyskinparser.cpp (+4/-2) mixxx/src/skin/legacyskinparser.h (+3/-1) mixxx/src/skin/skinloader.cpp (+7/-1) mixxx/src/skin/skinloader.h (+2/-1) mixxx/src/soundmanager.cpp (+1/-9) mixxx/src/soundmanager.h (+0/-2) mixxx/src/track/beatfactory.cpp (+4/-5) mixxx/src/trackinfoobject.cpp (+11/-1) mixxx/src/trackinfoobject.h (+4/-0) mixxx/src/util/fifo.h (+44/-0) mixxx/src/util/pa_memorybarrier.h (+128/-0) mixxx/src/util/pa_ringbuffer.c (+238/-0) mixxx/src/util/pa_ringbuffer.h (+233/-0) mixxx/src/vinylcontrol/vinylcontrol.cpp (+15/-2) mixxx/src/vinylcontrol/vinylcontrol.h (+6/-1) mixxx/src/vinylcontrol/vinylcontrolmanager.cpp (+17/-6) mixxx/src/vinylcontrol/vinylcontrolmanager.h (+1/-0) mixxx/src/vinylcontrol/vinylcontrolsignalwidget.cpp (+1/-1) mixxx/src/vinylcontrol/vinylcontrolxwax.cpp (+118/-61) mixxx/src/vinylcontrol/vinylcontrolxwax.h (+2/-1) mixxx/src/waveform/waveformrenderer.cpp (+24/-1) mixxx/src/waveform/waveformrenderer.h (+2/-1) mixxx/src/widget/wspinny.cpp (+160/-10) mixxx/src/widget/wspinny.h (+25/-1) mixxx/src/widget/wtracktableview.cpp (+5/-4) Text conflict in mixxx/src/library/basesqltablemodel.cpp Text conflict in mixxx/src/library/basetrackcache.cpp Text conflict in mixxx/src/library/itunes/itunesfeature.cpp Text conflict in mixxx/src/library/preparelibrarytablemodel.cpp Text conflict in mixxx/src/skin/skinloader.cpp |
||||||||||||||||||||
To merge this branch: | bzr merge lp://qastaging/~ywwg/mixxx/features_xwax2 | ||||||||||||||||||||
Related bugs: |
|
||||||||||||||||||||
Related blueprints: |
Vinyl Control Improvements
(Essential)
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
RJ Skerry-Ryan | Approve | ||
Review via email:
|
Description of the change
I've continued working in features_xwax2 to make some fixes and updates to the vinyl control code. It would be nice if some of these fixes could go into trunk, other new features can probably wait if it breaks freeze too badly.
New Features:
* Show signal quality inside WSpinny
* More pleasant waveform stretching
Fixes:
* fix vinylsoundemu and take equivalent code out of EBSL
* when loading a track, update track duration with correct value
* keep vinyl control enabled when changing vinyl control preferences
* Absolute mode fixes (better for scratching)
To post a comment you must log in.
Looking good Owen -- I think this is fine to go in 1.10. I'm going on your say-so that it works since I can't test it myself, so this is just a review of the code assuming it all works :P
enginevinylsoun demu.cpp
* Just to make sure fabs(curRate) is not repeated over and over, could you assign it to a temporary variable once per loop?
* Using rand() in the callback isn't ok because technically it can block if the system has run out of entropy (at least if it's reading from /dev/random). Even if it doesn't block, random number generation aint cheap. Can you pre-generate a large buffer of random numbers in the constructor and just use that (with a class-level stored index into the buffer so you aren't adding the same section each time).
enginebuffer.cpp
* Duration is read from metadata and shouldn't be considered accurate. Also I don't think we should correct it if it's wrong from the engine. Do you rely on duration anywhere from within VC? Can we remove this line?
vinylcontrolsig nalwidget. cpp
* There's a constant in vinylcontrol.h MIXXX_VINYL_ SCOPE_SIZE that seems to be this number. Can you use that instead?
wspinny.cpp
* in updateVinylCont rolEnabled( ) there is some non-ndeck code -- I know VC itself is 2-deck centric, but could you instead add a VinylControlMan ager::getVinylC ontrolProxyForC hannel( QString) method that returns either the proxy or NULL? That way WSpinny doesn't need an update when we eventually n-deck vinyl control.