Hozzászólások
-
SzerzőBejegyzés
-
Kiszedtem a „[]” jelek lecserélésére vonatkozó részt és működik. 🙂
Köszi!Gondolom nincs meg az a táblázat? 🙂
A „fogadó” a „#/bin/sh”, majd a sed program.
Lehet én nem értem a dolgot, de a példámban a „fogadó” mindig ugyanaz, az én hibám akkor jön elő, ha a „küldő” más.Amennyi idő alatt ezt leírtad a backslash tengert is kibogoztad volna. 😀
Akkor röviden.
A spaceket cserélem ” „-re, a gond „[]” karakterek.
A könyvtár neve: [2003] Sphynx
Ha terminálból fut a script cseréli a „[” és „]” jelet „[” és „[” és műxik.
Ha Thunarból használnám, akkor nem cseréli, de csak ezeket a jeleket, a spaceket és a „()” karakterek feldolgozza.Ahogy mégegyszer megnéztem, érdekes mód a „]” utáni spacehez sem rak backslash-t, de az összes többihez igen.
Fura…Az idézőjeleket majd kipróbálom, terminálból megette, arra emlékszem, de scriptben nem próbáltam ha jól rémlik.
A változó nem vált be, ugyanis egybesűrítette az egész szöveget, de fájlba írva működik és csak 5-10%-ot eszik.
Code:for i in $(seq 1 1000) ; echo 0 widget_tell sb_statusbar tb_textbox text $i | awesome-status; sleep 0.2; doneNekem olyan 7-8%-ról kb. 20-ra „felugrott” a proci (na jó, egy cel2ghz-ről van szó).
Nekem max 5%-os plusz terhelést generált.
A másik scriptet még nem próbáltam ki, mert most egy érdekes hibával szívok.
Adott ez a scriptecske:
Code:#/bin/shecho $* >> ~/.awesome/file
if [ $# -eq 0 ]
then
echo „Nem adtál meg paramétert.”
exit 1
fifile=$(echo „$*”|sed ‘s/ /\ /g’|sed ‘s/(/\(/g’|sed ‘s/)/\)/g’|sed ‘s/[/\[/g’|sed ‘s/]/\]/g’|sed ‘s/^-.\ //g’)
while getopts „:spkach” kapcs
do
case $kapcs in
„s”)
mocp
sh /home/norbi/.awesome/mocp-status &
;;
„p”)
mocp -p
sh /home/norbi/.awesome/mocp-status &
;;
„k”)
mocp -s&&sleep 3&&killall sh mocp &> /dev/null
;;
„a”)
echo $file|tee -a ~/.awesome/file|xargs mocp -a
;;
„c”)
mocp -c
echo $file|xargs mocp -a
;;
„h”)
mocp -c
echo $file|xargs mocp -a
mocp -p
sh /home/norbi/.awesome/mocp-status &
;;
„?”)
echo „Hibás kapcsoló”; exit 2
;;
esac
done
exit 0Az elején lévő „echo” és az „a”-nál lévő „tee” parancs persze csak diagnosztizálás végett van benne.
Terminálból:
Code:~/.awesome$./mocp -a /media/files/Zene/Melechesh/[2003] Sphynx/01 Of Mercury And Mercury.mp3
~/.awesome$Vagyis hozzáadta a playlisthez az adott fájlt, ilyenkor a „~.awesome/file”-ban ez van:
Code:-a /media/files/Zene/Melechesh/[2003] Sphynx/01 Of Mercury And Mercury.mp3
/media/files/Zene/Melechesh/[2003] Sphynx/01 Of Mercury And Mercury.mp3Ha Thunarból próbálok hozzáadni egy fájlt, „~/.awesome/mocp -a %F”(%F adja hozzá a fájlokat elérési úttal együtt) parancs segítségével, a „~/.awesome/file” így néz ki:
Code:-a /media/files/Zene/Melechesh/[2003] Sphynx/01 Of Mercury And Mercury.mp3
/media/files/Zene/Melechesh/[2003] Sphynx/01 Of Mercury And Mercury.mp3Vagyis ugyanazt kapja meg mint parancssorból, de a fájlnév átalakításakor mégsem dolgozza fel a
Code:sed ‘s/[/\[/g’|sed ‘s/]/\]/g’részt.
Vajon miért?vizsla wrote:Különben a file-ba írás, meg szintén a memóriában történik.Erről jut eszembe, tmpfs-re kellene írni ha mégis azt választanám, így szinkronizáláskori lassulás is ki lenne lőve, na majd tesztelem melyik a jobb.
Code:Milyen géped van? Egy kHz-es 10 bájt rammal? Ennél nagyobb dolgok is zajlanak a háttérben, még ha nem is tudsz rólaAthlon Xp 2500+ és érdekes mód az mocp ffrissítését végző script(négyszer lekéri az infót és küldi awesome-clientnek 0.9 másodpercenként) 10-15%-os plusz proci terhelést jelent, ami szerintem sok.
Code:Na, akkor úgy érzem, ma is egy új dolgot fogsz tanulni (ha jól értem a gondod)Bakker, ezt tényleg nem tudtam, nagyon király, köszi!
mocp-al viszont szabadon váltogathatok a könyvtárakban, egy szám meghallgatására is tökéletes, nem kell egy külön progi(nem mintha nem használnám az mplayert is:)).
Nekem egyenlőre jobban bejött, könnyebb a kezelhetősége számomra.Fájlba irányításra én is gondoltam, de az megint viszonylag „nagy” munka a procinak, a változó viszont pont jó lesz, köszönöm mindkettőtöknek.
A másiknál meg azért nem jó a háttérbe küldés, mert kb. 15-20 sornyi parancsról van szó(egy-egy ciklus plusz pár apróság) s mindegyik mögé nem akarok „&” biggyeszteni. 🙂
A scriptet ki fogom próbálni ha otthon leszek, addig igyekszem értelmezni. 🙂mpd amúgy azért nem tetszik, mert fix adatbázissal dolgozik s ha egy új számot akarok meghallgatni vagy más könyvtárban van, akkor lehet újraépíteni az egészet.
Ja és egy box-ba ment, igazából már működik is, csak nem akarom nagyon elszaporítani a scripteket, főleg ha hasonló feladatot látnak el.Viszont holnap lehet jövök majd még egy kérdéssel, de előtte azért megpróbálom még „debuggolni”. 🙂
Még egy kérdés.
Code:#/bin/shwhile getopts „:ip” kapcs
do
case $kapcs in
„i”)
while true;
do
parancsok
done
;;
„p”)
while true;
do
parancsok
done
;;
esac
done
exit 0Mind a két parancs folyamatosan futna, státusz frissítés céljából.
Megoldható-e hogy mindkettő induljon?
Vagyis „parancs -ip” és fusson a két ciklus, mert ilyetén formában csak az „i” indul el, a „p” meg vár, hogy végezzen a másik.Egy kapcsolóhoz azért nem írható a 2 parancs, mert különböző időnként frissülne, az egyikben egy „sleep 30m” a másikban meg egy „sleep 60” van.
Sziasztok!
Code:~$mocp -i
State: PLAY
File: /media/files/Zene/The Crown – Crowned In Terror/02 Crowned In Terror.mp3
Title: 2 The Crown – Crowned In Terror (Crowned In Terror)
Artist: The Crown
SongTitle: Crowned In Terror
Album: Crowned In Terror
TotalTime: 04:48
TimeLeft: 01:35
TotalSec: 288
CurrentTime: 03:13
CurrentSec: 193
Bitrate: 192Kbps
AvgBitrate: 192Kbps
Rate: 44KHz
~$mocp -i|grep Artist|sed ‘s/Artist: //’
The Crown
~$mocp -i|grep SongTitle|sed ‘s/SongTitle: //’
Crowned In Terror
~$mocp -i|grep TotalTime|sed ‘s/TotalTime: //’
04:48
~$mocp -i|grep TimeLeft|sed ‘s/TimeLeft: //’
00:42Megoldható ez úgy, hogy a „mocp -i” parancsot csak egyszer adom ki, de négyféleképpen dolgozom fel?
Bugreport több szempontból is probléma.
Egyrészt gyenge az angolom, másrészt nem tudom milyen adatokat kell megadnom hozzá, meg pl. az urxvt-s dolog nem tudom bug-e vagy valamilyen beállítási gond.
Az hogy néha nem reagál a gyorsbillentyűre már inkább, de ehhez is pl milyen infókat kellene leírnom?
Feature-t viszont lehet majd megpróbálok kérni, mert 2 dolog tényleg jó lenne, ha vizszintesen is lehetne méretezni az ablakot, nekem még csak függőlegesen sikerült, meg a tasklisten jó lenne ha külön felismerné az ablakokat, nem az aktív kliensre reagálna.
Bár nem tudom ezt minek neked írom megint, talán, mert már te magad is fejlesztő vagy. 😉 -
SzerzőBejegyzés