supermihi/taglib — Issue #5: Allow to distinguish between "complete replace", "replace keys", and "add" 
Author: supermihi
Created: 2012-01-22 09:54:07+00:00
State: open

setProperties() in its current implementation replaces the complete metadata (except for unsupported objects) wtih those in the argument map. I propose the following extension, either by additional methods or a second "mode" argument to setProperties:

- replace keys: only replace tags whose keys appear in the given PropertyMap; replace their current values by those in the argument map, don't touch keys present in the file but not in the argument. Problem: Deleting a key. PropertyMap regards keys with empty value list as not present, so deleting by providing a key with empty value list is not an option.
- append: this would correspond to replacing with the argument merged with properties(), i.e. concatenating value lists of each key.