Da bin ich ziemlich zuversichtlich
Hast Du denn in der jungfräulichen Datenbank auch den Pfad angelegt?
Verwaltung/Konfiguration/Speicherorte…
Könnte sein, dass ich die Grundkonfiguration bei der Neuanlage versehentlich übersprungen habe, ja.
Muss ich später reproduzieren (immer wieder alles auf NULL stellen. ). Aber dafür sind Testsysteme schließlich da.
Randbemerkung / Notiz an mich: Diskutiere nie mit einem Informatiker über den Unterschied zwischen 0
und NULL
. (Insider )
Jetzt muss ich trotzdem mal, vielleicht etwas naiv, zurückfragen: Warum ist in deinem Beispiel überhaupt so eine Fantasiezeit (60) eingetragen?
Sähe das csv
so aus, nämlich ohne "Duration"
, würde die Zeit dann nicht automatisch beim Import berechnet?
"ExternalID","Filename","Title","Version","Artist","Comment","Track","Genre","Einzeltitel (Titelfolge)","Urheber","Stimme","Sprache","Werk-Gesamttitel","Schlagwort","Jahr","Populartitel","Original-Titel","Dirigent","Mitwirkende","Text","Album.Barcode","Herausgeber","Album","Album.Bestellnummer","EndType","Last Modified"
"6584-1-A-8","E:\Eigene Dateien\Musik-Archiv\Umschnitte\6584\Animals - Let The Good Times Roll - 6584-08.mp3","Let The Good Times Roll","","Animals","",8,"","","Lee, Leonard / Goodman, Shirley","m - männlich","englisch","","",1966,"","","","","","4013659041610","Universe","The Animals","4161","",24.02.2021 10:10:54
Ich verstehe den Sinn dieser Spalte im konkreten Beispiel (noch) nicht.
Sinn ist, dass man mit “einem Rutsch”
- Datenbankeinträge mit Audio sowie
- Datenbankeinträge ohne Audio, also Dummies
importieren kann.
Ist z.B. von einer CD (oder einem anderen Tonträger) nur ein Titel digitalisiert, können so alle Tracks des Tonträgers importiert werden.
Der digitalisierte Titel bekommt in diesem Fall die auf dem Tonträger angegebene Zeit (Duration) mit. Diese kann, wie @Tondose weiter oben schon erläuterte, falsch angegeben, falsch abgelesen und dann falsch eingegeben oder warum auch immer von der tatsächlichen Abspieldauer abweichen und soll deshalb ignoriert (weil ja Audio vorhanden!).
Alle anderen Titel werden mit der Duration als Dummie importiert und sind dann mit ihrer Länge in der Datenbank für eventuelle weitere Schritte verfügbar.
Letztlich müsste die Abspieldauer beim Import wie folgt behandelt werden:
Import ohne Audio ==> Duration übernehmen und in Dummie schreiben (wie es seit Build 4414 ja funktionert)
Import mit Audio ==> Duration im csv-file ignorieren
Jetzt klarer?
Jepp.
Wir müssten quasi den Fall abfangen, dass eine "Duration"
mit dem Eintrag ""
eben nicht zu einem 00:00:00
führt, sondern zu einer realen Berechnung.
Richtig so?
Nein. Es muß geschaut werden, ob ein Audio vorliegt. Falls ja, wird dessen Länge ausgelesen und übernommen; falls nein, die in Duration
eingetragene Länge.
Wenn du das zur Bedingung machst, kannst du auf Duration
doch auch komplett verzichten, oder?
Warum?
Das ist bestimmt so, denn so konnte ich wiederum Deine Fehlermeldung nachstellen…
Diese Schlusfolgerung kann ich nicht nachvollziehen
Momentan ist eine automatische Längenberechnung nach einem csv-Import leider nicht möglich.
Vielleicht gibt es in einer späteren Version die Möglichkeit dazu, aber das ist ein Blick in die
Hinzu kommt, dass Corona & Co. uns stärker ausbremst als uns lieb ist.
Es fehlt an Zeit (und irgendwann auch an Energie), zumal wir gerade an anderen Projekten mit noch höherer Priorität basteln.
Ich möchte an dieser Stelle, insbesondere im Namen von Torben, um euer Verständnis bitten.
Davon war ja auch nie die Rede.
Aber egal, für mich abgehakt. Schreibe scheinbar neuerdings chinesisch…
Gut, dann habe ich dich missverstanden.
Was dann möglicherweise zu einer anderen Aufwandseinschätzung geführt haben könnte…
Leider nein, denn auch wenn wir momentan nicht infiziert sind oder keine schweren Krankheitsverläufe durchmachen, so ist Corona mit all’ seinen riesigen Nebenwirkungen ein erheblicher Zeitdieb, der uns zwingt, uns stärker zu fokussieren (und so ganz nebenbei auch noch Geld zu verdienen).
Ich hab zwar @UliNobbe heute mittag am Telefon gesagt, das geht nicht. Aber wenn ich jetzt so in den Code schaue…
// Updating? Start with cloned copy of original
if assigned(orig) then
pi := orig.Clone as IPlaylistItem
// Otherwise construct new
else begin
if _fn = '' then
pi := fInstance.Factory.CreateDummyPlaylistItem
else
pi := fInstance.Factory.CreateFilePlaylistItem(_fn, fInstance.Factory.DefaultImportTasks - [fitAutoSaveMMD]);
pi.Database := '';
pi.DatabaseID := '';
end;
dann würde ich jetzt davon ausgehen, dass er bei neuen, noch nicht in der Datenbank vorhandenen Dateien (Filename nicht leer) den ganz normalen Import-Krempel durchführt (DefaultImportTasks
).
Aber wie Uli schon sagte, Zeit ist gerade der limitierende Faktor, daher kann ich es nicht in Ruhe ausprobieren.
Das heißt, normalerweise sollte das so sein und er tut es aus irgendeinem Grunde nicht?
Er tut es - Stand jetzt - nur dann nicht, wenn eine Duration (egal mit welchem Wert) angegeben ist. Wenn die Spalte Duration nicht existiert, macht er es richtig, wie er es immer gemacht hat.
Ich fürchte, wir drehen uns im Kreis…
Nee, das heißt ja, daß der Mechanismus an sich da ist und normalerweise auch funktioniert, nur in diesem speziellen Falle nicht. Dahin zielte meine Frage, wollte nur sichergehen.