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

changes to clean up BSTM from library_features branch on lp #5

Closed
wants to merge 3 commits into from

Conversation

kain88-de
Copy link
Member

This includes the changes I made in library_features to make
it easier to subclass BSTM and make it clearer what has to be done
to do that. Also it has the nice sideeffect that the subclasses
now are less cluttered.

This includes the changes I made in library_features to make
it easier to subclass BSTM and make it clearer what has to be done
to do that. Also it has the nice sideeffect that the subclasses
now are less cluttered.
@@ -133,10 +125,13 @@ class TrackModel {
m_iDefaultSortColumn = sortColumn;
m_eDefaultSortOrder = sortOrder;
}

Copy link
Member

Choose a reason for hiding this comment

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

please strip excess whitespace before you commit

Copy link
Member Author

Choose a reason for hiding this comment

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

Is there a way to do this automatically?

Copy link
Member

Choose a reason for hiding this comment

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

I use a plugin for gedit, but there are commands and plugins and bash scripts that can do the same thing. like, say, cat input.txt | sed 's/[ \t]*$//' > output.txt

@ywwg
Copy link
Member

ywwg commented May 20, 2013

This is a pretty big changelist so it may take me a few passes to pick all of the nits

@kain88-de
Copy link
Member Author

Yeah take your time. I would also like some comments on basesqltablemodel.h. My goal was to make it easier for others to see what they need to subclass it and to reduce the code duplication we had in the tablemodels

@ywwg
Copy link
Member

ywwg commented May 22, 2013

Go ahead and commit on launchpad

@kain88-de kain88-de closed this May 22, 2013
ywwg referenced this pull request in ywwg/mixxx Jan 19, 2014
@daschuer daschuer mentioned this pull request Dec 28, 2014
ywwg added a commit that referenced this pull request Mar 20, 2015
daschuer added a commit that referenced this pull request Apr 10, 2015
Add a test that can crash soundtouch
ferranpujolcamins referenced this pull request in ferranpujolcamins/mixxx Jul 22, 2015
fixed recursive callSync() and some merges
ywwg pushed a commit that referenced this pull request Oct 28, 2015
On-going fixes to make Shoutcast-engine to deliver bytes to server
ronso0 referenced this pull request in ronso0/mixxx Feb 9, 2017
rearrange Pitch section to save v-space for Pitch fader
@daschuer daschuer mentioned this pull request Aug 13, 2017
19 tasks
@daschuer daschuer mentioned this pull request Jun 3, 2018
@daschuer daschuer mentioned this pull request Jun 11, 2018
11 tasks
daschuer pushed a commit that referenced this pull request Jan 24, 2019
…Schemes

Fix set variable in color schemes
Holzhaus referenced this pull request in Holzhaus/mixxx Apr 9, 2020
jusko pushed a commit to jusko/mixxx that referenced this pull request Dec 19, 2020
Set highspeedScale to 20, to allow quick search through track using S…
jusko pushed a commit to jusko/mixxx that referenced this pull request Dec 22, 2020
Set highspeedScale to 20, to allow quick search through track using S…
jusko pushed a commit to jusko/mixxx that referenced this pull request Jan 30, 2021
Set highspeedScale to 20, to allow quick search through track using S…
ronso0 pushed a commit that referenced this pull request Feb 17, 2021
ywwg pushed a commit that referenced this pull request Mar 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.
daschuer pushed a commit that referenced this pull request Jun 3, 2023
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.

2 participants