popup on first launch advising users that tracks should be analyzed for pro environments

Bug #1431168 reported by RAWRR
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Low
Unassigned

Bug Description

It may seem obvious to a lot of people, but it has taken me awhile to realize that generating waveforms on the fly during a set can be really dangerous, leading to all kinds of overflows and cutouts and stutter and embarrassment. Whether it was me being stupid or not, there is no reason that this needs to be an unspoken detail or one that users should have to RTFM to discover.

Considering the use ethic of the project, I think adding this should be a no-brainer. Suggested text:

"Welcome to Mixxx! Word to those intending to use Mixxx in a professional setting: Mixxx will generate waveforms and beatgrids for every track in your library, and by default it will do so the first time you play each track. HOWEVER - this can require a significant amount of system resources. For professional use, it is better to use the 'Analyze' feature to pre-generate waveforms and beatgrids for all your tracks *before* a set, so that all of your system's resources can go toward playing the music."

Edits obviously warranted, but there is the general idea.

If this had been pointed out to me early on, it would have saved me loads of grief.

Sometimes things that seem obvious just aren't.

RAWRR (rawrr)
description: updated
description: updated
description: updated
description: updated
Revision history for this message
Daniel Schürmann (daschuer) wrote :

On the other hand it may looks like Mixxx is broken by default.
On a recent machine with default latency setting, there should be no issue. with on the fly analysis.
If there is one we should fix it.

However the proposed clause is correct in general.

If we decide to go this route, Mixxx needs a preference option to inhibit on the fly analysis.
We may discuss the default and place the warning beyond this preference option.

Revision history for this message
Be (be.ing) wrote :

What would happen without on-the-fly analysis? Display a straight line in place of the waveform?

Revision history for this message
Be (be.ing) wrote :

In case it is not obvious, this popup should have a button to start analyzing the whole library.

Revision history for this message
Owen Williams (ywwg) wrote :

I don't think we start a trend of including popups on first-start. Should we also warn users about rubberband? Certain GL configurations? accidentally unplugging usb devices? Also experience shows that people don't really read paragraphs of text like that, they'd most likely see "welcome to mixxx! blah blah blah" and then click OK. At best, we could put something in the manual for users of low-end machines.

I think in the end the DJ has a certain amount of responsibility to know their system and tracks, and discovering "ok my computer is too slow to analyze on the fly" is one of those things. (Although I'm surprised, because analysis is very lightweight and low-priority these days, what CPU and latency are you using?) Those bottlenecks may be different for everyone depending on graphics cards or system speed, and I don't think we can predict every situation.

Rather than work on this text or preference I'd prefer to figure out why it's stuttering on your system and fix it (probably your latency is just a little too aggressive). I've tried mixxx on a really old thinkpad T43 and it had no trouble at all.

Revision history for this message
RAWRR (rawrr) wrote :

@Owen: I'm getting these results using the default latency settings, and my CPU is 2.4ghz dual core with 4gb of memory and onboard graphics. This is not a low spec machine, even if it is old by today's standards. I use a variety of machines and OSs, this result is true for all of them. Yes, they are all older machines. In other words, in my case there is no single system to fix. This is Windows, Linux, old hardware, less old hardware.

Can we avoid revisiting the discussion of old hardware-as-edge-case? If Mixxx is pledged to only work on recent hardware, I think it becomes of questionable use, or useless alltogether, to a significant quantity of users.

I will admit that having upgraded from the *even older* hardware that I used to use, I had stopped fussing over the latency settings. I should definitely revisit tweaking them.

I'm sensitive to your thoughts on popups, I see that it can seem like a slippery slope. While I don't agree that professional and serious users likely don't read, it does become a question of how many popups to include about what issues. I actually thought of these things; this is just the #1 usability issue in my [many] cases at this point. Do Not Generate A Lot Of Waveforms During A Set, basically.

At least can we get a page on the wiki? Something like: "Using Mixxx in a professional setting."

Revision history for this message
RAWRR (rawrr) wrote :

also @Owen: "Should we also warn users about accidentally unplugging usb devices?"

Pulling a usb device doesn't happen by default. And on that note, I really like Daniel's idea about an option to *not* generate waveforms+bpm. In retrospect, it does seem weird for it to not be optional.

Revision history for this message
Owen Williams (ywwg) wrote :

I totally agree that Mixxx needs to work on a range of hardware -- my "old" machine is a single-core first-gen core M machine also with 4 gigs of RAM. But what latency have you selected? I just want to make sure it's not set to, like 2ms or something that I think is not quite realistic :).

I think a wiki page is a great way to go. I also think we should work on making some youtube videos with advice like this -- people are much more likely to pay attention to those.

Revision history for this message
RAWRR (rawrr) wrote :

Hmm. Ok. Do I need special permissions to create a page there? I haven't poked around at it in awhile. Or does someone else want to do it?

Revision history for this message
Daniel Schürmann (daschuer) wrote :

@RAWRR: On which OS are your? I use Mixxx successfully on a old Atom eeePC, Linux Mint 17 with audio real time priority enabled
 without any dropouts.
Of cause the GUI is jerking a lot but no dropouts,

Since we have an option to not show the Waveforms, we might want to skip the analyses for it.
Creating the Beat grid and the replayGain data is however essential for some features in Mixxx.
So it might be frustrating if you hit a track with no beatgrid live.
What is worse in this situation a dropout or a insane loudness because of missing RG analysis.

You are welcome to write a guide in the wiki. You may also help to improve the manual.
If you need help just ask.

Revision history for this message
RAWRR (rawrr) wrote :

Hmm. Ok. Do I need special permissions to create a page there? I haven't poked around at it in awhile. Or does someone else want to do it?

Revision history for this message
RAWRR (rawrr) wrote :

AAAGhh! Glitch!

Anyway here is this bug now, Daniel: bug #1431616

Revision history for this message
RAWRR (rawrr) wrote :

This last set I had problems i was using the above specs and a livecd running a slackware derivative and the LXDE desktop. The system was running in RAM - still the system is relatively small and there should have been *at least* 2gb of RAM free.

The last completely successful set I ran was on the same machine but with a disk install of the latest Lubuntu and all analysis performed beforehand. Everything ran very, very smooth.

Revision history for this message
RAWRR (rawrr) wrote :

(I had to use a debian repo to get Mixxx 1.11 but it worked fine)

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Would you mind to check Mixxx 1.12 alpha and be sure you have enabled audio real time priority.
http://www.mixxx.org/wiki/doku.php/troubleshooting
We have done some tweaks that might have fix the issues for you.

Revision history for this message
Be (be.ing) wrote :

The issue here is not just working better with old hardware. There is the usability issue, even on faster machines, of not seeing the BPM and key of tracks in advance of loading them to a deck. It took me several months of using Mixxx before I figured out how to do batch analysis.

I think it would be better to have this popup appear in connection with changing the library location. Perhaps, after applying a change of this setting, a popup should appear with three options: (re)scan library and analyze it, (re)scan library and do not analyze now, do nothing.

Revision history for this message
Owen Williams (ywwg) wrote :

I wouldn't be opposed to adding a preference for "analyze tracks when added to the library" with maybe a confirmation warning if the user adds >~100 tracks at once

Revision history for this message
Be (be.ing) wrote :

I filed a new bug to address the usability issue more thoroughly: Bug 1431925

Regardless, I still think users should be advised about analyzing the library when they are first setting up a new library.

Revision history for this message
RAWRR (rawrr) wrote :

Owen #16 - sounds intuitive

Be - "I think it would be better to have this popup appear in connection with [how about: *setting*] the library location." - Yes. This effectively decouples it from the "startup" *concept* but keeps the original idea in the same place physically. What I mean is, the purpose isn't to "blah blah blah tutorial" at the user but to make more complete use of the scanning popup, as per what I suggested here: https://bugs.launchpad.net/mixxx/+bug/1431925/comments/4

"2ms or something" - nope, just the defaults, whatever they are. As I said, I stopped messing with them, and these aren't reinstalls on systems I've been using in state for years or something that may have old settings carried over.

Be - "There is the usability issue, even on faster machines, of not seeing the BPM and key of tracks in advance of loading them to a deck." This could be a non-issue if "only waveform generation" is turn-offable as per Daniel in #9.

tags: added: analyzer
removed: analyze beatgrid beatgrids notification notifications polish waveforms
Be (be.ing)
Changed in mixxx:
status: New → Confirmed
importance: Undecided → Low
tags: added: usability
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/7893

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.