On Tue, May 29, 2012 at 11:29 PM, Ilkka Tuohela <ilkka.tuoh...@gmail.com>wrote:

> I have one big issue with current 1.11 code: we should NOT reload whole
> 'Library' element from scratch, if you move to any other section in the
> sidebar: right now, the waveform display freezes for a short time and you
> clearly can see the library playlist being reconstructed, even if you just
> click on 'auto dj' and immediately again on 'library'. Same of course
> applies to other elements, they should be cached after first loading (and
> have a 'reload' in context menu if this becomes an issue).
>

You'd think that this was caused by something like reloading the data --
but it's actually just the view switching and repopulating. We don't do any
data reloading on view switches (you could put a printline in select() to
show when data models refresh themselves from SQL). The library is written
to aggressively cache data in memory to avoid roundtrips to the database.

The exception here is switching between playlists (if you select playlist B
when A was selected, then it does do a query for track ids in B but the
rest is cached in the BaseTrackCache). Typically, looking up the ids here
takes single-digit milliseconds (there are commented debug statements you
can uncomment if you want to check the timing you get in practice) while
the pause you're talking about is typically hundreds of milliseconds. I
believe (from profiling a while back) the big time waste is Qt
abstract-item-view redrawing itself -- not any Mixxx code.

The way it works right now is there is one WTrackTableView (sort of, there
are exceptions) that we load a table-model into. If it's true that the
pause comes from switching the models then we could switch it so that there
is a different WTrackTableView for every section of the library (so much
for Qt's MVC promise).



> On 29 May 2012, at 21:33, Daniel Schürmann wrote:
>
> > Hi Albert,
> >
> > Thank you for your overview to the mixxx layout history.
> >
> > Yes it looks like we are going in circles, that the same as in fashion.
> > They always mix new ideas with old ones to have success and thats not
> > bad. ;-)
> >
> > I think I understand your concerns. And I fully agree that it is more
> > important to improve the small
> > annoying details instead of start a big library project.
> >
> > I have started the library discussion because there simply no space for
> > extensions in our current layout.
> > Every new feature like auto DJ and track selector feels like stuffed
> > into the library view.
> >
> > I am glad that Max has pushed it to really high end solution, that can
> > be created step by step.
> > Here is a proposal for the fist step:
> >
> https://bugs.launchpad.net/mixxx/+bug/986704/+attachment/3168122/+files/mixxx-newLibraryWidget-step1.svg
> > I would be happy if we can go the first step during the summer so that
> > the new features suits perfectly into the library view.
> >
> >
> > Kind regards,
> >
> > Daniel
> >
> >
> >
> >
> >
> >
> > Am 29.05.2012 16:56, schrieb Albert Santoni:
> >> On Mon, May 28, 2012 at 9:13 PM, Max Linke <max_li...@gmx.de> wrote:
> >>> On Sat, 26 May 2012 23:33:36 +0100
> >>> Albert Santoni <albe...@mixxx.org> wrote:
> >>>
> >>>> Yeah, although I like the work that was done to add support for a tree
> >>>> in the left pane of our library, I think it's a bit awkward to
> >>>> actually navigate a file tree there because you have to constantly
> >>>> expand the divider. If we could somehow move file navigation back to
> >>>> the right-hand pane, that might be nicer.
> >>> Isn't this what we are doing now in "Browse"?
> >> Yes, I'm criticizing the current implementation's usability, but
> >> trying to still be positive. :)
> >>
> >> Now is a good time to suggest that everyone interested in doing any
> >> work on the library go and look at old versions of Mixxx. We're going
> >> in circles:
> >>
> >> Mixxx 1.4 and 1.5:
> >> - Tree view in the left-hand pane
> >> - (Fun fact: The library used to be a single in-memory QList.)
> >> http://g1.idg.pl/ftp/linux/mixxx14.jpg
> >> http://www.threadbox.net/files/blogpics/sets/mixxx/mixxx.png
> >>
> >> Mixxx 1.6:
> >> - Elimination of the left-hand pane, replaced with a combobox
> >> - Search box added, placed above the library beside the combobox
> >> - "Browse" mode added. This was a "flat" browse mode, where the
> >> library showed the contents of a directory, and you could browse by
> >> double clicking on a directory name, or on ".." to go back up. (Based
> >> on QDirModel I think...)
> >> http://download.net.pl/img/3c565e8562e46edf8171795cea824dce.png.png
> >>
> >>
> >> Mixxx 1.7:
> >> - Nothing really changed in the library
> >>
> >>
> >> Mixxx 1.8:
> >> - New QtSql-based library + TrackInfoObject cache
> >> - The left-hand pane is back, but it only supports 1 level of children
> >> (it wasn't really a tree).
> >> - iTunes / Rhythmbox sources
> >> - Crates, Playlists
> >> - Auto DJ introduced because the "NEXT" playback mode on the decks was
> >> eliminated
> >> - Bulk BPM detection, better song properties dialog
> >>
> http://1.bp.blogspot.com/_hUprAdIclgE/TCwnmXHaw4I/AAAAAAAAAtw/eetZSEfj4cc/s1600/Screenshot-Mixxx+1.8.0~beta2.png
> >>
> >> Mixxx 1.9:
> >> - Inline track editing (double-clicking on the the table to edit track
> metadata)
> >> - Revamped search function, faster everything.
> >>
> http://3.bp.blogspot.com/_hUprAdIclgE/TPniOgGWFWI/AAAAAAAAA6M/_6SUXHBkM4M/s1600/Picture+12.png
> >>
> >>
> >> Mixxx 1.10:
> >> - The left-hand pane is turned back into a tree!
> >> - Directory browsing now happens back in the left-hand pane, like in
> Mixxx 1.4.
> >> - Auto DJ improvements, recordings saved in the library, other
> >> incremental improvements.
> >>
> http://3.bp.blogspot.com/_hUprAdIclgE/TPniOgGWFWI/AAAAAAAAA6M/_6SUXHBkM4M/s1600/Picture+12.png
> >>
> >>
> >>> Also what do you think of the option to view the library with a grid of
> >>> Album Covers? I've read in some Bug reports that people miss the
> >>> possibility to search through your library by picture when they use
> >>> DJ-Software and I've thought this could be a nice way to bring this
> >>> back.
> >> I think we should prioritize improving the usability of the library in
> >> general before we expand to features like this that won't necessarily
> >> benefit many users. For example, addressing the difficultly organizing
> >> playlists and crates (possibly by offering a two-pane view) is one
> >> thing you could tackle.
> >>
> >> That said, I'm a big fan of the library preview player and Keith's
> >> track selector because they're both relative self contained, they
> >> benefit a large number of users, and they didn't require redesigning
> >> the library to implement. :)
> >>
> >> Cheers,
> >> Albert
> >>
> >>
> >>
> >>
> >>> Also thanks for the great comments.
> >>>
> >>> best Max
> >>>
> >>>
> ------------------------------------------------------------------------------
> >>> Live Security Virtual Conference
> >>> Exclusive live event will cover all the ways today's security and
> >>> threat landscape has changed and how IT managers can respond.
> Discussions
> >>> will include endpoint security, mobile security and the latest in
> malware
> >>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> >>> _______________________________________________
> >>> 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
> >>
> >>
> >
> >
> >
> ------------------------------------------------------------------------------
> > Live Security Virtual Conference
> > Exclusive live event will cover all the ways today's security and
> > threat landscape has changed and how IT managers can respond. Discussions
> > will include endpoint security, mobile security and the latest in malware
> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> > _______________________________________________
> > 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
>
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> 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
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
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

Reply via email to