Kritik

Inhaltsverzeichnis

Einleitung
Programmstart
Alben
Albumbilder
Einschränkungen
Technisches
Externe Lizenzen

Der Classical Music Scanner

Was sind Sinn und Zweck dieses Programms?

Der Unpopular Music Player und der Opus 1 Music Player verwenden die Mediendatenbank des Android-Systems. Diese ist unvollständig, enthält diverse falsche Angaben, und der Automatismus, mit dem die Datenbank aktualisiert wird, ist schwer vorhersagbar und versagt mitunter.

Um die Musikbibliothek ordentlich zu verwalten, müssen sich diese Programme die fehlenden und unvollständigen Metadaten mittels einer "Tagger"-Bibliothek selbst aus den Audiodateien extrahieren. Das funktioniert zwar recht gut, aber das Inkonsistenzproblem bleibt.

Der Classical Music Scanner macht für die o.g. Programme die System-Mediendatenbank überflüssig, indem er eine eigene erstellt, wenn auch nur für Audiodateien (keine Bilder und Filme). Die Musikprogramme greifen, wenn sie entsprechend konfiguriert sind, auf diese Datenbank zu. Die Tagger-Bibliothek in diesen beiden Programmen wird damit nicht mehr benötigt.

Start aus dem Opus 1 Music Player

Über den Menüpunkt „Gerät nach Musik durchsuchen...“ oder über das Kontextmenü.

Start aus dem Unpopular Music Player

Über den Menüpunkt „Gerät nach Musik durchsuchen...“ oder über das Kontextmenü in der Wiedergabe-Ansicht.

Start aus dem Classical Music Tagger

Geschieht automatisch unsichtbar im Hintergrund, wenn Dateien verändert oder gelöscht wurden.

Start als eigenständiges Programm

Einfach starten und die grüne oder gelbe Schaltfläche betätigen.

Der „Auto Scan“ sucht nach geänderten, gelöschten und hinzgefügten Dateien und aktualisiert die Datenbank ensprechend. Stellt das Programm fest, daß die Änderungen sehr viele sind, entscheidet es sich selbständig (nicht: selbstständig, wir wollen doch nicht stottern...) für einen vollständigen „Scan“, desgleichen auch im Fehlerfall.

Geht etwas schief, kann man den vollständigen „Scan“ manuell mit der gelben Schaltfläche auslösen.

Alben, auch aus mehreren CDs

Im Gegensatz um Android-System hat der Scanner einen Mechanismus, solche Alben korrekt zu behandeln, auch wenn nicht alle Dateien im selben Verzeichnis liegen. Dazu verwendet man ein Albumverzeichnis, in dem das Albumbild ("folder.jpg") und für jede CD ein Unterverzeichnis liegen. Diese müssen "CD1" etc. oder "1" etc. heißen.

Ansonsten gehört zum selben Album, was den gleichen Albumnamen und den gleichen Album-Interpreten hat. Die Dateien sollten alle im selben Verzeichnis liegen.

Albumbilder

Albumbilder liegen im Albumverzeichnis und heißen "albumart.jpg/png" oder "folder.jpg/png". Außerdem ist "cover.jpg" erlaubt. Andere Dateinamen, auch "Folder.jpg" o.ä., werden nicht erkannt.

Fehlt ein Bild, wird das größte eingebettete Bild aus den zugehörigen Audiodateien extrahiert (falls vorhanden) und als Bild abgespeichert. Der Dateiname ist konfigurierbar. Anschließend wird es ggf. herunterskaliert, wobei je nach Programmeinstellungen die Originaldatei in ".backup" umbenannt wird.

Wenn in den Einstellungen gewünscht, werden vorhandene Albumbilder ebenfalls skaliert und ggf. die Originaldatei gesichert.

Wenn in den Einstellungen gewünscht, werden vorhandene Albumbilder ggf. umbenannt.

Sind die Bilder zu groß, stocken die Musik-Abspielprogramme beim Durchblättern. Deshalb sind, wie im Android-System, 500 Pixel voreingestellt. Im Gegensatz zum System wird eine Datei von 501 Pixeln jedoch nicht auf 250 reduziert, weil Android stets halbiert, bis es paßt, sondern auf 500.

Einschränkungen

Bilddateien mit Namen wie „AlbumArt.jpg“ können nicht in „albumart.jpg“ umbenannt werden.

Schreibzugriffe auf SD-Karte, USB-Speicher usw. sind von Android verboten. Dafür benötigt man den SAF-Scanner.

Technisches

Die Hauptfunktionalität ist in C++ geschrieben, sogenannter „native code“.

Das Programm verwendet die C++-Bibliothek TagLib.

Das Programm verwendet nicht die SQLite-Datenbankfunktionen, die in Android enthalten sind, sondern bringt seine eigene SQLite-Programmbibliothek mit.

Die erzeugte Musik-Datenbank kann theoretisch auch von anderen Programmen genutzt werden. Man kann sie auch auf den Computer kopieren und dort z.B. mit dem "DB Browser" analysieren.

Externe Lizenzen

TagLib C++ Library:

Source: https://taglib.org/

License: LGPL (http://www.gnu.org/copyleft/lesser.html) and MPL (https://www.mozilla.org/en-US/MPL/1.1/)

SQLite C Library:

Source: https://www.sqlite.org/

License: https://www.sqlite.org/copyright.html


Kritik

Kommentare, Kritik, Verbesserungsvorschläge bitte an:

Kontaktiere Suppen-Ort