[atmocontroller] Betrieb unter Windows

  • mcdonald


    leider nein da sich brshub aka Bernd noch nicht zu Wort gemeldet hat... und ich seinen Filter leider mangels passendem SDK nicht übersetzt bekomme - das SDK was ich dazu bräuchte lässt sich leider unter Windows 2000 nicht mehr installieren und ruft nach XP bzw. Vista... und einem Visual Studio 2005 ... ich hab aber nur Win 2000 und VS 2003... von daher bin ich da momentan ein wenig aufgeschmissen sonst hätte ich mich da selbst schon dran versucht....




    Igor

  • Zitat

    Original von Igor
    klar können sie dass - probier mal mal die Version unten aus... sollte eigentlich gehen ... (ist aber immer noch Beta!) - da ich mit dem COM Schnittstellen noch Hadere wo ich diese am besten implementiere - hat zum Glück auf die Arbeit von Bernd so gut wie keine Auswirkung.


    Läuft! Super! :)

  • Matthiaz
    gern geschehen... war ja auch einfach... die Windows Message WM_POWERBROADCAST mit einer Hand Voll Code bedienen und schon geht auch sowas...


    So die COM Schnittstelle geht jetzt so ... für Bernd und ohne das ich zuviel Arbeit reinstecken musste damit es Stabil ist ... allerdings sollte man folgende Dinge vielleicht nicht gerade tun wenn eine Effect Generierung darüber läuft - d.h. das DirectShow Plugin als Input dient - * AtmoWin beenden
    * AtmoWin umkonfigurieren
    * AtmoWin Effekt wechseln
    Im Prinzip müsste es zwar gehen ... aber sicher bin ich mir da nicht...*g*


    Beta-Downloads
    bei mir: http://eldo.gotdns.com/atmowin/atmoX_srcbin.zip


    oder wenn ich nicht da bin


    http://www.primacom.net/~w6533344/atmowin/atmoX_srcbin.zip



    Igor

  • Hallo,


    ich habe am Freitag abend die sourcen von atmowin geladen, konnte sie aber nicht übersetzen, weil die AtmoWin.idl Datei nicht enthalten war. Ich habe dann selbst eine idl Datei und einen Com-Server mit dem Interface als Beispielanwendung erstellt, habe das wie im Source von Igor in die Rot eingetragen. Konnte auch im Client einen Interface-Pointer bekommen, die Funktionen des Interfaces aufzurufen hat aber nicht funktioniert (Exception). Gegen 2Uhr habe ich entnervt aufgegeben.


    Am Samstag und Sonntag hatte ich keine Zeit. Jetzt habe ich mir die aktuellen Sourcen angesehen. Exzellente Arbeit von Igor! Es scheint nicht mehr viel Arbeit zu sein den DirectShow Filter zu schreiben.



    Bis dann Bernd

  • Hallo Bernd,


    ja der Version von Freitag war wohl ein Schuss in den Ofen ... ;) habs ja am Samstag / Sonntag fast nochmal alles in die Tonne getreten.


    Wenn du noch was brauchst an Funktionen oder so... sags einfach...


    Allerdings ein Problem sehe ich noch kommen - die Wandlung das YV12 Formates oder dieser anderen typischen Overlay Formate und unser HSV Picture .... hast du dir mal den Speicheraufbau eines solchen YV12 Bildes angesehen? dort liegen die Pixeldaten nicht so Simpel wie bei einem RGB Bild im Speicher so das man einfach 64x48 Pixel herauskupfern kann... da wird sicherlich nochmal einiges an Hirnschmalz notwendig sein...


    derzeit kann mein Com Server
    - 16 Bit
    - 24 Bit
    - 32 Bit RGB verarbeiten
    oder ein Pseudoformat "HSVI" - d.h. es wird direkt ein HSV Image übergeben - was ich 1:1 zur Verarbeitung durchreiche...



    Zitat

    Konnte auch im Client einen Interface-Pointer bekommen, die Funktionen des Interfaces aufzurufen hat aber nicht funktioniert (Exception). Gegen 2Uhr habe ich entnervt aufgegeben.


    mmh das Problem hatte ich gestern auch nochmal ...vielleicht fällt dir ja was dazu ein ... ich hatte versucht in der Thread Klasse welche LiveView kontrolliert ein COM Objekt zum implementieren - und wollte dies gleich nach dem start des Threads in die ROT eintragen - allerdings gabs dabei immer wieder Speicherschutzletzungen während es API Calls RegisterActiveObject( ... ) hast du ne Idee womit das zusammenhängt?
    Wenn ich das im HauptThread d.h. meiner Main Funktion mache geht das ohne Probleme.... typisch COM oder?


    Zitat

    Am Samstag und Sonntag hatte ich keine Zeit. Jetzt habe ich mir die aktuellen Sourcen angesehen. Exzellente Arbeit von Igor! Es scheint nicht mehr viel Arbeit zu sein den DirectShow Filter zu schreiben.


    ich werd gleich rot...



    Igor


    (PS.: meine AtmoWinA.exe braucht auch kein REG-File mehr... d.h. sie schreibt die notwendigen Registry Einträgt jetzt selbst... Bernd du hast ja direkt zugang zu meinem Arbeitsrechner... kannst dir ja dort die notwendigen Quellen saugen...)

  • Hallo,


    so nochmal neues Beta Futter ...


    bei mir: http://eldo.gotdns.com/atmowin/atmoX_srcbin.zip
    oder wenn ich nicht da bin
    http://www.primacom.net/~w6533344/atmowin/atmoX_srcbin.zip


    Was ist anders.:
    - erstens der COM Server schreibt seine Registry Einträge selbst... das macht die noch vorhandenen .reg Files hoffentlich überflüssig...
    (ob das schreiben der Registry gelingt - sehr ihr wenn ihr das kleine Programm Namens "AtmoCtrl.exe" ausprobiert - damit kann man AtmoWin fernsteuern... Farben wechseln, die Effekt Modi wechseln ... ich werde dort mal noch einen Fading Effekt einbauen - den im Anschluss nach dem Abspielen einer DVD wenn der Player endet verwenden will um wieder ein wenig Licht ins Dunkel zu zaubern... :) aber halt schön sachte das Licht anmachen - wie im Kino wenn der Film vorbei ist... *g*



    Igor

  • Hallo,



    sieht gut aus mit dem DirectShow Filter. Ich habe das Interface eingebaut, konnte aber nicht testen ob es funktioniert, weil ich ja kein AtmoLight habe.


    Ich habe mir deshalb eine AtmoDSFilterTestApp Applikation gemacht, die ebenso wie AtmoWin den Com-Server beinhaltet und das Vorschaubild mit SetDIBitsToDevice im Fenster ausgibt. Das funktioniert für RGB32 Video-input.


    Werde den Source noch etwas überarbeiten, mal sehen wie es diese Woche noch klappt.


    Zitat

    Allerdings ein Problem sehe ich noch kommen - die Wandlung das YV12 Formates oder dieser anderen typischen Overlay Formate und unser HSV Picture .... hast du dir mal den Speicheraufbau eines solchen YV12 Bildes angesehen?


    YV12 ist ein planares Format: es kommen erst die Y daten, dann U und V. Etwas andere Pointer Arithmetik. Es gibt etwas seltsame Formeln zum Umrechnen in RGB. Ich denke es wäre gut, wenn man im Filter das Übergabeformat in der PropertyPage wählen könnte.



    Gruß Bernd

  • brshub
    klingt ja schonmal gut...


    Zitat

    sieht gut aus mit dem DirectShow Filter. Ich habe das Interface eingebaut, konnte aber nicht testen ob es funktioniert, weil ich ja kein AtmoLight habe.


    mmh - dafür habe ich ins AtmoLight extra ein Dummy Interface eingebaut - d.h. in der Auswahlliste mit COM1... gibts am Ende einen Eintrag "Dummy" aktiviere diesen mal... dann hast du auch AtmoLight - in Software... ;) und siehst was die AtmoWin Anwendung aus deinen gelieferten Daten macht.


    Zitat

    YV12 ist ein planares Format: es kommen erst die Y daten, dann U und V. Etwas andere Pointer Arithmetik. Es gibt etwas seltsame Formeln zum Umrechnen in RGB. Ich denke es wäre gut, wenn man im Filter das Übergabeformat in der PropertyPage wählen könnte.


    ja so hab ich die Beschreibung auch verstanden auf den Seiten die ich dazu gefunden habe.. das die Daten für ein Pixel nicht direkt nacheinandere Liegen sondern Quasi wie mehrere Bilder in einem - wo bestimmte Daten dann aber wieder gleich für mehrere benachbarte Pixel verwendet werden...


    Ist jetzt halt die Frage wie du daraus ne 64x48 Pixel Variante erzeugst so dass noch genügend Informationen für mich übrig bleiben..... naja erstmal müssen die Daten ankommen... dann werden sich auch Formeln finden diese Daten nach HSV zu wandeln... (damit arbeitet AtmoWin intern...) RGB ist nur eines der möglichen Input Formate.


    Zitat

    Ich denke es wäre gut, wenn man im Filter das Übergabeformat in der PropertyPage wählen könnte.


    mmh - dann müsstest du aber auch die Konvertierung in das Format erledigen was dort eingestellt ist - aber machmal werden uns schon irgendwo treffen vom Format her...
    bin gespannt auf die Ergebnisse der Woche... obs am WE den fertigen Filter gibt... da wären sicherlich einige doch recht erfreut darüber...


    Ich hab da noch was gesehen in deinem Source vom ersten Filter - in der Stelle wo du aus dem RGB Bild das Rechteck herauspixelst... da ist noch ein kleiner Denkfehler dabei ... den ich bei meiner GDI Variante zu ersten auch hatte
    Dein Auszug den du erstellst kommt nicht mittig ausdem Quellbild sondern ist an die Obere und Linke Kante geklatscht - d.h. am Rechten und Unteren Rand bleibt ein Streifen ungenutzt...


    d.h. Pixel an Position 0,0 im Minibild darf nicht 0,0 in der Quelle sein - sondern muss (Schrittweite / 2) versetzt sein...


    Beispiel Quellauflösung Pal 768(720?)x576 :


    Schrittweite
    768/64 = 12 Pixel
    576/48 = 12 Pixel


    Istzustand
    d.h. im Bild 64x48
    Ziel Quelle
    0,0 ---> (0*12),(0*12) = 0,0
    63,47 -->(63*12),(47*12) = 756,564


    also bleibt am rechten Rand und unteren Rand ein 12 Pixel breiter Streifen unbeachtet während die Pixel Links & Oben genau verrechnet werden... deswegen...


    die Berechnung so
    0,0 --> (0*12)+6, (0*12)+6 = 6,6
    63,47 --> (63*12)+6,(47*12)+6 = 762,570

    damit ist das Minibild schön mittig aus der Quelle geschnitten... weiß schon ist Erbsenzählerei... aber wenn schon denn schon... hat aber gleich den Effekt wenn Leute mit TV-Out arbeiten das ein gewissen Overscan prinzipbedingt kompensiert wird... ohne extra Einstellungen...


    Igor

  • kurz und bündig - nö nicht dass ich wüsste? ;) hätte ja auch gerne nen Fortschritt... damit ich mein Atmo endlich dort einbauen könnte wo ich es nutzen will...
    statt es als futuristische Lampe im Arbeitszimmer zu missbrauchen.


    Igor

  • Kann mir mal einer kurz erklären was zur Zeit mit AtmoWin geht?
    Konnte es ehrlich gesagt aus dem Thread nicht ganz rauslesen.
    Besonders interesse hab ich an VMR9.
    Wozu ist der ComServer?
    Ist ein DirectShow Filter in arbeit?
    Vielleicht kann ja mal einer im ersten Post oder in einem neuen Thread die aktuellen Sourcen posten und den aktuellen Stand der Entwicklung darstellen.


    Ich könnte auch richtigen Webspace zum hosten der Dateien anbieten, bzw. euch nen FTP Zugang geben ;)

  • boomalien


    AtmoWin - kann derzeit nur den Inhalt des Desktop via ScreenCapture auf die Hardware ausgeben - was sich natürlich mit VMR9 beisst - d.h. geht nicht - da diese Ausgabe soweit ich weiss? via Overlay läuft und so für den Screencapture unsichtbar ist.


    Deswegen arbeitet brshub an einem DirectShow Filter - der die Pixel roh daten aus dem Datenstrom extrahiert und als Miniframe von 64x48 Pixeln - an die AtmoWin.exe übergibt - dazu ist die COM Schnittstelle (Com Server) gedacht - d.h. der DirectShow Filter macht nicht die ganze arbeitet - sondern delegiert diese an AtmoWin - was weiterhin Federführend bei der Ansteuerung der Hardware ist - so braucht man auch für den DirectShow Filter nicht soviele Einstellungen zu machen... und sobald kein Video läuft greift autmatisch wieder das ScreenCapture Programm für die Farbsteuerung...


    Der Com Server kann auch noch für einige Tools und Erweiterungen genutzt werden ... ohne das man sich selbst mit der Atmo Hardware auseinandersetzen muss...


    aktuelle Software gibts hier: (0.42er Version)
    [atmocontroller] Betrieb unter Windows


    und meine Beta mit dem Com Server etc...
    [atmocontroller] Betrieb unter Windows



    Igor



  • Ich muss leider korrigieren... VM9 läuft... Overlay nicht, VM7 auch nicht.
    Allerdings ruckelt bei mir VM9, Overlay nicht.
    Also HDTV-Hardwarebeschleunigung mit z.B. einer ATI 2600 ist pflicht.
    Ich hoffe ja immernoch auf eine Version, die unter Overlay läuft. ;)

  • Zitat

    Original von mcdonald
    Ich muss leider korrigieren... VM9 läuft... Overlay nicht, VM7 auch nicht.
    Allerdings ruckelt bei mir VM9, Overlay nicht.


    Das ruckeln ensteht durch Prioritätspprobleme mit der GDI Routine, die beim Screen-Capture entstehen. Daher warten wir ja alle wie doof auf den Filter... ;)

  • Zitat

    Original von Matthiaz


    Das ruckeln ensteht durch Prioritätspprobleme mit der GDI Routine, die beim Screen-Capture entstehen. Daher warten wir ja alle wie doof auf den Filter... ;)


    Naja... es ruckelt auch ohne Atmo bei VM9 und HDTV. Bei Overlay nicht.
    Kann sein, dass es mit Atmo noch mehr ruckelt.
    Das Atmo erhöht auf jeden Fall die Prozessorlast um etwa 10%.



  • gute Neuigkeiten... :)

  • Wie sieht's eigentlich mit dem Summenkanal aus?


    Außerdem würde ich mich über eine softwaremäßige Kanalwahl freuen. Denn bisher musste ich immer hinter den Fernseher kriechen und die Kanäle per Jumper umstecken, wenn ich zum Beispiel nur den Linken Kanal für alle 4 Leisten nutzen wolllte.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!