воскресенье, декабря 26, 2021

Игрушечка-15, Shazam и командная строка

 Опыт эксплуатации связки программ из предыдущего поста показал, что хорошо бы автоматизировать процесс отправки информации из клиента Shazam через мою программку. Принимая во внимание то, что клиент консольный, то и решение должно быть похожим – вызов программки из командной строки с передачей информации через параметры.

В процессе выяснилось, что сделать всё это не так уж и сложно, хоть и не без ухабов и шероховатостей (ну, у MS гладко только в примерах бывает) – например, в UWP-программе нет возможности динамически, в процессе исполнения, скрыть splash-экран или изменить размер окна приложения. Очень уж напрягает этот моргающий рисунок – похоже, изобретатели вовсе не предполагали запуска uwp-программ не из иконки на стартовом экране. Тем не менее, костылики для других способов запуска всё же приложили, за что спасибо. Наверное.

В итоге трудов получилась возможность вызвать программку командной строкой вида

Lafm.exe --параметр <данные> ...

Подробности про параметры – на странице программы.

В клиенте Shazam потребовалось добавить соответствующие средства – отключение вывода информации в буфер обмена и вызов программы LastFm Writer с нужными параметрами – параметры --NoClipboard и --lafm соответственно. Подробности – на странице программы.

В итоге описанного мероприятия количество действий по распознаванию и протоколированию музыки заметно сократилось.

Следующим действием, вероятно, должна стать автоматизация запуска самого процесса “шазаминга”…


воскресенье, декабря 12, 2021

Игрушечка-14 и Shazam

 Некоторое время назад пришлось повоевать немного после рационализаторских упражнений разработчиков сервиса Shazam. После этого несколько лет клиенты сервиса на телефоне и на десктопе, разработанные ещё под Windows 8.1, исправно работали, передавали данные в мою программку, а она постила их в сервис Last.fm.

Какое-то время назад новый владелец сервиса Shazam зачем-то взял и удалил из магазина Windows помянутый старенький клиент. С моего компьютера, правда, не удалил (не смог?), но работать клиент стал заметно хуже и один раз впал в кому, а вывести его из неё средствами Windows не удалось (сброс не помогал, переустановить нельзя). Пришлось восстановить систему из бекапа.

Все эти приключения подвигли на изучение проблемы и поиск решения, которое нашлось, как ни удивительно, на github. И даже не одно. Правда, для моих целей потребовались доработки (достаточно простые), в результате получился консольный клиент сервиса Shazam, который передаёт данные в буфер обмена, из которого моя программка отправляет их на Last.fm.

Ура!