Hi Owen,

It's great to you're enjoying Mixxx, both for DJing and hacking. :)

I gave your patch a quick spin and I like the "played" checkbox. I
think some sort of indicator like that is handy when you're DJing. I
also like the added flexibility of being able to search the path. This
lets me search by album even though we don't parse the album field
from ID3 headers, because I have directories for each album in my
library.

That said, I noticed a regression when searching. The changes you made
to searching somehow broke "regular" searches in some way. I have a
bunch of songs by an artist called "Solar Fields", and searching for
"Solar" yields nothing with your patch, even though I can see songs by
that artist in my library. Repeating this search with a clean
1.7.0-beta1 build yields the proper search results.

Since it sounds like you're interested in hacking library stuff, I'd
encourage you to check out the new library code that I was working on:

svn co https://mixxx.svn.sourceforge.net/svnroot/mixxx/branches/Features_sqlite/
mixxx_sqlite

This branch contains completely rewritten library code that talks to a
built-in sqlite database through Qt's SQL layer. The code is way
simpler that the code you worked on in trunk, and I think you'll find
it'll be easy to port your changes over to this branch. Specifically,
I'd point you to librarytablemodel.cpp and trackcollection.cpp as a
place to start looking at the code. For a brief summary of the status
of the new library code, check out slides 9 and 10 here:
http://docs.google.com/Present?docid=dd557nj5_28fvx8jkgx&skipauth=true

There's still tons of stuff left to do, so any help would be very much
appreciated.

Because this new library stuff is slated to replace the existing
library code in trunk for Mixxx 1.8, and because we're in feature
freeze for Mixxx 1.7, I'm unfortunately not going to be able to commit
this patch against trunk. If you redo it against the Features_sqlite
branch above (which I don't think will be very much work), I'd be glad
to review it in more detail and commit it. I like what I've seen so
far though, and I'm enthusiastic about having more people hack on the
new library code. If you have any questions about the new library or
Mixxx hacking in general, please feel free to ask!

Thanks,
Albert


On Mon, May 18, 2009 at 4:24 PM, Owen Williams <[email protected]> wrote:
> I've just started DJing with Mixxx, and I'm having a blast.  I've found
> the library function somewhat limiting, though.  I took a look at the
> code and made some fairly minor tweaks:
>
> 1. I made the search function also searches on the path and filename of
> each track, not just the tags.
> 2. You can search for more than one term by separating each term with a
> space.  The resulting list is an "AND" search of all the terms.
> 3. I added a "played" checkbox, so I won't accidentally play the same
> track twice.  When a track is loaded into a slot, it is marked as
> "played".
>
> The "played" checkbox is a fairly simple feature that just resets every
> time the program is run (it is not based on the running total of plays
> for each track).  In the future I plan to add a menu item to optionally
> reset the played status of all tracks.  Users should also be able to
> just click the box to flip the status.
>
> The only bug I'm having trouble with is that when a track is loaded, the
> checkbox doesn't repaint until the selected row is changed.  I'm really
> a GTK hacker so I don't know what incantation to give QT to make it
> repaint properly.
>
> Please let me know if there's anything I should do to improve the patch
> or clean it up.  I hope these features can be included in the trunk!
>
> cheers,
> Owen Williams
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables
> unlimited royalty-free distribution of the report engine
> for externally facing server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> Mixxx-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>
>

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to