v2.0.0 - YT-DLP BRIDGE, FASTER SPEED & HUGE OPTIMIZATIONS
Release v2.0.0
It's been two months since the last release, but hear me out.
a LOT of testing was needed for this release for the best experience -- there's a ton to unpack here. This update brings a lot of new features, optimizations, and bug fixes -- here are some of the highlights:
Rewritten yt-dlp integration
This is the headline of the release, and is what required the most amount of testing. I've written a bridge in Python that takes yt-dlp's exposed Python interface, and creates a thread for each yt-dlp call. This allows for multiple calls to be made at once, without relying on the system to load the libraries needed for yt-dlp on each execution, overall allowing the app (and your entire system) to be more responsive in every case possible -- this is MOST noticeable when downloading more than 4 files simultaneously.
Metadata
This one's a HIGHLY requested feature, and I'm very happy to announce that it's been finally added! You can now download media with metadata tags & thumbnails! If you download a playlist, you also have the option to save it as an album, which will additionall tag the track numbers and album artist!
Spotify integration
You can now download Spotify playlists and albums! This is a feature that has been requested for a while, and I'm happy to say that it's finally here. You can now download Spotify playlists and albums by pasting the link into the URL box, and clicking the "Download" button.
NOTE: This does NOT download directly from Spotify. This requests the metadata of the playlist / album, and searches YouTube for the best match for each song. If you save the metadata tags to the destination file, the app will save the Spotify metadata to the file, and not the YouTube metadata.
NOTE: You WILL need to create a Spotify API app on the developer console (the app will remind you) for this to work, as Spotify does not have a public key-less API. This is a one-time process, and you will not need to do this again unless you delete the app from your Spotify account.
NOTE: This feature is still in beta, so if you encounter any issues, please report them on the issue tracker
Threaded playlist iteration
This one's pretty big. Previously, the app relied on yt-dlp to iterate through a playlist to get the full metadata when collecting info -- this was incredibly slow, because yt-dlp was designed to iterate through playlists one-by-one. Now, ezytdl takes the basic information of the playlist, and if it determines that the playlist didn't have enough information during the initial scrape, it will get the information of each playlist entry, multiple at a time. This is a huge improvement, and makes resolving large playlists much faster.
Clipboard Checker
The app now gives you the option (disabled by default) to check your clipboard for URLs. If you enable this, the app will check your clipboard for URLs, and if it detects one, it will notify you asking if you'd like to download that specific link. This is useful if you're downloading a lot of videos at once, and don't want to have to copy and paste each URL into the app.
NOTE: The app does NOT do anything with the link UNTIL you have clicked the notification. This is to ensure that the app doesn't make requests without your permission.
NOTE: The app does NOT do anything with what's in the clipboard unless it's a link, and if it's a link, it will only do the aforementioned. No requests are sent anywhere, and nothing is hidden from you. Remember, this project is open source!
UI improvements
The UI has been improved in a few ways:
- Clicking the "Settings" button no longer switches the entire app's page, but rather creates a pop-up in the same window. This removes the long-lasting issue of the window controls flashing when switching between the main page and the settings page.
- The app now adapts to your system's color scheme! (windows & mac only)
Drag & drop elements
This one's pretty small, but you can now drag and drop certain elements to insert them where needed. The biggest use case for this is the "File Name Format" field in settings -- you can now drag a button and insert it precisely where you want it instead of only being able to click it which appends it to the end of the textbox. You can also drag and drop playlist / search entries into the url box, and this will get the information of that specific entry.
File name & path sanitization
A huge issue in the app previously was that it did not properly sanitize filenames and paths, which caused issues when downloading files with special characters. This has been fixed, and the app will now properly sanitize filenames and paths.
"Best Download" -> "Quick Download"
The "Best Download" button has been renamed to "Quick Download," as getting the best formats of certain YouTube videos downloaded separate audio and video streams, which is not ideal for most users. The "Quick Download" button will now download the best format that is both audio and video, and will download the best audio-only format if the video is unavailable.
...and there are a LOT more new options and features that would essentially take too much time to map out here, so i'll leave that to you to discover :D
i'd like to take this time to thank you for actually using this app; i created this as a simple wrapper for yt-dlp not expecting it to really get anywhere, and wasn't planning on working on it for this long, but here we are -- i've been getting compliments for the app a lot more than i was ready for, including certain statements like "the best downloader app."
overall, i'm very happy with how this project has turned out, and i'm very excited to see where it goes from here! thank you all for the continued support!