Keine Länge bei Dummy-Import?

Da bin ich ziemlich zuversichtlich :slight_smile:

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. :roll_eyes:). 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 :grin: )

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 :star_struck: 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? :thinking:

Warum?    

Das ist bestimmt so, denn so konnte ich wiederum Deine Fehlermeldung nachstellen…

Diese Schlusfolgerung kann ich nicht nachvollziehen

@UliNobbe: Bitte hier noch einmal lesen.

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

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.

1 Like

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.