Robbinaer

Das Technikblog aus dem Robbenradio

BatchEncoder: Ein mächtiges Windows-GUI für nahezu alle Audio-Encoder

Geschrieben von Steffen Schultz keine Kommentare

Standalone-Audio-Encoder und -Decoder werden, sofern sie nicht in Allround-Softwarelösungen als Programmbibliothek eingebunden sind, in der Regel als Kommandozeilen-Tool ausgeliefert. Dies erlaubt nicht nur eine einfache Portierung für die verschiedensten Betriebssysteme, auch ist die Syntax beim Aufruf des Kodierers auf allen Plattformen weitgehend gleich. Wer sich nicht mit den Parametern jedes einzelnen Codecs herumschlagen möchte, findet für die gängigen Desktops diverse Oberflächen, um diese Dateiverarbeitungsvorgänge zu vereinfachen. Ein übersichtliches und zugleich sehr mächtiges Windows-GUI für nahezu alle Kommandozeilen-Codecs ist BatchEncoder. Dabei werden nicht nur die gängigen Codecs wie MP3, AAC, OGG oder FLAC unterstützt, sondern auch viele eher exotischere Kodierer, darunter Monkey's Audio, Musepack, OptimFROG Lossless Audio, TTA und WavPack. Ein klassisches Encoding von Wave in komprimierte Formate oder Umwandeln aller Formate nach Wave wird dabei ebenso unterstützt wie das Transcoding zwischen verschiedenen verlustbehafteten und verlustfreien Audio-Codecs. Das Tool installiert die unterstützten Codecs jedoch nur dann, wenn sie auch tatsächlich benötigt werden, was die Größe der Grundinstallation sehr gering hält.

Kern des BatchEncoders ist ein umfangreicher Satz an XML-basierten Voreinstellungen und unter der Haube arbeitenden Powershell-Scripts, welche es Einsteigern sehr einfach machen das Tool zu verwenden. Die Voreinstellungen enthalten dabei nicht nur die eigentlichen Codec-Parameter, sondern auch die Download-Links für jeden Codec. Wird ein Konvertierungsvorgang zum ersten Mal gestartet, lädt ein Script im Hintergrund zunächst den Kodierer herunter, bevor dann die eigentliche Umwandlung stattfindet. Eine Formatumwandlung ist sehr einfach: Dateien oder Ordner im Edit-Menü hinzufügen, Format und Preset wählen, mit Klick auf "Convert" den Vorgang starten. Standardmäßig werden die fertigen Dateien im selben Verzeichnis wie die Quelldatei abgelegt, dies lässt sich jedoch unter "Output path" konfigurieren. Wem die in den Voreinstellungen angebotenen Parameter nicht reichen, kann sie im Options-Menü nicht nur bearbeiten, sondern auch neue Formate und Presets erstellen. Der Vielfalt sind keinerlei Grenzen gesetzt, sodass praktisch sämtliche Kommandozeilen-Parameter der jeweiligen Kodierer zur Verfügung stehen, und auch das Einbinden bisher unbekannter Kodierer möglich ist.

BatchEncoder basiert auf dem als eher veraltet zu betrachtenden GUI-Toolkit MFC und ist dank seiner nativen Windows-Oberfläche hervorragend auch mit Bildschirmlesern zu nutzen. An einer Implementierung der Oberfläche in wxWidgets wird derzeit gearbeitet. Quellcode, Downloads und ein Wiki sind auf der Projekt-Webseite bei GitHub abrufbar.

MATE-Desktop: Unterstützung von StatusNotifierItems verbessert Tastaturnavigation im Panel

Geschrieben von Steffen Schultz 1 Kommentar

Seit Version 1.18, und verbessert in Version 1.20, unterstützt die MATE-Desktopumgebung die vom Freedesktop-Projekt entworfenen StatusNotifierItems (SNI), welche als Alternative zu den traditionellen Systemtray-Symbolen gedacht sind. Vor allem für Tastaturnutzer bringt dieses Feature einen angenehmen Nebeneffekt mit sich. Besonders Qt-Anwendungen, die ein Benachrichtigungssymbol im Panel hinterlegt hatten, sorgten bisher dafür, dass die Tastaturnavigation im Panel quasi unmöglich wurde, sobald man das Symbol der Anwendung fokussiert hatte. Erst nach Beenden der Anwendung war eine fehlerfreie Navigation wieder möglich. Durch Aktivieren der SNI-Unterstützung tritt dieses lästige Problem nicht mehr auf. Um zu prüfen, ob SNI bereits akktiviert ist, genügt folgender Terminal-Befehl:

$ gsettings get org.mate.panel enable-sni-support

Wird hier als Wert "false" zurückgegeben, kann die Option mit folgendem Befehl aktiviert werden:

$ gsettings set org.mate.panel enable-sni-support true

Speziell für Qt-Anwendungen empfiehlt es sich des Weiteren, das Paket "sni-qt" zu installieren. Nach erneuter Anmeldung sollte im Panel ein problemloses Navigieren auch bei geladenen Qt-Anwendungen mit Benachrichtigungssymbolen wieder möglich sein.
Debian-Nutzer der Stable-Distribution können ihr MATE übrigens über die Backport-Quellen von v1.16 auf derzeit v1.18 aktualisieren.

Neue Yellow-Plugins auf GitHub: RadioBoss Cloud Widgets, Podcast-Feed und Globale Inhalte

Geschrieben von Steffen Schultz keine Kommentare

Ich habe soeben den Download-Bereich mit drei neuen Yellow-Plugins aktualisiert, welche in den letzten Monaten auf meinem GitHub-Profil entstanden sind. Im einzelnen sind dies folgende Erweiterungen:

RadioBoss Cloud Widgets

Hierbei handelt es sich um Anzeige-Widgets für den Dienst RadioBoss Cloud von DJSoft, über welchen ich bereits berichtet habe. Das Plugin enthält sämtliche derzeit angebotenen Widgets, darunter einen Stream-Player, Titel- und Cover-Anzeige sowie die letzten 10 gespielten Songs. Dieses Plugin habe ich noch nicht in die offizielle Plugin-Liste aufnehmen lassen, da sich RadioBoss Cloud zum einen noch in der Entwicklung befindet und daher auch das Plugin noch weitere Anpassungen bekommen könnte. Zum anderen dürfte dieser Dienst eher nicht von allgemeinem Interesse für die meisten Yellow-Nutzer sein. Ich lasse mich da bei genügend Interesse aber gern eines Besseren belehren. :)

Podcast-Feed

Dies ist eine modifizierte Version des originalen Yellow-Feed-Plugins, welche für die Erstellung von Podcast-Feeds optimiert wurde. Getestet ist das ganze nur wenig, speziell die iTunes-Tags konnte ich noch nicht prüfen (ganz ehrlich: itunes ist einfach nur kranker Bockmist!). Es sollte daher als Experiment betrachtet werden, das in seinen Grundfunktionen jedoch problemlos arbeitet. Meine Podcast-Aktivität werde ich vorerst auch weiterhin auf den Firtz beschränken, aber eventuell wird mir dieses Plugin als Meta-Feed auf meiner Projekt-Hauptseite dienen können.

Globale Inhalte

Ein kleines Manko des Yellow CMS sind die eher unflexiblen Seitenleisten. Möchte man eine einzige Sidebar für jede Unterseite haben, so geht dies nur durch händisches Erstellen der Datei in jeden Content-Ordner oder durch Anpassung der Snippets genannten Template-Bausteine. Dieses Plugin nimmt einem die Arbeit etwas ab, indem es die Bereitstellung beliebiger Seiten per Shortcut in anderen Seiten erlaubt. Am Beispiel einer globalen Sidebar muss nur noch einmal pro Ordner eine Sidebar mit einem [global]-Shortcut erstellt werden, welches auf eine beliebige Seite verweist. Danach muss diese Seitenleiste bei Änderungen nur noch einmal angepasst werden und ist sofort auf allen Unterseiten aktualisiert. Auf diese Weise lassen sich aber nicht nur quasi-globale Seitenleisten erstellen. Durch Änderung des Mode-Parameters im Shortcut sind auch Seiten-Teaser möglich, also Links mit Vorschautext einer Seite. Die einzubindende Seite sollte dabei mit einem [--more--]-Tag versehen sein, um beispielsweise nur den ersten Absatz als Anreißertext anzuzeigen.

Alle Plugins können via GitHub heruntergeladen werden und sind im Download-Bereich auch direkt als Zip-Archiv verlinkt. Genaue Beschreibungen sowie Installations- und Konfigurationshinweise sind in der jeweiligen Readme-Datei enthalten.

Fenrir Screenreader: Der gute Wolf für die Shell

Geschrieben von Steffen Schultz 3 Kommentare

Als blinder Nutzer eine grafische Linux-Oberfläche zu bedienen ist trotz aller Fortschritte bei Desktop-Systemen, Accessibility-Schnittstellen und nicht zuletzt dem Orca-Screenreader noch immer mitunter recht abenteuerlich. Zwar sind mittlerweile viele grafische Linux-Programme gut nutzbar, doch allein die Performance des Screenreaders reicht selbst auf schnelleren Systemen nicht an jene eines Windows-Bildschirmlesers heran, was die Arbeit teils erheblich behindern kann. Anders sieht es da in der Shell aus; dank Lösungen wie BRLTTY und Speakup ist hier ein zügiges, rein textbasiertes Arbeiten möglich und erlaubt je nach Distribution sogar eine von Grund auf zugängliche Installation des Linux-Systems. Und nicht nur blinde Nutzer wissen daher die Konsole zu schätzen, da in ihr viele Routineaufgaben effizienter erledigt werden können als auf dem Desktop.

Den Artikel Fenrir Screenreader: Der gute Wolf für die Shell lesen

Miniflux: Der minimalistische Feed-Reader wird in Go neu entwickelt

Geschrieben von Steffen Schultz keine Kommentare

Erst vor etwas mehr als einem Jahr berichtete ich über Miniflux, einem schlanken Feed-Reader auf PHP-Basis. Nun scheint es so, als wäre die Weiterentwicklung der PHP-Version nach gerade mal 4 Jahren zu einem plötzlichen Ende gekommen. Wie einem News-Beitrag auf der Projekt-Homepage zu entnehmen ist, möchte der Entwickler die Version 1 aufgeben und betrachtet sie als Legacy-Version, da ihm der Code zu alt geworden ist.

Weiter heißt es, dass Miniflux nicht tot ist. Stattdessen wird der Code nun von Grund auf neu geschrieben, jedoch kommt als Basis für die Version 2 das von Google mitentwickelte Go (Golang) zum Einsatz, eine sich an C orientierende, kompilierbare Programmiersprache. Miniflux wird also in Zukunft nicht mehr als Quellcode auf den Server hochgeladen, sondern lässt sich in einer einzigen ausführbaren Programmdatei aufrufen und als Server-Dienst starten. Des Weiteren soll nicht mehr wie bisher auf SQLite gesetzt werden, in Version 2 kommt ausschließlich PostgreSQL als Datenbank-Backend zum Einsatz.

Ich persönlich habe keinerlei Erfahrung mit Go und möchte diese Entwicklung daher nicht vorverurteilen. Ob es notwendig ist, eine Anwendung auf eine Codebasis zu portieren, die den Endanwender trotz der scheinbar einfachen Installation vor nicht unerhebliche Probleme stellen könnte, wage ich allerdings zu bezweifeln. Bisher war Miniflux theoretisch mit beinahe jedem Webhoster kompatibel. Die technischen Voraussetzungen haben sich durch die Umstellung auf Go und PostgreSQL nun signifikant erhöht.

Artikel-Feed (RSS) dieser Tag