Conky. Настроить отображение обложки альбома в audacious.

Тема в разделе "Raspberry Pi", создана пользователем BarShadow, 9 ноя 2019.

  1. BarShadow

    BarShadow Нуб

    Здравствуйте, дорогие друзья. Хочу сделать из своей Малины мультимедийный центр.
    Дано:
    1. RaspberryPi 2
    2. tft-экран от Waveshare

    Задача - играть музыку в фоне и запускать потоковое видео при необходимости, при этом ставя музыку на паузу и продолжая проигрывание после того, как видео проиграло.
    В качестве ОСи у меня Raspbian с окружением XFCE, ну а для информативности я развернул Conky на всю полезную площадь экрана.
    [​IMG]
    Собственно - 99% работы уже проделано. Видео запускаю через omxplayer при помощи расширения в Chrome. Музыка играет в фоне через audacious, информация о треке передаётся на Conky.
    Здесь - видео, как оно работает. (Да, отклик при запуске видео не маленький, но это обусловлено малой мощностью самой Малины и работе скриптов для запуска (в фоне происходит обновление youtube-dl)

    Теперь - к сути!

    Хочется чтобы обложка альбома отображалась во время проигрывания трека (там, где сейчас изображение диска). Как это проще всего реализовать я не знаю. Может быть у кого нибудь есть идеи или готовые решения, как это сделать проще всего.
    Код (Bash):
    # Включите для использования xtf
    use_xft yes
    # Шрифт xtf для использования
    xftfont Bitstream Vera Sans Mono:size=8
    # Если yes - Conky будет запущен в фоне
    background yes
    xftalpha 0.1
    # Интервал обновления в секундах
    update_interval 0.25
    # Количество обновлений, после которых Conky выключится. 0 = работает постоянно
    total_run_times 0
    # Создавать собственное окно или нет
    own_window yes
    own_window_type desktop
    # Делает фон полностью прозрачным
    own_window_transparent yes
    own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
    double_buffer yes
    minimum_size 750 3
    maximum_width 750
    # Включает отображение тени
    draw_shades yes
    # Включает отображение окантовки
    draw_outline no
    # Включает отображение границы вокруг текста
    draw_borders no
    # Включает отображение границы вокруг графиков
    draw_graph_borders no
    # Цвет по умолчанию и цвет границы
    default_color grey
    # Цвет тени от текста и границы
    default_shade_color black
    # Цвет окантовки
    default_outline_color green
    #Расположение окна (left, right, top)
    alignment top_middle
    # Отступ в пикселях от края экрана
    gap_x 5
    gap_y 5
    # Выключать буфер из использоваемой памяти
    no_buffers yes
    # Включите для отображения текста в верхнем регистре
    uppercase no
    cpu_avg_samples 2
    net_avg_samples 1
    override_utf8_locale yes
    use_spacer none

    default_bar_width 30
    #  >>>>>>>>>>>>>>>>>>>>>>>

    TEXT
    ${font Arial:size=10}${color #b8bdda}Время работы: ${color white}${uptime}${color} | Ip adress: ${color white}${addr eth0} | Вн. IP:${color white}${execi 10800 wget http://checkip.dyndns.org/ -q -O -|grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'} $alignr Net traffic: ${color red} ⬆:${upspeed eth0}${color green} ⬇:  ${downspeed eth0}
    ${color DimGray}
    # Процессор
    ${font Arial:bold:size=10}${color #b8bdda}Процессор: $alignr  Нагрузка $cpu % | Температура: ${acpitemp}°С
    $font${color DimGray}CPU1  ${cpu cpu1}% ${cpubar 6,120 cpu1} | CPU2  ${cpu cpu2}% ${cpubar 6,120 cpu2} | CPU3  ${cpu cpu3}% ${cpubar 6,120 cpu3} | CPU4  ${cpu cpu4}% ${cpubar 5,100 cpu4}
    ${font Arial:bold:size=10}${color #b8bdda}Оперативная память ${color DarkSlateGray}${hr 2}
    $font${color DimGray}MEM $alignc $mem / $memmax $alignr $memperc%
    ${membar 3}
    $font${color DimGray}Файл подкачки (SWAP) $alignc $swap / $swapmax $alignr $swapperc%
    ${swapbar 3}
    ${font Arial:bold:size=10}${color #b8bdda}Мониторинг дискового пространства ${color DarkSlateGray}${hr 2}
    ${font Arial:bold:size=2}
    ${if_mounted /home/pi/music}${font Arial:bold:size=12}${color DimGray}Root: ${fs_bar 5,255 /} ${font Arial:bold:size=12}${fs_free_perc /} % | ${color DimGray}Music: ${fs_bar 5,258 /home/pi/music} ${fs_free_perc /home/pi/music} %${else} ${font Arial:bold:size=12} ${color DimGray}Root: ${fs_bar 5,635 /} ${font Arial:bold:size=12}${fs_free_perc /} % ${endif}
    ${font Arial:size=2}
    ${hr}
    # Аудиоплеер

    ${if_running audacious}
    ${font Arial:size=12}${color}${color1}Сейчас играет:  ${color lime}${font Arial:bold:size=14}"${exec audtool --current-song}"${font Arial:size=12}${color1}
    ${scroll 200 1  Исполнитель: ${color}${exec audtool --current-song-tuple-data artist} | ${color1}Альбом:  ${color}${exec audtool --current-song-tuple-data album}} (${exec audtool --current-song-tuple-data year})  
    ${color}${exec audtool --current-song-output-length}  ${execbar 6,595 expr $(audtool --current-song-output-length-seconds) \* 100 / $(audtool --current-song-length-seconds)} ${exec audtool --current-song-length}${image ~/Изображения/disk.png -p 685,220 -s 60x60}
    ${else}${font Arial:bold:size=12}${color silver}Ничего не воспроизводится
    ${endif}${hr}
    ${font Arial:bold:size=10}${color}TOP PROCESSES ${color DarkSlateGray}${hr 2}
    ${color DimGray}$font${top_mem name 2}${alignr}${top mem 2} %
    $font${top_mem name 3}${alignr}${top mem 3} %
    $font${top_mem name 4}${alignr}${top mem 4} %
    $font${top_mem name 5}${alignr}${top mem 5} %
    $font${top_mem name 6}${alignr}${top mem 6} %
    $font${top_mem name 7}${alignr}${top mem 7} %
    $font${top_mem name 8}${alignr}${top mem 8} %
    Сейчас картинку выводит вот это:
    Код (Text):
    ${image ~/Изображения/disk.png -p 685,220 -s 60x60}
     
  2. BarShadow

    BarShadow Нуб

    Чтобы не тратить ресурс флешки постоянным перезаписыванием постера в определённый файл, который и будет отображаться в Conky есть следующая идея:
    1. Создать где-то в home директории каталог для хранения постеров. (это я знаю как сделать)
    2. Экспортировать в такой каталог файлы обложек в формате "Исполнитель-альбом-год.jpg" (это я знаю как сделать)
    3. Каким-то образом задать в .conkyrc переменную cover, которая будет подставлять вместо себя путь к нужной обложке. (Вот тут - беда. Не силён в написании таких сценариев.)
    Если что:
    За вывод исполнителя отвечает вот это
    За вывод альбома отвечает вот это
    За вывод года альбома отвечает вот это
     
    Последнее редактирование: 10 ноя 2019