Lee181 Posted January 28, 2014 Share Posted January 28, 2014 Hallo zusammen, ich hätte da einen Vorschlag/Wunsch... Ich würde gerne von außen direkt die Wiedergabe über Audio-A oder Audio-B anwählen. In der Deutsch.lng habe ich als Komandos nur 132=Video-Ausgabe A/B und 133=Audio-Ausgabe A/B gefunden, das sind aber nur Toggles. Wäre es möglich, z.B. 1331=Audio-Ausgabe A und 1332=Audio-Ausgabe B einzubauen (analog dazu Video)? Oder noch besser: Wäre es möglich bzw. sinnvoll, z.B. Video-Fenster 1 und Video-Fenster 2 (gerne auch Radio-Fenster, Vollbild, Desktop-TV, Minimiert) als neue Auto-A/B-Bedingungen einzuführen? Zum Verständnis hier mein Setup: Als Rechner ein Intel NUC i3, daran hängen via 2 x HDMI ein TFT-Monitor mit eingebauten Lautsprechern und ein Beamer, dazu via S/PDIF ein Surround-Receiver. Ich betreibe das ganze in zwei Szenarien: Desktop-Modus oder Heimkino-Modus. Im Desktop-Modus starte ich den DVBViewer GE mit Video-Fenster 1 (Koordinaten auf TFT-Monitor) und Audio-Ausgabe A via HDMI und den eingebauten Lautsprechern. Im Heimkino-Modus wird der DVBViewer per Autohotkey-Skript mit Video-Fenster 2 im Vollbild (Koordinaten auf Beamer) gestartet, Audio-Ausgabe B über S/PDIF (USB-Soundkarte) an den Receiver. Bisher muss ich händisch und wild die Audio-Ausgabe im Skript umbiegen, das funktioniert nicht immer ganz fehlerfrei... Benötigt das sonst noch jemand hier? Griga, was sagst Du dazu? Quote Link to comment
Griga Posted January 29, 2014 Share Posted January 29, 2014 Wenn du mittels Skript in der Lage bist, vor dem GE-Start Dateien zu manipulieren, könntest du es mit Filtergraph-Presets regeln: http://www.DVBViewer.com/griga/TechInfo.html#Presets d.h. das Skript müsste dafür sorgen, dass von zwei Presets (sagen wir mal Desktop.txt und Heimkino.txt, die der DVBViewer GE aufgrund der Dateiendung nicht berücksichtigen würde) immer das richtige z.B. in eine Datei Preset.fgp kopiert wird. Quote Link to comment
Lee181 Posted January 30, 2014 Author Share Posted January 30, 2014 Die Filtergraph-Presets kenne ich. Ich habe bisher vor dem Start von GE mittels Regex-Replace den Eintrag "AudioB=" ind der Setup.ini jeweils auf 0 oder 1 gesetzt, das schien mir einfacher... Beides löst aber das Problem in meinem Setup nicht, wenn ich mal im laufenden Betrieb vom Monitor auf den Beamer wechseln will, oder nur die Audio-Ausgabe umstellen will. Wenn ich das über die Presets regeln würde, müsste ich dann auch jeweils pro Datei-Typ (bzw. Wiedergabe-Gruppe) je ein Preset für Audio A und Audio B setzen und hin und her kopieren. So richtig fail-safe ist halt beides nicht, und ich brauche in jedem Fall ein externes Skript vor dem Start. Daher eben meine Frage, ob Du obige Vorschläge einarbeiten könntest... Dadurch könnte man z.B. auch schlichtweg mit einem Kommandozeilen-Parameter in der Windows-Verknüpfung beim Start vom GE den Audio-Ausgabeweg mitgeben. Als neue Auto-Bedingung könnte man sogar im laufenden Betrieb das Video-Fenster von 1 nach 2 schalten und der Ton würde mitwandern. Quote Link to comment
Griga Posted January 31, 2014 Share Posted January 31, 2014 Daher eben meine Frage, ob Du obige Vorschläge einarbeiten könntest... Sorry, aber Anpassungen an individuelle Gegebenheiten bei einzelnen Anwendern sind nicht drin. Das Ein/Aus-(Toggle)-Schalter für eine automatisierte Konfiguration problematisch sind, ist mir bewusst. Andererseits besteht die Notwendigkeit, die Funktionsvielfalt mit einer begrenzten Anzahl Bedienungselemente und Action-IDs zu erschließen, damit das Programm nicht zu unübersichtlich wird. Ich würde überlegen, ob sich das Problem nicht mit zwei parallelen DVBViewer-GE installation lösen lässt, jede für einen der beiden Zwecke passend konfiguriert. Quote Link to comment
Lee181 Posted February 6, 2014 Author Share Posted February 6, 2014 (edited) Nujaa, ich fände es ja vermessen, eben "nur für mich" diese Änderung zu fordern. Das muss wirklich nicht sein! Ich hatte nur gehofft, dass vielleicht noch mehr User davon profitieren würden bzw. es kein großer Aufwand wäre. Das effektivste und am breitesten (für noch viel mehr Szenarien und User) verwendbare wäre eben die die verschiedenen Fenstermodi als neue Auto-A/B-Optionen einzuführen, finde ich. Eine parallele Installation löst mein Problem auch nicht. Glaub mir, ich habe alle Möglichkeiten mit Hausmitteln durchgespielt, bevor ich mich an das Forum bzw. Dich gewendet habe... Trotzdem danke nochmals an dieser Stelle für dieses cooles Stück Software und für Deinen Support! Edited February 6, 2014 by Lee181 Quote Link to comment
CiNcH Posted February 6, 2014 Share Posted February 6, 2014 Als Rechner ein Intel NUC i3, daran hängen via 2 x HDMI ein TFT-Monitor mit eingebauten Lautsprechern und ein Beamer, dazu via S/PDIF ein Surround-Receiver. Ich habe in etwa die gleiche Konfig. Ich verwende PlaybackDevice. Das kann man aus einem Script aufrufen. Als Parameter übergibt man einen Index, welcher dem Audio-Gerät entspricht, welches Windows defaultmäßig verwendet. Der 'Default DirectSound Renderer' verwendet das dann. Ich ändere zusätzlich noch die ffdshow Konfiguration im selben Script (2.0 für HDMI Audio vs. 5.1 für analoge Ausgabe). Quote Link to comment
dbraner Posted February 6, 2014 Share Posted February 6, 2014 Ich habe in etwa die gleiche Konfig. Ich verwende PlaybackDevice. Das kann man aus einem Script aufrufen. Als Parameter übergibt man einen Index, welcher dem Audio-Gerät entspricht, welches Windows defaultmäßig verwendet. Der 'Default DirectSound Renderer' verwendet das dann. Ich ändere zusätzlich noch die ffdshow Konfiguration im selben Script (2.0 für HDMI Audio vs. 5.1 für analoge Ausgabe). Wieder was gelernt. Klingt vielversprechend für die Lösung meiner Audioausgabe Anforderungen. Hast Du mal einen Link, wo erklärt ist, wie man die ffdshow Config per Script anpasst? Quote Link to comment
nuts Posted February 6, 2014 Share Posted February 6, 2014 (edited) Aus dem EG Plugin für ffdshow: class SetPreset(eg.ActionWithStringParameter): class text: name = "Set Preset" parameterDescription = "Preset Name:" def __call__(self, preset): try: hwnd = FindWindow(FFDSHOW_REMOTE_CLASS, None) except: raise self.Exceptions.ProgramNotRunning cds = COPYDATASTRUCT() cds.dwData = COPY_SETACTIVEPRESET cds.lpData = cast(c_wchar_p(preset), PVOID) cds.cbData = (len(preset) + 1)*2 return SendMessage(hwnd, WM_COPYDATA, eg.messageReceiver.hwnd, addressof(cds)) Edited February 6, 2014 by nuts Quote Link to comment
CiNcH Posted February 7, 2014 Share Posted February 7, 2014 AudioSwitch funktioniert auch, anstatt PlaybackDevice. Da kann man sogar noch die Geräte auflisten usw. Mit der ffdshow Konfig mache ich das so... (1) Konfiguration im ffdshow UI vornehmen (2) ffdshow Audio Konfig in der Registry (regedit) als .reg Datei exportieren [HKEY_CURRENT_USER\Software\GNU\ffdshow_audio] (3) Reg Datei aus Script importieren: Set oShell = CreateObject("Wscript.Shell") sRegFile = "D:\configs\ffdshow_audio_5.1.Reg" oShell.Run "regedit.exe /s " & Chr(34) & sRegFile & Chr(34), 0, True Das wiederhole ich dann für jede Konfig. Die entsprechenden Reg Dateien werden dann in den Scripts aufgerufen, die mir die entsprechende Umgebung einrichten. Ich setze die Konfig also quasi Offline, sprich vor eine Anwendung startet, die ffdshow verwendet. Die Lösung von nuts kann die Konfig wohl aktiv ändern, während ffdshow läuft, meine ist dafür sehr einfach . Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.