Skip to content

Library Layout Redesign#975

Closed
jmigual wants to merge 255 commits intomixxxdj:masterfrom
jmigual:feature/libraryManager
Closed

Library Layout Redesign#975
jmigual wants to merge 255 commits intomixxxdj:masterfrom
jmigual:feature/libraryManager

Conversation

@jmigual
Copy link
Copy Markdown
Contributor

@jmigual jmigual commented Jul 2, 2016

Hello, this summer I'm working in redesigning the Library GUI. This changes many things, here's a small list of the changes:

  • Now there can be one, two or more track table panes where the features can show their tracks, info...
  • The sidebar is separated in a buttons sidebar + tree sidebar
  • Added a breadcrumb to allow visual feedback and not confuse the user
  • Added this new library behavior to all officially skins (Shade, LateNight and Deere).

The complete info about the project can be found here:
http://www.mixxx.org/wiki/doku.php/library_layout_redesign

Here's a screenshot in how it is the new Layout in Deere skin
screenshot from 2016-07-03 01-23-13

Here's a screenshot in how it is the new Layout in LateNight skin
screenshot from 2016-07-03 01-24-15

Here's a screenshot in how it is the new Layout in Shade skin
screenshot from 2016-07-03 01-25-10

@esbrandt
Copy link
Copy Markdown
Contributor

esbrandt commented Jul 3, 2016

Thanks for submitting the PR, did some quick testing.

  • Questions
    • Is it possible to have different playlists or crates in each library pane?
    • What is behind the decision, to have the last selected item from the button sidebar visible in the treeview sidebar, instead the currently selected library pane?
  • Bugs
    • The Browse view does nothing. The breadcrumb changes as i navigate in the brows sidebar trough my disk, but actual library table do not change.
    • Auto DJ > Track source tab. Right click on the Cratesroot item do not reveal a menu. Same if you click on a actual track source (crate) below the crate root item. In the current stable version the right-click menu allows to Add crate as track source and to Remove crate as track source respectively.
    • Library > Controls tab reveals the controls either from the Missing Tracks or Hidden tracks sub item, depending from the last selected sub-item. In the current stable version, there is no control for the Library root item available at all.
  • Possible Enhancements
    • Having to click a tab to reveal the available controls for some items in treeview sidebar seems redundant. With some items the controls are instantly visible , e.g. Analyze, while for others you have to click a tab first, e.g. Library > Missing tracks. What about integrating the TrackSources tab into the root AutoDJ view? Same principle for the Library > Controls tab.
    • Away with the dummy pages for Playlists/Crates/History, display the first (last selected) item in the table instead. The Create new Playlist/Crate link in the dummies can move as separate control in the treeview.
    • Having selected an item in the button sidebar should always display an label above the treeview sidebar. Currently there are no labels for Library, Auto DJ, Recordings, Analyze.

Comment thread res/skins/Deere/style.qss Outdated

/* QSplitter between LibrarySidebar and Library */
#LibrarySplitter::handle {
QSplitter::handle {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LibrarySplitter (vertical) and LibraryCoverArtSplitter (horizontal) used to use different images, now they use both the verticall image.

@daschuer
Copy link
Copy Markdown
Member

daschuer commented Jul 3, 2016

I am also not happy with the current library view shown in the screen-shots. The current state of discussion is to replace that with a, lets say "filter selector". This can be a "First letter" -> "Artist" -> "Album" -> "Track" tree, or some other cool stuff that helps finding the successor track quick.

@jmigual: How about removing the "Missing Tracks" and "Hidden Tracks" and its controls from the library feature and put into a dedicated feature hidden under the "more" button fly out menu.
This could become a "Library Maintenance Feature" or something similar.

@jmigual
Copy link
Copy Markdown
Contributor Author

jmigual commented Jul 3, 2016

Hi @esbrandt,
here are my thoughts:

  • Is it possible to have different playlists or crates in each library pane?

Now currently it isn't possible, I thought that this can be confusing to the user since some features will be able to show in two panes at once and some features will not be able to do this.

  • What is behind the decision, to have the last selected item from the button sidebar visible in the treeview sidebar, instead the currently selected library

Currently every time the user selects a feature in the button bar, the sidebar expanded (treeview sidebar) shows always the selected feature's sidebar. Also, in the two panes (or more) view if the selected feature is being shown but its pane is not focused then the focus changes to the pane containing the feature. If the feature is not being shown in any pane then the feature is shown in the current focused pane.

  • Having to click a tab to reveal the available controls for some items in treeview sidebar seems redundant. With some items the controls are instantly visible , e.g. Analyze, while for others you have to click a tab first, e.g. Library > Missing tracks. What about integrating the TrackSources tab into the root AutoDJ view? Same principle for the Library > Controls tab.

I don't understand what do you mean by integrating Track Sources into root AutoDJ view sorry...

  • Away with the dummy pages for Playlists/Crates/History, display the first (last selected) item in the table instead. The Create new Playlist/Crate link in the dummies can move as separate control in the treeview.

I like it! This is a much better solution than the existing one 😊

  • Having selected an item in the button sidebar should always display an label above the treeview sidebar. Currently there are no labels for Library, Auto DJ, Recordings, Analyze.

Yes this is a bug, and I'll fix it

Hi @daschuer,
here are my thoughts:

How about removing the "Missing Tracks" and "Hidden Tracks" and its controls from the library feature and put into a dedicated feature hidden under the "more" button fly out menu.
This could become a "Library Maintenance Feature" or something similar.

Yes this it's a good solution and it will be useful, maybe a "Rescan Library" button can be added there to "complete" the maintenance mode.

@daschuer
Copy link
Copy Markdown
Member

daschuer commented Jul 3, 2016

Is it possible to have different playlists or crates in each library pane?

Now currently it isn't possible, I thought that this can be confusing to the user since some features will be able to show in two panes at once and some features will not be able to do this.

There are some rare use case for two crates or two playlists side by side. For example if one wants to split a big crate into two, or if one tries to prepare a new playlist from two history playlist. I have just checked: it was hard to get this side by side situation accidentally (Though I am biased). So it looks like it should be worth to re-enable this mode. What do you think?

Comment thread src/library/library.cpp Outdated
@@ -63,53 +62,7 @@ Library::Library(QObject* parent, UserSettingsPointer pConfig,

// TODO(rryan) -- turn this construction / adding of features into a static
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You can delete this TODO :).

@jmigual
Copy link
Copy Markdown
Contributor Author

jmigual commented Jul 4, 2016

There are some rare use case for two crates or two playlists side by side. For example if one wants to split a big crate into two, or if one tries to prepare a new playlist from two history playlist. I have just checked: it was hard to get this side by side situation accidentally (Though I am biased). So it looks like it should be worth to re-enable this mode. What do you think?

I think that we can re-enable this mode for playlists, history and crates, with this moving from one playlist to another should be more easy.

@esbrandt
Copy link
Copy Markdown
Contributor

esbrandt commented Jul 4, 2016

Thanks for the fixes.
Another small usability issue: If you have crate/playlist names that are very long, the breadcrumb on top expands the column so that the other column is pushed out of screen. The user has to manually move the splitter handle between the columns manually, but this is kinda limited, since the split sizes are pre-defined.
Possible solution is to truncate very long names, like we do with other labels #506 . Try to drag a track with a very long title to a deck to see an example.

Comment thread res/skins/Deere/style.qss
height: 6px;
}

/* QSplitter between LibrarySidebar and CoverArt */
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

If you enable View > Show Cover Art, the horizontal splitter handle does not display the horizontal image, it uses the OS-specific default style instead.

@esbrandt
Copy link
Copy Markdown
Contributor

esbrandt commented Jul 6, 2016

There is a refresh issue in latest revision:
Create 2 new playlists, foo and foo1, and drop a track from the library to foo. The track is displayed in both playlists, you can even perform file operations from the right-click menu. The track counter next to the playlists name is correct.

@jmigual
Copy link
Copy Markdown
Contributor Author

jmigual commented Jul 6, 2016

Fixed 😉

@jmigual
Copy link
Copy Markdown
Contributor Author

jmigual commented Jul 6, 2016

I've added the option to see multiple playlists/crates in multiple panes.

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.

4 participants