Unmount a removable drive from gui?

In Serato and Rekordbox I can click a button to unmount any removable drive. I know it is basically an OS function, but it is a nice feature to avoid having to exit full screen view of the application when switching between multiple dj’s with their collections on different devices.

Is the same feature available in Mixxx somehow?

not yet.
you can file a wishlist bug at Bugs : Mixxx

You don’t necessarily need to exit fullscreen, you can also use Alt+Tab to switch between windows.
At least it works like this in most mainstream OS distros, Win, macOS, *Ubuntu

Thanks for the tip and the link to the wishlist, @ronso!

I use Mixxx on a Raspberry Pi with a small (poorly responsive) touchscreen and no keyboard or mouse. The whole point of my project, inspired by pi_dj, is to avoid having to drag a power hungry laptop around, when my controller already gives me most of the feedback, that I need, and the most important screen task is to list and browse content, I can put on the decks on the controller.

I have wanted to achieve that ever since trying my first digital controller, and finally the Pi 4 (or another singe-board) is powerful enough to deliver reliable performance. Mixxx is the only software choice for this scenario, because none of the proprietary DJ applications will run on neither Linux nor an ARM processor. This makes me ever so thrilled about the 2.3 beta feature to read the metadata from other applications. All of a sudden you really can take basically any crummy old controller and make it club standard compliant, so any DJ that has prepared their set for CDJs can just plug in their USBs and start playing. Not even users of Serato or Traktor are required to bring their gear anymore, unless they want to. Everyone can just plug in and play on just about any device for dj’ing (even homemade).

Only Mixxx has ever made that option available to my knowledge, even though I know for sure, I’m not the only person who ever wished for it, so thanks to all the devs and designers for making the wish come true. It’s all I hoped for and is even beating my expectations. I have only run into smaller, mostly resolvable quirks like configuring a skin to display properly on a cramped, low-resolution screen or like this minor problem of how to cleanly unmount a removable drive while still performing (from another drive). For that, I’m thinking about mounting removable drives default to write-only, since I don’t need write functionality and wouldn’t mind protecting the content of the drives from accidental overwrites anyway. Speaking of, does the filebrowser update when drives are added or removed. I seem to remember it only scans for content on startup so it not, perhaps I could add this to the wish list also, though it feels like I should feel ashamed of asking for more.

I’m sorry for rambling. Just wanted to share some of my excitement. It may cloud my judgement, but I kind of suspect you will see a lot more use like this, once DJ communities around the world discovery just how many things that are suddenly possible which previously haven’t been available. Heck, you might even see some harsh competition from the proprietary DJ software makers when they discover, their expensive applications are notably inferior, so keep up the great work :stuck_out_tongue_winking_eye:

2 Likes

Unfortunately I think this will be rather cumbersome to implement. I don’t think Qt provides any cross-platform abstractions for this, so we’d need to implement it separately for 3 different operating systems that all handle this differently. That said, if anyone is up for doing the work, please do.

Well, seems it’s RPi (and other SOCs running Linux) scenario is where it’s obviously required most.
So a good first step would be to take a look how to implement it for #ifdef LINUX

Absolutely understandable, and certainly it is only a nice-to-have and not a need-to-have feature. I’m not quite sure though if you are referring to unmounting drive here or updating the filebrowser? Unmounting could (and should probably) be handled by the OS, but updating the filebrowser would need to be done by Mixxx to avoid having to restart when switching drives.

RPi is a great choice for maximum portability like what I’m doing, but I see DJs playing “back to back” sessions all the time at both gigs and private occasions on either CDJs or controllers with computers and (proprietary) software. With the new metadata feature that is not even generally available yet they can all (first time ever) meet in Mixxx, so I’m sure many will also opt for a more powerful computer with the full Mixxx interface evetually.

Implementing in linux first could even make some DJs switch OS I suspect, but to my knowledge removeable drives does not really need unmounting in Windows, and MacOS should be at least similar because of it’s Unix origin, so perhaps it is all, that is needed. The most importing thing is having the filebrowser update every time a drive is attached or removed though. From a general viewpoint I actually think the OS should (and it can) handle the mounting process, but it won’t madder much if the file browser does not see the changes.

To be fair I have tried sharing gear and playing back2back session in all of Rekordbox, Traktor and Serato, and it always struck me as odd, that none of the applications has seemed to be prepared for a situation where multiple DJ’s use the same gear either simultaneously or sequentially, even though that might be considered the standard use case for any dedicated CDJ setup. The best approach to an option like that would probably be a setting in preferences to toggle a read-only or temporary mode that clears out the library, only reads removable drives and writes to a temporary database, and perhaps cleans out unneeded entries in the left browser pane.

So I finally checked an it seemed Mixxx had no problem seeing and reading a drive, that was attached after start-up. Didn’t check removal yet, but adding is definitely most important, so for now I think I will just opt for the read-only mount of removable drives.

Yes, unmounting drives is done differently on every OS.

I totally agree. I’d love if Mixxx had a secondary headphone output for this use case. Passing headphones back and forth is annoying.

1 Like

That sounds clever. Fortunately for me my controller has both a jack and a minijack headphone plug, so I sort of already have a feature like this. I know for a fact though, that an option to (temporarily) share a device between multiple users with individual collections is an often sought for and requested but never fulfilled feature in any DJ application. If Mixxx was first to implement this, in could be market leader in yet another aspect of DJ software, like it is with the feature to read metadata from other software options (pioneering in front of Pioneer :stuck_out_tongue_winking_eye:). I think that is kind of kick-ass for a free, open source, linux-friendly DJ’ing application.

2.3 is just great, like it is IMO, and already at least a step ahead of the competition in this (at least for me) key aspect, but perhaps a “Shared use” setting would be worth considering for 2.4? I’ll try to a least put some thoughts into an understandable concept and file a wishlist item on the tracker. Off course I’ll gladly help in testing, if that is ever relevant, but I only know a bit of PHP, so I can’t help much with the actual code.

My audio interface (RME Babyface Pro) has two headphone jacks as well, but they play the same signals. The same can easily be accomplished with a headphone splitter cable. What I am talking about are two separate PFL channels so the DJs would not need to pay attention to what decks the other has going to their headphones. Only a few expensive mixers support this.

I didn’t know C++ before I started contributing to Mixxx. The best way to learn is to start.

1 Like

Haven’t seen that, but I see, how a feature like that would be handy.

I managed to work around to the issue of unmounting by increasing the font size of the OS a little bit to make the top level application menu thumb-clickable. Here I can toggle full screen from the “View” section to push the Mixxx window just below an oversized panel, where I can touch an applet to handle unmounting and then pop back into full screen without totally abandoning the performance view.

It’s not fluent but an easily acceptable solution to a minor, occasional difficulty with the added bonus of a way to exit Mixxx from the menu’s “File” section and subsequently power down the device, that has proved to be a surprisingly persistent challenge that is finally resolved along with my few other initial challenges. Mixxx and a Raspberry Pi has just upgraded the experience of using my controller from entry level to highly advances (and also much more expensive).