Import Export Plugin

  • Moin,

    Ziel dieses Projekts ist es die fehlende Funktion Projekte mit allen Abhängigkeiten zu sichern und/oder komfortabel auf andere Rechner zu kopieren in DMXControl nachzurüsten.

    Dafür kann das komplette Projekt bequem mit wenigen Mausklicks als .zip oder .tar.bz2 Datei exportiert werden. Und genauso leicht wieder importiert werden.

    Bekannte Probleme sind u.a.
    - die globalen Farb und Gobo Listen, DMXIn, MIDIRemote diese werden momentan einfach überschrieben, wenn also ein älteres Projekt importiert wird und für ein neueres diese Listen verändert wurden, wird das neue Projekt nicht mehr funktionieren.
    - Musik kann zwar importiert und exportiert werden, aber die Pfade im Audioplayer müssen noch manuell angepasst werden (sofern die sich unterscheiden)
    - die verwendeten Plugin Konfigurationsdateien werden noch nicht mit kopiert

    Da das nur eine Überbrückung für die irgendwann erscheinende Version 3 von DMXC sein soll, habe ich nicht alles selber geschrieben, sondern verwende fertige Programme für das Komprimieren und das Erkennen der Musik, es werden folgende benötigt:
    - Export im zip Format: 7-Zip oder zip + unzip
    - Export im tar.bz2 Format: bsdtar
    - Export von der im Audioplayer benutzten Musik: tr+cat
    - Später wird evtl. noch sed benötigt

    Die Programme des gnuwin32 Projekts liegen in Form eines Installers oder als Zip Datei vor.

    [Blocked Image: http://img195.imageshack.us/img195/3549/importexport.th.png] 

    Genial wäre es natürlich, wenn Stefan oder ein anderer DMXControl Entwickler mir Infos über das Dateiformat von gobolist.dat etc. geben könnte, dann könnte man vorhandene und zu importierende zusammenführen, ausserdem könnte man so automatisch die Pfade für den Audioplayer anpassen, das geht zwar aber nur so lange der neue Pfad gleichlang dem Alten ist.

    Der Code steht unter der GPL, jeder der will kann ihn also verwenden. Sollte irgendwer einen Fehler finden, bitte meldet den. Solltet ihr den selber beheben können, bitte schickt mir den veränderten Code, damit alle etwas davon haben. Sollte jemand Interesse haben an dem Projekt aktiv mit zu entwickeln, kann ich ihm Schreibzugriff auf das Git Repository geben.

    Habe gerade angefangen ein Wiki Artikel zu schreiben Hier

    Dennis

  • Hallo,

    vielen Dank.
    Superidee, so ein brauchbares Feature über ein Plugin zu ergänzen. Ich habs zwar noch nicht getestet, aber werde es danach im Wiki im Pluginarchiv aufnehmen.

    Am Sonntag werden wir darüber in der Projektbesprechung diskutieren.

    Nochmals danke, weiter so!

    GRuß Frank

  • So nochmal ein bisschen weitergemacht,

    geändert Musik sollte nun besser erkannt werden
    geändert tempoärers Verzichnis wird nach dem importieren gelöscht
    geändert stage image Pfad wurde falsch ersetzt
    hinzugefügt Plugins und Output Plugins werden exportiert und importiert (durch neue Version ersetzen geht noch nicht, weil DMXControl auf die Plugins zugreift und diese nicht überschieben werden können, ich denke da an ein externes script, das gestartet wird, wenn DMXControl beendet wird, also wenn IDMXCPlugin_Term() aufgerufen wird)

    Dennis

  • du musst den Kram erst mal installieren, bzw. ich lad immer nur das Zip mit den Binaries und die Dependencies, dann hab ich nur das, was ich wirklich brauche. Später solltest du dann also mindestens diese Dateien

    in einem Ordner haben
    und dann in der Pluginkonfiguration unter Einstellungen -> Pfade jeweils den richtigen Pfad angeben.

    Dennis

    PS: hab mal mein Ordner gezipt und Angehängt

  • also ich kann den Fehler nich nachvollziehen, da ist nur eine Zeile für verantwortlich, evtl. irgendwelche Sonderzeichen im Namen? Kannste die ddfs mal zippen und hochladen oder das ganze Projekt?
    Da fällt mir was ein, was ich noch machen muss, alle Pfade in das gute alte 8+3 Format umwandeln

    Dennis

  • haja blöder Fehler :) geht jetzt
    hatte die Befehle mit der falschen Funktion gestartet Shell() wartet nicht, bis der gestartete Prozess beendet ist.

    Dennis

  • Du meinst den Ordner, den man beim Importieren mit "Ordner suchen" angibt?
    Geplant ist eignetlich folgendes. In den Einstellungen stellst du ein, ob du gefragt werden willst, wo die Musik abgespeichert werden soll.
    Wenn das nicht der fall ist, schiebt der die Musik an die ursprüngliche Stelle.
    Wenn ja, dann kannst du auswählen wo (z.B. Projekt am Rechner zu Hause erstellt, Musik auf X:\Meine\geile\Mukke\in\Unterverzeichnissen\, soll importiert werden aufm nem Laptop, der hat aber nur C:\).
    Dafür wollte ich 2 verschiedene Modi einbauen:
    1) Du wählst das Stammverzeichnis aus, sagen wir C:\DMXControlProjekte\, dann wird die Verzeichnisstruktur so übernommen wie sie ist.
    C:\DMXControlProjekte\Meine\geile\Mukke\in\Unterverzeichnissen\
    oder 2)
    Du hast die Datei

    Code
    X:\Meine\geile\Mukke\in\1.mp3X:\Meine\geile\Mukke\in\Unterverzeichnissen\Band1\Dies.mp3X:\Meine\geile\Mukke\in\Unterverzeichnissen\Band2\Album\Das.mp3

    So nun wählst du auf dem Laptop das Stammverzeichnis für Musik auf, C:\DMXControlProjekte\Musik\, es wird nun nach dem ersten Verzeichnis gesucht, das unterschiedlich ist, sodass am Ende so etwas entsteht

    Code
    C:\DMXControlProjekte\Musik\1.mp3
    C:\DMXControlProjekte\Musik\Unterverzeichnissen\Band1\Dies.mp3
    C:\DMXControlProjekte\Musik\Unterverzeichnissen\Band2\Album\Das.mp3

    Dennis

  • ahhh das hatte ich mir grade auch gedacht, das det für die musik sein soll :D
    da würde es doch aber reichen das er mich fragt "wohin musik kopieren":rolleyes: und nicht "ordner suche":P

    aber wenn du det ja noch änderst oki.
    ansonsten perfekt und extrem hilfreich!!!!!!!!!

    könnte einer evtl. nen installer bauen der allet nötige installiert und kopiert ??

    mfg maik

  • Hi Dennis,

    ich hab auch noch ein paar Wünsche:

    Die Pfadeinstellungen findet man recht schwer. Es ist auch ungewöhnlich, nur einen Menüpunkt im Menü zu haben. Erstelle da lieber einen Button dafür.

    Kannst Du irgendwie Tooltipps zu den geforderten Utilities angeben. "zip" und "Unzip" sind ja klar, aber nicht jeder wird verstehen, was die anderen Abükrzungen bedeuten und was unbedingt ausgefüllt werden muß. -oder ein kleines Hilfefenster einfügen.

    Trotz der Nachricht "Exportieren erfolgreich" wurde bei mir kein zip-file angelegt. Wird vielleicht 7zip nicht unterstützt?

    Gruß Frank

  • Quote

    Die Pfadeinstellungen findet man recht schwer. Es ist auch ungewöhnlich, nur einen Menüpunkt im Menü zu haben. Erstelle da lieber einen Button dafür.


    Hat ich so gemacht, weil ich nicht wusste was noch dazu kommt. Aber Button ist wohl wirklich einfacher zu finden

    Quote

    Kannst Du irgendwie Tooltipps zu den geforderten Utilities angeben. "zip" und "Unzip" sind ja klar, aber nicht jeder wird verstehen, was die anderen Abükrzungen bedeuten und was unbedingt ausgefüllt werden muß. -oder ein kleines Hilfefenster einfügen.


    Tooltips kann ich einbauen, ebenso wird es ne kleine Hilfe geben

    Quote

    Trotz der Nachricht "Exportieren erfolgreich" wurde bei mir kein zip-file angelegt. Wird vielleicht 7zip nicht unterstützt?


    Gut möglich, wenn sich die Befehle unterscheiden. Ich hab es für zip.exe angepasst. Aber jetzt wo du es sagst, 7Zip wird auf vielen Systemen schon verfügbar sein.
    War für mich als Linuxer der kürzeste Weg auf gnuwin32 zu gehen.

    Wie gesagt, das Plugin ist noch weit davon entfernt schön zu laufen, ist alles nochn bisschen gefrickelt :)

    Dennis

  • Quote

    Original von Frank Burghardt


    Trotz der Nachricht "Exportieren erfolgreich" wurde bei mir kein zip-file angelegt. Wird vielleicht 7zip nicht unterstützt?

    Gruß Frank

    ????? hast du 7zip als verpackungstool angegeben?? wie haste det denn geschaft?? dachte dennis sein tool schaut nach ob die zip.exe vorhanden ist.

    @ dennis warum net "winzip ,oder Tugzip " tugzip würde auch noch mehr unterstützen. würde aber sage das das zip format völlig ausreicht, wozu 2 formate??? ausserdem kann man zip zurnot auch von hand entpacken falls das plugin nicht verfügbar ist.

    mfg maik

  • du kannst momentan noch jede x beliebige exe angeben. Es wird nur geschaut, ob es die exe unter dem Pfad mit dem Namen gibt. Später soll dann der Versionsstring zip.exe --version ausgewertet werden, ob auch das richtige angegeben wird.

    Die Meldung "Exportieren erfolgreich" ist eine Lüge, die wird immer angezeigt, wenn das Plugin am Ende angekommen ist. Da wäre dann noch eine Prüfung ob wirklich eine zip Datei erstellt wurde sinnvoll.
    Zu den Packern ist folgendes zu sagen. Ich bin nunmal Linux User und Open Source Anhänger, darum ist mir auch nur 7Zip unter Windows ein Begriff. Generell könnte man die Tools einbauen, sofern die Packer die Kommandozeile unterstützen, bei zip sieht das so aus

    Code
    zip.exe -r 9 archiv.zip verzeichnis


    Wenn du mal guckst ob das bei denen auch geht, (bei 7zip gehts) also kA. winzip.exe --help oder /?
    und mir dann mal die Ausgabe schickst, kann ich die einbauen
    Das bz2 habe ich eingebaut, da es eine bessere Komprimierung als zip erreicht, und weil ich bei tar nicht erst suchen musste wie es geht :)

    Dennis

  • Newly created posts will remain inaccessible for others until approved by a moderator. The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.