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
