Открыть изображение »
Проори с Valyrics
Тексты треков из Spotify/iTunes в Notification Center
04 декабря 2016 :: 37 комментариев :: 3239 просмотров :: 429 слов
TL;DR: valyrics.vas3k.ru

А теперь сторителлинг. Модно.
История 1. Мой новосибирский сосед сверху по имени Валера любит водочку по пятницам и свою жену, которую он ласково называет «Мразь». Романтические вечера они проводят ставя любимую пластинку Шуфутинского и подпевая тексты наизусть. Потому особо думать над названием музыкального сервиса мне не пришлось.
 +
История 2. После того, как Spotify выпилил кнопку lyrics из приложения, уважаемым людям стало проблематично найти текст текущего трека, чтобы поорать караоке со своими пьяными друзьями. Это настоящая проблема, посерьезнее финансового кризиса.
 +
История 3. Notification Center, выползающая справа панелька с виджетами — самая бесполезная хрень в macOS. По градусу ненужности с ней может сравниться разве что Siri или Launchpad. Я запускаю их раз в месяц в основном по ошибке. Самое ужасное — для этих ненужных фич сделаны такие удобные шоткаты.
0
Redetection Хм. А я примерно одинаково использую на айфоне и маке, просто реже в два раза.
0
anonymous Ланчпад с Дашбордом попутал?
0
vas3k Redetection, на айфоне збс, виджеты всякие, которые на маке мне как-то никогда не нужны. Ну там погодка например, я даже если за компьютером сижу, всё равно проще на айфоне в два свайпа ее посмотреть.
0
vas3k anonymous, именно лаунчпад. Такая штука с иконками как айпад. А дашборд, кстати, был юзабелен когда-то, на него можно было добавлять части веб-страничек и он их обновлял в фоне. Это даже тема.
0
ReDetection vas3k, если айфон в кармане – мне тупо лень за ним лезть) дашборд, кстати, и сейчас обновляет, но не в фоне
Из этих трех простых жизненных ситуаций сложилась концепция. Lyrics-приложения — беспомощные куски говна, которые надо законодательно запретить. Их надо где-то хранить, запускать, окошки теребонькать, СЛОЖНА. Проще нагуглить. А Notification Center при этом всегда можно вызвать простым свайпом от края тачпада поверх любых окон. И вот решение — сделать из двух бесполезных фич одну полезную.
 +
Valyrics — виджет для сайдбара MacOS, который ищет в Глобальной Сети Интернет и отображает текст текущего трека из вашего iTunes или Spotify. Виджет не жрет ресурсов и не делает запросов в фоне. Текст текущего трека ищется и загружается непосредственно в момент открытия сайдбара. И это инновация! Разве не эмейзинг? Нет? Ладна.
[скрыть все] [развернуть все]  11 комментариев
0
ReDetection Есть отличная идея сделать опцию выравнивать текст по левому краю
0
vas3k ReDetection, запомню, окей
0
anonymous Я джва года хотел написать такую же хрень! Но теперь не судьба :(
0
vas3k anonymous, хочешь дам тебе python-исходники парсера текстов и ты перепишешь их на Swift? Добавлю в соавторы
:3
0
vas3k ReDetection, я там тебе сделал настройку выравнивания, наслаждайся :)
0
тот самый anonymous vas3k, а в чём там суть? Вообще давай, конечно
0
vas3k тот самый anonymous, вот простой файлик парсера (в нём собственна всё): https://github.com/themylogin/player.thelogin.ru/blob/master/player/lyrics/__init__.py Его бы по хорошему переписать на Swift, чтобы запросы с клиентов шли, так как гугл может забанить наш сервер. Если получится, присылай, интегрирую в новую версию и выражу респекты.
0
ramwoolf Вот существует конечное число ресурсов, хранящих инфу, не только лишь музыкальной направленности: spotify(1), lastfm(2), vk(3), ... , mirain.info(n). значит возможно сделать A(n!/(n-1)!) + A(n!/(n-2)!) + ... подобных приложений + по нескольку клонов на каждую комбинацию - это дохера, но по своей сути это все те же crud-приложухи. Забиндить запрос на другое событие, найти возможности в операционке, чтобы не жрало ресурсы системы - вот это все, яхз инновация ли это. Мб с точки зрения использования? Что ты только шевельнул пальцем, а тебе уже вывалилось "хули мусора хули мусора хули, едем так как ехали, даже в хуй не дули"... Может, удобное представление тут инновационно, когда ты смотришь на инфу с разных источников и сам ее можешь в мозгах как-то совместить. Ты писал про Palantir - вот там без вопросов, адаптация и совмещение разнородной инфы перенесена в комп. Но во всяких crud-ах - яхз, мб меня магистратура испортила
0
ReDetection vas3k, есть отличная идея в приложении при переключении выравнивания менять скриншот. Fancy
0
ramwoolf дисклеймер - комент направлен не на "а чего добился ты", а на то, что я походу не понимаю откуда вырастает вся польза таких синхронизаторов
0
vas3k ramwoolf, либо я не распарсил твою иронию, либо ты мою. Хотя я вроде всеми способами, от самого названия до этих строк, её прям наваливал
.
Скачать .app можно со странички проекта, лучше перед запуском положить его в Applications и там и оставить. После запуска в Notification Center должна появиться иконка, что доступен 1 новый виджет. Если она не появилась — ваша макось опять жопится и не хочет подцеплять сторонние виджеты. А платить за ущербный Mac AppStore $99 в год я дурачок чтоле. Но виджет работает, если не сразу — то надо пару раз перезапустить приложение или ваще макось. Я не нашел никаких открытых API от Apple чтобы зафорсить добавление виджета, умные все стали, а страдать должен пользователь. Может кто-то в комментариях подскажет.
[скрыть все] [развернуть все]  16 комментариев
0
ReDetection Самый Главный Вопрос: а че не опенсурс? :'(
0
ReDetection Справедливости ради: ты молодец, что сделал его sandboxed
0
ReDetection А зачем coredata, по дефаулту прилинковалась?
0
ReDetection Как зафорсить обновление виджета? песня уже пять раз сменилась, а там первая
0
ReDetection У медифайла в айтюнсе уже могуть быть lyrics зашиты, может имеет смысл из них выцеплять, а не в сеть ходить
0
vas3k ReDetection, опенсурс просто не успел еще, наверное будет. Хочешь доработать? С coredata ничего руками не делал, но раз ты говоришь, наверное xcode сам подключил. Обновление зафорсить пока никак, у меня честно всё обновляется если "открыть-закрыть" notifications center. Но жалобы уже поступают, ок, приделаю кнопку.
0
vas3k ReDetection, Sandboxed — полный пиздец, я бы с удовольствием не делал его, но виджеты обязаны, СУКА, быть sandboxed. Иначе они просто падают при запуске. 1 из 3 вечеров, которые я это писал, ушел на ёблю с sandbox'ом. Так же это ответ на "почему applescript" и "почему так медленно трек обновляет" — потому что всё ссаный sandbox. Не знаю для каких приложений его делали, если даже вот такой банальный виджет запилить уже боль. Вот ниже ты просишь вшитые lyrics — АААГА, ЩАС. Вот так взял и получил доступ к файлу без разрешения из sandbox? Хер бы там, несеккюрно, Apple предлагает чтобы юзер сам лично указал lyrics из какого файла он хочет прочитать. HTTP-запрос сделать куда проще, чем всё что угодно на компьютере пользователя (если поебаться и нагуглить флаг, разрешающий http, а не https). Я вон даже из Apple Music не могу название трека прочитать. Нихуя не могу. Долбоебы. Охуительно удобно. Сорян, наболело.
0
euf Не работает и всё, причём никакого осмысленного багрепорта дать не могу.
Вечно показывает «not running». Кто виноват, что делать?
http://i.imgur.com/BBS1TPj.png
0
ReDetection euf, может ответ как раз двумя строками ниже?
0
vas3k ReDetection, не, он в следующей версии был переписан и больше не юзает VK
0
vas3k euf, у тебя Apple Music? С ним, к сожалению, не работает из-за ограничений самого Apple. Может когда-нибудь они дадут доступ сторонним приложениям к названию трека, тогда всё будет :(
0
euf vas3k, да, у меня Apple Music. Эх, если с ним не работает, тогда смысла в приложухе становится не очень много :( Предлагаю уточнить в описании, что Apple Music не поддерживается, и/или выводить более подробные сообщения об ошибках.
0
euf P.S. Неужели совсем нельзя получить данные о текущем треке из Apple Music? Вот пример на AppleScript, который делает поиск в гугле на основе названия и автора
0
euf P.P.S. Ссылка отклеилась, вот https://pastebin.com/M6TJauYF (за кривость скрипта не пинай, сколхозил его за полчаса при помощи интенсивного гугления)
0
vas3k euf, сорян за долгий ответ. Короче я использую точно такой же скрипт и что-то идет не так. Попытаюсь разобраться, если хочешь — тоже глянь https://github.com/vas3k/valyrics/blob/master/scripts/itunes.scpt
0
vas3k euf, а, я по ходу разобрался. Жопа с этим Apple Script, но теперь работает и для Apple Music. Вот новая версия http://valyrics.vas3k.ru/static/upload/valyrics.1.4.zip
Из удивительных новостей — тексты русских песен берутся из VK, который через 2 недели закрывает audio API. Мерзопакостные подстилки копирастов. Придется что-то думать и выпускать новую версию. Если вы наливаете чай в молоко (а не наоборот) и не слушаете русских исполнителей — проблем у вас быть не должно, для английских треков используются другие источники, спасибо themylogin за них.
0
mikhail Вопрос - а что сделать, чтобы русскоязычный трек там всё-таки отображался? Куда писать, помимо Спортлото?
1
vas3k mikhail, в новой версии я отвязался от всяких API и парсю напрямую Google. Надо бы обновиться :).
P.S. Поговнокодил по вечерам на Swift'е и хватит, возвращаюсь в «информационное поле». Благодаря вашим комментариям и ссылкам в скайпе/телеграме, наконец начинает вырисовываться целостная концепция. Надо найти времени больше времени и мотивации всё это аккуратно продумать и реализовать. СЛОЖНА. Пишите еще.
0
. Давай, мы ждём статью от том, какая swift няшечка.
0
vas3k ., он правда хорошенький. Не помню когда в последний раз было так приятно заниматься client side'ом, мне кажется никогда. У их там своя специфика же, цена ошибки больше, производительность ограничена, батарейка поджимает постоянно, короче постоянная боль и унижение. Но писать я об этом, конечно, не буду (с) Только Xcode портит впечатление, но и к нему привыкаешь, когда пару раз поблюёшь.
0
euf Ссылка на «информационное поле» (http://vas3k.ru/blog/381/) поломана.
Еще? Тогда вот
Комментарии
(не заполняйте это поле)

me@vas3k.ru :: telegram :: twitter :: instagram :: facebook :: github