Минималистский графический интерфейс, на C++ / WTL, для консольного загрузчика
Введение
Всё началось с комментирования статьи: «[Как я написал современный GUI для yt-dlp на Python]( https://habr.com/ru/articles/930260/)».
Программа автора мне понравилась, и я обещал ему попробовать сделать аналогичный проект на C++ / WTL.
Так вот, не прошло и полгода, как первая версия аналогичной программы уже готова. Её рабочее название – MiniDL, а исходники доступны на сайтах:
http://polezp.narod.ru/Prg/MiniDL100.zip
и
http://lecole.free.nf/Prg/MiniDL100.zip
или
https://disk.yandex.ru/d/yGQDXbkpk6LPqw
Архив содержит также скомпилированные бинарники для 32-х и 64-х разрядных, релизных версий, под Windows («MiniDL32r.exe» и «MiniDL64r.exe»).
Естественно, создать конкурентный интерфейс профессиональной библиотеке CustomTkinter, для Питона, на сверхлегком движке WTL, за обозримое время, практически невозможно. Но такая задача и не ставилась. Хотелось просто реализовать идею автора – работать с удобной графической оболочкой для консольной программы, в данном случае – внешнем загрузчике медиа-контента из Ютуба и других, поддерживаемых им сайтов.
Ради простоты, пришлось отказаться от попытки реализовать все интерфейсные плюшки автора и ограничиться минималистским вариантом. Тем более что, лично меня он вполне устраивает. Более того, поскольку я привык работать в Total Commander, то там вполне удобно использовать и консольные программы, особенно в паре с командным файлом их запуска, что позволяет перенести туда все параметры командной строки. А, в случае с загрузчиком yt-dlp.exe ситуация оказалась еще лучше, так как, он поддерживает конфигурационный файл, с мощными настройками. Если их хорошо освоить, то, в принципе, ничего больше и не надо. Ведь, эти настройки позволяют легко скачивать не только аудио и видео файлы, но и субтитры к ним и тому подобное. Также, легко и просто указать каталог загрузки, но уже в нашей программе, и не мучиться, как автор, с сохранением их на рабочий стол.
Читать далее