LINUX.ORG.RU

Немного визуализации на desktop

 


12

2

Давно хотел себе визуализацию спектра играющей музыки на десктопе, нашел сишную либу, которая коннектится к пульсе и высчитывает FFT. Ну и написать рендерер было совсем изи, однако плавность анимации по сравнению с той же CAVA намного хуже. (если что, я не против пулл-реквестов)

Ну и только сегодня запилил пакет для аура spectrumyzer, а для всех остальных есть build

видео демка

сорс

>>> Просмотр (1920x1080, 1923 Kb)



Проверено: JB ()

Ответ на: комментарий от f1u77y

поддерживают, только надо композитный менеджер

Попробовал сейчас compiz, metacity, compton - все равно непрозрачное окно рисуется. А вот с cairo composite manager - spectrumyzer вообще на экране не появляется.

federk ()
Ответ на: комментарий от federk

все равно непрозрачное окно рисуется

это потому что он desktop, а его таким не надо делать. Как я уже говорил, его по-хорошему надо сделать override-redirect. Я не знаю Gtk, так что предлагаю ТСу сделать это самому

UPD: на правах костыля можно сделать

    self.set_type_hint(Gdk.WindowTypeHint.NORMAL)
    self.set_decorated(False)
    self.set_accept_focus(False)
в инициализации окна, но тогда его можно будет таскать, и WM будет пытаться передать фокус ему при операциях вида «Focus Left/Right/Up/Down»

проблема с override-redirect собсно в том, что GtkWindow и GdkWindow — штуки разные(а override-redirect можно только ко второму применить).

f1u77y ★★★ ()
Последнее исправление: f1u77y (всего исправлений: 2)
Ответ на: комментарий от Weres

поменяй путь к конфигу

да даже не это главное, там самый цимес в том, что пишется в дефолтный конфиг

f1u77y ★★★ ()
Ответ на: комментарий от Weres

не в ~/.config/

если быть еще зануднее, то в (${XDG_CONFIG_HOME:-$HOME/.config})

Нет окна.

попробуй костыльнуть или помочь ТСу с некостыльным решением. Хех, видимо, Гном ещё сильнее удивляется, когда видит второй DESKTOP

f1u77y ★★★ ()

В моем осоме вообще ничего нигде не рисуется =(

alozovskoy ★★★★★ ()

Надо бы сделать расширение для гнома чтоб было как в левом углу панели.

NextGenenration ★★ ()

Прикольно было бы завернуть в скрипт для коньков с отвязкой от DE и прочих геморно поддерживаемых вещей. Но допил в плане плавности всё же треубется (глядя в видос).

Ну это так, с дивана. Я все равно рабочий стол вижу только при включении воркстэйшна.

phoen ()
Ответ на: комментарий от phoen

А мне нравится залипать на него, после допиливания какой-нибудь фичи в домашних проектах, например

Расслабляет очень)

HaCk3D ()
Ответ на: комментарий от phoen

коньков

морально устаревшее г

отвязкой от DE

оно и так не привязано

f1u77y ★★★ ()
Ответ на: комментарий от f1u77y

морально устаревшее г

Говорю ж не пользуюсь, если есть более современные аналоги - то норм. А какие там собственно фатальные недостатки?

оно и так не привязано

Судя по коментам выше и не скажешь.

phoen ()
Ответ на: комментарий от HaCk3D

Ну раз желание и потребность есть, то допил - дело техники и времени :)

phoen ()
Последнее исправление: phoen (всего исправлений: 1)
Ответ на: комментарий от phoen

Судя по коментам выше и не скажешь

Оно скорее привязано к отсутствию DE. Точнее, к WM, который забивает на EWMH. Потому что оно само забивает на EWMH.

А какие там собственно фатальные недостатки?

Начать можно с офигительной прозрачности, а закончить тем, что подобный функционал нужен хз кому

f1u77y ★★★ ()
Ответ на: комментарий от f1u77y

Начать можно с офигительной прозрачности,

В целом работает, нужно было бы кому-то лучше - написали б и закоммитили. Но думаю проблема не в conky, вот и не фиксят.

а закончить тем, что подобный функционал нужен хз кому

Но нужен же кому-то, раз на каждом втором скриншоте :)

phoen ()

Почему python, а не java?

Lavos ★★★★★ ()

скрин, как член длинной в метр: как бы неимоверно круто, но абсолютно бесполезно.

p.s.

а дату в панельке я бы выводил в en_US (или уж тогда ник менять на В3л0ман, если патриот).

crypt ★★★★★ ()
Последнее исправление: crypt (всего исправлений: 1)

Поковырял немного код под свои хотелки (использовать эту приблуду как отдельное окно со своим фоном), там ряд всякий изменений: python3.5, родной парсер конфига, отрисовка с учетом текущих размеров окна и прочее. Пока наши ветки еще сравнительно совместимы, бросил все это одним реквестом, посмотри возможно что-то из этого будет тебе полезно. Просто дальше планирую менять структуру и пересоздать репу, ибо когда у тебя 50 килобайт полезного кода и репа на десять метров из-за скриншотов это не есть нормально.

Worron ★★★ ()

Выглядит круто, задумка тоже хорошая, правда в 10 фпс оно не нужно, ибо вместо плавных ползунков я вижу мерцающий рабочий стол, который у меня приступы эпилепсии вызывает. Но за старания все равно тебе огромный плюс, еще и в АУР залил!

shikata_ga_nai ()
Ответ на: комментарий от crypt

спасибо, но почему бесполезно?

а по поводу локали и ника, просто скопирую ответ одного из участников конфы:

Он какой-то дурачок. Дату в ru_RU выводят, чтобы удобно было, и патриотизм тут не при чём. И вообще, любовь к какому-нибудь языку не имеет ничего общего с патриотизмом.

HaCk3D ()
Ответ на: комментарий от shikata_ga_nai

у меня все ок (1-2% нагрузки), возможно проц слабенький и не вытягивает

HaCk3D ()
Ответ на: комментарий от HaCk3D

Не не, я не совсем об этом. Просто движения этих столбиков очень резкие, можно ли их как-то сделать более плавными? Смазать как-то резкие перепады?

shikata_ga_nai ()

такое было для xmms в начале 00х или что то в этом духе.

выводило в root win x11. но вроде там не было полупрозрачности разве что.

PS xmms тот самый, первой ветки, не xmms2 или как он там сейчас называется.

alwayslate ()
Ответ на: комментарий от meliafaro

Думаю что не буду страдать. Потому что ненужно, хотя и красиво. Да и запустить это в каком нибудь xfce ещё постараться придётся наверно.

kirill_rrr ★★★★★ ()
Ответ на: комментарий от shikata_ga_nai

это недостатки алгоритма, я не знаю как по-другому сделать(

HaCk3D ()
Ответ на: комментарий от HaCk3D

просто скопирую ответ одного из участников конфы

Видимо, он у меня в игноре, поэтому я этого сообщения не видел. Любовь к родному языку как одно из проявлений любви к Родине является, пожалуй, наиболее невинной формой патриотизма. А этот участник даже не может правильно написать «ни при чем» (шутки тоже не детектит). Нет смысла его цитировать. Если тебе удобно ru_RU, значит, скорее всего ты админ локалхоста. Были бы сервера по всему миру, было бы удобнее в en_US. Этим все сказано.

crypt ★★★★★ ()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от HaCk3D

А оно точно корректный спектр показывает? По видео что-то не заметно — 1кгц где-то менее 1/3 слева ошивается, а должен бы посередине. Всмысле, может и корректный, все зависит от масштаба (и гор. и вер.) для конкретных частот. Но для глаза привычнее то о чем я говорю.

deep-purple ★★★★★ ()
Ответ на: комментарий от HaCk3D

Сделать опрос пореже, а во время паузы рисовать плавный спад самому.

deep-purple ★★★★★ ()
Ответ на: комментарий от crypt

Конфа в vk, а не тут)

Да, админ локалхоста, мне больше и не нужно. Главное ведь это код, все остальное не важно.

HaCk3D ()
Ответ на: комментарий от deep-purple

Одну итерацию рисовать полученные значения, а вторую - анимировать их «падение»?

HaCk3D ()
Ответ на: комментарий от HaCk3D

Какую блин итерацию?

Должна быть частота выборки, которая никак не зависит от частоты дискретизации звука. Это частота выборки нужна только для визуализации. Актуальную выборку кладешь в буфер и обновляешь/читаешь этот буфер так редко как можешь, намного реже, чем рисуешь анимашки с частотой X fps, которую ты узнаешь от xrandr например. Т.е. сначала отрисуй анимашку до позволительного момента, и когда уже пора узнать что там в звуке изменилось, только тогда доставай новые значения. Таким образом ты сильно снизишь нагрузку, сможешь разгладить анимацию и отвязать её от «звукового майнлупа».

Аглы?

deep-purple ★★★★★ ()
Ответ на: комментарий от f1u77y

как что-то плохое

ну может действительно ничего плохого... просто привычка.

crypt ★★★★★ ()
Ответ на: комментарий от HaCk3D

Ты даже не знаешь, что я слушаю, а уже оцениваешь.

Gannet ★★★ ()
Ответ на: комментарий от Gannet

так покажи, что слушаешь

я почему-то уверен, что мое мнение не изменится

HaCk3D ()

ТС молодца, пусть и сугубо на любителя софтинка, но таки взял и сделал.

gwinn ★★★★ ()

Очень даже! Только панелька в воздухе - как-то непривычно. =)

Yazov ()
Ответ на: комментарий от HaCk3D

Уже ничего. Да и мнения ни твоё, ни моё не важны.

Gannet ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.