divendres, 27 de maig del 2016

#3 Weekly report

During this week I have been doing design tasks. I started checking the viability of the WLibraryStack class and if it can be useful and for the moment it is coded but it is not very clear its utility in the current state.
Also, on Tuesday I had a chat with my mentor to decide how to add new Library Features and how to make a very useful and dynamic design. We decided (it was almost all his idea) to separate the future button bar and the tree view for some items. Also all features will have a left pane (with the tree or controls) and a right pane (with the table) and will be categorized as follows:

  • Auto DJ like features that have a track table (right pane) and a set of control widgets (left pane)
  • Crates like features with the tree (left pane) and the table (right pane)
  • Features without a track table like "notes"
At this point the project seems nearly the same as my original proposal but there will be another option allowing the user to view two features at once, it's inspired in the Nemo file manager and will have the same behavior, the left pane is shared between the two right panes and when the user focus one of them the left pane changes to the corresponding feature left pane. 

Here there's a mock up of the new features options: 



The implementation details can be found in the wiki page that is currently updated with all the ideas (http://www.mixxx.org/wiki/doku.php/library_layout_redesign)

Also after talking to my mentor we decided that during this week I will define weekly goals and a midterm goal to deliver this new features option. So I changed all the timeline in the wiki to match the current state of the project and also I had to update all the info that was outdated in the wiki to show the current idea.




diumenge, 22 de maig del 2016

#2 Weekly report

Hi everyone,
sorry for the delay in posting.
During this week I started creating a prototype for the WLibraryViewManager. With this prototype I created the WLibraryStack class, his purpose is to contain some Widgets inside as a stack. Then when I started coding I discovered the WWidgetStack from Mixxx and I decided to inherit this class and it worked well.
The WLibraryStack also allows the user to add widgets at rutime allowing to personalize the interface without having to edit the skin.xml file. With this WLibraryStack for the moment the WLibraryManager is not used because the Library class handles how the Treeview interacts with the Library table.
During all this process I had to take a look at all the mixxx code related to the library and how the interaction with the GUI happens.
The branch were I'm working currently is this:
https://github.com/jmigual/mixxx/tree/feature/libraryViewManager

Also, during this week I've finished the following bug that is merged now:

divendres, 13 de maig del 2016

#1 Weekly report

This week I continued with the development process. I started discussing with my mentor Daniel about implementation and design details of the new LibraryViewManager (I explained some of it in the previous weekly report).
The current idea of the LibraryViewManager will interact with a new interface called WLibraryFeature (different from LibraryFeature class). This Library Features will be organised inside of stacked widgets (WLibraryStack) and every one of this stacks will contain a couple of buttons allowing the user to add, remove or select Library Features. 

All of this allows not only the skin designer but also the user a lot of freedom in creating his custom layout. I've created a UML of this design:


Also during this week I worked with the following bugs:
This still have to be merged and it took more time than I expected because I had to learn how Mixxx stores the user data. I discovered the Mixxx.cfg file and the Settings table in the SQLite database. Also in this pull request ( https://github.com/mixxxdj/mixxx/pull/947)  we discussed how user data should be saved and finally.
I finished this bug that I started the last week and it's finally merged

diumenge, 8 de maig del 2016

#0 Weekly report

Hello everyone,

during this week I've been fixing some bugs recommended by my mentor, Daniel.

I've fixed the following bugs:


Also with Daniel we began to discuss the idea of creating a Manager class to control multiple elements in the Library GUI. The idea is to allow the skin designer to setup for example a Collapsed and an Expanded version of the LibrarySidebar and, with the Manager class, switch between this two elements. This is not only for the LibrarySidebar, the idea is to add it to the following elements:

  • LibrarySidebar
  • SearchBox
  • CoverArt
  • Library
After that, Daniel found that RJs has decided to create a Manager class for everything that needs to be managed (more info here: http://mixxx.org/wiki/doku.php/mixxx_init_refactor ) so we decided to adapt our Manager to this design creating the concept of the LibraryManager. The current LibraryManager has the following design:



Currently I am working on fixing this bug: https://bugs.launchpad.net/mixxx/+bug/1474098 and I am having some problems on saving an array to User Settings.

diumenge, 1 de maig del 2016

Hi Everyone

This blog will contain all the weekly updates from the GSoC project "Library Layout Redesign" from Mixxx organisation I hope you all enjoy it.