CameraRename für DirectShow / OBS

Ich habe ja vor längerer Zeit schon PZZControl für einige Logitech Kameras geschrieben. Hintergrund war eine einfachere Steuerung im Zusammenspiel mit OBS. Da ich mehrere Kameras des selben Typs verwende (PTZ 2 Pro) habe ich manchmal bei der Einrichtung Probleme die Kameras 1-3 zu unterscheiden. Intern in DirectShow erscheinen alle Kameras unter dem gleichen Namen.

Es gibt zwar bereits ein Tool für das umbenennen der Kameras, aber das erlaubt nur 4 Umbenennungen. Will man mehr muss man es kaufen. Das hat mich etwas geärgert.

Also habe ich kurzerhand ein eigenes CameraRename geschrieben.

Das Programm sichert die alten Namen und sollte für alle Kameras, die über DirectShow angesprochen werden funktionieren.

Das Programm benötigt natürlich administrative Rechte um diese Änderung vorzunehmen.
Alles weitere findet sich im Readme auf der GitHub Seite.

Achtung: Der Name des Gerätes im Gerätemanager wird nicht geändert!

PTZControl unterstützt nun auch globale Hotkeys

Bisher konnte man PTZControl nur mit der Maus bedienen. Alternativ ließen sich die integrierten Hotkeys verwenden, solange das Programm aktiv war und den Eingabefokus besaß.

Nun habe ich globale Hotkeys integriert, wie man sie von Windows-Befehlen mit der Windows-Taste kennt. Dabei spielt es keine Rolle mehr, welches Programm aktuell den Eingabefokus hat – der entsprechende Befehl wird immer in dem Programm ausgelöst, das den Hotkey registriert hat.

Da sehr viele Tastenkombinationen mit der Windows-Taste bereits belegt sind, habe ich mich entschieden, die numerischen Tasten des Nummernblocks (Numeric Keypad) zu verwenden. D.h. auch, dass Num-Lock eingeschaltet sein muss. Ist Num-Lock ausgeschaltet haben die Tasten im numerischen Tastenblock Cursor-Funktion en.

Kamera 1 (Windows Taste + Numerische Taste)

  • Windows-Taste + 0 (im numerischen Tastaturblock) = Home Position Kamera 1
  • Windows-Taste + 1-8 (im numerischen Tastaturblock) = Speicherposition 1-8 der Kamera 1

Kamera 2 (zusätzlich mit der Strg-Taste)

  • Windows-Taste + Strg-Taste + 0 (im numerischen Tastaturblock) => Home Position Kamera 2
  • Windows-Taste + Strg-Taste + 1-8 (im numerischen Tastaturblock) => Speicherposition 1-8, der Kamera 2

Kamera 3 (zusätzlich mit der Alt-Taste)

  • Windows-Taste + Alt-Taste + 0 (im numerischen Tastaturblock) => Home Position Kamera 3
  • Windows-Taste + Alt-Taste + 1-8 (im numerischen Tastaturblock) => Speicherposition 1-8, der Kamera 3

Das praktische ist hier, dass man nicht einmal die aktive Kamera wechseln muss. Selbst wenn Kamera 1 aktiv ist kann man mit Windows-Taste+Strg+2, die Position-2 der zweiten Kamera auswählen, und mir Windows-Taste+1 sofort die auf Memory-Position 1 gespeicherte Kameraposition auswählen.

Neueste Version 2.4.0 ist verfügbar über GitHub.
https://github.com/xMRi/PTZControl

Anmerkung: Sollte bereits ein Programm die gleichen globalen Hotkeys benutzen, dann „gewinnt“ das Programm, das zuerst gestartet wird. Nur dessen Hotkeys können dann verwendet werden.

WebView2 Build 120 zerstört COM-Infrastruktur

Wieder mal eine tolle Geschichte wie Kunden auf uns als Softwarehersteller sauer werden, weil Microsoft ein nicht funktionierendes Update veröffentlicht.

Die Story:

  • Wir nutzen intern COM für sehr viele Objekte, um unsere eigene Software via VB-Script zu steuern.
  • Wir haben auch die Möglichkeit Controls vom Typ WebView2 anzulegen.
  • Am 07.12. veröffentlichte Microsoft für den WebView2 den Build 120.
  • Unsere Software benutzt im Allgemeinen „Evergreen“, d.h. es wird immer die aktuelle WebView2 ohne eigne Installation benutzt.

Effekt:
Seit dem Update kann man nach dem, ein WebView2 Fenster zerstört wurde, keine COM Class Factory in unserem Programm aufrufen.
Intern scheint das WebView2 CoSuspendClassObjects aufzurufen wenn das Control zerstört wird. Die Folge unser IMessageFilter springt an und es kommt ein Dialog, der auf einen nicht reagierenden COM Server hinweist.

Der nicht reagierende COM-Server ist unsere eigene Anwendung… 😯

Toll! 😥

Einziger für uns möglicher Workaround für uns ist leider, die alte Version 119 auf jedem Client lokal zu installieren. Dann über einen Registry Eintrag (HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\WebView2\BrowserExecutableFolder) den Aufruf von der aktuellen Version umzubiegen.
Netterweise kann man das für jede Anwendung separat steuern.

Details zum Nachlesen auf GitHub.

Nachtrag: Der Bug verschwand mit dem Update 120.0.2210.77 in der evergreen Version. Bei mir wurde der Fix am Montag den 18.12.2023 automatisch installiert.

VS-2022 Rollback deinstalliert manche VS-Extensions

Leidvoll musste ich erleben, dass ein Visual Studio 2022 Rollback auf die ältere vormals installierte Version leider auch einige VS-Extensions deinstalliert. Bzw. diese gehen verloren.

Man sollte also einen Rollback mit Vorsicht verwenden. Er eignet sich also nicht einfach und schnell ein Problem zu umgehen. Es sind einige Nacharbeiten nötig.

VS-2022 Update 17.8 zerstört Mixed Mode Debugger-Funktionen „Unable to step. Operation not supported. Unknown error: 0x8ede0018.“

In der letzten Zeit habe ich regelmäßig die aktuellsten Visual-Studio 2022 installiert. Ich muss ehrlich sagen, dass ich seit VS-2029 nicht einmal schlechte Erfahrungen gemacht habe.
Das hat sich mit dem heutigen Tag geändert 🙁 !

Nach der Installation des Updates ging keine Step-Debug-Funktion mehr (Step-In, Step-Over, Step-Out, etc.) im Mixed Mode Debugging. Native Mode Debugging scheint zu gehen.

Egal was man macht man bekommt den Fehler:

Unable to step. Operation not supported. Unknown error: 0x8ede0018.

In der Developer Community für VS ist dieser Bug auch bereits bekannt und angeblich gibt es einen Fix. Der ist aber noch nicht öffentlich.

Leider arbeite ich an einigen C++/CLI Modulen und benötige den Mixed-Mode.

Das erste mal habe im Visual Studio Installer einen Rollback versucht. Leider hat der Rollback meine Extension zum Teil deinstalliert. Mein Visual Assist von Whole Tomato war auf einmal nicht mehr vorhanden. Toll… 😯

Nachtrag: Das Problem ist in der Version 17.8.4 behoben, die am 10.01.2024 veröffentlicht wurde.

PTZControl unterstützt nun bis zu 3 Kameras

Es erstaunt und freut mich, dass mein kleines Helferlein gut benutzt wird und es tatsächlich noch Anfragen zu Features gibt.

Ich habe heute eine neue Version bereitgestellt.

  • Unterstützung bis maximal 3 Kameras nun.
  • Layout passt sich für jede Anzahl Kameras so an, dass möglichst wenig Platz auf dem Bildschirm eingenommen wird.
  • Unterstützte Kameras sind nun: Logitech PTZ 2 Pro, PTZ Pro, Logitech Rally und die ConferenceCam CC3000e Kameras.

Hier der entsprechende Link auf mein Repository mit der neuesten Version:
https://github.com/xMRi/PTZControl

Der ständige Helfer im (Datei-)Alltag, der SpeedCommander

Seit mehr als 10 Jahren ist der SpeedCommander nun mein täglicher Begleiter auf meinen privaten und auf meinem Firmen-PC. Irgendwie dachte ich mir, dass dies auch eine Erwähnung wert ist, auch wenn ich nur noch wenig blogge.

Ich will einfach mal die Features erwähnen, die ich wirklich jeden Tag nutze.

  • Eingebauter Packer/Entpacker in x-Formaten (darunter auch so manches esoterisches, aber eben nützliches).
  • Selbstentpackende Dateien werden (wenn gewünscht) als Archiv geöffnet.
  • Einfacher Dateifilter um nur bestimmte Dateien anzuzeigen.
  • Komplexes umbenennen von Dateien mit Dateimustern, Regex Filtern und Erstetzungsfunktionen.
  • Zweigansicht (Ansicht aller Dateien ink. Dateien in den Unterordnern)
  • Simple Vergleichsfunktionen zwischen zwei Ordnern
  • Komplexe Synchronisierungsfunktionen zwischen Ordnern
  • Schnellansicht für extrem viele Dateiformate (für mich für EXE/DLL Dateien immer wieder wichtig)
  • FTP/SFTP Client (ich nutze Filezilla nur in Ausnahmefällen)
  • Sehr guter eingebauter Editor.
  • Direkter Zugriff auf Cloudspeicher (Dropbox/Onedrive etc.)

Das ist vermutlich nicht mal gerade mal die Spitze des Eisberges bei all den Funktionen vom SpeedCommander. Aber es sind die Funktionen, die ich nicht mehr missen möchte bei meiner ganz alltäglichen Arbeit.

PTZControl goes GitHub

Mich haben doch einige Anfragen erreicht, die um den Sourcecode von PTZControl gebeten haben.

Ich habe mich entschieden den Code auf GitHub zu veröffentlichen. Ich hoffe, dass dies anderen hilft, oder es nützt den Sourcecode anderweitig zu verwenden.

Vielleicht hilft es so, anderen das Streaming der Gottesdienste mit der PTZ 2 Pro oder Rally einfacher zu gestalten.

Hier der entsprechende Link auf mein Repository:
https://github.com/xMRi/PTZControl

Neue Version von PTZControl unterstützt jetzt direkt auch Logitech Rally Plus Kameras

Ich habe ein neue Version von meinem Kamerasteuerungs-Programm PTZControl bereitgestellt.

Was ist alles neu?

  1. Es werden automatisch Logitech PTZ2 Pro und Logitech Rally Plus Kameras erkannt.
  2. Ich habe eine komplette Readme Datei mit Hintergründen und allen notwendigen Beschreibungen erstellt (aktuell nur in Deutsch).
  3. Weitere neue Befehlszeilenschalter wurden eingebaut für einige Optionen um die Bedienung leichter zu machen.

Die neue Version findet Ihr hier unter dem folgenden Link.

Keine Umlaute und falsche Zeichen mit der deutschen Tastatur EJ-FT720 für das Samsung Tablet S5e

Ich habe schon länger ein Tab-S5e und habe mir eine EJ-FT720 Tastatur zugelegt (B-Ware). Wenn man manchmal etwas mehr schreibt ist das schon sehr hilfreich.

Kaum hate ich die Tastatur angeschlossen fingen die Probleme an.
Die Umlaute und alle Tasten mit Umschalt+Numerische Taste lieferten die Zeichen der englischen Tastatur.

Aber in Android war alles korrekt eingestellt. Deutsche Tastatur.

Lange musste ich suchen bis ich einen Hinweis fand.

Die Lösung ist relativ einfach:

Einstellungen -> Allgemeine Verwaltung -> Zurücksetzen -> Eingabehilfeeinstellungen zurücksetzen

Ich war mit gar nicht bewusst, dass ich hier etwas eingetragen oder verstellt habe. Letzten habe ich dann auch den Auslöser für das Problem gefunden:

In den Eingabehilfen kann man einen automatischen Zoom mit einem Dreichfach-Tap auslösen.
Wird diese Einstellung vorgenommen, dann geht die Tastatur nicht mehr.

Sollte also jemand wieder diese Zoom Einstellung einrichten (was ich wieder getan hatte), dann funktioniert sofort auch die Tastatur nicht mehr wie erwartet.