Releases: geo-martino/musify
Releases · geo-martino/musify
v1.2.5
v1.2.4
Fixed
- :py:class:
.RemotePlaylistis now hashable again
v1.2.3
Changed
- Allow :py:class:
.RemotePlaylistto be passed to :py:meth:.RemoteLibrary.log_sync
v1.2.2
Changed
- :py:class:
.Trackimplementations no longer match on name only. This avoids over matching that was noticed
when running :py:meth:.LocalCollection.merge_tracks.
v1.2.1
Changed
- May now define custom ignore words when sorting string values using the :py:class:
.ItemSorter - :py:class:
.ItemSorterignore case when sorting string values
Fixed
- Paths are now sanitised when assigning
filenameto :py:class:.LocalTrack - :py:class:
.Comparerno longer needs an expected value set for methods which do not use it - :py:class:
.Comparerhandles null values in expected values as needed
v1.2.0
Added
- Can now get tags from any :py:class:
.MusifyItemand set tags on any :py:class:.LocalTrack
using the relevant :py:class:.Fieldenums - Equality comparison methods to all implementations of :py:class:
.Filter - :py:class:
.BasicLocalCollectionfor creating and managing arbitrary local collections - :py:class:
.MusifyEnumnow displayed correctly when outputting tojsonon :py:class:.PrettyPrinterobjects - :py:meth:
.LocalTrack.moveand :py:meth:.LocalTrack.renamemethods to handle moving the file on the disk. - Set the
pathandfilenameproperties on a :py:class:.LocalTrackto defer the movement of a file on the disk.
Setting a new path in this way does not immediately move a file.
Instead, the file will be moved when :py:meth:.LocalTrack.saveis called with apathtype
tag field as an argument.
Changed
- Track number zero fill amount is now calculated from the track total value
when writing track tags on :py:class:.LocalTrack - Simplified
dictoutput from :py:class:.FilterComparers - Field names displayed as lower case in
dictoutput on relevant :py:class:.PrettyPrinterimplementations - Expand logging for results from saving tracks on local collections
Fixed
- Drop
nullresponses from Spotify API which cause bugs in execution logic - Bug in :py:meth:
.LocalLibrary.load_tracksthat would cause it to storeNonewhen the track could not be loaded
v1.1.10
Fixed
- Bug in :py:class:
.Comparermethods which caused them to fail on invalid expected values
v1.1.9
Changed
- :py:class:
.Comparernow correctly ignores the reference track given when thereference_requiredflag is False.
Fixed
- Bug in :py:class:
.XAutoPFwhich caused it to always add the tracks that matched the associated tags of
the last played track when the expected values for the condition are null or empty.
v1.1.8
Fixed
- Bug in :py:class:
.RemoteItemCheckerthat tries to remove items from theaddedlist when they are not present
whilst trying to match items to remote playlist.
v1.1.7
Fixed
- Handle bad values for bpm and compilation in :py:class:
.TagReaderby returningNone.