Hi Markus, thank you for the detailed explanation.
Yes this will work. The back-end should be also doable. Your solution fits nicely to your drop target idea. I like the idea, that the drop target pane can contain a list of playlists or a track table. The other good idea, is Joan original design + the drop target flyout proposed by Ferran. What are the pros and cons? Here some of goals for the library redesign: * Maximum freedom for the skin designer * usable on small screens. * De-cluttered interface * Keyboard and Midi-Controller controllable * Easy to use (Offer only one solution for one use-case.) Both designs are leaking here and there of these goals but the original solution seams to be closer. It fully woks on a single left pane set-up. It features 1 to n panes. All panes are treated the same. No need for a feature to provide a single widget and a two widgets appearance. Finally it is probably a matter of taste. Am 05.06.2016 um 16:01 schrieb Markus Klösges: > I hope this list can handle attachments and it won't get squashed into > the text. > > See an attached mockup to (hopefully) make it more clear. A skin could > have as many CondensedLibraries as it wants to have and they would be > independent of each other. > > I don't know if we would need a LibraryPaneManager for every Pane, > maybe one Manager for the whole stuff is enough. > Each LibraryFeature provides the widget for left and right pane and an > additional DropDownPopulator that is working similar to the current > getChildModel() they provide to build the sub-tree but is used to add > elements to the dropDown. > > What do you think? > > Am 05.06.2016 um 14:50 schrieb Markus Klösges: >> Hi Daniel, >> >> > We have discussed such a model earlier, but it was difficult to >> > generalize is in the back-end. >> Hm, I don't really get that point. >> >> Each library Feature would need >> * a 'default' widget, if no child element of it is selected (Playlists >> would display all Playlists there), >> * a widget for the left pane (for Playlists that would be a tree/list >> of all the playlists in DB) >> * a widget if a child element is selected (which would be the >> track-table-widget for the Playlists). >> * a list of child-Elements to display in the dropDown >> >> despite the last point, all that is also needed and planned for the >> other approach - isn't it? And such a List wouldn't be so dramatic to >> implement I think. >> >> Then one would need an additional WCondensedLibrary to display the >> LibraryFeatures without the leftPane but with a dropDown at the top. >> >> Probably I'm not into it as deep as you guys. So don't hesitate to tell >> me I'm wrong ;-) >> I just like to understand the difference in your approach to learn from >> it ;-) >> >> Am 05.06.2016 um 14:13 schrieb Daniel Schürmann: >>> Hi Markus, >>> >>> thank you for you second library model. >>> >>> We have discussed such a model earlier, but it was difficult to >>> generalize is in the back-end. >>> >>> The current model has a nice generalized object model. >>> See the exploded drawing on: >>> http://www.mixxx.org/wiki/doku.php/library_layout_redesign >>> >>> For my feeling the switching of the left pane will happen >>> "as expected". >>> If done right, it will offer the right view for every common use case >>> without being cluttered. >>> The left pane could always support the DJ best for the specific task. >>> Paired with a new drop target, it will IMHO work well. >>> >>> If you wish to do a mock-up, you may Inkscape and this template: >>> https://github.com/jmigual/mixxxDocuments/blob/master/Layout_2.svg >>> or any other tool. >>> >>> >>>> Actually from a UX point of view I don't really like the approach to >>>> re-use the left pane for all open rightPanes, because users may be >>>> confused of it switching around all the time. What about such a >>>> solution?: >>>> >>>> By default have the Button-Bar, the Tree next to it and the TrackTable >>>> visible (mainly as it is today, but with the button bar added). >>>> >>>> A Button in the skin to open an additional RightPane next to it (or >>>> anywhere it fits) and there having a kind of drop-down in the >>>> header of >>>> the new RightPane with which you can select the feature to load. >>>> If the pane is empty, you could choose from Library, AutoDJ, Crates, >>>> Playlists. >>>> If you select Library, you get the usual Track-Table loaded inside >>>> the pane. >>>> If you select Crates, the list of all crates is loaded to the pane, >>>> which can then be used as drop-targets for sorting (see above). >>>> Then you can click on one Crate-Name to show the content of the >>>> crate in >>>> the pane instead. The drop-Down at the top would then show (Library, >>>> AutoDJ, Crates, -divider-, [insertAllCratesHere], -divider-, >>>> Playlists). >>>> So that you can quickly switch between crates and also to other >>>> LibraryFeatures. If we could make that drop-down with expandable items >>>> and sub items, one could also directly select a crate from the default >>>> view, but thats maybe to complicated. >>>> >>>> Like that one has the fast and easy access to one feature at set-time, >>>> but the flexibility to open an other pane if needed to sort tracks. >>>> If you have a wide display, you could also open multiple >>>> LibraryFeatures >>>> next to each other, to have 80th, 90th and MegaHits open for quick >>>> access in a set. Maybe you only need the Artist and Track information, >>>> than you could fit a massive amount of Crates/Playlists/+AutoDJ >>>> next to >>>> each other. On a small screen you still have the clean layout we have >>>> nowadays. >>>> >>>> I hope one understands my Idea. If needed I could make drafts of it to >>>> make it more clear. >>>> >>>> Keep up the good work! >>>> Markus >>>> >>>> Am 05.06.2016 um 11:45 schrieb Daniel Schürmann: >>>>> Hi Ferran, >>>>> >>>>> thank you for your ideas. >>>>> >>>>>> The second way is the "Copy to Context menu". Unfortunately the >>>>>> menu vanishes after the copy. Conclusion: Not easy. >>>>>> >>>>>> Why is this "not easy"? >>>>>> >>>>> This IS easy for a single track, but not for many, lets say new >>>>> tracks. >>>>> I am afraid, this menu becomes unhandy if we have crates hierarchies. >>>>> Maybe we can replace it with something cool that fixes the other >>>>> issue >>>>> as well. >>>>> >>>>>> How about adding a root node to the Crates and Playlist >>>>>> Feature >>>>>> that displays the All tracks? That would allow dragging any >>>>>> track >>>>>> to any Crate /Playlist. >>>>>> >>>>>> >>>>>> 1) This doesn't allow users to add tracks from playlist to crates. >>>>>> >>>>> Yes, a solution would be to combine the crates an playlists feature. >>>>> However a separate feature may allows us to add cool new things to >>>>> the >>>>> left pane individual. >>>>> >>>>>> 2) Maybe the user is looking at the auto-dj queue and thinks "this >>>>>> track is totally hot, I should add it to the Hits crate". He can't >>>>>> because from the auto-dj pane he can't access the playlist tree. For >>>>>> me this is not a solution. >>>>>> >>>>> The main task for the autodj's left pane is to define the >>>>> transitions. >>>>> The user can already use the context menu or open a second pane, but >>>>> this might be not straight forward enough. >>>>> >>>>>> once we have a Crate hierarchies, it could be as hard to >>>>>> drop to >>>>>> one from 100 crates. This cam be solved ba a Bookmark >>>>>> feature that >>>>>> contains only a few relevant Crates. >>>>>> >>>>>> What do you think? Any other idea? >>>>>> >>>>>> Keep showing the whole tree of features in every pane: Show the tree >>>>>> corresponding to the current pane. Add an additional node, collapsed >>>>>> by default that shows the whole tree. Something like this: >>>>>> >>>>>> -Crate 1 >>>>>> -Crate 2 >>>>>> ---Sub Crate 2.1 >>>>>> -Crate 3 >>>>>> -Full Tree >>>>>> ---... >>>>>> >>>>>> >>>>>> Isn't this a simple but effective solution? >>>>>> >>>>> IMHO we should careful consider what is the most required contend >>>>> on the >>>>> feature's left pane. Sorting tracks to different crates / >>>>> playlists is >>>>> only one aspect. It should not clutter the left pane one one hand, >>>>> but >>>>> there is a valid demand to have always an easy access to crates and >>>>> playlist as drop targets. >>>>> >>>>> You idea, goes to the right direction. >>>>> >>>>> Full Tree: I think we do not nee the legacy full tree, we need a >>>>> tree of >>>>> all drop targets, right? The crates and playlist tree should be >>>>> sufficient. >>>>> >>>>> A full tree node, on every left pane breaks somehow the ButtoBar + >>>>> Fetaure Idea. >>>>> How can we combine both? >>>>> >>>>> How about move this Full Tree node as button to the button bar. This >>>>> could be a special feature without a right pane. >>>>> >>>>> The most difficult case, seams to be the single feature view: >>>>> ButtonBar >>>>> + AutoDJ left pane + AutoDJ track list. >>>>> Form this view, the user can drag a track from the AutoDJ track list, >>>>> hover to the Full Tree button on the button bar. >>>>> this will enable the drop target tree on the left pane keeping the >>>>> AutoDJ track list in the right pane. >>>>> Now he can sort all tracks as desired. >>>>> >>>>> @JOAN, will this fit to your Backend model? Will it replace the >>>>> single >>>>> cates and playlist features? >>>>> Do we still need to copy to context menu? >>>>> >>>>>> I want to remark that is quite important to allow users to configure >>>>>> the new library to look similar to current one (one single pane + >>>>>> complete tree). Feature specific tree + collapsable complete tree >>>>>> would also work for me. >>>>> I am not sure if I missed a point, why it is required to keep a view >>>>> that look similar to current one. Is there an other use case we have >>>>> missed? >>>>> >>>>> Kind regards, >>>>> >>>>> Daniel >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> >>>>> >>>>> What NetFlow Analyzer can do for you? Monitors network bandwidth >>>>> and traffic >>>>> patterns at an interface-level. Reveals which users, apps, and >>>>> protocols are >>>>> consuming the most bandwidth. Provides multi-vendor support for >>>>> NetFlow, >>>>> J-Flow, sFlow and other flows. Make informed decisions using capacity >>>>> planning reports. >>>>> https://ad.doubleclick.net/ddm/clk/305295220;132659582;e >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Get Mixxx, the #1 Free MP3 DJ Mixing software Today >>>>> http://mixxx.org >>>>> >>>>> >>>>> Mixxx-devel mailing list >>>>> Mixxx-devel@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel >>>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> >>>> What NetFlow Analyzer can do for you? Monitors network bandwidth >>>> and traffic >>>> patterns at an interface-level. Reveals which users, apps, and >>>> protocols are >>>> consuming the most bandwidth. Provides multi-vendor support for >>>> NetFlow, >>>> J-Flow, sFlow and other flows. Make informed decisions using capacity >>>> planning reports. >>>> https://ad.doubleclick.net/ddm/clk/305295220;132659582;e >>>> _______________________________________________ >>>> Get Mixxx, the #1 Free MP3 DJ Mixing software Today >>>> http://mixxx.org >>>> >>>> >>>> Mixxx-devel mailing list >>>> Mixxx-devel@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> >>> What NetFlow Analyzer can do for you? Monitors network bandwidth and >>> traffic >>> patterns at an interface-level. Reveals which users, apps, and >>> protocols are >>> consuming the most bandwidth. Provides multi-vendor support for >>> NetFlow, >>> J-Flow, sFlow and other flows. Make informed decisions using capacity >>> planning reports. >>> https://ad.doubleclick.net/ddm/clk/305295220;132659582;e >>> _______________________________________________ >>> Get Mixxx, the #1 Free MP3 DJ Mixing software Today >>> http://mixxx.org >>> >>> >>> Mixxx-devel mailing list >>> Mixxx-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel >>> >> >> ------------------------------------------------------------------------------ >> >> >> What NetFlow Analyzer can do for you? Monitors network bandwidth and >> traffic >> patterns at an interface-level. Reveals which users, apps, and >> protocols are >> consuming the most bandwidth. Provides multi-vendor support for NetFlow, >> J-Flow, sFlow and other flows. Make informed decisions using capacity >> planning reports. >> https://ad.doubleclick.net/ddm/clk/305295220;132659582;e >> _______________________________________________ >> Get Mixxx, the #1 Free MP3 DJ Mixing software Today >> http://mixxx.org >> >> >> Mixxx-devel mailing list >> Mixxx-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/mixxx-devel >> ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e _______________________________________________ Get Mixxx, the #1 Free MP3 DJ Mixing software Today http://mixxx.org Mixxx-devel mailing list Mixxx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mixxx-devel