- Status Zugeteilt
- Prozent erledigt
- Aufgabentyp Wunsch / Idee
- Kategorie GUI & Server → GUI
-
zuständig
Qasi - Betriebssystem All
- Schweregrad niedrig
- betrifft Version unbestimmt
- fällig in Version 3.4
-
fällig am
unbestimmt
- Stimmen 2
- versteckt
gehört zu Projekt: DMXControl 3
angelegt von Qasi - 04.10.2011
zuletzt bearbeitet von Qasi - 13.11.2019
angelegt von Qasi - 04.10.2011
zuletzt bearbeitet von Qasi - 13.11.2019
FS#616 - Altanative Live View
Ich hab mir gedacht das eine andere art der Live View auch sehr interessant wäre.
Als Tabelle wie bei folgendem Bild.
Hab mich dran gesetzt. Allerdings in XNA 4.0, wegen der einbindung muss ich noch sehen ob ich ein vorübergehendes Workaround hinkriege.
Hab ein Performantes Workaround gefungen.
Hab hier mal nen paar erste Bilder
MfG
Patrick
ListView2.png (17,2 KB)
Ich finds super!
Würde sogar spontan sagen man baut es soweit aus, dass es das Programmerfenster ersetzen kann.
Problem ist im moment nur, das das auf XNA 4.0 läuft, und ich die Daten deshalb per UDP zur ListView senden muss.
Ich wär auch dafür das als Programmer zu nehmen, allerdings müst ihr vorher alles auf 4.0 portieren.
Ich meine sogar in einem Projekt gesehen zu haben, dass gleichzeitig XNA 3.0 und 4.0 Controls verwendet wurden. Kann ich aber auch täuschen. Hast du einfach mal versucht das Control in nem PluginWindow zu instantiieren?
Habs schon versucht.
Da krig ich ne Fehlermeldung wegen verschiedenen Frameworks.
Weil das PluginWindow nicht selber 4.0 sein kann muss ich da 3.5 verwenden.
Ah, kann sein. Dann müsste das .NET 4.0, XNA 3.0 und XNA 4.0 gewesen sein.
Ich hatte Lumos testweise mal auf .NET 4.0 umgestellt. Soweit gabs da keine Probleme. Einzig man braucht dann VS2010 für Lumos und VS2008 fürs LiveView. Bei Arne funktionierts, ich habe da mal eine sehr schlechte Erfahrung mit gemacht. VS2008 konnte nicht mehr gestartet werden und auch nicht deinstalliert, genausso VS2010 → Rechner platt machen. Super. Aber ich probiere das nochmal.
Hy,
Aber ist ja kein Problem. Für die 3.0 ändert sich nix mehr, und bis zur 3.1 sollten wir die XNA 4.0 Portierung erledigt haben.
Vielleicht kann Qasi hier ja unterstützen. Scheint ja zu klappen mit XNA
Gruß Arne
Noch als Ergänzung. Soll das den Programmer ersetzen, oder eine Alternative für das LV werden?
Bei letzterem müsste man sich überlegen, wie man Geräte selektieren kann usw.
Ich will nur, das wir uns auf den Scope einigen.
Gruß Arne
Zum selektieren hab ich schon was gebaut.
Is eigentlich wie in der LiveView, Klicken oder Maus gedrückt halten und ziehen dann loslassen, oder Strg drücken und klicken oder Maus gedrückt halten und ziehen dann loslassen zum ergänzen der Auswahl.
Problem Nr. ist wirklich nur die Portiernug.
Also dann werden da quasi immer alle Geräte angezeigt, und man kann die da direkt selektieren.
Cool.
Wie gesagt eine Portierung auf XNA 3 macht keinen Sinn. Wir müssen eh das aktuelle LiveView auf XNA 4 portieren.
Gruß Arne
Kann ich eigentlich auch meine PlugInDll debuggen während sie von DMXControl benutzt wird?
Das is nähmlich extremst umständlich die Ganzen fehler nur durch die LogFiles zu finden.
MfG
Patrick
Hier der aktuelle Stand.
Alles was Gelbe Schrift ist ist Selektiert;
ListView4.png (19,9 KB)
Hy,
Ja kannst du. Einfach in deinem Projekt der DLL bei den Einstellungen bei "Debug" angeben, das DMXControl gestartet werden soll.
Gruß Arne
und wie Kann ich die SelectedDevices ändern?
Ich komm irgendwie nur an eine ReadOnlyLIste.
Debuggen krig ich nicht hin, liegt daran, das ich Express benutze undnicht Professionel
Hy Qasi,
Dafür musst du ein Commando absetzen. Wo läuft dein Plugin? Im Kernel oder?
Wir sollten das nicht hier im Bugtracker besprechen. Lass uns ein Skype meeting vereinbaren. Evtl. nächstes WE am Fronleichnamswochenende?
Gruß Arne
Hy,
Ich glaub dein Plugin läuft in der GUI. Hier mal folgender Code zum Selektieren:
var s = cm.GuiSession;
var command = s.getCommandInstance("Kernel", "createSelectedDevicegroup");
var l = new List<string>();
for (int i = 0; i < liste.Length; i++)
{
}
command.execute(s.Name, l.ToArray(), null);
Aber noch ein Hinweis: Die Reihenfolge in der GuiSession.Devices Liste kann sich ändern. Daher wäre es vielleicht besser, wenn du kein "bool[]" array sondern ein string[] Array mit den IDs überträgst. 2 Vorteile:
1. Du sparst dir die komplette Schleife, weil du das string[] direkt als Parameter im Command übergeben kannst
2. Wenn sich die Reihenfolge ändert, dann macht das nix.
Gruß Arne
Könn demnächst gerne mal Skypen, aber die Tage wird das nichts
Danke für den Code
Der COde war sehr hilfreich.
Danke nochmal dafür.
Hab mal nen kleines Video gemacht, wo mann die aktuellen funktionen sehen kann.
Aktueller Stand der Dinge ist:
ListView mit XNA4 ist Fast vollständig ausgebaut(Performt sehr gut, ist aber wegen der aktull schlechten kampatibilität sehr Rescourcenlastig)
ListView mit .NET 3.0 ist in der entstehung, und performt auch sehr gut, kaum Rescourcen lastig, aber weniger übersichtlich
Die Performance ist auf einem Rechner mit 8 Kernen a 4Ghz und 8 GB Ram getestet worden.
Ich könnte demnächst eine erste Version Veröffentlichen, Die ListView mit .NET 3.0 Offentlich im Forum und XNA4 nur für Betatester
MfG
Patrick
Hy Qasi,
Kannst du uns mal den Code zuschicken, wir würden es auch gerne mal testen. Muss ja auch auf PCs laufen die weniger leistungsfähig sind.
Außerdem haben wir uns neulich darüber unterhalten, was die Zukunft ist. XNA ist ja abgekündigt, deswegen werden wir auf MonoGame umsteigen. Du hast die Diskussion im Forum evtl. gesehen. Das ist aber kompatibel zur XNA 4 API, ergo, solltest du keine Probleme haben das nochmal umzustellen.
Gruß Arne
Es handelt sich um 2 Programme.
Das erste ist das Plugin, das In DMXContrl integriert wird, dieses Plugin Packt die Daten der Fixtures und Schickt diese per UDP raus(127.0.0.1), und oder benutzt die Gepackten Daten um in Selbigen Plugin Die .NET ListView zu zeichnen.
Die zweite Programm ist das XNA4 ListView, es schnappt die Daten von UDP auf und zeichnet die Fixtures.
Es ist nur So Rescourcenlastig weil ich die Daten Packen, Senden, Empfangen und Entpacken muss(4Threads, die Rescourcen ziehen) bevor sie verwendet werden können.Auserdem stelle ich das Programm so ein, dass es mit 61fps läuft, um kein Ruckeln zu sehen, unter langsameren rechnern kann mann es bis 15 fps drosseln.
Ich wäre bereit, unter "Umständen" das erstere euch zu übermittel, allerdings ähnelt es derzeit noch einem Schlachtfelt, da es zu beginn nur als vorübergehendes Workearound für die XNA4 ListView gedacht war, wo ich jetzt aber eine .NET ListView integriere, für Alte Grafikkarten, die nicht XNA-Kompatibel sind.
Ich muss es vorher noch ordentlich aufräumen.
Ich weis nicht, ob das hier der richtige ort dafür ist, aber zu den Besagten "Umständen".
Ich hab beim Jahrestreffen den Mitgliedsantrag ausgefüllt, und immernoch kein Feedback erhalten, Wie steht es dadrum?
Ich würde gerne SVN nutzen, doch das kann ich erst, wenn ich den zugang zum SVN bekomme.
Ich möchte nicht, das der Code Öffentlich für jedermann zugänglich ist, nur für Die Entwickler der DmxControl3.x Software
P.S.
Ich weis nicht, wo diese Diskusion Über XNA und Mono gewesen sein soll, ist das im Internen Forum gewesen?
Da hab ich keinen Zugriff zu.
MfG
Patrick
Hy Qasi,
Ok, generell alles verstanden. Die Diskussion war im Internen Forum. Hab vergessen dass du da noch keinen Zugriff hast, kümmere mich aber darum.
Gruß Arne
Hab nen kleines Problem.
Im moment Packe ich alle Devices und deren Outputvalues und schick alles per UDP.
Am liebsten würd ich gerne auf ValueChanged Events umsteigen, allerdings funktioniert das entsprechende Event nicht, oder ich bin im falchen Object unterwegs.
Ich hab die Events über den ConnectionManager im "IDeviceFacade" und "IDevicePropertyFacade" alle ausprobiert, aber keines springt auf wertänderungen im Propertygrid oder durch Scenenlisten an.
Wie krig ich den da das richtige Event?
MfG
Patrick