Swinsian Add Cover Software That Will
Detects which music player is playing and displays cover art and details for the currently-playing track Supports iTunes, Spotify, Snowtape, Ecoute, Rdio, Radium, Swinsian and now Hermes (Pandora client). Detects which is playing and displays cover art and details for the currently-playing track Choice of themes - Classic, Text-only, Mosaic Full-Screen with Ken Burns effect and now 'Lyrics mosaic' Can fetch artwork from the web if needed Can display rating / popularity and allows rating to be changed Adjustable 3D effect and progress bar Emulates a screensaver, ie can enter full-screen mode after system inactivity, prevent screen or system sleep etc. Download now the software that will simplify your life: searching and applying the covers for you with a mouse click' and is an app in the Audio & Music. No matter to which folder you move your mp3 file, the saved cover will be always there for you.
Just a few hundred lines of code (just include it in your project!)Tinytag only provides the minimum needed for reading MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave meta-data. Read tags, length and IDv3 cover images of music files Tinytag is a library for reading music meta data of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave files with python
using setup.cfg instead of setup.py (thanks to scivision) fixed wav files not correctly reporting the number of channels #61 Improved stability when reading corrupted mp3 files Improved text decoding for many malformed files added option to ignore encoding errors ignore_errors #73
added new field "composer" (Thanks to Phil Borman) using pytest instead of nosetest (thanks to scivision) added appveyor windows test CI (thanks to scivision)
fixed corrupted images for some mp3s (#45) added method TinyTag.is_supported(filename) fix parsing of FLAC files with ID3 header (thanks to minus7) fixed parsing of duration in wav file (thanks to Ian Homer)
This ends up with the first character cut off.I am not familiar with the ID3 spec so it is possible that this file is invalid but since EasyID3 managed to parse it I am unsure. From tinytag import TinyTagTags = TinyTag.get('ERB_Tony_Hawk_VS_Wayne_Gretsky.mp3')> 'ony Hawk VS Wayne Gretzky' # should be 'Tony Hawk VS Wayne Gretsky'> 'pic Rap Battles Of History' # should be 'Epic Rap Battles Of History'When using mutagen.easyid3 the problem dissapears from mutagen.easyid3 import EasyID3Tags = EasyID3('ERB_Tony_Hawk_VS_Wayne_Gretsky.mp3')I have traced the problem to ID3._decode_string in tinytag.py.They bytestring input (for the title) is:B'\x01T\x00o\x00n\x00y\x00 \x00H\x00a\x00w\x00k\x00 \x00V\x00S\x00 \x00W\x00a\x00y\x00n\x00e\x00 \x00G\x00r\x00e\x00t\x00z\x00k\x00y\x00'On line 720 ( bytestr = bytestr) it cuts it to:B'T\x00o\x00n\x00y\x00 \x00H\x00a\x00w\x00k\x00 \x00V\x00S\x00 \x00W\x00a\x00y\x00n\x00e\x00 \x00G\x00r\x00e\x00t\x00z\x00k\x00y\x00'Then on line 730 it says bytestr = bytestr if len(bytestr) % 2 = 0 else bytestr which then removes the T\x00 from the start of the string. Traceback (most recent call last):File "D:\Program_Files\Python\lib\site-packages\tinytag\tinytag.py", line 311, in _determine_durationFrame_bitrate = ID3.bitrate_by_version_by_layerTypeError: 'NoneType' object is not subscriptableDuring handling of the above exception, another exception occurred:File "D:\Program_Files\Python\lib\site-packages\tinytag\tinytag.py", line 94, in getTag.load(tags=tags, duration=duration, image=image)File "D:\Program_Files\Python\lib\site-packages\tinytag\tinytag.py", line 115, in loadSelf._determine_duration(self._filehandler)File "D:\Program_Files\Python\lib\site-packages\tinytag\tinytag.py", line 313, in _determine_durationRaise TinyTagException('mp3 parsing failed')Tinytag.tinytag.TinyTagException: mp3 parsing failedI noticed that, when using tinytag on certain mp3 files, the first letter of the title, artist and album are cut off. fixed decoding of UTF-16LE ID3v2 Tags, improved overall stabilityI was trying to use tinytag.TinyTag.get(filename), but it errored and saidTinytag.tinytag.TinyTagException: mp3 parsing failed.Now I get that this means the mp3 is invalid, but the weird thing is:It works with ffplay, VLC and WMP (and probably all music playing software)File was downloaded using youtube_dl, not sure if that matters. fixed crash for malformed MP4 files (#34)