Сообщения в linux.14

Re: Emacs и emms

Ответ на сообщение
btimofeev> А вообще лучше не плодить костылей, а исправить сам mpd. Вот тут есть патчи на эту тему https://github.com/MusicPlayerDaemon/MPD/issues/39
Зашибись! Работает! :)
+++ Sent from my GNU Emacs
Difrex to btimofeev (2018-08-29 09:00:48) [ссылка]

Re: Emacs и emms

Ответ на сообщение
AL>> Так это решается, вроде как, не в бэкенде. Ncmpcpp их умеет из коробки, но он не имакс.
Difrex> Хм, интересно. Нужно почитать код ncmpcpp, посмотреть как там это сделано и попробовать на elisp перенести.
А вообще лучше не плодить костылей, а исправить сам mpd. Вот тут есть патчи на эту тему https://github.com/MusicPlayerDaemon/MPD/issues/39
btimofeev to Difrex (2018-08-23 05:50:29) [ссылка]

Re: Emacs и emms

Ответ на сообщение
AL> Ну загружает толстый файл и играет его да. emms при этом может показывать текущую дорожку в минибуфер, ncmpcpp прямо в виде дорожек кидает в плейлист. То есть как-то это делают. Только не совсем понятно как.
Так все просто же. Оболочка сама парсит cue файл и добавляет из него треки в плейлист. При запуске трека она запускает толстый файл и перематывает его до места начала нужного трека (которое она берёт из того же cue). Главное подходящий cue как-то найти.
btimofeev to Andrew Lobanov (2018-08-23 05:41:12) [ссылка]

Re: Emacs и emms

Ответ на сообщение
AL>>>> Так это решается, вроде как, не в бэкенде. Ncmpcpp их умеет из коробки, но он не имакс.
Difrex>>> Хм, интересно. Нужно почитать код ncmpcpp, посмотреть как там это сделано и попробовать на elisp перенести.
AL>> Ну я не гарантирую свою правоту, но было бы странно при поддержке cue в самом mpd не иметь её во всех клиентах.
Difrex> Так mpd играет, просто треки не показывает.
Ну загружает толстый файл и играет его да. emms при этом может показывать текущую дорожку в минибуфер, ncmpcpp прямо в виде дорожек кидает в плейлист. То есть как-то это делают. Только не совсем понятно как.
Andrew Lobanov to Difrex (2018-08-23 04:34:59) [ссылка]

Re: Emacs и emms

Ответ на сообщение
AL>>> Так это решается, вроде как, не в бэкенде. Ncmpcpp их умеет из коробки, но он не имакс.
Difrex>> Хм, интересно. Нужно почитать код ncmpcpp, посмотреть как там это сделано и попробовать на elisp перенести.
AL> Ну я не гарантирую свою правоту, но было бы странно при поддержке cue в самом mpd не иметь её во всех клиентах.
Так mpd играет, просто треки не показывает.
Difrex to Andrew Lobanov (2018-08-22 18:58:55) [ссылка]

Re: Emacs и emms

Ответ на сообщение
AL>> Так это решается, вроде как, не в бэкенде. Ncmpcpp их умеет из коробки, но он не имакс.
Difrex> Хм, интересно. Нужно почитать код ncmpcpp, посмотреть как там это сделано и попробовать на elisp перенести.
Ну я не гарантирую свою правоту, но было бы странно при поддержке cue в самом mpd не иметь её во всех клиентах.
Andrew Lobanov to Difrex (2018-08-22 18:10:37) [ссылка]

Re: Emacs и emms

Ответ на сообщение
AL> Так это решается, вроде как, не в бэкенде. Ncmpcpp их умеет из коробки, но он не имакс.
Хм, интересно. Нужно почитать код ncmpcpp, посмотреть как там это сделано и попробовать на elisp перенести.

// Sent from my GNU Emacs
Difrex to Andrew Lobanov (2018-08-22 13:20:35) [ссылка]

Re: Emacs и emms

Ответ на сообщение
Difrex> Так mingus -- это просто интерфейс к mpd. Как ты mpd научил нормально cue понимать?
Так это решается, вроде как, не в бэкенде. Ncmpcpp их умеет из коробки, но он не имакс.
Andrew Lobanov to Difrex (2018-08-22 12:55:37) [ссылка]

Re: Emacs и emms

Ответ на сообщение
AL> Для удобного прослушивания bitjam podcast собрал mpd и ncmpcpp. И вот там поддержка cue имеется (ради неё и собрал). Правда есть ощущение, что реализована она средствами фронтенда. Однако emacs на лиспе и, возможно, получится безболезненно реализовать эту поддержку самостоятельно.
Так mingus -- это просто интерфейс к mpd. Как ты mpd научил нормально cue понимать?

// Sent from my GNU Emacs
Difrex to Andrew Lobanov (2018-08-22 09:25:02) [ссылка]

Re: Emacs и emms

Ответ на сообщение
AL>> Нужно то, что между ними. Вообще вот мой вариант конфигурации:
btimofeev> Спасибо за конфиг, забрал себе. Смешное, что потратил часа полтора на поиски консольного плеера которой бы смог мне проиграть форматы vgz, nsf, spc (это форматы музыки из игр сеги, денди и супер нинтендо). А оказалось что их умеет играть zxtune (а на самом деле он ещё похоже с пару десятков проигрывает).
Да. Он достаточно много умеет. Просто исторически у меня сложился для трекерной музыки xmp в качестве бэкенда.
btimofeev> Теперь ещё научить бы emms добавлять мультитрековые файлы и перематывать трекерные форматы.
Вот тут не получится так просто. Поддержка cuesheet в emms есть, но несколько кривая. В плейлист добавляется один файл одной строчкой, но можно скакать по трекам, получая их имя в минибуффер. А с перемоткой трекерных форматов я не разобрался, но мне и не интересно было.
Andrew Lobanov to btimofeev (2018-08-22 04:00:48) [ссылка]

Re: Emacs и emms

Ответ на сообщение
Difrex> А я вот Mingus пользуюсь в emacs, но mpd не умеет нормально в cue, приходится резать.
Для удобного прослушивания bitjam podcast собрал mpd и ncmpcpp. И вот там поддержка cue имеется (ради неё и собрал). Правда есть ощущение, что реализована она средствами фронтенда. Однако emacs на лиспе и, возможно, получится безболезненно реализовать эту поддержку самостоятельно.
Andrew Lobanov to Difrex (2018-08-22 04:00:48) [ссылка]

Re: Emacs и emms

Ответ на сообщение
А я вот Mingus пользуюсь в emacs, но mpd не умеет нормально в cue, приходится резать.
Difrex to btimofeev (2018-08-21 16:46:38) [ссылка]

Emacs и emms

Ответ на сообщение
AL> Нужно то, что между ними. Вообще вот мой вариант конфигурации:
AL> ;;; EMMS
Спасибо за конфиг, забрал себе. Смешное, что потратил часа полтора на поиски консольного плеера которой бы смог мне проиграть форматы vgz, nsf, spc (это форматы музыки из игр сеги, денди и супер нинтендо). А оказалось что их умеет играть zxtune (а на самом деле он ещё похоже с пару десятков проигрывает). Теперь ещё научить бы emms добавлять мультитрековые файлы и перематывать трекерные форматы.
btimofeev to Andrew Lobanov (2018-08-21 16:19:33) [ссылка]

Re: Android to Desktop music streaming

Ответ на сообщение
Вроде бы, вот то, что тебе нужно https://askubuntu.com/questions/963992/stream-all-audio-from-my-android-phone-to-pulseaudio
Difrex(mobile) to Difrex(mobile) (2018-08-09 12:26:54) [ссылка]

Re: Android to Desktop music streaming

Ответ на сообщение
vit01> Это решение "GNU/Linux only", у меня пока исправно работает.
vit01> Но хотелось бы сделать так: музыка играется на андроид-смартфоне и стримится на GNU/Linux компьютер
По bluetooth из-коробки работает на андроиде
vit01> по вайфаю, чтобы быть там услышанной
Если хочешь по вай-фаю, то можно пульсу на андроид поставить. Не знаю на счет того, как она там работает, но она есть: https://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Android/
Difrex(mobile) to vit01 (2018-08-09 12:19:54) [ссылка]

Re: Android to Desktop music streaming

Ответ на сообщение
vit01>>> Ищу свободное решение для стриминга аудиопотока по локальной сети.
vit01> omxplayer на Оранже действительно не работает
vit01> Про mpd в курсе, но mpd воспроизводит локальные файлы, действительно существующие на устройстве, т.е. которые можно "потрогать" (вроде мп3-шек)
vit01> А я хотел такую штуку, которая захватывает сырой поток со всего смартфона целиком, как это происходит, например, при подключении Bluetooth-наушников.
Хм. Надо просто реализовать прослойку. Через тот же синезуб поди можно попробовать.
vit01> Погуглил самостоятельно и вижу, что подобное пока никто не придумал =)
Как всегда придётся писать самому =)
Andrew Lobanov to vit01 (2018-08-03 09:21:22) [ссылка]

Re: Android to Desktop music streaming

Ответ на сообщение
vit01>> Ищу свободное решение для стриминга аудиопотока по локальной сети.
btimofeev> mpd умеет стримить музыку в http. Сам mpd можно установить и запускать в termux, а на компе ловить стрим в браузере или VLC. Я сам всё это не пробовал, но думаю должно получиться.
omxplayer на Оранже действительно не работает

Про mpd в курсе, но mpd воспроизводит локальные файлы, действительно существующие на устройстве, т.е. которые можно "потрогать" (вроде мп3-шек)

А я хотел такую штуку, которая захватывает сырой поток со всего смартфона целиком, как это происходит, например, при подключении Bluetooth-наушников.

Погуглил самостоятельно и вижу, что подобное пока никто не придумал =)
vit01 to btimofeev (2018-08-03 07:47:55) [ссылка]

Re: Android to Desktop music streaming

Ответ на сообщение
vit01> Ищу свободное решение для стриминга аудиопотока по локальной сети.
Ещё я на андроиде раньше использовал программу Raspicast. Она умеет стримить и аудио и видео с андроида на raspberry pi, но я не уверен что она будет работать с orange pi, тк она вроде работает через, написанный специально для gpu малинки, видеоплеер omxplayer. И подобных программ в гугл плее довольно много, может что-то подойдёт для orange.
btimofeev to vit01 (2018-07-27 18:15:07) [ссылка]

Re: Android to Desktop music streaming

Ответ на сообщение
vit01> Ищу свободное решение для стриминга аудиопотока по локальной сети.
mpd умеет стримить музыку в http. Сам mpd можно установить и запускать в termux, а на компе ловить стрим в браузере или VLC. Я сам всё это не пробовал, но думаю должно получиться.
btimofeev to vit01 (2018-07-27 17:54:03) [ссылка]

Android to Desktop music streaming

Ищу свободное решение для стриминга аудиопотока по локальной сети.

Сейчас у меня к OrangePi подключены наушники, и там запущен PulseAudio-сервер.

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

Это решение "GNU/Linux only", у меня пока исправно работает. Но хотелось бы сделать так: музыка играется на андроид-смартфоне и стримится на GNU/Linux компьютер по вайфаю, чтобы быть там услышанной.

// решение наоборот, т.е. Desktop -> Android с помощью костылей можно вполне завести

Пока что не находил таких приложений или хаков, но хотелось бы узнать, вдруг кто сталкивался с чем-то подобным. Рут есть
vit01 to All (2018-07-27 15:57:51) [ссылка]

Re: Проприетарный драйвер NVIDIA

Ответ на сообщение
geomaster>> Все было. Буду надеятся, что пакет в Арче не забросят и можно будет хоть как-то играть в новьё среди игр...
vit01> nvidia-304 не так давно забросили. Даже в AUR его сейчас нет. Такие дела
Грусть-печаль... Может, опенсурс к тому времени подтянут до уровня. "Надежда умирает последней. Правда, Наденька?" (с) В.И.Л.
geomaster to vit01 (2018-05-13 09:40:16) [ссылка]

Re: Проприетарный драйвер NVIDIA

Ответ на сообщение
geomaster> Все было. Буду надеятся, что пакет в Арче не забросят и можно будет хоть как-то играть в новьё среди игр...
nvidia-304 не так давно забросили. Даже в AUR его сейчас нет. Такие дела
vit01 to geomaster (2018-05-12 09:25:11) [ссылка]

Re: Проприетарный драйвер NVIDIA

Ответ на сообщение
geomaster>> Вчера с удивлением обнаружил, что моя видеокарта NVIDIA GT 630 отныне не поддерживается сабжем. Теперь нужен nvidia-390xx, который "NVIDIA drivers for linux, 390xx legacy branch".
vit01> Использую nouveau и не парюсь по этому поводу. Производительность, правда, для всяких свистелок не годится, но видео хотя бы смотреть можно
Опенсорсный radeon верой и правдой трудится не один год на ноуте (ASUS F8Vr) именно по причине древности видюхи и политики AMD в области дров. Даже в некоторые игрухи погонять можно. Так что идеологического отторжения открытых дров нет :)
vit01> Не так давно просто переводил свой ящик на внешний монитор (заместо удалёнки VNC, которая использовалась ранее), и пришлось настраивать иксы. Ради интереса решил попробовать проприетарщину, но не завелась даже старая версия. Настолько древняя видюха.
У меня богатый опыт борьбы с проприетарными и не только дровами подо все в линуксе. Еще со времен Black Cat Linux и ASP Linux. И забубенистые сетевухи, и нонейм звук... Все было. Буду надеятся, что пакет в Арче не забросят и можно будет хоть как-то играть в новьё среди игр...
geomaster to vit01 (2018-05-12 07:53:56) [ссылка]

Re: Проприетарный драйвер NVIDIA

Ответ на сообщение
geomaster> Вчера с удивлением обнаружил, что моя видеокарта NVIDIA GT 630 отныне не поддерживается сабжем. Теперь нужен nvidia-390xx, который "NVIDIA drivers for linux, 390xx legacy branch".
Использую nouveau и не парюсь по этому поводу. Производительность, правда, для всяких свистелок не годится, но видео хотя бы смотреть можно

Не так давно просто переводил свой ящик на внешний монитор (заместо удалёнки VNC, которая использовалась ранее), и пришлось настраивать иксы. Ради интереса решил попробовать проприетарщину, но не завелась даже старая версия. Настолько древняя видюха.
vit01 to geomaster (2018-05-12 05:14:12) [ссылка]

Проприетарный драйвер NVIDIA

Вчера с удивлением обнаружил, что моя видеокарта NVIDIA GT 630 отныне не поддерживается сабжем. Теперь нужен nvidia-390xx, который "NVIDIA drivers for linux, 390xx legacy branch".
1. Хорошо, что драйвер подробно в логи ругается. А так бы и не понял, почему sddm не стартует...
2. Как быстро вполне себе живое железо записано в старье...
geomaster to All (2018-05-12 04:52:29) [ссылка]

Re: stumpwm

Ответ на сообщение
Difrex(mobile)> А можешь поделиться своим конфигом, если он у тебя остался.
Difrex(mobile)> У меня почему-то грузиться не хочет этот WM, хотя я quicklisp поставил, swank тоже. Короче, непонятно, как им пользоваться.
Вообще, он готов к работе сразу без конфига. Но с конфигом он подгоняется под хотелки пользователя =)

Сейчас могу поделиться только таким вариантом:

== .stumpwmrc
;;;
;;; StumpWM configuration file by Andrew Lobanov
;;; 2017-12-05
;;;

(ql:quickload :swank)
(swank-loader:init)
(defcommand swank () ()
    (swank:create-server :port 4006
                       :style swank:*communication-style*
                       :dont-close t)
  (echo-string (current-screen) 
       "Starting swank. M-x slime-connect RET RET, then (in-package stumpwm)."))
(swank)

(in-package :stumpwm)

;;;
;;; Groups
;;;
(grename "first")
(gnewbg "web")
(gnewbg "media")
(gnewbg "emacs")
(gnewbg "file")
(gnewbg "other")
(gnewbg "code")
(gnewbg "gfx")
(gnewbg "mail")
(gnewbg "down")
(gnewbg "vm")
(gnewbg "games")

;;;
;;; Apearence
;;;
(set-fg-color "#aaaaaa")
(set-bg-color "#242424")
(set-border-color "#005577")
(set-focus-color "#005577")
(set-font "-*-terminus-medium-r-*-*-14-*-*-*-*-*-iso10646-1")
(setf *message-window-padding* 5)
(setf *message-window-gravity* :center)
(setf *input-window-gravity* :center)

;;;
;;; Time format
;;;
(setf *time-format-string-default* "%d.%m.%Y %A %H:%M")
(setf *time-day-names*
      #("Понедельник" "Вторник" "Среда" "Четверг" "Пятница" "Суббота" "Воскресение"))

;;;
;;; Menu
;;;
(defparameter *app-menu* '(("binkd" "urxvt -fn 'xft:terminus:size=14:bold' -fb 'xft:terminus:size=14:bold' -title binkd -e rs")
			   ("caesium" "cd ~/idec && urxvt -fn 'xft:Terminus:pixelsize=18:bold' -fb 'xft:Terminus:pixelsize=18:bold' -title Caesium -e ./caesium.py")
			   ("golded" "LANG=ru_RU.koi8-r urxvt -g '136x41' -fn 'xft:Terminus:pixelsize=18:bold' -fb 'xft:Terminus:pixelsize=18:bold' -title GoldEd -e ge")
			   ("moc" "urxvt -title MOCP -e mocp")
			   ("rtorrent" "urxvt -title rtorrent -e rtorrent")
			   ("wbinkd" "urxvt -fn 'xft:terminus:size=14:bold' -fb 'xft:terminus:size=14:bold' -title binkd -e wrs")
			   ("wcaesium" "cd ~/idec && urxvt -fn 'xft:Terminus:pixelsize=18:bold' -fb 'xft:Terminus:pixelsize=18:bold' -title Caesium -e ./work.sh")))

(defcommand mymenu () ()
  (labels ((pick (options)
             (let ((selection (stumpwm::select-from-menu (current-screen) options "")))
               (cond
                 ((null selection)
                  (throw 'stumpwm::error "Abort."))
                 ((stringp (second selection))
                  (second selection))
                 (t
                  (pick (cdr selection)))))))
    (let ((choice (pick *app-menu*)))
      (run-shell-command choice))))

;;;
;;; Mode-line
;;;
(load-module "disk")
(load-module "cpu")
(load-module "mem")
(load-module "battery-portable")
(load-module "pager")

(setf disk:*disk-usage-paths* '("/home"))
(setf *time-modeline-string* "%d.%m.%Y %A %H:%M")

(setf *mode-line-foreground-color* "#aaaaaa")
(setf *mode-line-background-color* "#242424")
(setf *mode-line-position* :top)
(setf *mode-line-border-width* 0)
(setf *mode-line-pad-x* 0)
(setf *mode-line-pad-y* 0)
(setf *mode-line-timeout* 5)
(setf disk:*disk-modeline-fmt* "%m: %a")
(setf *screen-mode-line-format*
      (list "%P^>"
			"%B │ %D│ %d "))
(mode-line)

(defcommand screenshot (select-window) ((:y-or-n "Select window "))
  "Make a screenshot."
  (redisplay)
  (if select-window
      (echo (run-shell-command "~/programs/screen.sh -s" t))
      (echo (run-shell-command "~/programs/screen.sh" t))))

;;;
;;; Key bindings
;;;
(define-key *root-map* (kbd "c") "exec urxvt")
(define-key *root-map* (kbd "P") "screenshot")
(define-key *root-map* (kbd ".") "mymenu")
(define-key *root-map* (kbd "a") "status")
(define-key *root-map* (kbd "l") "run-shell-command slock")
(define-key *root-map* (kbd "B") "mode-line")
(define-key *root-map* (kbd "F10") "gselect down")
(define-key *root-map* (kbd "F11") "gselect vm")
(define-key *root-map* (kbd "F12") "gselect games")
(define-key *top-map* (kbd "M-F5") "exec xbacklight -dec 10")
(define-key *top-map* (kbd "M-F6") "exec xbacklight -inc 10")

;;;
;;; Workspaces rules
;;;
(define-frame-preference "web"
    (0 nil t :instance "Navigator"))

(define-frame-preference "media"
    (0 nil t :title "MOC"))

(define-frame-preference "emacs"
    (0 nil t :class "Emacs"))

(define-frame-preference "gfx"
    (0 nil t :class "Gimp")
  (1 nil t :class "Geeqie"))

(define-frame-preference "mail"
    (0 nil t :title "Caesium")
  (1 nil t :title "binkd")
  (2 nil t :title "GoldEd+"))

(define-frame-preference "down"
    (0 nil t :title "rtorrent")
  (1 nil t :instance "Places")
  (2 nil t :instance "DTA"))
Конфиг использует самопальный модуль pager для отображения списка рабочих столов в modeline в духе i3wm.

== package.lisp
(defpackage #:pager
  (:use #:cl :stumpwm))

(in-package #:pager)

(import '(
		  stumpwm::sort-groups
		  stumpwm::current-screen
		  stumpwm::group-windows
		  stumpwm::group-name))
== pager.asd
;;;; pager.asd

(asdf:defsystem #:pager
  :description "i3wm-like pager"
  :author "Andrew Lobanov "
  :license "GPLv3"
  :depends-on (#:stumpwm)
  :serial t
  :components ((:file "package")
  (:file "pager")))
== pager.lisp
(in-package #:pager)

(defun pager (ml)
  (declare (ignore ml))
  (let (g)
    (dolist (group (sort-groups (current-screen)))
      (if (eq (current-group) group)
	      (push (concatenate 'string "^(:fg \"#eeeeee\")^(:bg \"#005577\") " (group-name group) " ^n") g)
	      (if (group-windows group)
		  (push (concatenate 'string " " (group-name group) " ") g))))
    (format nil "~{~a~}" (reverse g))))

(add-screen-mode-line-formatter #\P #'pager)
Эти файлы складываются в ~/.stumpwm.d/modules/modeline/pager/ и получаешь stumpwm 1 в 1 как был у меня =)
Andrew Lobanov to Difrex(mobile) (2018-03-29 04:28:33) [ссылка]

Re: stumpwm

Ответ на сообщение
А можешь поделиться своим конфигом, если он у тебя остался.

У меня почему-то грузиться не хочет этот WM, хотя я quicklisp поставил, swank тоже. Короче, непонятно, как им пользоваться.
Difrex(mobile) to spline (2018-03-28 11:32:12) [ссылка]

Re: Solarized light

Ответ на сообщение
Difrex(mobile)> Долго пытался сидеть на темных темах, но меня в конец стало напрягать, то что после переключения из редактора/консольки в браузер глаза вытекают. Немного с этим помогают бороться плагины для огненной лисы, но не всегда она работают правильно. А из-за темной темы ГТК бывает еще и такое, что в полях ввода получается темный текст на темном фоне, что несомненно лютый отстой.
Посмотрел, покумекал и попробовал такой вариант. Весьма по нраву пришлось, хотя и сидел всю жизнь на тёмных темах.

Посмотреть на цезий в таких условиях можно в файле screen_20180326_1.png, который должен в ближайшее время прилететь в фэхе pictures.
Andrew Lobanov to Difrex(mobile) (2018-03-26 05:47:32) [ссылка]

Re: Solarized light

Ответ на сообщение
>Основной цвет текста (серый) заменяю на чёрный, чтобы было лучше видно
У меня у мониторов/ноутов очень хорошая контрастность, так что мне серый цвет в самый раз. Да, ночью включаю solarized dark или darkokai в емаксе.
Difrex(mobile) to vit01 (2018-03-23 08:52:29) [ссылка]

Re: Solarized light

Ответ на сообщение
>Вот так всегда, самого интересного не получили =) Как причешешь - выкладывай, интересно посмотреть.
Вот сюда выложил https://github.com/Difrex/emacs.git, но пока не все :)
>В настройках отключаться должно
Круто! Спасибо
Difrex(mobile) to btimofeev (2018-03-23 08:50:07) [ссылка]