DMXC3 Session Changer

  • Hallo an alle, die auch laufend eine Kopie eines Projektes auf einen anderen Rechner kopieren,
    im Nachgang geht dann der SoftDesk nicht mehr da die Session ID ( Rechner-Name) in den Dateien nicht zum aktuellen System passt.


    Hier ein kleines Tool welches alle Umbenennen-Aktionen selbst erledigt.
    Bis der Softdesk neu geschrieben ist werden bestimmt noch ein paar Tage vergehen.... bis dahin kann das Programm seine Arbeit verrichten.


    Es packt die ZIP Dateien selbst aus und wieder ein. Erstellt dabei eine Kopie, damit werden die Original-Daten nicht verändert.
    Der zwischenzeitlich erstellte Arbeitsordner kann optional automatisch, nach Änderung gelöscht werden.
    Die neue Session ID kann optional an die geänderte Projekt-Kopie als Erweiterung des Namens angehängt werden.


    Ab V2.1 wird ein Kopien Zähler als fortlaufende Nummer am Ende der Datei hinzufügt. Das Prog merkt sich diese ; sie kann geändert werden.


    Das Programm gibt es als 64 Bit Version auf WIN 7 / 8 und 10 bzw. überall wo .NET 4.5 installiert ist. ( XP prüfe ich nicht mehr)
    DIe 32 Bit habe ich rausgelassen... wer 32 Bit benötigt sagt was.


    Das Programm wird üblicher Weise auf dem Ziel-Computer gestartet.
    Ein Installer ist nicht erforderlich; einfach irgendwo hinwerfen und starten. :) ( zuerst Funktion...Dann schön :) )



    .
    Dateiversion V2.1 von 05.08.2016 23:00
    Gruß Uwe

  • wird das opensource, wenn es funktioniert?
    Gruß Scyte

    Was mit Gaffer nicht klebt, ist kaputt! :rolleyes:


    Je mehr Käse desto mehr Löcher
    Je mehr Löcher desto weniger Käse
    Ergo:
    Je mehr Käse desto weniger Käse :thumbup:

  • Hallo Didda,
    Ich starte immer das Kernel separat.?! Warum ein Tool ?
    Weil ich als alter Mann meine grauen Zellen fitt halte und mit .NET 4.5 VS 2015 VB + C# auch mal was machen muss, einfach weil es Spaß macht.
    Weil ich dafür nicht lange brauche.
    Weil ich mich nicht mit mehreren Rechnern ( GUI's ) mit gleichem Namen an das Kernel ( den Server ) anmelden kann.
    Weil solche Tricks mir schon ein paar mal den Softdesk zerschossen haben und ich alle Assingments neu machen musste.
    Weil dieses kleine Prog mit 2 Klicks in 5sec. alles macht was ich brauche, wovon der SplashScreen 3sec angezeigt wird.


    und , und ...


    Gruß Uwe

  • die Sourcen liegen, immer noch nicht bei, oder?
    Sorry das ich da so drauf rumhacke, aber schon sooft haben winzige Veränderungen z.B. an DMXC) solche Tools "kaputt" gemacht(Pfadändererungen), der Entwickler aber nicht mehr aktiv ist, deshalb bevorzuge ich es wenn der Source beiliegt.
    Gruß
    Scyte

    Was mit Gaffer nicht klebt, ist kaputt! :rolleyes:


    Je mehr Käse desto mehr Löcher
    Je mehr Löcher desto weniger Käse
    Ergo:
    Je mehr Käse desto weniger Käse :thumbup:

  • Hallo Scyte,
    das ist ein eingenständiges Tool ...klein Plugin.
    Es passt die Session-Namen in den XML Dateien an. Hat also direkt nichts mit dem Hauptprogramm zu tun.


    Es nimmt einem diverse mauelle Schritte ab die Projektdatei zu entpacken den ganzen Kram mit einem Editor um zu benennen und alles wieder ein zu packen. Mit dem Umbau des Softdesk wird sich das ohnehin erledigt haben. Dann kann man es löschen.
    Es ist Freeware kein opensource , wobei mir das auch egal wäre. Ladet's euch das runter, vieleicht lernt noch wer was.


    ... na dann viel Spaß mit dem Code...vollkommen unspäktakulär.


    Update: 5.8.16
    Gruß Uwe

  • Hi Uwe!
    Super tool!
    Vielen Dank dafür!
    Erspart einiges an Zeit. Wenn man an einem Projekt etwas geändert hat, braucht man nun nicht mehr Ewigkeiten, um es auf einem anderen PC zum Laufen zu bringen!


    BTW: ich starte Kernel+GUI auch immer getrennt. Hatte das mal irgendwo irgendwann als Thema gelesen. Aber warum eigentlich? Was ist der Vorteil?

  • Hallo Stefan,
    das ist richtig...
    Versuche mal das mit 3 Rechnern gleichzeitig diese so am gleichen Kernel ( Server ) zu verbinden.
    Dazu ist das Kernel ja geschrieben worden um sich mit mehreren GUI's zu verbinden.


    Verbinde dich mit einem Projekt bei dem du nicht weist wie der Session-Name ist.
    Es gibt noch ein paar Möglichkeiten......
    DIe Chance sich hierbei die Assignments zu zerstören ist sehr groß.
    Logischer Weise speichert jeder Client (GUI) seine Änderungen .


    Der Weg hierbei ist, nicht den Session-Namen anzupassen in der Verbindung , sondern das Projekt an den Rechner wo es läuft.
    Mit dieser Variante ist mit Softdesk nicht mehr kaputt gegangen. Ferner lassen sich Softdesks verschiedener Clients ( GUI's) Gleichzeitig ausführen , wenn die Passenden Dateien ( eine "richtige" Kopie für jeden Client vorhanden sind ) ...ich weis nicht ob das dokumentiert ist.
    Diese "richtige" Kopie für jeden Client muss erstellt werden, hierzu gibt es nichts ausser "deinen" Lieblings-Editor.


    @patme
    das freut mich .....genau dazu ist es da .. was ich noch überlegt habe, das ausgepackte Verzeichnis automatisch zu löschen da es bei vorhandensein nicht überschrieben wird. Wenn man jedoch mehr als ein Softdesk-Client hat wird das komplexer und man muss mit den gleichen Daten weitermachen.
    Ich kann das ja mal separat beschreiben.


    Zum START des Kernels: Es gibt eine Local-Variante hier startet , die GUI das Kernel mit. Dann die Netzvaiante mit und ohne Localhost.
    Und die echten Clients , die sich an ein bereits laufendes Kernel über das Netzwerk anbinden.
    Die "beste" Variante kann ich auch nicht ausmachen. Klar ist, das alles was auf dem gleichen Rechner läuft das schnellste ist, und 127.0.0.1 ( localhost) die schnellste Netzverbindung darstellt.


    Gruß Uwe

  • @hothand mir ist schon klar das das eigenständig ist :) es ging mir explizit um die Sourcen. Von Freeware habe ich nie beschreiben, sondern von Opensource.


    Habe die die Software noch nicht benutzt, aber das GUI sie schon mal gut aus :P
    Gruß Scyte

    Was mit Gaffer nicht klebt, ist kaputt! :rolleyes:


    Je mehr Käse desto mehr Löcher
    Je mehr Löcher desto weniger Käse
    Ergo:
    Je mehr Käse desto weniger Käse :thumbup:

  • Uwe: danke für die Erklärung.
    Mit dem Löschen des Ordners wollte ich dir auch vorschlagen. Das wäre (für mich) übersichtlicher, da ich viel zwischendurch speichere.
    Außerdem noch : meinst du es ist möglich die erstellte zip Datei mit dem Namen der neuen session id zu versehen? Im Moment nennt er die Datei "neu" und eine Nummer.


    Gruß Patrick

  • HI @patme
    was hälst du von einem echten Backup-Datei-Counter.. ?
    Und das löschen der Ordner und Namen hinten anhängen kann ich als User-Option einbauen kein Problem.
    Das heist nach der ersten Verwendung merkt sich das Prog deine Anpassungen alleine.


    Ich werd das selbst mal dahin gehend testen , mein Weg ist immer:
    Ich programmiere das DMXC am Laptop A ... kopiere die Datei auf den Laptop B ( Backupsystem ) .. hier wird die Datei mit dem Tool angepasst.
    Dann noch mal auf den Licht-Server C ( WIn 7 ) hier wird die Datei auch mit dem Tool angepasst.


    Wenn mann jetzt gleich ein Versions-Zähler hat, wäre das nicht schlecht und wenn der Name des Projekts auch gleich erkennen lässt wo es hingehört ist das auch nicht verkehrt.
    Weg 2 wäre : ich kenne ja den Namen des Zielgerätes und könnte ihn auch in Laptop A gleich eintragen, habe dann sofort eine richtige Kopie die dann sofort auf Laptop B , dem Licht-Server C läuft.


    Gruß Uwe

  • HI @patme
    EIngebaut:


    ab V2.0
    .... Automatisches Löschen ( Usersetting wird gemerkt)
    .... Session ID hinten anhängen statt "neu" ( Usersetting wird gemerkt)
    Mit dem Counter überlege ich mir noch was
    Vielieicht sollte ich nur 64 Bit Versionen machen . Wer braucht denn noch 32 Bit ?


    ab V2.1
    .... Kopien Zähler ...einstellbar ( Usersetting wird gemerkt) nach erstellen der ZIP Datei wird hochgezählt


    Download im ersten Beitrag ( Datei geändert 64 Bit Version ist enthalten )



    @Scyte
    Source Update -> oben....


    Gruß Uwe

  • Hy,


    Also erstmal coole Sache. Theoretisch sollte es aber so sein wie Didda geschrieben hat. Wenn ich mich von einem anderen PC verbinde und den gleichen Session Namen angebe sollten die Daten alle übernommen werden. Falls das nicht funktioniert, ist das ein Fehler der von uns behoben werden sollte.


    Trotzdem sind solche "Fingerübungen" immer gut :)

  • Hallo @Soon5
    das ist schon richtig und bekannt ...... es funktioniert auch , bis nach " irgendeiner Speicheraktion" die Assigments defekt sind.


    Zweitens : wie verbinde ich mich mit mehr als einen Client ? wieder mit der gleichen Session ID ?
    Hier meckert schon das Kernel .
    Das ist alles nicht rund...


    Habe ich jedoch für jeden Client ein {client-name}_GuiInputConfig.xml in meinem Projekt und stimmen die Inhalte und Namen mit dem Projekt überein dann ist alles OK
    Und nun bitte das Ganze auf einen Backup Rechner kopieren ..
    Das war die Ausganssituation.


    Vieleicht wird alles was Softdesk betrifft und ebenfalls die "Gleichzeitigkeit" der Clients die damit arbeiten, entsprechend geändert.
    Dann entfällt das hier alles. wäre schön.


    Da wir aber gerade über die XML Daten reden ... AffinityData, AffinityClass


    und die hier ist "klein" ... mit 19MB und knapp 400Tsd Zeilen


    Nicht das es nicht geht :) aber ist das eine Gute Idee ? Thema Ladezeiten und so ?



    Vieleicht könnte hier eine DB-am Kernel besser sein zumal diese von "den Clients" besser bedient werden könnte.
    Und von diesen XML Daten auf Tabellen zu wechseln ist kein großes Ding.


    Gruß Uwe

  • Hy,


    Die Ladezeit der XML Datei, also das Parsen geht relativ schnell. Hier bringt eine DB keinen wirklichen Performance Vorteil. Man könnte hier evtl. für das Speichern ein Binärformat wählen, dass wäre kompakter, ist aber egal, da die XML Datei sowieso per ZIP Komprimiert wird, ergo ist der vorteil auch wieder weg. Eine DB braucht man auch deshalb nicht, weil die Daten der XML Datei zur Laufzeit sowieso im Speicher gehalten werden. Von daher ist der Vorteil einer DB dass ich zur Laufzeit auf Teilmengen der Daten performant zugreifen kann auch weg.


    Von daher, ja es ist eine 19 MB Datei, na und?


    Dein anderer Einwand mit den mehreren GUIs ist durchaus valide. Es war so nie geplant, dass ich die Input Config auf mehreren GUIs verwende, ist aber valide. Das nehme ich mal mit als Idee wenn wir jetzt im Rahmen der 3.2 das sowieso überarbeiten.


    Gruß


    Arne

  • Hallo!


    Dass ich von mehreren GUIs aus über nur einen Kernel die komplette (Live-) Steuerung mittels des Softdesk für ein Projekt abwickeln kann, würde ich ehrlich gesagt als grundlegendes Feature ansehen wollen. Das gilt soweit auch für MIDI, Tastatur und ggf. auch DMX-In. Denn wieso soll ich mehrere verschiedene Projekte haben mit unterschiedlichen Konfigurationen? Das wäre mir zum einen zu umständlich und zum anderen geht es ja technisch nicht. Und mittlerweile kann man auch schnell mal zwei oder mehr PCs für eine Veranstaltung zusammenbekommen, um gemeinsam das Licht zu steuern (wie es bei MA ja auch läuft).


    Nur so nebenbei: Worüber man an dieser Stelle jetzt streiten könnte, ob es Sinn macht, die Konfiguration für OSC-Messages nicht direkt über den Kernel laufen zu lassen bzw. sie dort abzulegen und diesen dann auch als entsprechenden Empfänger einzusetzen, anstelle den Umweg über eine GUI zu nehmen.


    Viele Grüße, Stefan von den LightningBrothers.

  • 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.