-
-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OGG Cover Art en Lyrics Not embedding with latest DEV rease AppImage and Self Compile from Latest Source #13
Comments
There is quite a bit of history surrounding with ogg cover art. In an mp3 for instance you must tag the artist tag as 'ARTIST' or cover as 'APIC' and all music players will pick that up, but with ogg files there is no such standard. Take a look at the image below for instance, although my file manager and my metadata editor pick up the cover art, vlc does not. There are a number of things you could consider, I do know that almost every music player supports leaving a file in the same directory called 'cover.png/jpeg' which will override any embedded thumbnails ('save album cover' in advanced settings will do this for you). You could also try changing the thumbnail format from png to some other format as some music players support jpeg but not png and vice versa. In summary, ogg files do not have a solid standard like id3 for mp3s. As for the lyrics, I knew someone would find this issue eventually. It requires a premium account and one of my friends running the family plan I was using stopped using spotify mid development of this feature, I guess I'll have to make a free trial account now. I'll take a look at the lyrics issue sometime tomorrow. |
Lyrics issue is fixed in the latest dev appimage, I also changed the cover art format for flac and ogg (not sure if this will fix your problem). Let me know if it works. |
Fixes should be bundled in v0.7.1, if the problem persists feel free to reopen the issue |
Hi, Sorry for the wait but I have completed a fresh new round of testing with v0.7.1 app image. A couple of things:
I have attached the settings.json file and one mp3 session log and one session log for one mp3 and .ogg attempton the same song: Raw Console launch output .txt dump: Here is a screenshot from an .ogg file with lyrics and cover embedded taken with Spytify, maybe it helps figure the storage out: I hope this helps narrow down the issue. |
File "/tmp/.mount_OnTheSPjaehe/opt/python3.12/lib/python3.12/site-packages/onthespot/worker/downloader.py", line 215, in download_track The application weirdly does not tag this song because the explicit tag is missing on spotify's side. Instead of doing metadata['explicit'] metadata is now collected with metadata.get('explicit', '') meaning that if the value is missing it is set to None This should (hopefully) be fixed in the latest release, I don't have an appimage yet but you can run the build script and it should compile everything for you on linux. If this still does not work please send me your distro's iso and the details of your userspace and I will try to run them on this side. |
Hi Just a small Update: Tested latest Build v1.0.3 Version on Windows 11: MP3:
RAW OGG format:
All the best :) |
By raw ogg format do you mean you have 'Raw Media Format' selected? Raw media format does not embed anything as it just dumps the file from spotify and quits. As for the lyrics they ping the spotify endpoint and if available then they are downloaded, perhaps its possible some songs don't have lyrics? There have been quite a few people who have been successful with ogg formats in the discord, perhaps you can ask around there. |
Version: Latest DEV release/Source Tree and AppImage.
Issue: .ogg format cover art,song info and lyrics still not embedding.
Here are logs dumps from console:
[2024-10-03 11:36:47,123 :: gui.main_ui :: gui/mainui.py -> 567:__generate_users_table() :: INFO] -> Accounts table was populated !
[2024-10-03 11:36:47,129 :: gui.main_ui :: gui/mainui.py -> 576: __rebuild_threads() :: INFO] -> Spawning DL thread using session : 3705b0b3-dcd8-4dac-be77-232f8f70fc62
[2024-10-03 11:36:47,130 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 359: run() :: INFO] -> Download worker SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 is running
[2024-10-03 11:37:10,172 :: gui.main_ui :: gui/mainui.py -> 1020:__get_search_results() :: INFO] -> Search clicked with value with url https://open.spotify.com/track/6mON860SlvCL3PTWBjVTQj?si=2d26e171a9184d1c
[2024-10-03 11:37:10,173 :: gui.main_ui :: gui/mainui.py -> 1066: __download_by_url() :: INFO] -> URL download clicked with value https://open.spotify.com/track/6mON860SlvCL3PTWBjVTQj?si=2d26e171a9184d1c
[2024-10-03 11:37:10,173 :: utils :: utils/utils.py -> 115:regex_input_for_urls() :: INFO] -> Parsing url 'https://open.spotify.com/track/6mON860SlvCL3PTWBjVTQj?si=2d26e171a9184d1c'
[2024-10-03 11:37:10,173 :: utils :: utils/utils.py -> 212: get_url_data() :: INFO] -> Parse result for url 'https://open.spotify.com/track/6mON860SlvCL3PTWBjVTQj?si=2d26e171a9184d1c'-> track, 6mON860SlvCL3PTWBjVTQj
[2024-10-03 11:37:10,173 :: gui.main_ui :: gui/mainui.py -> 1207: __send_to_pqp() :: INFO] -> Prepared media for parsing, adding to PQP queue !
[2024-10-03 11:37:10,173 :: gui.main_ui :: gui/mainui.py -> 1087: __download_by_url() :: INFO] -> URL "https://open.spotify.com/track/6mON860SlvCL3PTWBjVTQj?si=2d26e171a9184d1c" added to parsing queue
[2024-10-03 11:37:10,174 :: worker.utility :: worker/utility.py -> 98: run() :: INFO] -> <librespot.core.Session object at 0x7f81fb2868a0>
[2024-10-03 11:37:10,399 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Die Piesangskille"; Allow path separators: False
[2024-10-03 11:37:10,399 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Almal Gly"; Allow path separators: False
[2024-10-03 11:37:10,399 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Inge"; Allow path separators: False
[2024-10-03 11:37:10,399 :: worker.utility :: worker/utility.py -> 69: enqueue_tracks() :: INFO] -> PQP parsing Inge:6mON860SlvCL3PTWBjVTQj <-> track item: Inge:6mON860SlvCL3PTWBjVTQj
[2024-10-03 11:37:10,399 :: worker.utility :: worker/utility.py -> 224: run() :: INFO] -> Finished parsing this item !
[2024-10-03 11:37:10,399 :: worker.utility :: worker/utility.py -> 91: run() :: INFO] -> Waiting for new item to parse
[2024-10-03 11:37:10,876 :: spotutils :: utils/spotify.py -> 60:check_if_media_in_library() :: INFO] -> Checking if item is in library: <Response [200]>
[2024-10-03 11:37:10,877 :: gui.main_ui :: gui/mainui.py -> 488:__add_item_to_downloads() :: INFO] -> Adding item to download queue -> media_type:track, media_id: 6mON860SlvCL3PTWBjVTQj, extra_path:, extra_path_as_root: False, Prefix value: ''
[2024-10-03 11:37:10,877 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 373: run() :: INFO] -> Processing download for track by id '6mON860SlvCL3PTWBjVTQj', Attempt: 0/3
[2024-10-03 11:37:10,878 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Die Piesangskille"; Allow path separators: False
[2024-10-03 11:37:10,878 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Almal Gly"; Allow path separators: False
[2024-10-03 11:37:10,878 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Inge"; Allow path separators: False
[2024-10-03 11:37:13,721 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 197: download_track() :: WARNING] -> Force raw is disabled for track by id '6mON860SlvCL3PTWBjVTQj', media converting and tagging will be done !
[2024-10-03 11:37:13,721 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 201: download_track() :: INFO] -> Downloaded track by id '6mON860SlvCL3PTWBjVTQj'
[2024-10-03 11:37:13,721 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 204: download_track() :: INFO] -> Fetching lyrics for track id: 6mON860SlvCL3PTWBjVTQj, True
[2024-10-03 11:37:13,995 :: spotutils :: utils/spotify.py -> 160: get_track_lyrics() :: ERROR] -> Failed to get lyrics for track id: 6mON860SlvCL3PTWBjVTQj,
[2024-10-03 11:38:39,148 :: gui.main_ui :: gui/mainui.py -> 1020:__get_search_results() :: INFO] -> Search clicked with value with url https://open.spotify.com/track/1AG7YrtmqKDQTe3wpBXKhp?si=d07bb34f5db14b9a
[2024-10-03 11:38:39,148 :: gui.main_ui :: gui/mainui.py -> 1066: __download_by_url() :: INFO] -> URL download clicked with value https://open.spotify.com/track/1AG7YrtmqKDQTe3wpBXKhp?si=d07bb34f5db14b9a
[2024-10-03 11:38:39,148 :: utils :: utils/utils.py -> 115:regex_input_for_urls() :: INFO] -> Parsing url 'https://open.spotify.com/track/1AG7YrtmqKDQTe3wpBXKhp?si=d07bb34f5db14b9a'
[2024-10-03 11:38:39,148 :: utils :: utils/utils.py -> 212: get_url_data() :: INFO] -> Parse result for url 'https://open.spotify.com/track/1AG7YrtmqKDQTe3wpBXKhp?si=d07bb34f5db14b9a'-> track, 1AG7YrtmqKDQTe3wpBXKhp
[2024-10-03 11:38:39,148 :: gui.main_ui :: gui/mainui.py -> 1207: __send_to_pqp() :: INFO] -> Prepared media for parsing, adding to PQP queue !
[2024-10-03 11:38:39,148 :: gui.main_ui :: gui/mainui.py -> 1087: __download_by_url() :: INFO] -> URL "https://open.spotify.com/track/1AG7YrtmqKDQTe3wpBXKhp?si=d07bb34f5db14b9a" added to parsing queue
[2024-10-03 11:38:39,148 :: worker.utility :: worker/utility.py -> 98: run() :: INFO] -> <librespot.core.Session object at 0x7f81fb2868a0>
[2024-10-03 11:38:41,558 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "League of Legends"; Allow path separators: False
[2024-10-03 11:38:41,558 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Steve Aoki"; Allow path separators: False
[2024-10-03 11:38:41,558 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "REMIX RUMBLE (Steve Aoki Remix)"; Allow path separators: False
[2024-10-03 11:38:41,558 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "REMIX RUMBLE"; Allow path separators: False
[2024-10-03 11:38:41,558 :: worker.utility :: worker/utility.py -> 69: enqueue_tracks() :: INFO] -> PQP parsing REMIX RUMBLE:1AG7YrtmqKDQTe3wpBXKhp <-> track item: REMIX RUMBLE:1AG7YrtmqKDQTe3wpBXKhp
[2024-10-03 11:38:41,559 :: worker.utility :: worker/utility.py -> 224: run() :: INFO] -> Finished parsing this item !
[2024-10-03 11:38:41,559 :: worker.utility :: worker/utility.py -> 91: run() :: INFO] -> Waiting for new item to parse
[2024-10-03 11:38:42,109 :: spotutils :: utils/spotify.py -> 60:check_if_media_in_library() :: INFO] -> Checking if item is in library: <Response [200]>
[2024-10-03 11:38:42,110 :: gui.main_ui :: gui/mainui.py -> 488:__add_item_to_downloads() :: INFO] -> Adding item to download queue -> media_type:track, media_id: 1AG7YrtmqKDQTe3wpBXKhp, extra_path:, extra_path_as_root: False, Prefix value: ''
[2024-10-03 11:38:42,110 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 373: run() :: INFO] -> Processing download for track by id '1AG7YrtmqKDQTe3wpBXKhp', Attempt: 0/3
[2024-10-03 11:38:42,111 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "League of Legends"; Allow path separators: False
[2024-10-03 11:38:42,111 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Steve Aoki"; Allow path separators: False
[2024-10-03 11:38:42,111 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "REMIX RUMBLE (Steve Aoki Remix)"; Allow path separators: False
[2024-10-03 11:38:42,111 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "REMIX RUMBLE"; Allow path separators: False
[2024-10-03 11:38:44,442 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 197: download_track() :: WARNING] -> Force raw is disabled for track by id '1AG7YrtmqKDQTe3wpBXKhp', media converting and tagging will be done !
[2024-10-03 11:38:44,442 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 201: download_track() :: INFO] -> Downloaded track by id '1AG7YrtmqKDQTe3wpBXKhp'
[2024-10-03 11:38:44,442 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 204: download_track() :: INFO] -> Fetching lyrics for track id: 1AG7YrtmqKDQTe3wpBXKhp, True
[2024-10-03 11:38:44,962 :: spotutils :: utils/spotify.py -> 157: get_track_lyrics() :: WARNING] -> Failed to get lyrics for track id: 1AG7YrtmqKDQTe3wpBXKhp, statucode: 404, Text:
Failed reading packet! [Errno 104] Connection reset by peer
Exception in thread session-packet-receiver:
Traceback (most recent call last):
File "librespot/core.py", line 1644, in run
File "librespot/crypto.py", line 58, in receive_encoded
File "librespot/core.py", line 1548, in read
ConnectionResetError: [Errno 104] Connection reset by peer
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "threading.py", line 1075, in _bootstrap_inner
File "threading.py", line 1012, in run
File "librespot/core.py", line 1657, in run
File "librespot/core.py", line 959, in reconnect
File "librespot/core.py", line 1520, in create
ConnectionRefusedError: [Errno 111] Connection refused
[2024-10-03 11:45:12,160 :: gui.main_ui :: gui/mainui.py -> 1020:__get_search_results() :: INFO] -> Search clicked with value with url https://open.spotify.com/track/6qn9YLKt13AGvpq9jfO8py?si=5b10107a9a014cb7
[2024-10-03 11:45:12,160 :: gui.main_ui :: gui/mainui.py -> 1066: __download_by_url() :: INFO] -> URL download clicked with value https://open.spotify.com/track/6qn9YLKt13AGvpq9jfO8py?si=5b10107a9a014cb7
[2024-10-03 11:45:12,160 :: utils :: utils/utils.py -> 115:regex_input_for_urls() :: INFO] -> Parsing url 'https://open.spotify.com/track/6qn9YLKt13AGvpq9jfO8py?si=5b10107a9a014cb7'
[2024-10-03 11:45:12,160 :: utils :: utils/utils.py -> 212: get_url_data() :: INFO] -> Parse result for url 'https://open.spotify.com/track/6qn9YLKt13AGvpq9jfO8py?si=5b10107a9a014cb7'-> track, 6qn9YLKt13AGvpq9jfO8py
[2024-10-03 11:45:12,160 :: gui.main_ui :: gui/mainui.py -> 1207: __send_to_pqp() :: INFO] -> Prepared media for parsing, adding to PQP queue !
[2024-10-03 11:45:12,160 :: gui.main_ui :: gui/mainui.py -> 1087: __download_by_url() :: INFO] -> URL "https://open.spotify.com/track/6qn9YLKt13AGvpq9jfO8py?si=5b10107a9a014cb7" added to parsing queue
[2024-10-03 11:45:12,160 :: worker.utility :: worker/utility.py -> 98: run() :: INFO] -> <librespot.core.Session object at 0x7f81fb2868a0>
[2024-10-03 11:45:12,161 :: worker.utility :: worker/utility.py -> 227: run() :: ERROR] -> Item parsing failed.. Connection error ! Trying to re init parsing account session !
[2024-10-03 11:45:13,501 :: utils :: utils/utils.py -> 35: re_init_session() :: INFO] -> Connectivity check done ! Status code "200"
[2024-10-03 11:45:16,112 :: worker.utility :: worker/utility.py -> 91: run() :: INFO] -> Waiting for new item to parse
[2024-10-03 11:45:16,112 :: worker.utility :: worker/utility.py -> 98: run() :: INFO] -> <librespot.core.Session object at 0x7f81fb208b00>
[2024-10-03 11:45:17,622 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Rihanna"; Allow path separators: False
[2024-10-03 11:45:17,622 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Calvin Harris"; Allow path separators: False
[2024-10-03 11:45:17,622 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Talk That Talk"; Allow path separators: False
[2024-10-03 11:45:17,622 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "We Found Love"; Allow path separators: False
[2024-10-03 11:45:17,622 :: worker.utility :: worker/utility.py -> 69: enqueue_tracks() :: INFO] -> PQP parsing We Found Love:6qn9YLKt13AGvpq9jfO8py <-> track item: We Found Love:6qn9YLKt13AGvpq9jfO8py
[2024-10-03 11:45:17,622 :: worker.utility :: worker/utility.py -> 224: run() :: INFO] -> Finished parsing this item !
[2024-10-03 11:45:17,622 :: worker.utility :: worker/utility.py -> 91: run() :: INFO] -> Waiting for new item to parse
[2024-10-03 11:45:18,053 :: spotutils :: utils/spotify.py -> 60:check_if_media_in_library() :: INFO] -> Checking if item is in library: <Response [200]>
[2024-10-03 11:45:18,054 :: gui.main_ui :: gui/mainui.py -> 488:__add_item_to_downloads() :: INFO] -> Adding item to download queue -> media_type:track, media_id: 6qn9YLKt13AGvpq9jfO8py, extra_path:, extra_path_as_root: False, Prefix value: ''
[2024-10-03 11:45:18,054 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 373: run() :: INFO] -> Processing download for track by id '6qn9YLKt13AGvpq9jfO8py', Attempt: 0/3
[2024-10-03 11:45:18,054 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Rihanna"; Allow path separators: False
[2024-10-03 11:45:18,054 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Calvin Harris"; Allow path separators: False
[2024-10-03 11:45:18,055 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "Talk That Talk"; Allow path separators: False
[2024-10-03 11:45:18,055 :: spotutils :: utils/spotify.py -> 178: sanitize_data() :: INFO] -> Sanitising string: "We Found Love"; Allow path separators: False
[2024-10-03 11:45:20,214 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 197: download_track() :: WARNING] -> Force raw is disabled for track by id '6qn9YLKt13AGvpq9jfO8py', media converting and tagging will be done !
[2024-10-03 11:45:20,214 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 201: download_track() :: INFO] -> Downloaded track by id '6qn9YLKt13AGvpq9jfO8py'
[2024-10-03 11:45:20,214 :: worker.downloader.SESSION_DL_TH-3705b0b3-dcd8-4dac-be77-232f8f70fc62 :: worker/downloader.py -> 204: download_track() :: INFO] -> Fetching lyrics for track id: 6qn9YLKt13AGvpq9jfO8py, True
[2024-10-03 11:45:20,628 :: spotutils :: utils/spotify.py -> 160: get_track_lyrics() :: ERROR] -> Failed to get lyrics for track id: 6qn9YLKt13AGvpq9jfO8py,
PS: Existing file check and changes work well!
The text was updated successfully, but these errors were encountered: