Laufende Notizen

LaufendeNotizen

Installation von libtagedit

download von:

Beispiele

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;
unicode?
Wenn man nun den Titel mit 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?

Probleme

Der Versuch, den tageditor in einem kleinen Python-Script zu verwenden produzierte verschiedene Fehler.

Fehler: „ImportError: libGL.so.1: cannot handle TLS data“

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

Fehler: libtagedit.so.3 fehlt

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

keyboard-Konfiguration

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

xclipboard

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
Menu
setzen?

Umbelegung mit xmodmap

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'

Standard-Tastatur-Maus

> > > 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 

xsel

Mit dem Programm xsel kann man per Kommando den X-Auswahl-Puffer
setzen oder ausgeben: xsel -p oder echo "trallalla" xsel -s

xclip

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 :-/).

xte

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

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/

20050202

Die einzige cue-Datei-Spezifikation (en), die ich bisher gefunden habe entstammt dem CDRWin-Benutzerhandbuch (pdf). (auch AudioVerwaltung)

20050201

Ein News-Server-Suchdienst befindet sich unter http://www.muenz.com.

Linux-USB-User(s)-Mailing-Liste:

20040131

AudioProcessing: GWC

Installation von Gnome Wave Cleaner (http://gwc.sourceforge.net), Version 0.19-10 (developer-version).

./configure
(vorsorglich hatte ich libsndfile0 und libsndfile-dev mit apt-get installiert. Trotzdem Fehler: configure: error: Libsndfile 1.0.0 or greater not found, find it at: http://www.zip.com.au/~erikd/libsndfile/! – ich hätte wohl lieber gleich libsndfile1-dev installieren sollen!)

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.

SMTP-AUTH

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:

alternative Versuche
mozilla-thunderbird
keeps asking me the password, so I concluded that the username used was wrong. And, yes, using the username without @domain.dom allowed me to send a mail out!
balsa
Der Versuch ein mail mit balsa zu verschicken brachte den Fehler: Weiterverschicken verweigert:¶ 0: (null)¶ Die Nachricht verbleibt daher in Ihrem Postausgang. – was auch immer das heißen soll :-( – Nachdem ich aber die Option "TLS" für den ausgehenden mailserver von „notwendig“ auf „wenn möglich“ geändert habe, konnte die Nachricht verschickt werden.
evolution
Hier gibt es auch eine Einstellung zur Festlegung des Authentifizierungsverfahrens und einen Knopf zur Überprüfung der zur Verfügung stehenden Varianten. Es wird korrekt auf „NT-LOGIN “ (==LOGIN) eingeschränkt.

Debian-Paket aus dem Quellcode erstellen?

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 way

ist 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

  1. Auspacken des Programms tar -xzvf programm-vers.tar.gz in einen (dabei entstehenden) Ordner namens programm-vers/
  2. cd programm-vers
  3. tar -xzvf ../debpackage.tar.gz
  4. cd debian/
  5. Editieren der Datei changelog
  6. Editieren der Datei control
    (◦ alle < und >-Zeichen müssen verschwinden, ◦ ich mußte auch noch die Zeilen Source: program und Maintainer: Ansprechpartner am Dateianfang einfügen)
  7. cd .. (zurück zum Ordner mit dem ausgepackten Programmcode)
  8. 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
  9. Verifizieren, daß die Ergebnisse gut angekommen sind: cd ..; ls program-vers.*
  10. su
  11. 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 -y 
Das habe ich aber noch nicht probiert.

reStructuredText: der Ascii-Markup-Standard der Zukunft?

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 aktualisieren

Xresources können mit folgendem Befehl auf den neusten Stand (definiert in ~/.Xresources) gebracht werden:
xrdb -load $HOME/.Xresources

keyboard-Probleme

Wie kann man eigene Compose-Tasten-Kombinationen definieren?

???

Multimedia-Tasten usw.

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 (without the XK_ prefix) or the keysym database /usr/X11R6/lib/X11/XKeysymDB. Note that if the same keysym is bound to multiple keys, the expression is exe‐ cuted for each matching keycode.“

(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:

keysymscancode (ermittelt mit xev)
XF86AudioMute160
XF86AudioLowerVolume174
XF86AudioRaiseVolume176
XF86AudioPrev144
XF86AudioStop164
XF86AudioPlay162
XF86AudioNext153
XF86AudioMedia237

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

20040101

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)

20031221

20031219

DVD-Brennung

$ growisofs -Z /dev/scd0 -speed=1 -R -J .

Umsortieren von erweiterten m3u-playlists in emacs

(AudioVerwaltung)

(das perl-script extm3u.pl produziert falsch sortierte Playlisten.)

Umsortieren in emacs

  1. jeden Eintrag in eine Zeile bringen mit
    M-x replace-regexp \(#.*\)C-Q,C-J\([^#].*$\) \2::\1
    (wobei C-Q,C-J für Control-Q Control-J steht und ein Zeilenumbruchzeichen einfügt)
  2. Zeilen sortieren mit M-x sort-lines
  3. kombinierte Zeilen wieder zerteilen
    M-x replace-regexp \(^.*\)::\(.*$\) \2 C-Q,C-J \1

20031216

Adressbuch

„Coases Penguin“ von Yochai Benkler:

http://www.benkler.org/CoasesPenguin.html

Umwandlung einer langen PDF-Datei in eine Brochure

$ 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.

20031214

CD-/DVD-Laufwerk kann nicht gefunden werden

"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.

Alsa

Mplayer kann alsa nicht mehr benutzen! (Workaround:
~$ aoss mplayer -ao oss -playlist radio-stations/fculture.asx

Gentoo (Dateimanager) Konfiguration

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.

20031213

dictd will nicht starten

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:

Umwandlung der dictd-Datenbanken-Kodierung

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

Apache2

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...

20031212

Mplayer-Kommando mit neuem Alsa

$ 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... ?

Drucken von geraden Seiten bzw. ungeraden Seiten aus xpdf unter CUPS

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.

20031211

Suche immer noch ein Werkzeug, zum komfortablen Zerschneiden von Sound-Dateien ... und habe u.a. WavBreaker gefunden. Cool. (siehe auch AudioSplit)

20031210

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
)

20031208 Alsa-Treiber neu!

Anleitung befindet sich in /usr/share/doc/alsa-source/README.Debian.gz, aber alles ist nicht so einfach, wie es aussieht...

Wie komme ich an den Kernel Source Tree?

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
  2. Extrahieren der .config-Datei aus dem Custom-Kernel-Paket
  3. Auspacken der alsa-treiber-sourcen
# 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.

20031207 Wie funktioniert denn nun ALSA?

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“)

abspielen

zum Testen der Einstellungen, die man mit envy24control vorgenommen hat, kann man aplay verwenden: aplay test.wav.

Kanäle

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?

Soundkarte Terratec EWX 24/96 im Überblick

Infos aus dem Manual der Karte, welches natürlich für den gemeinen Windowsbenutzer geschrieben wurde ;-(

Das Signalrouting (vereinfacht)

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?

20031201 Film-Gucken

mit xine

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

mit mplayer

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  

20031130 Audio-Verarbeitung

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!)

mit sox

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

mit oggenc

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“)

Dumpfer Klang

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.

20031112 Radio uebers Internet?

20031108 Netzwerk im Hausstromnetz

Stichworte
PowerLine-Communication PLC, Home-Plug-Standard

Artikel in Chip.de: HomePlug

Anbieter
Corino oder so, EasyHome, Devolo MicroLink dLan: HomePlug-Adapter mit ethernet bzw. USB-Schnittstelle (je EUR 91,50 bei APS-Computer.de), Allnet blablabla (Adapter für ca. 65,- bei Ebay)
Alternativen
W-LAN (wireless), HomePNA (über Telefon-Leitungen), Cable-LAN (ueber Antennenkabel, Corino), Ethernet (Kabel)

20031028

Modem

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... -?!

20031014

installiert: