Ok, I think it's ready for testing, let me know if there's any issue or question.
Note: The skin requires yt-dlp and ffmpeg to work, which are not included. Instructions for download and install are included in the INI file though.
I pretty much changed everything on the lua script, and converted it into a "state machine".
On the script measure side pretty much everything remains the same but, and it's important to note, I have added a new variable called ytFixedArguments which is important to NOT MODIFY, as it contains the logs necessary for the script to track the download states as well as the files path, name and number. Those arguments must be included on any implementation.
I've introduced new states, and these are all of them:
Important note: Since the log file is in ANSI format, videos with special characters on their title will not return a correct title. I couldn't find a way to make the log file UTF, so if anyone has any idea on how to do that, please share![Big Grin :D]()
You can download more than one video at a time by simply specifying more than one URL, or simply downloading a full playlist, those functions will return the info about the last one completed.
The download will be considered complete once all videos have been downloaded and post-processed.
Errors should be more explicit now, the script measure will show Error! as its string value and the actual error will be in the log.
I tested many formats and options but obviously is difficult to test the whole range of options yt-dlp has, hopefully there are no new issues.
Here's the timer plugin version:
Note: The skin requires yt-dlp and ffmpeg to work, which are not included. Instructions for download and install are included in the INI file though.
I pretty much changed everything on the lua script, and converted it into a "state machine".
On the script measure side pretty much everything remains the same but, and it's important to note, I have added a new variable called ytFixedArguments which is important to NOT MODIFY, as it contains the logs necessary for the script to track the download states as well as the files path, name and number. Those arguments must be included on any implementation.
I've introduced new states, and these are all of them:
- Waiting...
- Starting...
- Downloading...
- Post-processing...
- Finished...
- Stopping...
- Download Complete!
- Download Stopped!
- Error!
- [&ScriptMeasure:GetFilePath()]
- [&ScriptMeasure:GetFileName()]
- [&ScriptMeasure:GetFileNumber()]
Important note: Since the log file is in ANSI format, videos with special characters on their title will not return a correct title. I couldn't find a way to make the log file UTF, so if anyone has any idea on how to do that, please share

You can download more than one video at a time by simply specifying more than one URL, or simply downloading a full playlist, those functions will return the info about the last one completed.
The download will be considered complete once all videos have been downloaded and post-processed.
Errors should be more explicit now, the script measure will show Error! as its string value and the actual error will be in the log.
I tested many formats and options but obviously is difficult to test the whole range of options yt-dlp has, hopefully there are no new issues.
Here's the timer plugin version:
Statistics: Posted by RicardoTM — Today, 3:36 am