Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kicumkicum/vknplayer

console audio player for listen music from vk.com and on-line radio.
https://github.com/kicumkicum/vknplayer

cli nodejs player radio vk

Last synced: about 1 month ago
JSON representation

console audio player for listen music from vk.com and on-line radio.

Awesome Lists containing this project

README

        

# README #

vknplayer - это двухпанельный консольный аудио-плеер для воспроизведения музыки с vk.com написанный полностью на Node.js с использованием фреймворка [blessed]. В будущем планируется поддержка других ресурсов.

> для компиляции модулей lame и speaker требуется наличие в системе make gcc libasound2-dev libmp3lame-dev libmpg123-dev и самого nodejs
> установить их можно коммандой
```sh
# apt-get install nodejs make gcc libasound2-dev libmp3lame-dev libmpg123-dev
```

Интерфейс плеера состоит из двух панелей, панели функциональных клавиш и строки ввода команд. Правая панель - статическая, представляет
из себя плейллист, который наполняется с помощью команд **search** и **radio**.
Левая панель содержит виртуальные каталоги Друзья, Сообщества, Новости, Закладки и др.
Соответственно можно слушать свою музыку, друзей, групп. А так же музыку из новостей, и лайкнутых вами постов.

Консоль поддерживает следующий список команд:
* ['play'] - без аргументов - начать воспроизведение текущего плейлиста, с аргументами - аналогична комманде search
* ['stop'] - остановить воспроизведение
* ['next'] - играть следующий трек
* ['prev'] - играть предыдущий трек
* ['volume', 'v'] - задать значение громкости - 0..100
* ['shuffle', 'sh'] - перемешать активный плейлист
* ['search', 's'] - искать заданного исполнителя. При этом композиции с одинаковым названием удаляются. То есть количество дублей сводится к минимуму
* ['radio', 'r'] - играть радио, на основе заданного исполнителя. Алгоритм используется от vk.com
* ['exit', 'quit', 'q'] - закрыть приложение

Перевод фокуса в консоль происходит клавишей Space. Из консоли в основной интерфейс - клавишей Esc.
Особо хочется отметить возможность работы плеера на мини-компьютерах Raspberry-Pi, Banana-Pi, CubieBoard и др. платформах, поддерживающих NodeJS.

Авторизация. Если в момент запуска плейер не обнаруживает конфигурационный файл($HOME/.config/vknp/config.json), то появляется попап с просьбой авторизоваться. Можно авторизоваться двумя способами
* первый сводится к нажатию кнопки получения ID, и последующем вводе его на интернет-странице плеера(которая сейчас представляет собой только поле для ввода, и кнопку получения токена). Подтверждение вами прав для приложения, генерации токена, и автоматическом получением его приложением. После этого остается его только перезапустить. Недостатком данного способа является невозможность получения прав для доступа к Стене пользователя, и соответственно, пропадает часть функционала - нельзя получать группы новостей, нельзя получать список закладок(лайкнутые вами посты)
* второй способ менее удобный, но при этом доступен весь функционал. Нужно пройти по ссылке(на странице представлен укороченный вариант, но можно увидеть и полный url), и после редиректа прочитать сообщение от Администрации VK.COM. Понять, что вам это не грозит, скопировать содержимое адресной строки, и вставить в соответствующее поле в плеере и нажать либо Enter, либо кнопку Submit. Затем необходимо перезапустить приложение.
* прямой авторизации не предусмотрено, так как я считаю это не безопасным, и так же не хочу брать на себя ответственность в получении вашего логина и пароля

Плеер далек до идеала, в нем есть баги и огрехи, но работа над их исправлениями ведется и им вполне можно пользоваться.

Для работы требуется установленный Node.js
```
# apt-get install nodejs npm
```

Установить плеер можно локально, склонировав репозитарий к себе, и выполнив в каталоге с плеером npm install для установки зависимостей. Или глобально - коммандой sudo npm install -g vknplayer
Запуск. Если вы устанавливали через npm, то достаточно выпонить в консоли vknplayer. В противном случае выполните ./vknplayer.js или ./vknp из каталога с приложением.
Из-за особеностей реализации модуля lame-node консоль периодически засирается всяким мусором. Исправить можно либо ресайзом окна, либо использованием bash-скрипта запуска **vknp**.

#В планах#

* исправление ошибок
* поддержка других музыкальных он-лайн сервисов
* веб-интерфейс

[blessed]:https://github.com/chjj/blessed