Недавно на хабре проскакивала статья о 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 под своими лицензиями.
Пока что официальный сайт. Пишите отзывы, пожелания.
ссылка на оригинал статьи http://habrahabr.ru/post/196612/
Добавить комментарий