LaufendeNotizen
download von:
http://mail.python.org/pipermail/python-announce-list/2003-September.txt
--== sample code ==-- import tageditor import os m3ufile = file("files.m3u", "w") m3ufile.write("#EXTM3U\n") for f in os.listdir("."): if os.path.splitext(f)[1] not in tageditor.tagEditorExts(): continue tag = tageditor.createTagEditor(f) m3ufile.write( "#EXTINF:%i,%s - %s\n" % (tag.getLength(), tag["Artist"], tag["Title"])) m3ufile.write(tag.filename() + "\n") --== end of sample code ==--
Aus der Datei tageditor.sip:
enum FieldID { Artist, 0 Title, 1 Album, 2 Year, 3 Track, 4 Genre, 5 Comment 6 }; … public: TagEditor(const char*); virtual string extension() const = 0; virtual int setField(FieldID, const string&) = 0; virtual const string getField(FieldID) const = 0; virtual int removeField(FieldID) = 0; virtual bool existingField(FieldID) const = 0; virtual int writeTag() = 0; virtual void printTagInfo() const = 0; bool isOK() const; const string& filename() const; bool altered() const; void setAltered(bool); unsigned int getLength() const; unsigned int getBitrate() const;
tag.setField(1, u"Heizöl")
zu setzen versucht, dann kriegt man den Fehler TypeError: Argument 2 of
TagEditor.setField() has an invalid type zurück. Was nun?
Der Versuch, den tageditor in einem kleinen Python-Script zu verwenden produzierte verschiedene Fehler.
Das hat was mit den Grafikkartentreibern zu tun, genauer gesagt mit meinem proprietären NVIDIA-Treiber. Um die Fehlerursache zu umgehen lud ich also den letzten Treiber von nvidia.com herunter und installierte ihn nicht einfach so, sondern mit der Option --force-tls="classic"
Die Installation der NVIDIA-Treiber muß von einer „virtuellen Konsole“ aus stattfinden, ohne daß ein X-Server auf dem System läuft.
$ cd downloads/ $ chmod ug+x NVIDIA-Linux-x86-1.0-5336-pkg1.run $ su ---passwort--- # /etc/init.d/gdm stop # ./NVIDIA-Linux-x86-1.0-5336-pkg1.run --force-tls="classic" # /etc/init.d/gdm start
ImportError: libtagedit.so.3: cannot open shared object file: No such file or directory obwohl libtagedit.so.3 in /usr/local/lib installiert ist:
locate libtagedit.so.3 /usr/local/lib/libtagedit.so.3 /usr/local/lib/libtagedit.so.3.0.0
Das kann man mit der Umgebungsvariable LD_LIBRARY_PATH umgehen: export LD_LIBRARY_PATH=/usr/local/lib. Dauerhaft behoben durch …?
Es scheint eine sehr clevere Idee zu sein, die CapsLock- und die Escape-Tasten zu vertauschen!
ipdf verwandelt Text-Dateien in indizierte pdf-Dateien um: http://hoopajoo.net/projects/ipdf.html
Warum sollte man markierten Text nur mit der Maus einfügen können?
Das Programm xbindkeys hinwiderum setzt Tastatureingaben in Kommandos um, welche in der Datei ~/.xbindkeysrc zugeordnet wurden. Zum Beispiel wird in dem folgenden Ausschnitt der Klick mit der mittleren Maustaste der Tastenkombination Umschalt+Menu-Taste (Shift-Menu) zugeordnet:
Das folgende ist nur ein gescheiterter Versuch. Die Programme, die die X-Auswahl an STDOUT weiterleiten, können offenbar nicht vom Window-Manager oder von xbindkeys aus sinnvoll eingesetzt werden, da der aktuelle Tastatur-Focus nicht als STDOUT verwendet wird, wenn das Programm irgendwo im Hintergrund aufgerufen wird.
# ~/.xbindkeysrc # Konfigurationsdatei fuer xbindkeys # # "Kommando" # Tastenkombination # # ----------------------------- # Einfuegen mit der Menue-Taste "xsel -p" Shift+Menu
man xclipboard sagt folgendes:
SENDING/RETRIEVING CLIPBOARD CONTENTS Text is copied to the clipboard whenever a client asserts ownership of the CLIPBOARD selection. Text is copied from the clipboard whenever a client requests the contents of the CLIPBOARD selection. Examples of event bindings that a user may wish to include in a resource configura‐ tion file to use the clipboard are: *VT100.Translations: #override \ <Btn3Up>: select‐end(CLIPBOARD) \n\ <Btn2Up>: insert‐selection(PRIMARY,CLIPBOARD) \n\ ! <Key>Menu: insert‐selection(PRIMARY,CLIPBOARD) \n\ <Btn2Down>: ignore ()
Leider funktioniert das mit der Tastenzuordnung (!) nicht. Und woher kommen die Bezeichnungen
usw.? Könnte man stattdessen auch
Menusetzen?
scancode 117 = Mouse_Button2
in der xmodmap-Konfiguration
funktioniert nur, wenn die xkb-Maus-Erweiterung eingeschaltet ist
(Shift-Num), und führt das Ereignis nicht da aus, wo der
Tastatur-Fokus ist, sondern da, wo der Mauszeiger hinzeigt. Das heißt,
man müßte die Maus doch erst noch manuell an die richtige Stelle
bewegen, um dann den Klick mit der mittleren Maustaste durch einen
Tastendruck zu ersetzen (oder gar mehrere!). Das ist nicht das Ziel.
Ein mir unverständliches Problem hat sich beim folgenden Versuch ergeben:
# die Einstellungen in der .xmodmap-Datei scancode 117 = Menu keysym Menu = Mouse_Button2 # fuehrten zu folgendem Fehler: .xmodmap:277: bad keysym target keysym 'Menu', no corresponding keycodes xmodmap: 1 error encountered, aborting. # # wohingegen das shell-Kommando funktioniert: xmodmap -e 'keysym Menu = Pointer_Button2'
> > > hold ctrl-(left?)alt-shift and press num-lock. You should hear a > > > beep. > > > > > > Now the numeric keypad will operate the mouse: > > > > > > * arrows move, including home, end, pageup and pgdn > > > * 5 clicks the "current button" > > > * + doubles-clicks the "current button" > > > * 0 holds down the "current button" > > > * . releases the "current button" > > > > > > The "current button is by-default the first one. You can change > > > it > > > using: > > > > > > / The first > > > * The second > > > - The third ("middle") > > > > > > THis is basically set in /usr/X11R6/lib/X11/xkb/compat/mousekeys
Mit dem Programm xsel kann man per Kommando den X-Auswahl-Puffer
setzen oder ausgeben: xsel -p oder echo "trallalla" | xsel -s |
http://people.debian.org/~kims/xclip/
funktioniert so ähnlich wie xsel: xclip -o, läßt aber die Auswahl bestehen (– xsel scheint sie zu löschen, so daß sie nur einmal "gepastet" werden kann :-/).
Das Programm xte (vom Paket xautomation) generiert beliebige Eingabeereignisse (Tastendruck oder -Loslassen von Maus- oder Tastatur-Tasten, Bewegung der Maus usw.) von der Kommandozeile aus.
Der Nachteil bei der Benutzung von xte zum Einfügen der X-Auswahl mithilfe von xte 'mouseclick 2' ist, daß das Mausklick-Ereignis für das Einfügen von markiertem Text genau da stattfindet, wo sich der Mauszeiger befindet, und nicht im Aktiven Fenster oder wo der Text-Cursor aktiv ist…
xcb - X Cut Buffers - Pigeon holes for your cut and paste selections.
http://www.goof.com/pcg/marc/xcb.html
xcb -S 0 && xcb -p 0 The first command copies the current PRIMARY selection into the first cut buffer. If the copy succeeds, then the second command prints that data on stdout.
Und auch: gcb http://www.csie.nctu.edu.tw/~cp76/gcb/
Die einzige cue-Datei-Spezifikation (en), die ich bisher gefunden habe entstammt dem CDRWin-Benutzerhandbuch (pdf). (auch AudioVerwaltung)
Ein News-Server-Suchdienst befindet sich unter http://www.muenz.com.
Nächster Fehler: configure: error: Could not find the gnomeConf.sh file that is generated by gnome-libs install. Dieser ließ sich durch Installation des deb-Pakets libgnome-dev beheben.
Also weiter mit make und su -c 'make install'. Und starten mit gwc.
Da exim immer meldet, der "smart host" würde keine Authentifizierung unterstützen, muß der Sache auf den Grund gegangen werden. Zuerst mit telnet smtp.smarthost.net 25 und EHLO smtp.smarthost.net mit dem Ergebnis
250-smtp.smarthost.net Hi. 250-PIPELINING 250-AUTH=LOGIN 250 8BITMIME. Aber warum sieht exim das nicht ein?
Versuch einer manuellen SMTP-Sitzung nach dem Muster von EmailSmtpManual funktioniert, aber wie mache ich das hier mit der LOGIN-Authentifizierung?
Der Benutzername und das Passwort müssen verschlüsselt übermittelt werden (base64-Verschlüsselung), die Verschlüsselung kann man mit mimencode vornehmen, es ist im Paket metamail enthalten (mimedecode ist ein eigenes Paket). Und dann geht das so:
$ echo -e -n 'benutzername' | mimencode YmVudXR6ZXJuYW1l $ echo -e -n 'passwort' | mimencode cGFzc3dvcnQ= $telnet smtp.server.dom 25 auth login 334 VXNlcm5hbWU6 YmVudXR6ZXJuYW1l 334 UGFzc3dvcmQ6 cGFzc3dvcnQ= 235 authentication successful
Daran kann es also nicht liegen, was auch die alternativen Versuche bestätigen:
Da dacht ich mir, bevor ich ein Programm mit ./configure && make && make install installiere, könnte ich ja mal versuchen, es in ein Debian-Paket zu verwandeln, so daß es im Paket-Management mit aufgeführt wird… Der Witz dabei sollte der sein, daß es sich (noch?) nicht um ein Debian-Source-Package handelt, sondern um einen „ganz normalen“ tarball.
Empfehlungen zu diesem Thema:
Producing Debian packages the easy wayist eine Anleitung auf englisch unter http://www-jcsu.jesus.cam.ac.uk/jcn/documentation/html-only/packaging.html. Hier nur einige Notizen, die den sehr einfach gehaltenen Artikel noch weiter vereinfachen und verkürzen ;-(
- Vorraussetzung
- das Archiv debpackage.tar.gz mit den Vorlagen für das debian/-Unterverzeichnis ist verfügbar (– für die folgenden Schritte gehen wir davon aus, daß es im selben Verzeichnis wie der Programm-Tarball zu finden ist).
- Voraussetzung
- die Pakete fakeroot und debhelper sind installiert.
Arbeitsschritte
- Auspacken des Programms tar -xzvf programm-vers.tar.gz in einen (dabei entstehenden) Ordner namens programm-vers/
- cd programm-vers
- tar -xzvf ../debpackage.tar.gz
- cd debian/
- Editieren der Datei changelog
- Editieren der Datei control
(◦ alle < und >-Zeichen müssen verschwinden, ◦ ich mußte auch noch die ZeilenSource: program
undMaintainer: Ansprechpartner
am Dateianfang einfügen)- cd .. (zurück zum Ordner mit dem ausgepackten Programmcode)
- fakeroot dpkg-buildpackage
Um die Suche nach einem geheimen Schlüssel für die Signierung zu unterbinden, mußte ich das Verschlüsselungskommando auf nichts setzen: fakeroot dpkg-buildpackage -p- Verifizieren, daß die Ergebnisse gut angekommen sind: cd ..; ls program-vers.*
- su
- dpkg -i program_vers_all.deb
Zu Syntax und Inhalt der control-Datei äußert sich das „Debian Policy Manual“: http://www.debian.org/doc/debian-policy/ch-controlfields.html.
Bleibt die Frage, welche Abhängigkeiten man hier eintragen muß und wie man das möglichst einfach rauskriegt. –?
Checkinstall (http://freshmeat.net/projects/checkinstall/) soll auch geeignet sein, privat Debianpakete aus tarballs zu erzeugen. Am einfachsten mit./configure make #[als root] checkinstall -D -yDas habe ich aber noch nicht probiert.
http://docutils.sourceforge.net/
Umwandlung in docbook:
http://membres.lycos.fr/ebellot/dn2dbk/ n2dbk est une feuille de styles XSLT permettant la conversion d'un document RST (reStructuredText) au format Docbook. Elle fonctionne avec un processeur XSLT (Xsltproc, Saxon, Xalan, etc.) • Note: Oliver Rutherfurd a réalisé un script Python (docbook.py) capable de convertir directement un document RST au format Docbook. Le script docbook.py peut être télécharger sur http://docutils.sf.net/index.html#the-sandbox
Xresources können mit folgendem Befehl auf den neusten Stand
(definiert in ~/.Xresources) gebracht werden:
xrdb -load $HOME/.Xresources
???
Die Liste der keysyms, die man benutzen darf, ist offenbar (?) /usr/X11R6/lib/X11/XKeysymDB. Es gibt allerdings noch mehr, und ich verstehe nicht, wie man zu einer ganzen Liste kommt! Zum Beispiel scheinen alle keysyms, die in der KeysymUcsConvTableKuhn aufgeführt sind, auch aktiv zu sein und können mit xmodmap zugeordnet werden.
/usr/include/X11/keysymdef.h
Aus man xmodmap läßt sich das aber auch entnehmen! „The
list of keysym names may be found in the header file
(Vielleicht sollte ich mich mal in /usr/X11R6/lib/X11/xkb/symbols/ bzw. in /usr/X11R6/lib/X11/xkb/... umsehen? Oder in's http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO.html reinschaun?)
In der XKeysymDB finden sich aber u.a. die für mich interessanten keysyms für die Internet-Tastatur-Tasten:
keysym | scancode (ermittelt mit xev) |
---|---|
XF86AudioMute | 160 |
XF86AudioLowerVolume | 174 |
XF86AudioRaiseVolume | 176 |
XF86AudioPrev | 144 |
XF86AudioStop | 164 |
XF86AudioPlay | 162 |
XF86AudioNext | 153 |
XF86AudioMedia | 237 |
Diese Zuordnung kann man bspw. in einer Datei ~/.modmap
anlegen,
welche automatisch durch die .xsession (oder .xinit) Skripte beim
Starten des X-Servers, oder manuell aktivieren kann: =xmodmap
~/.xmodmap= (ein Skelett dieser Datei zur vorsichtigen Anpassung
erhält man mit dem Befehl xmodmap -pke > ~/.xmodmap
).
keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext XF86AudioRewind keycode 160 = XF86AudioMute keycode 162 = XF86AudioPlay keycode 164 = XF86AudioStop keycode 174 = XF86AudioLowerVolume keycode 175 = XF86AudioRaiseVolume
Zur Aktivierung wird das obengenannte Kommando zur Modifizierung des
Tastatur-Mappings benutzt: xmodmap ~/.xmodmap
. (Sollte dies nicht
erfolgreich sein, dann kann das daran liegen, daß ein Tastatur-Symbol
nicht in der XKeysymDB definiert ist, oder einfach falsch geschrieben
wurde ;-)
Diesen Tastennamen kann man nun – als icewm-Benutzer ;-) – in der
Datei ~/.icewm/keys
Kommandos zuordnen. Z.B.:
key "XF86AudioPlay" xmms -t key "XF86AudioStop" xmms -s key "XF86AudioPrev" xmms -r key "XF86AudioNext" xmms -f key "XF86AudioMedia" xmms
Schallplattenaufnahme mit arecord (alsa 1.0):
arecord -d 1800 -f cd -t wav -D plughw:0 Seite_A.wav
(Optionen: -d 1800
Aufnahmedauer 30min (1800 Sekunden); -f cd
CD-Format, -t wav
Datei-Typ wav; -D plughw:0
alsa-Gerät: erste
Soundkarte; Seite_A.wav
Ausgabedatei)
ls -1 *.ogg > playlist.m3u
$ growisofs -Z /dev/scd0 -speed=1 -R -J .
.
gibt das aktuelle Verzeichnis als dasjenige an, dessen Inhalt
auf der DVD landen soll.
(das perl-script extm3u.pl produziert falsch sortierte Playlisten.)
Umsortieren in emacs
M-x replace-regexp
\(#.*\)C-Q,C-J\([^#].*$\)
\2::\1
C-Q,C-J
für
Control-Q Control-J steht und ein Zeilenumbruchzeichen einfügt)
M-x sort-lines
M-x replace-regexp
\(^.*\)::\(.*$\)
\2 C-Q,C-J \1
rubrica
installiert, gefällt mir nicht: zu Mausorientiert (und noch
längst nicht fertig).
slpim
does not seem to be developed anymore since 2001 (v. 0.1.1)
winzig
sieht lustig aus: python-Anwendung,
Adressbuchformat - Ascii-Winzig-Datenbankdatei;
keine Todo-, Kalender- und Notizen-Integration;
keine Tastaturkürzelnavigation;
url: http://www.muth.org/Robert/Winzig/
advance
: qt-basierter Outlook-Ersatz... Homepage:
http://advance.sourceforge.net/
$ pdf2ps CoasesPenguin.pdf # oder als Datei drucken aus xpdf $ psbook -s16 -q CoasesPenguin.ps CP1.ps $ psnup -2 -pa4 -Pletter -m-5mm -b-20mm -q CP1.ps CP2.ps $ ps2pdf CP2.ps $ xpdf CP2.pdf &
Schritte:
In diesem Fall, einer 73-Seitigen Ausgangsdatei, ergeben sich fünf Heftchen zu je 4 Blättern, welche separat gefaltet und dann zusammen gebunden werden. (Offenbar bleiben die letzten 7 A5-Seiten (nicht Blätter!) frei, da 73 kein Vielfaches von 16 ist (der Signatur).
Hätte man Signatur 4 gewählt, hätte man alle Blätter einzeln falten müssen und anschließend zusammenheften/binden müssen. Dafür hätte man aber ein Blatt eingespart (vier A5-Seiten).
Die Angabe des besten angeblichen Ausgangsformats habe ich durch Ausprobieren ermittelt. Leider ist mir kein besser Weg eingefallen.
"mount: /dev/scd0 is not a valid block device" oder so:
Module ide-cd
und ide-scsi
laden (mit modprobe oder insmod) und
nochmal versuchen.
Mplayer kann alsa nicht mehr benutzen! (Workaround:
~$ aoss mplayer -ao oss -playlist radio-stations/fculture.asx
Irgendwie ist die Konfiguration von meinem Dateimanager gentoo
kaputtgegangen. Die Navigation funktioniert nur noch mit der Maus
(iiih!), ein Haufen wesentlicher Tastaturkürzel sind verschwunden.
Die kann man zwar im Konfigurationsdialog unter der Rubrik Global
controls wieder herstellen (wenn man sich erinnert), aber ein wenig
Verständnis für die Funktionsweise der internen Kommandos hilft dabei
ungemein. Die entsprechende Doku findet sich unter dem Pfad
/usr/share/doc/gentoo/html/scratch/
(und bei meiner
apache-Einrichtung auch unter: http://localhost/doc/gentoo/html/scratch/).
Dort findet sich u.a. die Beschreibung der Anwendung des Kommandos
DpFocus
. Um ganz normal mit den Cursor-Tasten navigieren zu können,
muß also irgendetwas wie das folgende in der Konfiguration mit
Zuordnung zu den entsprechenden Tasten auftauchen:
DpFocus next
, DpFocus prev
, außerdem geht: DpFocus first
,
DpFocus last
.
Für die Selektion von Dateien verwendet man das gleiche Kommando mit dem Zusatz select:
DpFocus select=true next
, DpFocus prev
, außerdem geht: DpFocus first
,
DpFocus last
.
extract
dient der Extraktion von Metadaten aus Dateien
(eingebette Kommentare), z.B. für folgende Formate: html, pdf, ps,
mp3, ogg, jpec, gif, png, rpm, zip, real, qt und asf.
Leider habe ich nichtmal eine Fehlermeldung gefunden. Aber ich habe trotzdem den Verdacht, es könnte etwas mit den locale-Einstellungen zu tun haben.
Dazu gibt es bspw. folgende Anregungen:
zcat /usr/share/dictd/german-english.dict.dz | \ dictunformat /usr/share/dictd/german-english.index | \ iconv -f iso-8859-1 -t utf-8 | \ dictfmt -t --locale ru_RU.utf-8 german-english zcat /usr/share/dictd/english-german.dict.dz | \ dictunformat /usr/share/dictd/english-german.index | \ iconv -f iso-8859-1 -t utf-8 | \ dictfmt -t --locale ru_RU.utf-8 english-german zcat /usr/share/dictd/mueller7.dict.dz | \ dictunformat /usr/share/dictd/mueller7.index | \ iconv -f koi8-r -t utf-8 | \ dictfmt -t --locale ru_RU.utf-8 mueller7
Einfach blind die alte Konfigurationsdatei vom apache nach
/etc/apache2/httpd.conf zu kopieren war eine Schnapsidee ;-)
Stattdessen hätte ich einfach gleich die Datei
/etc/apache2/sites-available/default
anpassen sollen. Dann klappts
auch :-)
Außerdem mußte ich wieder in der Datei /etc/apache2/apache2.conf die
Zeile AddDefaultCharset ISO-8859-1
mittels #
auskommentieren,
damit die utf-8-kodierten Seiten von Localhost auch als solche
angezeigt werden...
for i in *.foo; do mv $i `basename $i .foo`.bar; done
$ mplayer -vo xv -fs -zoom -autosync 2 -softsleep -nocache -ao alsa9:default -ss 1:30:00 test.avi
Nebenproblem mit alsa: wenn der Sound von test.avi bspw. eine Bitrate von 32000 hat, die Soundkarte aber auf einen anderen Wert eingestellt ist und das Häkchen "Rate State Locked" gesetzt ist, dann kommt der Sound zwar immer noch synchron aber in falscher Frequenz raus (z.B. mit dem Klang der Heliumparty ;-). Ist „Rate State Locked “ hingegen nicht gesetzt, dann wird die Masterclock-Frequenz der Soundkarte angepaßt. Wenn aber jetzt ein zweiter Sound dazu kommt, dann hat er offenbar nicht mehr die Möglichkeit, die Masterclock-Frequenz anzupassen und klingt wieder sehr merkwürdig... Aber das kann man bestimmt auch ändern... ?
Wie kriege ich ein pdf-Dokument doppelseitig gedruckt, ohne temporäre
Dateien anzulegen? Im xpdf-Druckdialog wird statt "Drucker: lpr"
folgendes eingetragen:
psselect -e | lpr
-- Blätter umgedreht wieder einlegen und
psselect -o | lpr
-- fertig.
Suche immer noch ein Werkzeug, zum komfortablen Zerschneiden von Sound-Dateien ... und habe u.a. WavBreaker gefunden. Cool. (siehe auch AudioSplit)
Versuche, dmix zum Laufen zu kriegen waren mit alsa 0.9.6 nicht erfolgreich.
Dafür aber mit Alsa 1.0.0, jedenfalls zum Teil: laut Anleitung von
http://alsa.opensrc.org/index.php?page=DmixPlugin habe ich also in
.asoundrc ein pcm dsp0
und ein pcm ossmix
angelegt.
Nun heißt es da, es sei wichtig, daß das ossmix-Gerät funktioniere,
z.B. mit alsaplayer -o alsa -d ossmix some.mp3
. Tut es aber nicht.
Dafür funktioniert das dsp0-Gerät, welches ja eigentlich nur auf
ossmix verweist, oder?
Wenn ich versuche, ossmix direkt zu benutzen, dann kommt unweigerlich der Fehler:
aplay -D ossmix test2.wav Playing WAVE 'test2.wav' : Signed 16 bit Little Endian, Rate 11025 Hz, Stereo aplay: set_params:827: Sample format non available
Was das heißen soll, ist mir leider immer noch nicht klar geworden... Heißt es, daß das Gerät mit dem angebotenen Format nicht umgehen kann? (Habe versucht, den Test-Sound mit sox in verschiedene Formate umzuwandeln, aber es hat alles nichts geändert. z.B.
$ sox test2.wav -t wav -r 48000 - resample | aplay -D ossmix - sox: Length in output .wav header will be wrong since can't seek to fix it Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo aplay: set_params:827: Sample format non available)
$ aoss xmms &
Anleitung befindet sich in
/usr/share/doc/alsa-source/README.Debian.gz
, aber alles ist nicht so
einfach, wie es aussieht...
Inhalt von /usr/src
alsa-driver-0.5.tar.gz alsa-driver.tar.bz2 alsa-driver.tar.gz alsa-modules-2.4.22lsxp_0.9+0beta12+3+p0+10.00.Custom_i386.deb kernel-headers-2.4.22lsxp kernel-headers-2.4.22lsxp_10.00.Custom_i386.deb kernel-image-2.4.22lsxp_10.00.Custom_i386.deb linux linux-2.4.22.tar.bz2 linux-2.4.22.tar.bz2.sign modules rpm
Es ist also kein Kernel-Source-Tree dabei, aber dafür ein selbstgebautes Kernelpackage und ein allgemeines Kernel-Source-Package.
# 1. Auspacken des Kernel-Source-Pakets $ tar xjf linux-2.4.22.tar.bz2 $ ln -s linux-2.4.22 linux # 2. Config-Datei besorgen $ dpkg-deb -c kernel-image-2.4.22lsxp_10.00.Custom_i386.deb | less ... -rw-r--r-- root/root 31844 2003-09-12 11:04:07 ./boot/config-2.4.22lsxp ... $ dpkg-deb -x kernel-image-2.4.22lsxp_10.00.Custom_i386.deb tmp $ cp tmp/boot/config-2.4.22lsxp . $ rm -R tmp # (der aufmerksame Leser haette natuerlich einen weniger # aufwendigen Weg gewaehlt ;-) $ cp config-2.4.22lsxp linux/.config $ cd linux $ emacs Makefile # Zeile aendern in: EXTRAVERSION =lsxp $ fakeroot make-kpkg --revision 0.1 --added-modules alsa-driver modules_image # abwarten und Teetrinken $ dpkg -i ../(das neue also-driver-paket) => post-install-script scheitert!?
alles Quark. Ich habe jetzt ein neues Kernel-Image produziert (robert from scratch, oder wie das heißt) und dann auch gleich die neuen Alsa-Tarballs installiert (1.0.0rc2) -- leider nicht als Debian-Pakete.
Eigentlich sagt man, ALSA sei popelleicht zu installieren. Hmmm...
Wichtig zu wissen ist der Typ der Soundkarte (Terratec EWX 24/96).
Auf der ALSAࢠSoundcardࢠMatrix kann man das chipset (envy24) und den entsprechende Treiber (ice1712) in Erfahrung bringen. (http://www.alsa-project.org/~goemon/ – Last update Thu Jun 6 14:43:05 PDT 2002!).
Zur Kontrolle einer solchen Soundkarte wird das Programm
envy24control
eingesetzt. Aber was bedeuten die ganzen Dinger, die
man dort „unter Kontrolle“ hat?! (AudioEnvy)
(Die Soundcard Matrix merkt außerdem an: „IEC958 TOSLINK Input“, „IEC958 TOSLINK Output“, was offenbar den Typ der optischen Ein- bzw. Ausgangsbuchsen beschreibt, für die Soundkartensteuerung entspricht dies „S/PDIF In“ bzw. „S/PDIF out“)
zum Testen der Einstellungen, die man mit envy24control vorgenommen
hat, kann man aplay verwenden: aplay test.wav
.
Die vielen Regler erwecken aber den Verdacht, daß man die auch konkret
ansteuern kann. Aplay hat ja auch eine Option -D
, mit der man das
device (Gerät) an welches das Signal geleitet werden soll, bestimmen
kann.
Problem: aplay -D hw:0,0 test.wav
antwortet aber:
Playing WAVE 'test.wav' : Signed 32 bit Little Endian, Rate 44100 Hz, Stereo aplay: set_params:814: Channels count non available
(Fehler durch Routine: snd_pcm_hw_params_set_channels
in pcm.h
– wohingegen aplay -D default test.wav
durchaus funktioniert. Was
heißt also „Channels count non available“? Und wie heißt „default
“ wirklich bzw. wie kriegt man das raus?
Lösung: Statt der device-Angabe hw:0,0
muß plughw:0,0
angegeben
werden! Jaroslaw Kysela: „You should use plughw. ICE1712 chips
operates with all 12 channels for the capture direction, so additional
conversion in user space is required.“
(www.mail-archive.com/alsa-user@lists.sourceforge.net/msg01533.html)
Sogar aplay -D plughw:0,0,0 test.wav
funktioniert. Nicht aber
aplay -D plughw:0,0,1 test.wav
(⇒ „aplay: main:484: audio open
error: Device or resource busy“). Wie kommt man also an die vielen
Regler ran?
Infos aus dem Manual der Karte, welches natürlich für den gemeinen Windowsbenutzer geschrieben wurde ;-(
Quellen Mixer-„Geräte“ Ausgänge - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Analog-Eingang │ ╭──────────────╮ ╭╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╮ └─→│Analog-In-Gain├──┼───→ Analog In │ ┌→ WaveRecMixer ╰──────────────╯ ╎ │ ╭─────────╮ │ Digital-Eingang ───────┼───→ Digital In ├──→│AnalogOut├──┼→ Analog-Ausgang ╎ │ ╰─────────╯ │ WavePlay-Analog ───────┼→ wavePlay Analog │ └→ Digital-Ausgang ╰╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╯
Dem entsprechen folgende Elemente in envy24control
:
„Analog Volume“ „Monitor Mixer“ „Analog Volume“ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Analog-Eingang │ ╭──────────────╮ ╭╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╮ └─→│ IPGA 0 | 1 ├──┼──→ HW In 1 | 2 │ ┌→ WaveRecMixer ╰──────────────╯ ╎ │ ╭─────────╮ │ Digital-Eingang ───────┼→ S/PDIF In L | R ├──→│DAC L | R├──┼→ Analog-Ausgang ╎ │ ╰─────────╯ │ WavePlay-Analog ───────┼───→ PCM 1 | 2 │ └→ Digital-Ausgang ╰╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╯
In dieser Darstellung fehlen noch die Regler „Analog Volume“→„ADC 0“/„ADC 1“. Aber im „Signalrouting“ und in der „Control Center“-Darstellung im EWX 24/96 Manual sind nur fünf Regler erwähnt. Sind also die Envy24control-„ADC #“-Regler überflüssig und machen gar nichts?
erstaunlicherweise funktioniert die Wiedergabe mit xine wesentlich besser als mit mplayer (auf meinem alten Compi funktionierte xine (so gut wie) gar nicht, deshalb bin ich jetzt einfach positiv überrascht ;-) -- beim Abspielen desselben avi-Films vom CD-Laufwerk hat mplayer entweder den Ton zerhackt oder das Bild lief äußerst stockend. xine kennt diese Probleme nicht:
$ xine -V xv -A oss -f -R $FILM
-V xv
: Video-Treiber; -A oss
: Audio-Treiber (alsa funktioniert
nur unter expliziter Angabe des Geräts, alternativ kann oss
angegeben werden); -f
: Bildschirmgröße; -R
: als Hintergrundbild
laufen lassen.
Noch keine optimale performance, aber die folgenden Einstellungen sind der Zwischenstand in meiner Suche ;-/
mplayer -vo xv -fs -zoom -autosync 2 -softsleep -nocache film.AC3.avi
-nocache
scheint nötig zu sein, weil die avi-Datei
"non-interleaved" ist, -- sonst kommt es zu totaler
(nicht-synchronisierbarer) Verschiebung zwischen Bild und Ton...
-vo xv
ist offenbar nicht optimal auf meinem System (Grafikkarte:
NVidia Geforce 3D Blaster 4 Titanium): obwohl die CPU keine
Vollauslastung anzeigt, springt das Bild (außer ganz am Anfang der
Wiedergabe).
Wie benutzt man eigentlich sox
, snd
, gnusound
oder audacity
zur Verbesserung der Klangqualität von alten Kassetten- oder
Plattenaufnahmen?
Und wie kriegt man den Sound für die Archivierung möglichst klein, ohne allzu große Qualitätsverluste? (Zum Beispiel bei Sprachaufnahmen oder so, die übliche sogenannte CD-Qualität ist ja wohl wirklich eine sogenannter "overkill": 32bit pro Sample, 44100 Samples pro Sekunde, 2 Kanäle!)
Zum Testen: sox t0.wav -t wav -r 11025 -b8 - resample ¦ aplay -
(-r 11025
: Sampling Rate („normal“ ist 44100) ; -b8
:
Sample-Breite 8 bit, kann auch bspw. 16 oder 24 sein...; -
ist hier
der Name der Ausgabe-„Datei“ – Weitergabe an das Programm nach ¦
;
resample
ist die Bestimmung des Filters für die Umwandlung des
Eingabesignals in das Ausgabesignal). Das gleiche nochmal mit Ausgabe
in Datei t1.wav:
sox t0.wav -t wav -r 11025 -b8 t1.wav resample
oggenc -q5 -b32 --resample 11025 ursprungsdatei.wav -o ergebnisdatei.ogg
(-q5
Qualität 5; -b32
ungefähre Bitrate 32 kbps;
--resample 11025
Sampling Rate, also: Anzahl der Tonbeschreibungen
pro Sekunde, 11025 ist ein viertel des Werts für „CD-Qualität“)
Wenn das Klangspektrum technisch bedingt oder durch Alterung des Tonträgers leicht einseitig erhalten ist, kann man es zwar nicht "wiederherstellen", aber man kann bspw. die Tiefen und Höhen verstärken. Das geht natürlich nicht mit sogenannten Highpass- oder Lowpass-Filtern, da diese entsprechend die Tiefen oder Höhen rausfiltern (und entsprechend die Höhen bzw. Tiefen "pass"ieren lassen), aber das Mittelfeld, welches meist das besterhaltenste ist, nicht beeinträchtigen. Also braucht man einen Bandpass-Filter, welcher also bestimmte Frequenzbereiche (sozusagen 'Streifen' aus dem Spektrum) verstärkt.
Artikel in Chip.de: HomePlug
Versuche eine altes Modem wieder in Betrieb zu nehmen. Aber ich erhalte folgende Meldungen:
pppd 2.4.1 started by robert, uid 0 send (ATZ*NC3M1&C1^M) timeout set to 75 seconds expect (OK) ATZ*NC3M1&C1^M^M OK -- got it send (ATDT01930945^M) expect (CONNECT) ^M ATDT01930945^M^M CONNECT -- got it send (\d) Serial connection established. using channel 2 Using interface ppp0 Connect: ppp0 <--> /dev/ttyS0 Terminating on signal 2. Connection terminated. Receive serial link is not 8-bit clean: Problem: all had bit 7 set to 0 Exit.
Was heißt hier: »Receive serial link is not 8-bit clean: Problem: all had bit 7 set to 0«? - Offenbar nicht unbedingt das, was es sagt... Google weist darauf hin, daß es oft trotzdem klappt, eine Verbindung mit Seyon oder Minicom herzustellen... -?!
lcp-max-configure N
eingestellt werden, wobei N eine Zahl von 30
aufwärts sein soll.
installiert:
xkbset
-- weil es erlaubt, den Mauszeiger mit der numerischen
Tastatur zu steuern;
xkeycaps
-- zum Anzeigen von keyboard-layout und Tastennummern;
xkeysw
und xkeysw-config
-- soll gestatten, die Tastaturbelegung
individuell für jedes Fenster zu konfigurieren (oder so).