Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2018-12-03 15:41:19

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

amixer "sset Master toggle" przełącza także Speaker/Headphone

Od paru tygodni, mute dźwięku w moim systemie nie działa jak należy. Na klawiaturze mam przyciski multimedialne i one są podpięte w volumeicon-alsa (volup/voldown/mute). Te przyciski działają dobrze, tj. ściszanie i zgłaśnianie dźwięku jest ok, podobnie mute wycisza dźwięki ale po ponownym przyciśnięciu klawisza mute, dźwięk nie powraca.

Do tej pory myślałem, że winnym całego problemu jest ten volumeicon-alsa i że nie potrafi on poprawnie odmutować dźwięku, przynajmniej patrząc po tym co się dzieje w podglądzie w alsamixer. W alsamixer mam w zasadzie 3 interesujące mnie w tej chwili kanały: Master i Speaker/Headphone (odpowiednio dla głośników i słuchawek po podpięciu). Po przyciśnięciu klawisza mute, oba kanały (Master/Speaker lub Master/Headphone) są wyciszane ale przy odmutowaniu, mute znika tylko z kanału Master.

W konfiguracji Openbox'a miałem wykomentowane te trzy przyciski, bo mogą być one podpięte jednocześnie tylko w jednej aplikacji. Postanowiłem zatem, że odhaczę te przyciski w volumeicon-alsa i włączę je w Openbox. Okazało się, że problem dalej istnieje.

Przycisk mute w Openbox miał przypisane poniższe polecenie:

amixer sset [b]Master[/b] toggle[/quote]
Czyli niby ma za zadanie przełączyć tylko i wyłącznie kanał Master. Podobnie pewnie ma volumeicon-alsa, tylko jak to się dzieje, że wydanie tego polecenia w terminalu przełącza także kanał Speaker/Headphone? Pół biedy gdyby to robił w obie strony. xD Co może powodować takie zachowanie?

---

Szukając info na necie, znalazłem to:

Kod:

amixer -D pulse set Master toggle

I ono już bez problemu przełącza oba kanały w obie strony. Ale chyba tego nie da rady wrzucić do volumeicon-alsa. xD

Widać, że to stary bug:
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/878986

Ostatnio edytowany przez morfik (2018-12-03 16:07:01)

Offline

 

#2  2018-12-03 18:05:58

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Jeśli PA tworzy problemy nieznane w Alsie, to może zamiast Volumeicon odpal jakiś aplet do głośności zgodny z Pulse?


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2018-12-03 19:05:39

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

No ale nie ma takiego chyba na Openbox. xD Jedyne co to ten volumeicon-alsa ale on chyba nie nadąża za rozwojem rzeczywistości i używa przestarzałych poleceń/narzędzi. Póki co to mam volup/voldown podpięte pod volumeicon-alsa by mieć notyfikacje przy ściszaniu i zgłaśnianiu, a mute mam w openbox zrobione. xD Póki co działa ale mogliby tego volumeicon-alsa fix'nąć. Chyba, że są jakieś bardziej modern narzędzia niż on, które potrafią współpracować z PA bez problemu?

Offline

 

#4  2018-12-03 20:23:26

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

To malutki program ten volumeicon, możesz zajrzeć do źródeł i cośtam fixnąć w razie czego.
On chyba ma troszkę krótszy kod nie Chromium. xD

Kompilacja takiego potwora jak volumeicon to nie jest jakaś tragedia.

Tu masz instrukcję kompilacji:
http://nullwise.com/volumeicon.html
A tu dużo miejsca na commity:
https://github.com/Maato/volumeicon

Jak obczaisz problem, to możesz wygenerować łatkę a nawet  dołączyć do Developerów projektu. xD

EDIT:
Nie trzeba nic kompilować ino skonfigurować Alsę poprawnie:
https://github.com/Maato/volumeicon/issues/57
:p

Pozdro

Ostatnio edytowany przez Jacekalex (2018-12-03 20:33:10)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2018-12-03 22:19:32

  wikingagressor - Użytkownik

wikingagressor
Użytkownik
Skąd: Józefów k.Błonia, mazowieck
Zarejestrowany: 2015-02-03

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Sprawdzilem i u mnie na XFCE jest podobnie, tj. po zmutowaniu dzwieku z klawiatury nie daje sie go odmutowac i dopiero w pavucontrol moge to wlaczyc spowrotem.
Przetestuje sposob z [i]~/.asoundrc[/i] i dam znac czy cos to zmieni.


Edit: zmainy w [i]~/.asoundrc[/i] zadzialaly, teraz dzwiek sie mutuje i odmutowywuje z klawiatury bez problemow.

Ostatnio edytowany przez wikingagressor (2018-12-03 22:31:04)


Peace, Love and Debian for the World!!!

Offline

 

#6  2018-12-04 11:59:41

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

No technicznie to jest niby plik (a właściwie to link): /etc/alsa/conf.d/50-pulseaudio.conf i tam jest konfiguracja pulse ale bez:

Kod:

pcm.default pulse
ctl.default pulse

No i jak się je doda, to alsamixer widzi już tylko jeden kanał Master, a by zobaczyć więcej to trzeba w menu tam wybrać. Tak czy inaczej, to chyba nie ma innej opcji jak ustawienie urządzenia pulse jako domyślnego. xD

Ostatnio edytowany przez morfik (2018-12-04 12:07:21)

Offline

 

#7  2018-12-04 14:24:57

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Ustawianie kart w plikach konfiguracyjnych ma tą skromną wadę, że jest dosyć sztywne.

IMHO o wiele lepiej użyć zmiennych, np:


Kod:

pcm.!default {
    type plug
    slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "asymed"
    }
}

pcm.asymed 
{
    type asym
    playback.pcm "alsaout"
    capture.pcm  "alsain"
}



pcm.alsaout {
    type plug
    slave.pcm {
        @func getenv
        vars [ ALSAOUT ]
        default "nvidiadmix"
    }
}

pcm.alsain {
    type plug
    slave.pcm {
        @func getenv
        vars [ ALSAIN ]
        default "dsnooped"
    }
}

W ten sposób, jak potrzeba szybko przestawić jeden program czy powłokę na na inną kartę czy inny mikrofon, można to zrobić w 10 sekund bez majstrowania w konfigach czy martwienia się tym,że np Vlc i Smplayer też nie widzą wirtualnych kart Alsy,
a w MPV w ogóle nie ma gdzie wyklikać wyboru karty . ;)

Pozdro


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2018-12-04 15:56:15

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

E w PA takie przełączanie się między kartami można zrobić via:

Kod:

$ which pa-list
pa-list () {
        pacmd list-sinks | awk '/index/ || /name:/'
}

$ which pa-set
pa-set () {
        inputs=($(pacmd list-sink-inputs | awk '/index/ {print $2}'))
        pacmd set-default-sink $1 &> /dev/null
        for i in ${inputs[*]}
        do
                pacmd move-sink-input $i $1 &> /dev/null
        done
}

Co wygląda mniej więcej tak:

Kod:

$ pa-list
  * index: 0
        name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
    index: 1
        name: <compressor>

$ pa-set 1

$ pa-list
    index: 0
        name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
  * index: 1
        name: <compressor>

To jest oczywiście dla wszystkich appek w systmie ale również można sobie zrobić aliasy na per-appa:

Kod:

$ which pa-playbacklist
pa-playbacklist () {
        echo "==============="
        echo "Running Apps"
        pacmd list-sink-inputs | awk '/index/ || /application.name /'
        echo "==============="
        echo "Sound Devices"
        pacmd list-sinks | awk '/index/ || /name:/'
}

$ which pa-playbackset
pa-playbackset () {
        pacmd set-default-sink "$2" &> /dev/null
        pacmd move-sink-input "$1" "$2" &> /dev/null
}

Ja mam tylko zwykły output i kompresor. Ale to bez problemu działa po HDMI, itp. xD

Offline

 

#9  2018-12-04 16:11:36

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Ja zamiast instalować PA wole wypierdolić Xorga i mieć wreszcie spokój z takimi SPOF.

Chociaż być może będę musiał wrzucić PA i puścić przez dmixa, bo np KDE już całe wymaga PA,
a Mate na Gtk3 to jest mała katastrofa (mniejsza niż Gnome3 co prawda).
W dodatku ani Mate ani Xfce jeszcze nie są gotowe na Waylanda, a utylizacja Xorga to dla mnie priorytet.

Pozdro

Ostatnio edytowany przez Jacekalex (2018-12-04 16:19:37)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2018-12-04 16:19:38

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

PA to SPOF? Ja używam PA od samego początku jak na linux'a wlazłem i jakoś nie pamiętam, by mi coś nawaliło na dłużej niż parę minut, choć to z winy SID'a i bez problemu można było cofnąć do stanu sprzed awarii. A wszystkie te awarie były z winy nie aktualizowania na bieżąco innych pakietów, które operują dźwiękiem (tak jak ten volumeicon, który za parę dni będzie miał 4 lata od ostatniego update), także sam widzisz, to nie jest wina PA, które zawsze można wyłączyć, więc w czym problem? xD

Offline

 

#11  2018-12-04 16:23:41

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

[quote=morfik]PA to SPOF? Ja używam PA od samego początku jak na linux'a wlazłem i jakoś nie pamiętam, by mi coś nawaliło na dłużej niż parę minut, choć to z winy SID'a i bez problemu można było cofnąć do stanu sprzed awarii. ...[/quote]
Tu nie chodzi o to, czy coś działa czy nie, tylko o to, czy za dostęp do urządzeń odpowiada jeden program, który ma te urządzenia na wyłączność.

PA blokuje karty dźwiękowe w takim samym stopniu, co Xorg blokuje GPU.

Dlatego wolę Alsę i Waylanda, że oba działają w trybie nieblokującym (chociaż w Alsie to wymaga użycia dmixa).

PA u mnie działa, to taki sam argument jak Xorg u mnie działa.

Co nie zmienia faktu, że jeśli pojedynczy program chce cokolwiek monopolizować,
to u mnie dla niego miejsca nie ma,  od tej zasady ja na razie  tylko Eudev uzyskał amnestię. xD

Ostatnio edytowany przez Jacekalex (2018-12-04 16:27:48)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#12  2018-12-04 16:29:04

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Taka polityka linux'a przecie by jedno urządzenie było zajmowane tylko przez jeden proces  w danej chwili. Przecie jak na domyślnej konfiguracji bez PA byś próbował odpalić parę aplikacji odtwarzających dźwięk, to jedna ci zajmie dźwięk i na drugiej już go nie będziesz miał. To można oczywiście fix'nąć ale domyślnie może odpalać tylko jedna aplikacja.

Offline

 

#13  2018-12-04 17:14:58

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

[quote=morfik]Taka polityka linux'a przecie by jedno urządzenie było zajmowane tylko przez jeden proces  w danej chwili. Przecie jak na domyślnej konfiguracji bez PA byś próbował odpalić parę aplikacji odtwarzających dźwięk, to jedna ci zajmie dźwięk i na drugiej już go nie będziesz miał. To można oczywiście fix'nąć ale domyślnie może odpalać tylko jedna aplikacja.[/quote]
Właśnie po to powstała biblioteka dmix, żeby programy wiedziały, jak nie blokować urządzenia.
Jak coś jest zgodne z Alsą, to jest też zgodne z dmixem, innej drogi nie ma.

W przypadku Waylanda kompozytor ekranu też nie blokuje GPU, tylko określa współrzędne poszczególnych okien, a te sobie same gadają ze sterownikami.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#14  2018-12-04 17:48:19

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Cały „problem” sprowadza się do tego, że takie od wielu lat nie aktualizowane padliny jak volumeicon, czy jego odpowiednik w Xfce4, sterują bezpośrednio kanałami Alsy (czyli na poziomie niższym niż reszta systemu), zamiast przeprowadzać to na poziomie PA (z którego domyślnie korzystają współczesne narzędzia/środowiska graficzne). Operacje na poziomie Alsy powinny być zachowane jako opcja/fallback — tylko dla systemów bez uruchomionego Pulseaudio.

W systemie z PA zamiast [tt]amixer[/tt] te operacje powinny być obsługiwane poprzez [tt]pactl[/tt]:

Kod:

pactl set-sink-mute 0 1
pactl set-sink-mute 0 0

lub bezpośrednio:

Kod:

pactl set-sink-mute 0 toggle

I we współczesnych narzędziach nikt takiego problemu nie ma.

Offline

 

#15  2018-12-04 18:46:02

  wikingagressor - Użytkownik

wikingagressor
Użytkownik
Skąd: Józefów k.Błonia, mazowieck
Zarejestrowany: 2015-02-03

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

[i]Volumeicon[/i] potrafi obslugiwac pulseaudio. Wystarczy w jego configuracji zmienic alsa na pulse i jest git.


Peace, Love and Debian for the World!!!

Offline

 

#16  2018-12-04 20:51:45

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Ja w jego konfiguracji nie mam żadnego Pulse. xD

Offline

 

#17  2018-12-04 22:40:30

  wikingagressor - Użytkownik

wikingagressor
Użytkownik
Skąd: Józefów k.Błonia, mazowieck
Zarejestrowany: 2015-02-03

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Teoretycznie nie powinno to byc potrzebne. W poscie #4 z tego watku jest pokazana konfiguracja pliku [i]~/.asoundrc[/i], ktora ustawia pulseaudio jako defaultowe wyjscie dla alsy. W preferencjach [i]volumeicon[/i] wystarczy ustawic Device:default i powinno dzialac.


Peace, Love and Debian for the World!!!

Offline

 

#18  2018-12-04 23:16:39

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Genialne — graficzny konfigurator wymaga więcej ręcznej dłubaniny w plikach tekstowych niż samo ręczne ustawienia skrótu klawiaturowego :D

<keybind key="XF86AudioMute">
      <action name="Execute">
        <command>pactl set-sink-mute 0 toggle</command>
      </action>
</keybind>[/quote]
PS Ręczna konfiguracja Alsy nie jest wymagana od czasów Debiana Jessie.

Offline

 

#19  2018-12-05 02:30:11

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Dobrze wiedzieć, że ten volumeicon ma plik konfiguracyjny -- myślałem, że chodzi o GUI. xD

Offline

 

#20  2018-12-05 19:50:58

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

A działa przy samej zmianie na [tt]card=pulse[/tt] w [i]~/.config/volumeicon/volumeicon[/i] bez kombinowania z [i]~/.asoundrc[/i]?

Offline

 

#21  2018-12-05 20:11:24

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Tak, po prostu pojawia się dodatkowa pozycja, której wcześniej nie było -- pulse i ona ma do kontroli już tylko jeden kanał Master, czyli potrafi sterować jak należy, choć domyślnie nie wykrywa pulse. :]

Offline

 

#22  2018-12-05 20:14:34

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

Chodziło mi bardziej o obsługę [i]mute toggle[/i].

Offline

 

#23  2018-12-05 20:17:45

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: amixer "sset Master toggle" przełącza także Speaker/Headphone

No tak wszystko działa normalnie teraz.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.012 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00029 SET CHARSET latin2
0.00007 SET NAMES latin2
0.00211 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.227.48.131' WHERE u.id=1
0.00115 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.227.48.131', 1732221595)
0.00055 SELECT * FROM punbb_online WHERE logged<1732221295
0.00048 SELECT topic_id FROM punbb_posts WHERE id=322153
0.00004 SELECT id FROM punbb_posts WHERE topic_id=30754 ORDER BY posted
0.00054 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30754 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00139 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30754 ORDER BY p.id LIMIT 0,25
0.00084 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30754
Total query time: 0.00751 s