Сайт | Скачать | Видео | Wiki

Автор Тема: Простое радио для консоли.  (Прочитано 27283 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 857
  • Репутация: +23/-0
  • Автор темы
Простое радио для консоли.
« : 02 Декабрь 2020, 20:13:01 »
Весной всех нас накрыл карантин, времени было много, настолько много что я дошёл до стадии того что мне стало лень ленится, и от нефиг делать написал для своего нетбука скрипт который представляет из себя простое консольное радио, на нетбуке у меня установлен antix и там есть  уже такое радио Poor Man's Radio называется, радио понравилось, оформление простое но красивое, но радиостанции на англицком, не родные , стал искать как поменять плейлист , залез в код радио , ох мама ... это радио совсем не простым оказалось, и вот возникло желание написать свое, чтоб было легко редактировать плейлисты, да по жанрам чтоб всё, ну короче как у них но по нашему, можно конечно было написать m3u плейлист что было бы проще, но я ж говорил времени было много а задача уже была поставлена, вот программа во вложении , архив нужно распаковать в ~/ , зайти в каталог ~/CR, сделать скрипт cr.sh исполняемым  и запустить его в терминале,ну а дальше все интуитивно по интерактиву, а также  управление (плеер mpv) пробел =пауза, 0=увеличить громкость, 9=уменьшить громкость, Q= выйти , а также по интерактиву из самой программы ,редактировать плейлисты нужно так у нас существует текстовой файл с жанрами, а также текстовые файлы с именами каждой радиостанции и соотвествующий ему файл с ссылками на радиостанции, редактировать нужно так первой строке в  jazz_name.txt сответствует первая строка из jazz_link.txt и.т.д.  за код пожалуйста прошу не судите строго  не профи я ,...так любитель .

Только что понял , что я три дня занимаюсь извращенным продвижением этого плейлиста  :D

Использует dialog умеет читать m3u плейлисты,
изменил полностью идею, на вход скрипта заходит стандартный m3u плейлист, не должен содержать пустых строк и пробелов (dialog --menu начистую не перваривает пробелы)
финальная версия во вложении

   вот теперь уже точно финальная версия, обновил скрипт , исправил проблему с пробелами в плейлисте, а также сделал чтоб читал плейлист с любыми названиями, теперь можно помещать в каталог ~/radio_dialog_011/playlist ,плейлист с любым именем,но один(можно и несколько но они будут сумированы в ростер radio_dialog)  ... , случайно открыл еще одну особеность dialog --menu, нажмите при открытом диалоге выбора меню например два раза цифру 3 , откорется пункт меню 31 если продолжать нажимать дальше цифру 3 то произойдет переход к следующему пункту меню, это  удобно ..., из того что не удалось побороть это автоматически  убрать пустые строки из плей листа, если таковые будут в нем,  но это на будущее...
вот ссылка https://yadi.sk/d/-E06bS43I0fo3Q
исправленна с помощью shellcheck.net
также есть и во вложении
не устаю благодарить форумчан, спасибо вам!
« Последнее редактирование: 27 Декабрь 2020, 16:30:07 от totiks2012 »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Простое радио для консоли.
« Ответ #1 : 03 Декабрь 2020, 10:56:44 »
В чем смысл консольного? Тут оптимально гуй+трей
Чем не устроил deadbeef или  мой m3ugui ? Категории можно сделать через хитрый плейлист из плейлистов
Самое сложное - поддерживать листы живыми

Почитал ваш скрипт. С путями у вас криво: cd + ./
Тогда уж path="`pwd`"

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 857
  • Репутация: +23/-0
  • Автор темы
Re: Простое радио для консоли.
« Ответ #2 : 03 Декабрь 2020, 11:34:01 »
смысл консольного в том чтоб научится, то есть особого смысла нет  ;)  (но так как написан использую, и нахожу его даже удобным) , ... чего-то у себя в скрипте cd ./ не нашел, есть cd ~/CR и похоже да он лишний . а в m3u плей листах я жанры выделяю  простым форматированием, которое читается во всех плеерах, к примеру так
#EXTINF:-1,Эрмитаж  **********--Jazz--**********
« Последнее редактирование: 03 Декабрь 2020, 11:43:15 от totiks2012 »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Простое радио для консоли.
« Ответ #3 : 03 Декабрь 2020, 11:45:02 »
смысл консольного в том чтоб научится
Если задача чисто учебная тогда ок
С read лучше переделать на dialog. Там можно рамки, выбор стрелками. Вдохновиться можно моим pacman-arm
чего-то у себя в скрипте cd ./ не нашел
Я имел ввиду, что путь к листам лучше зафиксировать в переменной
Исполняемый файл и листы в одной папке тоже плохо

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 857
  • Репутация: +23/-0
  • Автор темы
Re: Простое радио для консоли.
« Ответ #4 : 03 Декабрь 2020, 13:44:28 »
Нее Gui прикручивать не было намерения, я ж говорил что увидел в antix консольный Poor Man's Radio, ну и сделал по мотивам его, но если консольное хочется то лучше удобней m3u плейлист и через moc я и такое у себя попробовал, но использую свой велосипед...
« Последнее редактирование: 03 Декабрь 2020, 13:47:40 от totiks2012 »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Простое радио для консоли.
« Ответ #5 : 03 Декабрь 2020, 13:52:43 »
dialog
это и есть консоль

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 857
  • Репутация: +23/-0
  • Автор темы
Re: Простое радио для консоли.
« Ответ #6 : 03 Декабрь 2020, 14:38:02 »
    dialog

это и есть консоль
обязательно гляну!

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1708
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re: Простое радио для консоли.
« Ответ #7 : 03 Декабрь 2020, 15:39:58 »
Одно, что: дабы не плодить кучу файлов - создать только файлы с названиями категорий. В них создать списки вида
имя_станции[пробел]ссылка
И, да - с dialog было бы удобнее. Думаю, разберетесь. Лиха беда начало
Не знаю, как название трека выводить. Было бы неплохо
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Простое радио для консоли.
« Ответ #8 : 03 Декабрь 2020, 15:51:38 »
Не знаю, как название трека выводить
В mpv он сам в шапке окна выводится

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
Re: Простое радио для консоли.
« Ответ #9 : 03 Декабрь 2020, 15:59:49 »
Работает, только в скрипте пришлось исправить:
Код
mpv --volume 45...
на
Код
mpv --volume=45...

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 857
  • Репутация: +23/-0
  • Автор темы
Re: Простое радио для консоли.
« Ответ #10 : 03 Декабрь 2020, 18:48:48 »
Не знаю, как название трека выводить. Было бы неплохо
mpv отображае название трека , но при условии если радиостанция его отдает, есть радиостанции которые этого не делают...

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 857
  • Репутация: +23/-0
  • Автор темы
Re: Простое радио для консоли.
« Ответ #11 : 03 Декабрь 2020, 21:46:40 »
Ну вот наметки плеера радиостанций с помощью dialog , код во вложении. К сожалению пока не приходит на ум как сделать плейлист в одном файле, отдельными файлами проще, да и код более проще будет...
« Последнее редактирование: 03 Декабрь 2020, 23:01:03 от totiks2012 »

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1708
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re: Простое радио для консоли.
« Ответ #12 : 04 Декабрь 2020, 00:20:33 »
От нефиг делать под пивас.
Распаковать куда угодно, запускать откуда угодно, но из консоли с путем (у нас тема про консоль)
про пути - пример:
/mnt/sda5/radio/radio
./radio
Неудобный этот dialog с его tab-ами и стрелками, а еще пробелом надо выбор подтверждать...
Но все же лучше, чем цифрами на вопросы отвечать.
Сразу говорю - написано кривыми ногами и через задницу. Просто для проверки.
Жрет m3u, но можно приучит при желании.
Мне не надо, допустим вообще.
Так, развлечение.
« Последнее редактирование: 04 Декабрь 2020, 00:23:31 от imp »
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1708
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re: Простое радио для консоли.
« Ответ #13 : 04 Декабрь 2020, 00:31:52 »
Да, забыл сказать, из всего m3u играет только первую дорожку (делалось ради теста и, может быть, шаблона). .Можно добавить в каталоги свои файлы m3u а так же добавить каталоги с категориями. Вообще по-барабану, можно шарить по всей ФС и запускать m3u. Есть баг - после запуска радио надо нажать backspase, чтобы вернуться к выбору. На некоторых ресурсах есть пауза перед проигрыванием (у меня до 10 сек. было). Да и вообще в порядке бреда
« Последнее редактирование: 04 Декабрь 2020, 00:37:46 от imp »
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Простое радио для консоли.
« Ответ #14 : 04 Декабрь 2020, 00:39:17 »
По умолчанию mpv не умеет взаимодействовать с мультимедийными клавишами. Плагин mpv-mpris (mpris.so; реализует интерфейс MPRIS D-Bus), положить в ~/.config/mpv/scripts. Далее на свое усмотрение, напишу на примере playerctl и openbox:
- Установить playerctl, добавить в автозагрузку
- Задать хоткей ~/.config/openbox/rc.xml
Цитата
<keybind key="XF86AudioPlay">
      <action name="Execute">
        <command>playerctl play-pause</command>
      </action>
    </keybind>
- Подобно и для остальных XF86AudioPlay, XF86AudioNext, XF86AudioPrev и т.д.
- Выполнить openbox --reconfigure

Плагин уже скомпилирован для 64bit, иначе придется самостоятельно собирать.


https://aur.archlinux.org/packages/mpv-mpris/
arch=('i686' 'x86_64')
« Последнее редактирование: 04 Декабрь 2020, 05:33:12 от krasnyh »