Datenbank-Playlisten importieren

Ist es möglich, eine Datenbankplaylist in einem externen Programm zu bearbeiten und dann wieder in die mAirListDB zu importieren?
Die Importieren-Schaltfläche funktioniert nämlich nicht. Genauso das Einfügen aus der Zwischenablage.

Um welches Programm handelt es sich denn?

Ich hab es selbst geschrieben.
Nimmt die Playlist, die ich vorher in die Zwischenablage kopiert habe.
Das wird dann durchgemischt und mit Jingles versehen.
Danach möchte ich das ganze wieder in die DB-Playlist reinbekommen.

Von wo genau hattest du die Elemente ursprünglich in die Zwischenablage kopiert?

Schau mal in den XML-Code, da muss der Wert “mAirListDB:…” gesetzt sein, sonst akzeptiert die Datenbankverwaltung das Element beim Einfügen nicht.

Aus mAirListDB > Playlisten. Alle Einträge markieren, Rechtsklick “Kopieren”.
Allerdings wenn ich meine bearbeitete Playlist wieder einfügen möchte, ist der Eintrag “Einfügen” im selben Kontextmenü deaktiviert.

Eine Playlist würde beispielsweise so aussehen (Beispiel 1 Titel):

<Playlist><PlaylistItem Class="File"><Title>Drop in Musik - Alphahit Wir sind Musik</Title><Duration>30000000</Duration><Database>mAirListDB:C8C21261666F891322F44BB7C4B34D14</Database><DatabaseID>2725</DatabaseID><Color>#80FFFF</Color><Options><SpecialItem/><NoLogging/></Options><CueData><CueDataItem Position="667572" Class="Marker" Type="CueIn"/><CueDataItem Position="38081972" Class="Marker" Type="CueOut"/><CueDataItem Position="37743990" Class="Marker" Type="FadeOut"/></CueData><Filename>Y:\Musik\Alphahit\Jingles\Drop in Musik - Alphahit Wir sind Musik.mp3</Filename></PlaylistItem></Playlist>

Es funkioniert auch nicht, wenn ich den Code aus der DB in einen Texteditor kopiere und dann von dort wieder zurück in die DB…

mAirList nutzt für den Zwischenablagen-Transfer ein eigenes Clipboard-Format namens “mAirList Playlist”. Zusätzlich wird beim Kopieren der XML-Text auch noch CF_TEXT und CF_WIDETEXT bereitgestellt, damit man sich ihn z.B. in einem Editor anschauen kann. Beim Einfügen muss aber “mAirList Playlist” verwendet werden.

Um mAirList Daten für das Einfügen bereitzustellen, musst du zunächst mit RegisterClipboardFormat(“mAirList Playlist”) eine Format-ID für “mAirList Playlist” anfordern, und dann mit SetClipboardFormat() die Daten setzen. Die Daten selbst müssen als UTF16-String (WideString) übertragen werden, und zwar in einem globalen Speicherbereich (HGLOBAL, siehe Funktion GlobalAlloc).

Alternativ kannst du die Dateinamen ins Clipboard kopieren (CF_HDROP).

Klingt alles etwas kompliziert, ist aber der übliche Weg, den alle Anwendungen gehen.

Danke, funktioniert!! :slight_smile: