# [Hilfe][Suche] Script für Frontpanel Audio



## xSunshin3x (12. Oktober 2012)

*[Hilfe][Suche] Script für Frontpanel Audio*

Hallo,

seit dieser Woche bin ich stolzer Besitzer einer *ASUS Xonar Essence STX* Soundkarte.

Beim *Onboard-Sound* ist es ja standardmäßig so, dass, sobald man in das Frontpanel ein Gerät anschliesst, der PC dies erkennt, auf Frontpanel umschaltet und den hinteren Ausgang automatisch stummschaltet.
Die* Xonar-Reihe* ist so programmiert, dass ich zwischen Frontpanel und Slot-Anschlüssen *nur manuell* umschalten kann. (Xonar Essence Audio Center/ Main/ Analog Aus --> _*FP* _(=Frontpanel)_ *Kopfhörer/Lautsprecher* _oder _*Kopfhörer/Lautsprecher* _)

Jetzt ist mir das ehrlich gesagt zu aufwendig; es sind zwar nur 3 Klicks, allerdings muss ich dafür immer die Arbeiten am Desktop unterbrechen.
Einfacher wäre deshalb ein *Makro auf der Tastatur*, welches dann automatisch zwischen FP und hinterer Ausgang umschaltet.

Allerdings weiss ich jetzt nicht so richtig, wie ich das ganze umsetzen kann/soll.

Folgendes hab ich mir überlegt:


Man sucht die Funktion zum Umschalten auf das Frontpanel
Man schreibt den Code um
Man verknüpft das ganze in einer Datei entweder als .bat oder erstellt, sofern möglich, per Software (z.B. AutoHotKey) ein Makro (z.B. Fn + F7), um dann direkt umschalten zu können.
Jetzt allerdings mein Probleme:


Ich weiss nicht, wie dieses Umswitchen geregelt bzw. wo die Befehle hierfür festgelegt werden (Registry, Windows, Installationsverzeichnis des Xonar Audio Centers )
Ich weiss nicht, wie ich das am elegantesten umschreib' (sprich, mir fehlen die Programmierkenntnisse)
Deshalb hoffe ich hier auf eure Hilfe




Danke im Vorraus (:







xSunshin3x


----------



## Gast20190124 (12. Oktober 2012)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Etwas ähnliches hab ich auch mal erfragt..ohne ergebniss.




http://extreme.pcgameshardware.de/sound-hifi/236889-asus-xonar-dx.html


----------



## xSunshin3x (13. Oktober 2012)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

FreezerX hatte hier http://extreme.pcgameshardware.de/s...automatisches-umschalten-zum-front-panel.html ebenfalls mal nach dem Problem gefragt.

Hab ihn mal angeschrieben, weil er in dem Thread meinte, er könne sich das bei Zeit auch selbst programmieren.

Mal sehen was dabei rauskommt


----------



## xSunshin3x (16. Oktober 2012)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Ich mach mal durch einen kleinen *Push* auf mich und den Thread aufmerksam...


----------



## xSunshin3x (17. Oktober 2012)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Ich habe mir nun den Process Monitor von Sysinternals gedownloadet. Dieser erlaubt mir, alle Änderungen aller Programme in meinem System einzusehen.
Im Process Monitor habe ich als Filter "Pfad=Registryeinträge" sowie "Name=ASUSAUDIOCENTER" eingestellt. Es werden mir also nur die Änderungen gezeigt, welche das ASUS Audio Center vornimmt. Und auch nur die Änderungen, die die Registry betreffen.

Wenn ich nun zwischen Frontpanel und Backpanel umschalte, erhalte ich ca. 1800 Registry-Änderungen.
Es scheint, als würden einige davon doppelt geschrieben werden. Zudem zählt "Open Key", "Set Info Key", "Query Value" und "Close Key" als eigenständige Änderung, wobei es sich dabei um ein und denselben Registry-Eintrag handelt, der abgeändert wird. Teilweise werden auch mehrere Änderungen fehlerhaft mit dem Detail "Name not found" ausgegeben.
Morgen werde ich die versch. Registry-Einträge des Frontpanels sowie des Backpanels miteinander abgleichen und schauen, welcher Key wirklich geändert wird.
Wieviele Registry-Einträge dann tatsächlich geändert werden, wird sich morgen zeigen. Ich erhoffe mir die Änderung einiger weniger Einträge, bin jedoch unschlüssig, ob es evtl. auch mehrere Hundert Einträge sein können (erscheint mir allerdings etwas zu aufwendig für so eine "einfache" Aufgabe wie das Umschalten des Audio-Eingangs).

Sollte mir dies gelingen, wird je ein Script erstellt, welches automatisch die Registrywerte ändert. Das ganze wird dann vorläufig als .bat gespeichert und abschließend getestet.

Bei Erfolg würde ich die .bat-Datei dann mit AutoHotKey verknüpfen, um mir so ein Makro erstellen zu können!


----------



## Defenz0r (3. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Warum benutzt du nicht die Frontpanel Switcher von Brainbit?
Sind Executables die mit AutoIt Programmiert wurden.
Oder du schreibst dein eigenes AutoIt Script kompilierst es zu einer exe. und lasst es deine Auktion aufrufen.


Du machst folgendes:


1. Erstell einen Start-Button, diesen Start-Button verlinkst du mit deiner Treiber-Panel exe. whatever.

2. Scan die Buttons, verpacke jeden Button in eine funktion oder ähnliches.

3. Scan die Textbox in denen z.B soetwas drinsteht: FP Audio Kopfhörer, FP Lautsprecher ... usw etc

4. Schreibe ein Script mit Auto It das deine Auktion, nämlich das umstellen des Treibers in einer Aktion ausführt und den Treiber-Panel nochmal schließt.

5. Profit


Entschuldigung, wenn das ein bisschen Lieblos gestaltet ist, aber bei soetwas simplen Beziehungsweise unnötigem Schnickschnack


----------



## xSunshin3x (4. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Danke für deine Hilfe, aber das funktioniert so wie du dir das vorgestellt hast leider nicht!



Defenz0r schrieb:


> 3. Scan die Textbox in denen z.B soetwas drinsteht: FP Audio Kopfhörer, FP Lautsprecher ... usw etc
> 
> aber bei soetwas simplen Beziehungsweise unnötigem Schnickschnack


 
Da das ganze sowohl treiber-, als auch hardwareseitig läuft bzw angesteuert wird, gibt es nicht so einfache Befehle wie ein kurzes "Set_FPKopfhörer=true" bzw "Set_Lautsprecher=false"! Das ist eine ziemlich große/lange Reihe von Befehlen, die software- *und* hardwareseitig Einstellungen ändert! Das ist nicht ganz so einfach wie "sv_cheats 1", "render.drawfps 1" o.ä. Befehle...

Schnickschnack ist es, das geb' ich zu. Unnötig und simpel? Auf keinen Fall! Unnötig ist für mich das ständige manuelle Umstellen im Audio-Center. Und simpel ist es, wie du ja oben siehst, auch nicht


----------



## nanairo (4. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Ich denke, das ist wirklich am einfachsten per AutoIt zu handhaben.
Du musst nicht die Aufgaben des Verwaltungsprogrammes in AutoIt imitieren, du kannst einfach per AutoIt und den *Control*-Befehlen auf die grafische Benutzeroberfläche (GUI, zu Deutsch 'Fenster') der Anwendung zugreifen.

Dazu 'scannst' du die betreffenden Buttons (Oder was auch immer man anklicken muss, um den Zustand zu ändern) mit dem mit AutoIt mitgeliefertem WindowInfo-Tool und führst diese Aktionen dann per AutoIt durch.

Ich denke, das ist das, was Defenz0r meinte...

Wenn du noch mehr Hilfe speziell zum Thema AutoIt suchst, kann ich dir nur das deutsche AutoIt-Forum an's Herz legen. 

lg Nanairo


----------



## xSunshin3x (4. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Aha okey so geht das.. Ich habe es so verstanden, dass man die Befehle beim Umschalten aufs Frontpanel mit einem Tool ausliest und die Befehle dann in AutoIt einfügt!

Ich hab vor einigen Jahren mal mit AutoIt gearbeitet, wusste aber nicht, dass es diese Copy&Paste-Funktion gibt, die du (und Denfez0r) da beschrieben hast.
Werds mir die Tage mal angucken (:

Danke auch dir!


----------



## Defenz0r (4. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*



xSunshin3x schrieb:


> Ich hab vor einigen Jahren mal mit AutoIt gearbeitet, wusste aber nicht, dass es diese Copy&Paste-Funktion gibt, die du (und Denfez0r) da beschrieben hast.



Copy&Paste ist es auf keinen Fall.
Du kannst mit AutoIt Buttons Scannen, die Textbox und deren Inhalt.
Du kannst dann diese gescannten Objekte zuweisen, z.B gehe zu gescanntem Wert/ dem gescanntem Pixelbereich blah und mache blub.

Wie nanairo schon sagte, "Du musst nicht die Aufgaben des Verwaltungsprogrammes in AutoIt imitieren, du kannst einfach per AutoIt und den Control-Befehlen auf die grafische Benutzeroberfläche (GUI, zu Deutsch 'Fenster') der Anwendung zugreifen."

Aber, da die Fenster keine gespeicherte X & Y Koordinate haben, solltest du den entsprechenden Bereich mit AutoIt einscannen.


Wenn Sie das hätten könntest du mit einem Tastatur/Maus Aufnahme Programm den HotKey erstellen.


----------



## xSunshin3x (4. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Ok gestern war wohl schon etwas spät...

So wie ich es jetzt verstanden habe, so hab ich das auch vor Jahren mal benutzt. Damals hatte ich einen vollautomatischen Farmbot erstellt, der das Bild in einem Spiel nach bestimmten Kriterien durchsucht und dann bestimmte Befehle abarbeitet. Damals war dann das Spiel aber im Vordergrund und AutoIt scannt dann die grafische Oberfläche... Und so soll ich das auch machen?

Sprich:
1.) Öffne Audio Center
2.) Wähle bei "Analog Ausgang" Dropdown-Button (Linksklick auf Position [X;Y])
3.) Wähle im Dropdown den und den Befehl (Befehl 1. für Frontpanel, Befehl 2. für Lautsprecher)
4.) Schließe Audio Center

Aber wenn ich das jetzt in einer Anwendung machen will, zB in einem Spiel, dann funktioniert das doch nicht, oder?
Weil AutoIt ja das grafisch scannt und ausführt. Aber dadurch dass ich Ingame bin und das AudioCenter dann im Hintergrund "agiert"...

Wisst ihr was ich mein?!


----------



## Defenz0r (4. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*



xSunshin3x schrieb:


> Ok gestern war wohl schon etwas spät...
> 
> So wie ich es jetzt verstanden habe, so hab ich das auch vor Jahren mal benutzt. Damals hatte ich einen vollautomatischen Farmbot erstellt, der das Bild in einem Spiel nach bestimmten Kriterien durchsucht und dann bestimmte Befehle abarbeitet. Damals war dann das Spiel aber im Vordergrund und AutoIt scannt dann die grafische Oberfläche... Und so soll ich das auch machen?
> 
> ...


 


Du sollst es ähnlich machen.

Du darfst keine Koordinaten verwenden, du musst den Bereich scannen mit AutoIt.
Dann sagst du AutoIt, springe zu gescanntem xyz und machDies(); ..
Da du keine Koordinaten benutzen darfst/solltest musst du halt die Stellen an den du etwas machen willst scannen.
Achja, du hättest deinen Farmbot damals mit ner dll schreiben können die so funktioniert und injecten mit WinJect.
So hättest du zumindest kein Offenes nerviges Fenster gehabt und hättest mehr auf einmal machen können^^


Edit : Achja, InGame kannst du es sowieso nicht machen außer du versteckst dein AutoIt und deren auszuführenden Befehle vor Windows so das es dich nicht zum Desktop führt.
Du könntest dir eine DLL schreiben die in dein GUI injected wird. 
Das macht es "unsichtbar" / hidden
Du musst es aber dann bei jedem Login/Start vom PC injecten


----------



## nanairo (4. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Natürlich kann man das InGame machen. 
Per AutoIt gesetzte HotKeys reagieren dann natürlich nicht mehr, aber ein Tastatur-HotKey, welches ein AutoIt-Skript ausführt, sehr wohl. 

Generell würde ich das Skript so ähnlich aufbauen:

```
$iPID = Run("Notepad.exe")
WinWait("[CLASS:Notepad]")
ControlSend("[CLASS:Notepad]", "", "[CLASS:Edit; INSTANCE:1]", "Hello World!")
Sleep(5000)
ProcessClose($iPID)
```
Das ist jetzt natürlich auf den Windows-Editor bezogen, allerdings müsste man das alles für dein Audio-Programm nur minimal anpassen.

lg Nanairo

PS: Von Injects würde ich mich - sofern möglich - eher fernhalten.


----------



## Defenz0r (4. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Naja, er müsste also herausfinden welche der Befehle er für die GUI braucht.
ProcessMonitor?
Naja, wenn er die hat dann ists ja kein Thema mehr


----------



## Defenz0r (18. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Push! Ist dein "Projekt" noch aktiv? 
Hätte da ein Skript das du nur noch für die Xonar STX umprogrammieren musst.
(Auto It)
@ sa Front panel switch v3.2.7z
@ Brainbit
@ Musst nurnoch die Regs ändern oder kuckst mal bei Brainbit obs so ein Teil auch für die Essence STX gibt.
@ Oder C++ http://virusdev.ovh.org/files/UniXonar Helpers/fpswitch.zip

- Wobei ich nicht weiß ob du da gezwungen bist die Xonar Treiber zu haben, kann ja erstmal ein Anreiz sein, in welche Richtung du gehen musst.


----------



## xSunshin3x (19. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

Hey,
sorry dass ich mich jetzt erst wieder melde. Hatte viel zu tun...
Also ich benutze das UNi Xonar Audio (inklusive modifizierter Treiber) und auf deren Homepage gab's mal so einen Frontpanelswitcher ähnlich dem sa Front panel switch, welchen du oben gepostet hast! Programmiert war das ganze auch über AutoIt, funktioniert hat es allerdings nicht so recht.
Ich habe gerade auch ehrlich gesagt nicht die nötige Zeit da ewig rumzusuchen und zu programmieren. Falls ich aber wieder mal etwas mehr Zeit finde, werde ich mir die Links aus deinem Post nochmal anschauen und dann umproggen...

Danke dir vielmals;
sollte es was neues geben, melde ich mich hier wieder


----------



## Defenz0r (19. Januar 2013)

*AW: [Hilfe][Suche] Script für Frontpanel Audio*

EDIT: 100%ige funktionalität mit den aufgeführten Soundkarten , @http://brainbit.wordpress.com/2010/07/19/asus-xonar-unified-drivers/ 
+ Anhang^^

Du musst auch den Benutzen der in C++ geschrieben wurde.

@ http://virusdev.ovh.org/files/UniXonar Helpers/fpswitch.zip
Funktioniert, du kannst aber nur von Stereo zu Stereo schalten momentan, also wenn du von 5.1 auf 2.1 schalten würdest, hättest du "wirrwarr".
Habe mir den Hotkey auf den G1 Key meiner G15 gelegt, es ist in dem Ordner(Release) , die ich damit verknüpft habe.

Funktioniert.


----------

