mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.43k stars 1.27k forks source link

option to subdivide Library tracks into virtual folders #7179

Open mixxxbot opened 2 years ago

mixxxbot commented 2 years ago

Reported by: rawrr Date: 2013-09-22T07:31:22Z Status: Confirmed Importance: Wishlist Launchpad Issue: lp1228789 Tags: library, polish Attachments: [virtual folders mockup.png](https://bugs.launchpad.net/bugs/1228789/+attachment/3837827/+files/virtual folders mockup.png), Categories-Preferences.png, Categories-Preferences2.png


This is an alternative solution to Bug #⁠1179318, and is interchangeable with, but I don't think duplicate of, Bug #⁠671630.

I understand that it may be desirable to compartmentalize "Browse" as an internal file manager instead of a track manager; I just want to be able to subdivide my tracks by artist while retaining the ability to know what I've played already (Played) and to easily send a track to the previewdeck (Preview).

Whether it is by adding function to Library, or by adding function to Browse, I care not.

mixxxbot commented 2 years ago

Commented by: daschuer Date: 2013-09-22T20:23:26Z


I do not get your point well. You can already "subdevide" your library by artist, simply by clicking on the artist header. Is your request something like Bug #⁠753287?

mixxxbot commented 2 years ago

Commented by: rawrr Date: 2013-09-23T03:31:30Z


I would say that what you refer to is "organizing" not "[sub] dividing". Organization is obviously a basic necessity, but sorting by column is the most basic. I am indicating to be able to organize more.

I'm suggesting a kind of virtual folder or pseudo-folder system here.

In any given glance at my library, when viewing the Library pane, often the entire pane is filled by dozens of tracks from just one single artist. Scrolling past them to the next artist is twitchy because when there are thousands of tracks, using the scroll bar to move through them happens way too fast to grok all the track names and artists. It also is too delicate, because when the scroll slider resizes proportionately to the number of tracks, as it does in most any browser window, there is just a tiny dot to grab with the mouse or by touch. This is not a bug - any explorer window will present a tiny scroll dot for a folder filled with thousands of files and will make scrolling by scroll bar very twitchy. It is just what happens when the scroll bar resizes proportionately to so many files.

By contrast, when I use, say, the Quick Links option under Browse, it doesn't matter how many tracks I have by that artist, there is only one object for each of them (meaning a folder in the tree pane). This means that at a glance, I can see 20+ artists at any given time, as opposed to a very few, generally at most a dozen, in the Library pane. Even if I have a few hundred artists, it is quicker (and has better control) to scroll through a few hundred objects (artist folders) in the left Quick Browse pane than a few thousand objects (tracks) in the Library pane.

One last thing that should be noted is that I meticulously organize all my music files by artist outside of Mixxx. I realize that not everyone does this, and that is yet another reason to include a "folder" or "artist" organizing feature in Library. You could feed Library literally the most enormous jumble of disorganized music files ever, and so long as they had proper ID3 tags, Mixxx could present them in organized "folder" structure.

Wait, one more last thing. If implemented, this same organizing feature could be used to apply to any category currently visible in the columns bar, in other words I may wish to creat a tree in the left pane in Library with virtual folder sorted by Artist, but someone else might prefer to create a virtual folder tree where the folders are Genre, or Year, or even Rating.

mixxxbot commented 2 years ago

Commented by: daschuer Date: 2013-09-23T07:09:57Z


Thank you for explanations.

Possible solutions are lined out here Bug #⁠661460 and here Bug #⁠671630

An other idea is a tree view embedded in the library table + a "group by" check box in the table header.

mixxxbot commented 2 years ago

Commented by: rawrr Date: 2013-09-23T09:35:33Z


It is similar to Bug #⁠671630! I don't think they are duplicates but it seems clear that either of them would solve the other's issue.

"An other idea is a tree view embedded in the library table + a "group by" check box in the table header."

If you mean to put a separate tree view inside the Library pane (table=pane?), I don't think that works well for the exclusive reason that the Library pane on some screens is already too cramped to view enough track data; another tree would crowd it further. Also, it would be weird to have two tree views.

If you mean to avoid confusion with Browse's tree view, I understand. But still I think all trees in tree pane is smoother and more intuitive. Plus, another thought is this: it seems that the primary reason for Browse view is Bug #⁠952945, similar to why "Load Track to Deck(#)" exists in the File menu. If Bug #⁠952945 is fixed, and it seems we all want it to be eventually, then there won't be a need for two extended tree views of track folders.

mixxxbot commented 2 years ago

Commented by: daschuer Date: 2013-09-23T10:32:45Z


Bug #⁠952945 is just about where MIxxx's library scanners is looking for tracks. IMHO this is independent from this issue.

I am unsure what is my favorite. But just to explain the "Group by" idea:

Please Look at: https://bug263255.bugzilla.mozilla.org/attachment.cgi?id=162759&action=view and replace "Today" by an artist name.

This was also part of my mock up: https://launchpadlibrarian.net/102791562/three-column-layout-mock-up.png And Max's version https://launchpadlibrarian.net/106182034/mixxx-newLibraryWidget-7.svg

mixxxbot commented 2 years ago

Commented by: rawrr Date: 2013-09-23T22:49:11Z


Are either your or Max's plans already underway, or are they both still projections/planning?

mixxxbot commented 2 years ago

Commented by: daschuer Date: 2013-09-24T08:30:36Z


Currently nothing happens with this topic. We have proposed it for GSoC 2013, but finally we have picked other projects. So you are welcome to review/improve our ideas.

mixxxbot commented 2 years ago

Commented by: rawrr Date: 2013-09-24T08:56:58Z


I was just asking so I could gauge how flexible the plans might still b and whether I should be making so many suggestions. If the ball has been rolling for a long time and code has already been written, I wouldn't want to make it more difficult for whoever was doing that.

I logged in now because I just finished a mockup of the layout I'm proposing and hoping for.

I'm not so good at this yet... it took me a long time :/

Attached is image.

mixxxbot commented 2 years ago

Commented by: rawrr Date: 2013-09-24T09:18:23Z Attachments: [virtual folders mockup.png](https://bugs.launchpad.net/mixxx/+bug/1228789/+attachment/3837827/+files/virtual folders mockup.png)


This one doesn't have stupid "Title" category for the folders 9_9
I know its just a mockup but I'm fussy about stuff like that >_<
mixxxbot commented 2 years ago

Commented by: daschuer Date: 2013-09-24T10:25:12Z


Thank you for the work. I like your idea.
How did you make the mock up? Inside the MIxxx source?

To me this is pretty much the same than the "Point and Click Filter" from https://launchpadlibrarian.net/106182034/mixxx-newLibraryWidget-7.svg

What about skip the preference changes and introduce "Artist", "Genre" ... as Tree items?

I do not like to introduce the word "Virtual Folder" because Mixxx has already Virtual Folders = Crates. A "folder" implies that you can add tracks to it. IMHO Filter describes the feature better.

Later we can easily extend this feature by custom filters like: "year:>2010 genre:dance"

http://mixxx.org/manual/1.11/chapters/djing_with_mixxx.html#djing-finding-tracks

mixxxbot commented 2 years ago

Commented by: rawrr Date: 2013-09-25T17:10:18Z Attachments: Categories-Preferences.png


--"How did you make the mock up? Inside the MIxxx source?"

I wish I knew how to do that. No, I just took a screenshot and very carefully cut and pasted elements using PhotoFiltre 7.

--"To me this is pretty much the same than the "Point and Click Filter"

A little similar maybe? Max's version is a bit cluttered and complicated for my taste... I prefer things very straightforward and simple where possible.

--"What about skip the preference changes and introduce "Artist", "Genre" ... as Tree items?"

I thought about that, it certainly would be more direct. But it also would add more elements to the tree and the UI that might be confusing - novice users might think that there were more tracks there than there are or something. It would be immediately at your fingertips though which would be nice. I personally would consider that arrangement clutter, however, if this was the best way to implement it I would think it an improvement over the current layout definitely.

--"Mixxx has already Virtual Folders"

Maybe "Filtered Categories" or "Virtual Directories" or even "Pseudofolders"? Maybe just plain "Library Categories"? "Filter" to me doesn't imply an object, the visual object that results from enabling the feature. Filter also to me implies that any term can be used, such as wildcards, which would not be the case here. Filter applies to typed searches well. My "Pseudofolder" idea has no typing, only visual objects to click or touch. Or even something as direct and simple as the image attached :)

--"Later we can easily extend this feature by custom filters like: "year:>2010 genre:dance""

Maybe. I'd still want those selections to be out of the way of the gui, to be choices made, set, and left alone in the preferences menu. I could do a mockup for that too but I'd have to think it out a lot more than I'm capable of atm -_-* (tired)

mixxxbot commented 2 years ago

Commented by: rawrr Date: 2013-09-25T17:22:01Z Attachments: Categories-Preferences2.png


Maybe this?

mixxxbot commented 2 years ago

Commented by: naught101 Date: 2014-01-12T00:36:44Z


Could there be something like the mock-up in comment #⁠9, but instead of the artist being included at the top level of the library, include all grouping types as collapsibleparent folders, and then the actual groups under those? like:

Library

mixxxbot commented 2 years ago

Commented by: rawrr Date: 2014-01-12T19:03:48Z


So you mean have all grouping types at the top level of the Library?

It sounds as though your idea mirrors Daniel's in comment #⁠10:

"What about skip the preference changes and introduce "Artist", "Genre" ... as Tree items?"

Will you really switch views often enough in a set that you need all the options at your immediate fingertips? I ask because for me, I'll decide which grouping type I prefer and then leave it at that; and since I think the simplest interface possible is best, I'd prefer to have the switching option in this case tucked away in the prefs and keep as few sorting objects showing in the Tree Pane as possible.

Your idea is good, better than the way things are now, and if you really need to be jumping between sort categories, then having them all permanently set into the tree might be a really good option to consider.

I still make the case that the simplest UI is the best, especially in a reflex/coordination intensive environment such as DJing, and that the toggle for which sort type is shown should be kept out of the main interface, again, unless your style of operation requires constant switching.

Also, I want everything to be intuitive a newcomer's first glance and avoid problems as per comment #⁠11: "...it also would add more elements to the tree and the UI that might be confusing - novice users might think that there were more tracks there than there are or something."

So ultimately I feel the same in response to this comment #⁠13 idea as I did in response to Daniel's comment #⁠10 idea: better than the way things are for sure, but I want to push back to make sure additions won't be unnecessary clutter.

Necessary clutter, however, is a different story :)

mixxxbot commented 2 years ago

Commented by: daschuer Date: 2014-01-12T20:01:41Z


Hi RAWRR, your comments sound reasonable.

I don't think wee need such a deep tree structure as proposed by naught101. But one hierarchy like you proposed in #⁠12 is very useful. If we then add the option to make a specific filter sticky "year:>2010 genre:dance" it would be even better.

Did you have a look at Clementine? I like its grouping option an the visual presentation very much.

mixxxbot commented 2 years ago

Commented by: rawrr Date: 2014-04-13T08:24:07Z


Sorry not to answer about Clementine. I don't use Linux much, the computers I have it on tend to be in storage and a pain to get out... I'm afraid Windows is still my daily driver.