Aktuális hangerő fájlból

Kezdőlap Fórumok Vegyes felvágott Aktuális hangerő fájlból

7 bejegyzés megtekintése - 21-27 / 27
  • Szerző
    Bejegyzés
  • #2153345
    uzsolt
    Felhasználó

      Visszatérve a témához:

      Code:
      ( while true; do awk {‘if ($1~/0:5e/) { hex=strtonum(„0x”$3); right = hex%256 ; left = (hex-right)/256 ; print „0 widget_tell pb_out_volume „left/256*100”,”right/256*100 ; print „”}’} /proc/asound/card0/codec97#0/ac97#0-0+regs ; sleep 0.1; done ) | awesome-client

      Ezzel a sorral kreálom én az outputot az awesome-client-nek (na jó, ezzel már át is adtam neki). Ahhoz, hogy normálisan nézzen ki, a sleep-et 0.1-re állítottam, tehát egytized másodpercre (0.2-nél nagyon darabos). Ekkor a processzorhasználat kb. 10-ről 30-ra ugrik fel (nyilván a sok program-indítás miatt).
      Megcsináltam azt is, hogy megfelelő módon egy awk-fájlt írtam, amiben csak a sleep-et hívom meg külön, de azzal se jobb a helyzet.

      Ha esetleg írok egy C-programot, ami lényegében megcsinálja ezt, akkor javulhat a helyzet? Mármint kisebb lesz a proci-használat? Esetleg valami értelmesebb módja a dolgoknak?

      #2153346
      uzsolt
      Felhasználó

        Visszatérve a témához:

        Code:
        ( while true; do awk {‘if ($1~/0:5e/) { hex=strtonum(„0x”$3); right = hex%256 ; left = (hex-right)/256 ; print „0 widget_tell pb_out_volume „left/256*100”,”right/256*100 ; print „”}’} /proc/asound/card0/codec97#0/ac97#0-0+regs ; sleep 0.1; done ) | awesome-client

        Ezzel a sorral kreálom én az outputot az awesome-client-nek (na jó, ezzel már át is adtam neki). Ahhoz, hogy normálisan nézzen ki, a sleep-et 0.1-re állítottam, tehát egytized másodpercre (0.2-nél nagyon darabos). Ekkor a processzorhasználat kb. 10-ről 30-ra ugrik fel (nyilván a sok program-indítás miatt).
        Megcsináltam azt is, hogy megfelelő módon egy awk-fájlt írtam, amiben csak a sleep-et hívom meg külön, de azzal se jobb a helyzet.

        Ha esetleg írok egy C-programot, ami lényegében megcsinálja ezt, akkor javulhat a helyzet? Mármint kisebb lesz a proci-használat? Esetleg valami értelmesebb módja a dolgoknak?

        #2153347
        zoltan22
        Felhasználó

          A C program, ha jol irod meg, sokkal hatekonyabb lesz 😉 (meg egyebkent is)

          #2153348
          zoltan22
          Felhasználó

            A C program, ha jol irod meg, sokkal hatekonyabb lesz 😉 (meg egyebkent is)

            #2153349
            uzsolt
            Felhasználó

              Na, végre egy kis bátorítás. Ui. a hétvégén neki akartam esni egy ilyennek, és az egész awk-szkriptemet lecserélni.
              Szóval ideje megtanulnom a C nyelvet (nyugi, a printf függvényt ismerem 😉 )…

              #2153350
              uzsolt
              Felhasználó

                Na, végre egy kis bátorítás. Ui. a hétvégén neki akartam esni egy ilyennek, és az egész awk-szkriptemet lecserélni.
                Szóval ideje megtanulnom a C nyelvet (nyugi, a printf függvényt ismerem 😉 )…

                #1887837
                csaba
                Felhasználó

                  Üdv!

                  Szóval a kérdés: van-e valamilyen nem túl fájdalmas mód arra, hogy az aktuális hangerőt fájlból tudjam meg? Gondolok valami /proc-beli cuccra. Próbáltam én keresgélni, de nemigen jutottam egyről a kettőre, a kernel doksija erről nemigen nyilatkozik.
                  Persze az is tökéletes lenne, ha lenne mondjuk egy démon, ami fut a háttérben és (nem feltétlenül a /proc-ban) írja a fájlt a hangerőkkel. Jó, nyilván az amixer-ből lehet kreálni különféle sed, awk és grep megtűzdelésével, de nekem az fából vaskarika.
                  Amire kellene: az awesome ablakkezelő egyik státuszsorába szeretnék egy „progressbar”-t.
                  Ahogy eddigiek működnek: van egy awk-szkript, ami fájlokból olvassa ki másodpercenként az adatokat (/proc/{uptime,stat,meminfo,net/dev), és számolja a megfelelő mutatókat, ami nyilván gyorsabb, mintha másodpercenként indítanék egy uptime, free meg nemtommégmilyen parancsokat.

                7 bejegyzés megtekintése - 21-27 / 27
                • Be kell jelentkezni a hozzászóláshoz.