Alpha 6
Changes in version 1.0a6
After a long wait finally a new version is ready for test.
We have fixed a great number of bugs and made lots of little improvements but the biggest two things are: the addition of a plugin for searching TheTVDB and that loading of files is now done asynchronous with a progress indicator.
The complete list of changes are:
- Fixed bug so that when keeping temporary file used when writing a move error doesn't occur
- Fixed bug so that now a queue item is marked as completed even when move or remove of temp file fails
- Fixed bug dock icon progressbar hidden state
- Added a whitespace to save temp file name
- Changed program output logging to only occur when actual output is generated
- Made credits file for about box and added copyright for Nigel
- Changed log so that system exceptions also end up there and improved the output format
- Made controller actually call didLoad and willUnload in MZPlugin
- Fixed small memory leak in AmazonSearchProvider
- Added release notes link, homepage link, send feedback item (that doesn't work) and view log to help menu
- Fixed exception in SearchMeta dealloc
- Made asynchronous loader
- Removed all windows from window list
- Fixed the static window list
- Made code remove year from end of filename before using it as title
- Made APWriteManager progress parsing more robust
- Started removing episode from tagChimp search result when there is no season number and episode is 0 to compensate for tagChimp bug
- Made read-only / pseudo tags like chapter names raise an exception when being set
- Fixed apply result chapter name bug
- Began parsing more of the ratings gotten from Amazon #14
- Redirected stdout to log file
- Changed hasChapters in MZSearchResult to return NSMultipleValuesMarker when there are only chapter names
- Added program name to program debug output
- Disabled title in default tv show search profile
- Removed search update delay
- Added full keypath support to NSUserDefaults
- Added key and keypath getters with default value to NSUserDefaults
- Fixed Search profile enable preferences bug
- Added track and disc read/write capability to AtomicParsley plugin #8
- Added preference for disabling automatic search #4
- Fixed 'Writing fails when setting non-string tags to nil' #16
- Added tool tip for enable auto-search preference
- Forced editing to be confirmed when loading a new file #7
- Made program wait for queue cancel to finish before terminating #3
- Updated build instructions and changed project so git doesn't have to be installed in /opt/local/bin
- Made some of MZTag thread-safe
- Moved logging defines to MZLogger.h
- Added a NSTask wrapper that extends NSOperation
- Changed some code to use CFBundle instead of NSBundle because of thread safety
- Made Amazon search perform a bit more like tagChimp search
- Added title back to default search terms for tv shows
- Made plugin load api async
- Added load and save NSOperationQueue's to PluginController
- Added output parse task class
- Added class that can control multiple NSOperation objects
- Changed AtomicParsley plugin to use async loading
- Renamed MZDataWriteController to MZDataController
- Added progress indicator for loading
- Refactored the write process to use NSTaskOperations
- Replaced all calls to NSFileManager defaultManager with one that creates a new NSFileManager
- Moved the responsibility of removing the temp file from plugin to MZWriteQueueStatus
- Moved APReadOperationController to framework
- Made plugin for TheTVDB #1
- Changed how headers are found so there can be two with name Access.h
- Changed a lot of header references from quoted form to angle-bracket form
- Stopped PosterView from beeping when pressing enter is a valid key stroke
- Added tag definitions for IMDB, ASIN, dvd season and dvd episode
- Renamed isFinished and isExecuting properties to finished and executing respectively
- Made finished and executing also send change notifications for "isFinished" and "isExecuting" since NSOperation dependencies uses these
- Added search queue to plugin controller
- Split MZRESTSearch into classes MZRESTOperation, MZRESTSearch and MZRESTSearchResult
- Added statusCode property to REST wrapper so we can ignore data when not relevant
- Removed non working code that scheduled REST wrapper on main runloop and made code always send request from main thread
- Made accessing the operations queue for MZRemoteData thread-safe
- Reordered code for AtomicParsley data read operations so they now are in sequence
- Deleted a lot of unused code en TCSearch
- Made loadData call in MZRemoteData detect and always start the load en on the main thread
- Added links to Lighthouse to the help menu
- Stopped using copies of strings for url encoding in rest wrapper
- Added plugin enable/disable functionality and put UI for it in preferences
- Added bundle property to MZPlugin
- Fixed small problem in plugin label where TheTVDB got the label "TheTVD B"
- Removed delete button from plugins preferences
- Changed initialize methods to work the right way
- Added some more debug log statements for searches
- Added call waitUntilFinished to MZOperationsController and MZRESTOperation
- Fixed race condition in search were controller was released before search completed
- Fixed bug in apply search result where chapter name is always set
- Fixed bug where queue run did not finish properly
- Changed mp4chaps to not fail when removing non-existing chapters from file
- Fixed bug where empty chapters array made write fail
- Added preference to specify what to do when put in trash fails
- Default to keeping the old file for above preference
- Changed keep functionality to rename the old file to filename+" Backup" so it's out of the way and we can rename the new file
- Reversed button positions for prompt alert for put in trash so that keep is the default option
- Added debug output to print command and arguments for all tasks
- Fixed trackNum bug so that now the episode no is actually written to track num
- Fixed bug where cancel was not handled properly in writing operations
- Added an artist value for TheTVDB results that contains the show name
- Moved loading of NSUserDefaults factory settings to main to fix MZWriteQueue initialization
- Fixed race condition in search plugins when canceling old search
- Improved response time in UI when selecting next or previous file in list and auto-search is enabled
- Fixed bug in the write cleanup code that caused file to not be moved to its final location when move to trash succeeded