Skip to content
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

Skin layout revamp resolved conflicts #3

Closed

Conversation

daschuer
Copy link

@daschuer daschuer commented Oct 2, 2017

Hi Ferran,
I have merged your branch with master, and resolved conflicts.
Please merge, if I did it right.
Thank you.

uklotzde and others added 30 commits June 29, 2017 08:32
…lowed"

This reverts commit 9ee2d1c, which
made it so controllers not mapped using the new relative mode Pot
in Components lost control of the tempo fader when sync made it
go out of bounds, as reported here:
mixxxdj#1237 (comment)
implementing this in JavaScript required making a change in C++
that broke old controller mappings as discussed on GitHub:
mixxxdj#1237 (comment)
...and trigger a CI build after timeout
clamp out-of-bounds ControlObject values
...happens very often during tests and spams the log output.
...still needs to be refactored.
JACK clients cannot set JACK's sample rate. That is determined by the
JACK server.
Who knows, it may come in handy in some esoteric setup
Delaying the outputs only adds latency. It does not change that the user
must compensate for the latency by playing earlier to play on beat.
"Talkover mix mode" is Mixxx-specific jargon. "Microphone monitor mode"
should be clear to people familiar with general music technology jargon.

Also, move the Measured Round Trip Latency spinbox next to the
microphone monitor mode combobox.
daschuer and others added 22 commits September 16, 2017 23:36
(appveyor) fix NSIS patch after appveyor NSIS upgrade
Metronome Effect + Effect Sync refectoring
(travis-ci) fix travis-ci mac build (don't try to install libjpeg as it is already installed)
Scale syncing of temporal effect parameters with rate slider
This caused the QuickEffect to be enabled when opening the
Preferences if it had been disabled. Fixing
https://bugs.launchpad.net/mixxx/+bug/1719595
do not reload QuickEffect when opening Preferences dialog
... when adding new files without tags to the library.
Conflicts:
	res/skins/Shade/deck.xml
	res/skins/Shade/skin.xml
	src/widget/wmainmenubar.cpp
@ferranpujolcamins
Copy link
Owner

ferranpujolcamins commented Dec 31, 2017

@daschuer Thank you very very much for keeping this up!

Also see my comment on mixxxdj#913

@ferranpujolcamins
Copy link
Owner

@daschuer shall we close this?

@daschuer
Copy link
Author

daschuer commented Jan 7, 2018

Yes

@daschuer daschuer closed this Jan 7, 2018
@daschuer
Copy link
Author

daschuer commented Jan 7, 2018

Hey, I have just used the close and comment button reasonable the first time. :-P

ferranpujolcamins pushed a commit that referenced this pull request Apr 24, 2021
Implements changes to effect unit handling as requested by @Be-ing
ferranpujolcamins pushed a commit that referenced this pull request May 7, 2022
…h sync

When loading a track that is not yet present in the library (and thus
doesn't have any BPM because it hasn't been analyzed yet) while another
deck is playing and both decks have sync enabled, a debug assertion is
triggered:

    DEBUG ASSERT: "isValid()" in function double mixxx::Bpm::value() const at src/track/bpm.h:53
    Aborted (core dumped)

The backtrace looks as follows:

    #0  0x00007f175c87234c in __pthread_kill_implementation () at /usr/lib/libc.so.6
    #1  0x00007f175c8254b8 in raise () at /usr/lib/libc.so.6
    #2  0x00007f175c80f534 in abort () at /usr/lib/libc.so.6
    #3  0x00007f175cf05ee4 in qt_assert(char const*, char const*, int) () at /usr/lib/libQt5Core.so.5
    #4  0x000055deb2e67e1c in mixxx::(anonymous namespace)::handleMessage(QtMsgType, QMessageLogContext const&, QString const&) (type=<optimized out>, context=<optimized out>, input=<optimized out>) at src/util/logging.cpp:355
    #5  0x00007f175cf47128 in  () at /usr/lib/libQt5Core.so.5
    #6  0x00007f175cf3fd8a in  () at /usr/lib/libQt5Core.so.5
    #7  0x00007f175cf06526 in QMessageLogger::critical(char const*, ...) const () at /usr/lib/libQt5Core.so.5
    #8  0x000055deb2e5c720 in mixxx_debug_assert(char const*, char const*, int, char const*) (assertion=assertion@entry=0x55deb39bd0db "isValid()", file=file@entry=0x55deb39bbf30 "src/track/bpm.h", line=line@entry=53, function=function@entry=0x55deb39bbf08 "double mixxx::Bpm::value() const") at gsrc/util/assert.h:9
    #9  0x000055deb2ee7e7e in mixxx_debug_assert_return_true(char const*, char const*, int, char const*) (function=0x55deb39bbf08 "double mixxx::Bpm::value() const", line=53, file=0x55deb39bbf30 "src/track/bpm.h", assertion=0x55deb39bd0db "isValid()") at gsrc/util/assert.h:18
    #10 mixxx::Bpm::value() const (this=<synthetic pointer>) at src/track/bpm.h:53
    #11 mixxx::operator*(mixxx::Bpm, double) (multiple=1, bpm=...) at src/track/bpm.h:160
    #12 SyncControl::setLocalBpm(mixxx::Bpm) (this=<optimized out>, localBpm=...) at src/engine/sync/synccontrol.cpp:567
    #13 0x000055deb34c7ba3 in EngineBuffer::postProcess(int) (this=0x55deb56eb060, iBufferSize=2048) at src/engine/enginebuffer.cpp:1318
    #14 0x000055deb3139023 in EngineMaster::processChannels(int) (this=0x55deb5449440, iBufferSize=<optimized out>) at src/engine/enginemaster.cpp:383
    #15 0x000055deb31394f7 in EngineMaster::process(int) (this=0x55deb5449440, iBufferSize=iBufferSize@entry=2048) at src/engine/enginemaster.cpp:410
    #16 0x000055deb2f91d0b in SoundManager::onDeviceOutputCallback(long) (this=<optimized out>, iFramesPerBuffer=iFramesPerBuffer@entry=1024) at src/soundio/soundmanager.cpp:596
    #17 0x000055deb32dd794 in SoundDevicePortAudio::callbackProcessClkRef(long, float*, float const*, PaStreamCallbackTimeInfo const*, unsigned long) (this=0x55deb553e6b0, framesPerBuffer=1024, out=<optimized out>, in=<optimized out>, timeInfo=<optimized out>, statusFlags=<optimized out>) at src/soundio/sounddeviceportaudio.cpp:965

This happens because `newLocalBpm` is invalid when `localBpm` is
invalid. Trying to do sync decks while no tempo information is available
does not make sense, so we only synchronize decks if the local BPM is
available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants