Monday, 28 June 2010

Gereqi 0.4.0 Setbacks

Things are not going to plan. After the last update it looked like everything was shaping up for release not soon afterwards. In the process of testing the Mysql+sqlite database backends all hell broke loose, mainly due to Unicode issues in Python I have which appear to be near impossible to get around. What worked with the sqlite backend didn't work with the Mysql backend.

To try and solve this issue I am doing what I was supposed to have done a long time ago and forgot, namely using PyQt's QtSql module that has done what I've done so far and a lot better and more complete. In the process of moving everything to this new module a lot of other code has to change elsewhere which is a pain as a lot of it will have been working fine. It has to be done for my future sanity and continuing development of Gereqi.

Thursday, 17 June 2010

Gereqi-0.4.0 Development

Since I described what I expected to get done for version-0.4.0 a lot has been happening. No " just code refactoring". No faffing. Just work. Apart from Podcast support and a complete, working UI everything has been met and a whole lot more.


The list of features and improvements made so far are:

  1. pyinotify support for your collection folders. This includes multiple includes and excludes and specifies the option to perform a recursive watch. By using this package files are automatically added and removed from the database when the user adds and removes files from their watched directories,
  2. MYSQL support. Switch between SQLITE and MYSQL on the fly. Early testing shows MYSQL appears to be massively quicker than SQLITE(when not using the "PRAGMA synchronous = OFF" option),
  3. A settings dialog. It's not feature complete but it's definitely a start. Learning how to use modal dialogs has been a huge gain for this project,
  4. Webkit widget for the information page. The previous method of displaying information was too rigid and hopefully this new method should allow easier modifications and visual improvements. Plus anybody who knows html + css (I barely do) should be able to help out here,
  5. Flac block fixing is not done automatically. Previously Flac files which had multiple comment blocks were automatically fixed. Now, for each file, the user is prompted whether to fix the issue,
  6. System tray icon is an option instead of always being on,
  7. Option to rebuild the database from scratch.
  8. Displaying the collection by Albums or Artists
  9. Chose a cleaner section of the wikipedia result to display
  10. Album art covers are retrieved using the api of http://albumart.org/ and then saved locally in ~/.gereqi/album-art. This is considerably quicker than using a Google "feeling lucky" result and parsing for the album art.
There are a few minor UI features I want to achieve before the release but things are looking good so far.

If you want to try the program there is no installer yet (for obvious reasons) but if you're feeling adventurous the tree at this revision is the most stable it's been in a long time. If you find issues please enter them in the issue tracker.

Screenshots

Webkit infopage showing the all the album covers of the playing artist

Mysql support and a checkboxed fileview.

Some UI options.

Equaliser dialog. It does nothing.

List by album.

List by artist.

Filtering artists.

Wikipedia information about the playing artist.