Releases: section83/MacYTDL
Version 1.22 – New platform switcher + more bug fixes
This release primarily addresses problems related the the SBS OnDemand web site in Australia. It includes these changes:
- A facility to switch between Intel and ARM versions of FFmpeg and FFprobe has been added to Utilities.
- Restoring the current settings file to itself should no longer cause a crash.
- Auto-gen subtitles are now found when using YT-DLP.
- Installation now warns gently if user is offline or uses outgoing firewalls such as LittleSnitch.
- Many changes to enable downloads from SBS OnDemand including from “Show” pages.
- Downloads from SBS live pages not working at present. Waiting on a fix for YT-DLP.
- A more gentle warning is issued when attempting to download from generic OnDemand and iView web pages instead of an error.
- Attempting to automatically download from an Australian commercial “Show” page no longer causes a crash.
- Preparing to download single playlist items should be significantly faster.
- “srv3” has been added to list of available subtitle formats.
Version 1.21.2 – More bug fixes + ARM64 native code
With this release MacYTDL no longer requires Rosetta 2 to be used. It also has a number of classic bug fixes. In summary:
- MacYTDL no longer requires use of Rosetta 2. This has been achieved by:
- sourcing Apple Silicon builds of FFmpeg and FFprobe from https://ffmpeg.martin-riedl.de/;
- using Homebrew to build an ARM64 version of AtomicParsley then merging that with an x86-64 version with lipo to make a Universal 2 version; and
- using the same procedure to build a Universal 2 version of ets.
- The “Settings” dialog should no longer show missing values in drop down boxes for non-English languages.
- Timestamps should now be correctly provided in log files. There was a bug in the path to ets in MacYTDL code.
- MacYTDL should function normally when the path to its location includes a space or special character.
- The “Adviser” should display correctly when the path to MacYTDL’s location includes a space or special character.
- Apostrophes should show correctly in the “SBS Chooser” dialog.
- MacYTDL should no longer show an error when subtitles are specified for more than one episode in the “SBS Chooser”.
- There should be no permission error when using the “Adviser” to open a log file after a download encountered an error.
- Auto-downloads should now work when subtitles are specified.
- MacYTDL no longer crashes if downloading a new version of MacYTDL when downloads folder is not available.
- The "Show settings before download" setting is ignored if "Auto download" is operating.
Version 1.21.1 – More critical bug fixes
This release only contains bug fixes. I have had a lot of trouble with more stringent permissions controls since macOS 12.3. Some of these fixes, hopefully, have solved most of the problems:
- Trying to change download folder when saved location not available should no longer crash MacYTDL.
- Remux formats now include “mov”.
- “Edit” batch file should no longer cause a permission denied error.
- “Download” from batch file should no long crash MacYTDL.
- Saving settings when MacYTDL Service is not installed should no longer cause an error.
- MacYTDL should no longer crash when batch file is empty and “Download” is chosen in batch functions dialog.
- Opening the “Help” file should not produce a permissions error – didn’t completely solve this in v1.21.
Version 1.21 – New features and more bug fixes
Version 1.21 has some new features, some better behaviours and bug fixes. Alas, as in the past, there are still some bugs which are proving difficult to squash. This version took a lot of work and the new "Auto download" function is particularly fragile. Normally it will work but sometimes, not. I'm researching why this is so. Just a reminder, that the "Use custom settings" feature enables any youtube-dl/YT-DLP settings to be used.
macOS 12.3, released earlier this month, does not contain Python. Thus, for the time being, MacYTDL cannot use youtube-dl in that version of macOS.
List of changes in v1.21:
- The MacYTDL Service can now download videos directly without opening the MacYTDL Main dialog – “Auto download”. When Auto downloads are on, the name shown for the Service in the Services menu changes to “Download Video Now” (macOS 10.15+).
- Settings can now be saved and restored and returned to the default.
- MacYTDL now starts more quickly and the Main dialog shows more quickly when returning from “Settings” and “Utilities”. The slow startup and slow Main dialog were due to running youtube-dl/YT-DLP to get their version every time the Main dialog was displayed. The version of those tools are now stored in the MacYTDL preferences file.
- MacYTDL is now compiled in macOS 12 Monterey. That has enabled the AppleScript Unix executable to be compiled into Universal format. Thus, MacYTDL now runs with either x86_64 or ARM64 code according to the architecture of the Mac.
- Because they can involve hundreds of videos, a warning is issued for YouTube channel URLs.
- The Monitor now shows more useful detail towards the completion of a download. It can show that the download is being merged, converted or being fixed.
- The dialog reporting that there was a warning in the simulated download no longer provides the option to check for youtube-dl/YT-DLP updates. This is because such warnings rarely if ever relate to using an old version of those tools.
- The Adviser should no longer report the the download is incomplete when the video has already been downloaded and not replaced.
- The AtomicParsley executable has been updated to the latest provided by “Wez” on GitHub.
- Successive Monitor dialogs should be correctly positioned according to the number of downloads currently underway instead of the number of downloads in the current session.
- The various processes started for each download are now more likely to be correctly stopped when the user stops a download. This includes stopping the Adviser process first.
- New code used to get screen resolution (suggested by Shane Stanley). Addresses crashes in OS X 10.11 and 10.12.
- A few coding improvements including using a better way to get the MacYTDL version.
- Code which used to look for and delete an old version of the Dialog Toolkit has been removed.
- There should no longer be a crash due to YT-DLP not being installed.
- The names of the localisation tables have been changed to be compatible with Script Debugger 8.
- The name of the file containing the MacYTDL logo has been changed to be compatible with Script Debugger 8.
- All code now refers to the YT-DLP executable in lower case to be consistent with the form provided by the YT-DLP developer.
- Live streams from SBS OnDemand in Australia should be correctly identified and recorded.
- The Adviser should now provide the option of playing a recorded live stream after download is stopped.
- Some re-jigging of code to reduce errors caused by performing calls not supported by “System Events”.
- The warning issued by YT-DLP when subtitles are being ignored is now suppressed. This is an issue in YT-DLP which might not be addressed for some time.
- “Category” URLs for ABC iView are now treated as unsupported.
- The “Episode Chooser” is now shown for ABC iView shows when downloading is done by YT-DLP. This also prevents an extractor error when YT-DLP miss-categorises certain iView URLs as playlists.
- [Last minute change] The FFmpeg installer does not check for trusted certificates when MacYTDL is running on OS X 10.11 El Capitan.
Version 1.20 – New features and more bug fixes
UPDATE – 23/3/22
Version 1.20 had a major bug making it impossible to use with YT-DLP. I have therefore deleted the two assets. It's best to stay with v1.19 until I release version 1.21 later this week.
Version 1.20 has some new features, some better behaviours and bug fixes. Alas, there are still some bugs which are proving difficult to squash.
- New option to add timestamps to response log files using the ets tool.
- New option to include custom youtube-dl/YT-DLP settings.
- Fixed a bug in which an Alert during components install might not automatically close.
- Fixed a bug in which users on macOS 10.14 and earlier switching to YT-DLP would get youtube-dl installed instead.
- MacYTDL should not quit if checking for MacYTDL updates while offline.
- “Keep original video and/or subtitles file” is now available in all post-processing cases. Previously it was only available if user specified a remux or required a subtitles conversion.
- The Service should behave more elegantly if a web browser is active but with no window open.
- The Service should show the MacYTDL logo in its warning dialogs.
- An alert is displayed reminding the user to wait when download of a playlist has being requested.
- The Monitor no longer closes if the “Logs” button is clicked.
- Text shown in the Monitor has been reduced – previously advice Monitor showed was obvious.
- The Monitor shows a “Logs” button for live stream downloads.
- Clicking on the “Play” button after stopping a live stream recording should work.
- Monitor no longer shows a warning dialog if the “Stop” button is clicked after a download has been completed.
- Recording SBS live streams should be more reliable.
- Playlists are no longer checked for live stream status – by definition a playlist should not contain a live stream as that would prevent later playlist items from being played. This should speed up playlist processing somewhat.
Version 1.19.4 – Another critical bug fix
Bug in code used to install YT-DLP/youtube-dl when MacYTDL is used for the first time. The code wasn't reporting which tool was installed.
Unsigned copy of MacYTDL uploaded to make it easier to access and change the scripts.
Version 1.19.3 – More bug fixes
This release has one bug fix. The "Monitor" dialog could produce an error in a non-English language if the response file was empty. The fix was a workaround which uses the size of the response file instead of the text of the error.
Version 1.19.2 – More bug fixes
This release focused on bugs, particularly those in the Batch function.
- Enabled the MacYTDL Service to work in the Brave web browser.
- Batch downloads should work rather than crashing MacYTDL.
- Monitor should no longer encounter an error because the response file name is too long. If the name is too long, any custom output template is removed.
- A warning is displayed if the format of the “BatchFile.txt” file is incorrect – usually because of manual edits.
- “Show settings before download” is now implemented for batch downloads.
- An error should no longer be caused by non-UTF-8 characters in a file name saved in “BatchFile.txt”.
- Batch downloads now respect the runtime option for downloads folder set in Main dialog.
- Progress monitor for a batch download no longer shows a redundant return character after the file name.
- Python version has been removed from the “Show settings” dialog. It was pointless as all Macs still have Python 2.7 installed and YT-DLP is packaged with Python 3.8.
- The “Remove last item” function no longer raises an error if there is only one URL in the batch.
- The progress monitor dialog no longer shows a URL after the file name.
- It is no longer possible to dismiss the “download folder is not available” warning without making the folder available, returning to the Main dialog or quitting MacYTDL.
- Changes to Settings cannot be saved if the downloads folder is not available.
- MacYTDL can now use an NAS as the download folder. This has been tested on a basic
Netcomm modem. Results may vary with the make and arrangement of NAS. - Code used to get the current date and time has been fine-tuned.
- Some old code has been removed.
Version 1.19.1 – Bug fixes
- MacYTDL no longer crashes if the most recent version of YT-DLP is not available.
- MacYTDL no longer crashes on start if “Check [youtube-dl/YT-DLP] version on startup” is specified.
- SBS OnDemand “Show” and “movie” pages are now correctly parsed and downloads succeed rather than crashing MacYTDL.
Note that on some show pages, “Season 1” may appear in the MacYTDL “Chooser” dialog instead of the season name shown by SBS (e.g. “2021”).
Version 1.19 – YT-DLP and bug fixes
MacYTDL can now use YT-DLP as well as youtube-dl. YT-DLP works for Macs running macOS 10.15 Catalina and higher. It also has been tested to work on Macs running macOS 10.13 High Sierra and macOS 10.14 if two library files can be sourced. Some detail on the two library files is provided on page 41 of the Help.
YT-DLP has many additional features that are not yet implemented in MacYTDL. Those features can be added by using a ".config" file. See page 28 of Help. Detail on YT-DLP is available here: https://github.com/yt-dlp/yt-dlp.
Version 1.19 needed a lot of work to use YT-DLP. So, there may be bugs that testing has not yet found. Please report any bugs or bad experiences in an issue here or send an email to macytdl@gmail.com.
In addition to implementing YT-DLP, in version 1.19:
- MacYTDL now works better on M1 Macs (with high resolution Retina screens).
- Batch functions dialog is now correctly positioned.
- Multiple downloads now working again.
- The “Play” function of the “Adviser” can now play the first video in a completed batch download.
- Fixed the bug in which the SBS “Episode Chooser” incorrectly referred to “Season 1” for all downloads.
- Fixed another bug in the SBS “Episode Chooser” in which errant numbers were sometimes shown before episode detail.
- The “Alerter” tool is now used for all component installations.
- A preference file maintained by macOS is now deleted by the “Uninstall” process.
- MacYTDL no longer crashes on Quit if there is a non-null URL.