Hi Max,
First off, I should explain the logic behind working on Pictureflow first
before merging it.
The idea was to approach the most complicated part slowly. It will require some
modifications to pictureflow for it to properly read from ID3/Flac tags, and
for it to be able to search any directory structure used to store artwork. I
was under the impression that it would be simpler to get pictureflow loading
images correctly if it was still a standalone application, and once that was
complete I could merge it and just change where it searches for images.
I now see that, in fact, it would be easier to get it merged first and then
work out the details of loading images. I really didn’t anticipate redoing a
lot of work, however I hadn’t taken into account the complexity of the code I
would be merging. The task of merging it will be very complex as well and the
complexity will increase as I add functionality to pictureflow.
On the balance of RAM vs. loading:
Pictureflow creates a QStringList containing the locations of all the images it
will use.
By default, it loads all the images it will be using into RAM to maximize it’s
performance. However, it already contains functionality to only load a set
number of images into it’s cache. for example, when Mixxx is first opened it
will only load the first 40 pieces of album artwork. As the user scrolls it
will keep a buffer of 40 images before and after the current image. I have seen
this functionality in the source but I still have to find the details ie. where
to set the cache size.
Data structures:
I plan on determining the locations of the images files from their tags within
the Mixxx database. If I can store the locations within the existing
QStringList in pictureflow it should function normally. Each image is given an
index within pictureflow so I will just have to associate that index with an
album in Mixxx.
In terms of user-defined art for Wavs or fetched art, I will either have to a)
update the correct tags then re-read the data into pictureflow or b) create a
new data structure for these images (in the case of wavs.) I would ideally be
able to integrate this in with Mixxx’s existing database or construct my own.
Minimal UI:
By this I just meant getting the pictureflow UI functioning within Mixxx
without worrying too much about positioning, size etc. From here I can narrow
in on the exact design. I would still like to do this but now it will happen
sooner.
Merging:
The main points that I could merge at would be
1. Pictureflow integrated with the UI but not functioning on the back
end
2. Pictureflow fully functioning but independent of the library
3. Pictureflow fully integrated but without drag and drop
4. With drag and Drop
5. Fetching from services
6. Fully completed.
I could merge at any number of these points, point 3 would probably be the best
if I’m just going to merge once midway through the summer. Would you guys
prefer if I merge more or less?
Once again, thank you so much for your feedback. These are issues that I
haven’t encountered before so it’s great that you’re showing me things that I
can’t see for myself. This has already been a great learning experience.
I will update my proposal tomorrow
Corey
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel