...

понедельник, 7 октября 2013 г.

Ещё одно консольное радио

cmdradio

Недавно на хабре проскакивала статья о cmd.fm — консольном интернет радио плеере в браузере, что навело меня на мысль: почему бы не сделать реально консольный радио плеер?



cmdradio — очень простой интернет радио плеер в коммандной строке. Он сделан специально для тех людей, кто не разбирается в направлениях, не знает названий групп, а просто хочет послушать музыку под настроение.

Нужно только набрать cmdradio play %genrename%


Разработка



Созданием десктопных приложений я никогда до этого не занимался, но под руку попался Visual Studio 2005, так что проект написан на C#, ибо начинать с Си мне показалось слишком тяжело, и тогда бы желание что-либо делать покинуло бы меня слишком быстро.

Я очень долго искал нормальный источник станций, но, пересмотрев основные, оказалось, что сервисы с нормальным API и большим количеством станций, такие как Shoutcast и TuneIn давно огородили свой API для избранных, и больше никто не предоставляет нормального доступа к списку станций.

Выход я нашел случайно, в виде Icecast directory, которая отдает огромный список станций в XML размером 4Мб. Заставлять каждый раз пользователя качать такой файл было бы негуманно, да и нагрузку сервер xiph врят ли выдержит большую, так что был написан небольшой сервер на NodeJS, который периодически заносит в базу данных большой плейлист, а на запросы с клиентов выдает конкретную запись, делает поиск по станциям и жанрам. А в скором времени, я надеюсь, что icecast directory прикрутит нормальный API.

Поддержку Linux вроде можно сделать через Mono, но я пока не знаю как. Если будет интерес — обещаю разобраться, а может и переписать под чистый Си.
Лицензия



Исходные коды доступны по Do Whatever You Want лицензией, библиотеки Json.NET и BASS под своими лицензиями.

Пока что официальный сайт. Пишите отзывы, пожелания.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Комментариев нет:

Отправить комментарий