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
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to