Revision 576759

Go back to digest for 27th August 2006

Features in Multimedia

Jeff Mitchell committed changes in /trunk/extragear/multimedia/amarok/src:

Introduces a number of new things:
1) A transactional algorithm to safely modify files (with either complete success or complete failure) has been implemented to make saving tags safe(r?). This is contained in the new helper class MetaBundleSaver. Class usage is easy: create an instance, call prepareToSave() to get a taglib fileref pointer, do you work on that fileref, call doSave(), then cleanupSave(). Cleanup is separate in case you decide not to do the doSave()
call after all, for instance if you encounter an error when working with the fileref.
2) MetaBundle gets a new method: safeSave(). Call safeSave() in place of save() to transparently use this transactional save method. This will update the same tag fields as a call to save() does.

Note there are some minor bugs to be worked out with MetaBundleSaver, namely that it seems to sometimes miss KIO's signals, but other than that it seems to work well.

File Changes

Modified 3 files
  • /trunk/extragear/multimedia/amarok/src
  •   /Makefile.am
  •   /metabundle.cpp
  •   /metabundle.h
3 files changed in total