Frage an die UNIAUD/Multimediaexperten

(DE) System, Installation, Konfiguration, Hardware, Treiber, Netzwerk, Virtualisierung, etc.
(EN) System, Installation, Configuration, Hardware, Drivers, Network, Virtualisation, etc.
Antworten
Benutzeravatar
Sigurd
Beiträge: 995
Registriert: Mo 23. Dez 2013, 08:35
Kontaktdaten:

Frage an die UNIAUD/Multimediaexperten

Beitrag von Sigurd »

Auf dem ThinkPad 25 läuft der Uniaud Treiber und zeigt als Device den Intel HDA Chipsatz an. Die Qualität ist wirklich gut. Leider kann ich aber die Lautstärke mit keinem Regler verstellen. Mittlerweile habe ich folgendes herausgefunden:

- das Playback Volume hat bei dieser Hardware die ID3
- mit dem Befehl "unimix -id3 - cnt0 - val127" (Linker Kanal bzw. Lautsprecher) und "unimix -id3 -cnt1 -val127" (Rechter Kanal bzw. Lautsprecher) kann ich die Lautstärke manuel auf Maxmimum stellen, und auch auf jeden Zwischenwert zwischen val0 und val127, wobei sich die Lautstärke dann auch für jeden Kanal einzeln anpasst. man kann zum Beispiel so auch eine Seite stumm schalten, quasi von Stereo auf Mono.
- das ThinkPad 25 hat zur Lautstärkeregelung auch Hardwaretasten. Die Taste "Stummschalten" funktioniert, aber auch hier tut sich bei der Lautstärkeregelung nichts. Die Tastencodes habe ich abgefangen (siehe auch Bild)

FRAGE: Wie schaffe ich es jetzt vielleicht doch noch, einen der Lautstärkeregler (Volumesymbol) des Betriebssystems, vorzusgweise aber die Hardwaretasten entsprechend zu verknüpfen? Geht das überhaupt? Klaus Abresch hatte so etwas mal für das X200T gemacht, aber das kann ich hier so nicht umsetzen.

Für Hinweise wäre ich dankbar! Vielen Dank vorab!

eingesetzte Software: ArcaOS 5.03 mit letztem Uniaud
eingesetzte Hardware: Nativ ThinkPad 25 mit Intel HDA Soundchip
UniaudThinkpad25.png
Zuletzt geändert von Sigurd am Do 15. Nov 2018, 23:24, insgesamt 1-mal geändert.
OS/2 versus Hardware - Maximum Warp!
Benutzeravatar
aschn
Beiträge: 1363
Registriert: Mi 25. Dez 2013, 22:47

Beitrag von aschn »

Vielleicht geht es mit Win95Key. Da gibt's ein Plugin "Volume", das die Funktionen Up und Down liefert, vgl. die enthaltene Datei doc\readme.html.
Zuletzt geändert von aschn am Fr 16. Nov 2018, 03:04, insgesamt 1-mal geändert.
Andreas Schnellbacher
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Wenn sich die Lautstärke über die Konsole verstellen lässt, dann ließe sich da relativ einfach ein Lautstärkeregler programmieren. Sag Bescheid, wenn du einen brauchst.

Um Zusatztasten einer Tastatur dazu zu benutzen wird es etwas aufwendiger. Dazu benötigst du ein Makrotool, welches die Tasten auch erkennt. Ich weiß nicht, ob das mit Bordmitteln geht. Dazu würde man dann einen Hintergrundprozess benötigen, der die Lautstärke regelt, und zwei Makros, die auf die Tasten gelegt werden und mit dem Hintergrundprozess kommunizieren.

Mit dem Standard Volume-Knob wirds nach Deiner Beschreibung wohl in dem Fall eher nicht gehen... Wobei mich das eigentlich wundert.
Zuletzt geändert von Frank Wochatz am Fr 16. Nov 2018, 10:53, insgesamt 1-mal geändert.
erdmann
Beiträge: 594
Registriert: Mo 4. Jan 2016, 14:36

Beitrag von erdmann »

Mich wundert hier nichts. Leider unterstützt UNIAUD meines Wissens nicht die native mixer IOCTL API zum Stellen von Lautstärke/Treble/Bass etc. sondern macht sein eigenes Ding, deshalb gibt es auch UNIMIX.EXE und UNICALLS.DLL welches von UNIMIX.EXE benutzt wird.

Und deshalb geht auch das Standard Volume Control nicht, das benutzt nämlich die mixer IOCTL. Das wäre sicher recht einfach zu UNIAUD hinzuzufügen (schließlich müssten die IOCTL Aufrufe nur genau das ausführen was UNICALLS auch aufruft) aber wer hat dafür schon Zeit ...

Also bleibt nur, eine einfaches GUI Frontend zu stricken welches UNIMIX.EXE entsprechend aufruft. Und ich meine sowas gibt es schon. Mir ist bloss der Name entfallen, ich glaube PMUNIMIX oder so ähnlich.

Bei USBAUDIO.SYS bzw. USBAUD.SYS funktioniert das alles wie erwartet ...
erdmann
Beiträge: 594
Registriert: Mo 4. Jan 2016, 14:36

Beitrag von erdmann »

Gefunden, hier gibt's PMUNIMIX:

http://cdl-systems.homepage.t-online.de/
Benutzeravatar
Sigurd
Beiträge: 995
Registriert: Mo 23. Dez 2013, 08:35
Kontaktdaten:

Beitrag von Sigurd »

Vielen Dank schon einmal für die Antworten, ich werde mir alles anschauen. Hier einmal die Tastatur im Detail. Ich darf sagen, dass diese spezielle - nur und extra beim ThinkPad 25 erhältliche - Tastatur die Beste ist, die ich jemals benutzt habe. Was natürlich Benutzerabhängig ist.
Tastatur25.png
Was geht ohne Modifikation (vermutlich schon über das BIOS irgendwie vorbelegt) unter ArcaOS:

- Mute (Stummschalter oben Links)
- Tastenkombination "Blaue Funktionstaste Unten Links + Bild auf Taste ganz oben Rechts" = Tastaturbeleuchtung, zwei Stufen, Aus
-> das ist die einzige Tastenkombination, die mit der Blauen Funktionstaste tatsächlich funktoniert

Mit dem Programm Win95key, welches Andreas vorgeschlagen hat, konnte ich die Blaue Funktionstaste abfangen und dort als Tastenkürzel hinterlegen. Im Laufe des heutigen Tages werde ich all Eure Vorschläge mal durchsehen und dann berichten.

Nochmals Danke!
OS/2 versus Hardware - Maximum Warp!
morcvomorc
Beiträge: 190
Registriert: Fr 3. Jan 2014, 09:42

Beitrag von morcvomorc »

erdmann hat geschrieben: Fr 16. Nov 2018, 11:44 Gefunden, hier gibt's PMUNIMIX:

http://cdl-systems.homepage.t-online.de/

Auf hobbes gibt es eine neuere Version (0.82)

hobbes.nmsu.edu/download/pub/os2/apps/m ... n-0_82.zip

Änderungen scheinen aber nicht allzugroß:

Changes wrt V0.80 include:
Fixed crash on startup when audio chip has only 1 switch to control both audio channels.
Zuletzt geändert von morcvomorc am Fr 16. Nov 2018, 12:32, insgesamt 1-mal geändert.
Benutzeravatar
Sigurd
Beiträge: 995
Registriert: Mo 23. Dez 2013, 08:35
Kontaktdaten:

Beitrag von Sigurd »

morcvomorc hat geschrieben: Fr 16. Nov 2018, 12:29
erdmann hat geschrieben: Fr 16. Nov 2018, 11:44 Gefunden, hier gibt's PMUNIMIX:

http://cdl-systems.homepage.t-online.de/

Auf hobbes gibt es eine neuere Version (0.82)

hobbes.nmsu.edu/download/pub/os2/apps/m ... n-0_82.zip

Änderungen scheinen aber nicht allzugroß:

Changes wrt V0.80 include:
Fixed crash on startup when audio chip has only 1 switch to control both audio channels.
Das Programm stoppt bzw. crasht leider (diese Fehlermeldung habe ich eigentlich auf allen moderneren Geräten) mit der Meldung:

Cirtical Error: TList error exception (EListError) occured at $0001047F! Terminat program?

Wenn ich da "No" auswähle kommt dann:

Exeption occured: TList error exception(EListError) occured at $0001FC62
Program is terminated

Diese Meldungen ändern sich auch immer mal mit der Bezeichnung nach at ...

Das Programm habe ich abgelegt unter: C:/APPS/MULTIMED/PMUNIMIX

Ein Verschieben des Programms in ein Verzeichnis des Path, z.B: C:/OS2, ändert leider nichts.
OS/2 versus Hardware - Maximum Warp!
Benutzeravatar
ak120
Beiträge: 1046
Registriert: Do 8. Mai 2014, 12:50
Wohnort: Demmin
Kontaktdaten:

Beitrag von ak120 »

Sigurd hat geschrieben: Fr 16. Nov 2018, 12:52 Das Programm stoppt bzw. crasht leider (diese Fehlermeldung habe ich eigentlich auf allen moderneren Geräten) mit der Meldung:

Cirtical Error: TList error exception (EListError) occured at $0001047F! Terminat program?

Wenn ich da "No" auswähle kommt dann:

Exeption occured: TList error exception(EListError) occured at $0001FC62
Program is terminated
Das scheint an den verwendeten Pascal-Laufzeitbibliotheken zu liegen, eventuell den Takt drosseln oder einige Kerne deaktivieren.

Deutlich besser funktioniert bei ThinkPad-Tastaturen hingegen PMTPOSD2 (http://www.dfsee.com/download/pmtposd2.zip), welches mit Quelltexten zur benutzerspezifischen Anpassung heruntergeladen werden kann, siehe Bildausschnitt.
PMTPOSD2
PMTPOSD2
PM UniMix
PM UniMix
pmunimix.png (6.45 KiB) 5630 mal betrachtet
Benutzeravatar
Sigurd
Beiträge: 995
Registriert: Mo 23. Dez 2013, 08:35
Kontaktdaten:

Beitrag von Sigurd »

Hinweis: das Programm pmtosd2 funktioniert auf keinem meiner moderneren Geräte. Damit sind Geräte nach 2006 gemeint, der Grund ist in der Readme des Programms beschrieben:

Note to ACPI driver users
=========================
When using the new ACPI drivers (as present in eCS 2.x)
instead of the classic APM support, this utility will
NOT function at all since the ACPI drivers intercept
the events that make the changes to the ThinkPad BIOS.
This may or may not be fixed in later ACPI releases ...

Also verwendbar für alle Notebooks, auf denen APM noch zuverlässig läuft. Ist man auf ACPI angewiesen, geht es nicht.

Etwas erfreulicheres: der Line In/Out Ausgang des Notbooks funktioniert zumindest ebenfall mit angeschlossenen Lautsprechern ausgezeichnet! Da ich ein 2.1 System mit eigener Lautstärkeregelung auf dem Schreibtisch habe, geht das sehr gut. Die "interne" Lautstärkenregelung funktioniert noch nicht, aber bevor ich Frank damit behellige, will ich noch einige Versuche starten :P
Zuletzt geändert von Sigurd am Fr 16. Nov 2018, 16:05, insgesamt 1-mal geändert.
OS/2 versus Hardware - Maximum Warp!
Benutzeravatar
ak120
Beiträge: 1046
Registriert: Do 8. Mai 2014, 12:50
Wohnort: Demmin
Kontaktdaten:

Beitrag von ak120 »

Sigurd hat geschrieben: Fr 16. Nov 2018, 16:01 Hinweis: das Programm pmtosd2 funktioniert auf keinem meiner moderneren Geräte. Damit sind Geräte nach 2006 gemeint,
Deshalb habe ich eigens einen zweiten Bildausschnitt angefügt, in welchem die Angaben von PMUniMix ersichtlich sind. Es sei nur am Rande erwähnt, daß die Regelung dort nicht ordentlich funktioniert. Wahrscheinlich eher ein mathematisches Problem in PMUniMix selbst.
der Grund ist in der Readme des Programms beschrieben:

Note to ACPI driver users
=========================
When using the new ACPI drivers (as present in eCS 2.x)
instead of the classic APM support, this utility will
NOT function at all since the ACPI drivers intercept
the events that make the changes to the ThinkPad BIOS.
This may or may not be fixed in later ACPI releases ...
Und wurde die Aussage des letzten Satzes überprüft?
Also verwendbar für alle Notebooks, auf denen APM noch zuverlässig läuft. Ist man auf ACPI angewiesen, geht es nicht.
Ich habe mir extra die Mühe gemacht, die Bildauschnitte von einem Gerät ohne APM zum besseren Verständnis zu verwenden. Ich kann die Schlußfolgerung nicht nachvollziehen, da in den vorherigen Textausschnitt etwas hineininterpretiert wird. Spekulationen zu ACPI möchte ich hier nicht anstellen. Ich kann zumindest im Quelltext dieses Programms keinerlei Abhängigkeit bezüglich APM finden.

Eine weitere Möglichkeit zur Steuerung war über das DOS-Programm ps2 möglich, welches jedoch einen zusätzlichen OS/2-Gerätetreiber benötigt. Spätere ThinkPad-Modelle werden zwar offiziell nicht unterstützt, aber z.B. über VCMOS.SYS können zur Not einfache Tests durchgeführt werden.
ehemaliger
Beiträge: 102
Registriert: Mi 22. Nov 2017, 23:46

Beitrag von ehemaliger »

erdmann hat geschrieben: Fr 16. Nov 2018, 11:42Leider unterstützt UNIAUD meines Wissens nicht die native mixer IOCTL API zum Stellen von Lautstärke/Treble/Bass etc. sondern macht sein eigenes Ding
Das simmt meiner Meinung nach nicht! UNIAUD unterstützt - genau wie SBLIVE- und CMEDIA-Treiber - die regulären IOCTLs (incl. der Crystal-Erweiterung IOCTL90). D.h. der normale Lautstärkeregler wie auch LBMixer sollten funktionieren. Bei bestimmter Hardware besteht aber das Problem, daß das Mapping der ALSA-Controls auf das OS/2-Interface nicht stimmt. Der Klassiker ist, daß z.B. der Lautstärkeregler auf einen nichtangeschlossen Kopfhörer wirkt und im Gegenzug der Line-out stummgetastet ist. Manchmal vertauschen auch die Mainboardhersteller die Ausgänge des Codecs und bringen das über spezifische Treiber wieder in Ordnung.

erdmann hat geschrieben: Fr 16. Nov 2018, 11:42deshalb gibt es auch UNIMIX.EXE und UNICALLS.DLL welches von UNIMIX.EXE benutzt wird
Das ist ein in der Tat fragwürdiger Hack, um das beschriebene Mapping-Problem zu umschiffen. Richtiger wäre, die Zuordnung von außen konfigurierbar zu machen.

erdmann hat geschrieben: Fr 16. Nov 2018, 11:42Und deshalb geht auch das Standard Volume Control nicht, das benutzt nämlich die mixer IOCTL. Das wäre sicher recht einfach zu UNIAUD hinzuzufügen (schließlich müssten die IOCTL Aufrufe nur genau das ausführen was UNICALLS auch aufruft) aber wer hat dafür schon Zeit ...
Das sollte nicht nötig sein. Siehe oben.
erdmann
Beiträge: 594
Registriert: Mo 4. Jan 2016, 14:36

Beitrag von erdmann »

Das mag ja alles richtig sein, aber Tatsache ist, dass es IMMER noch unimix.exe braucht um eine Lautstärke verlässlich stellen zu können.
Und das korrekte Mapping sollte auch der Audiotreiber hinbekommen. Immerhin kann man ja unimix nutzen um zu sehen welches Control mit welcher ID denn nun was macht um dann händisch das Control (z.B. Lautstärke) zu setzen. Und genau das mache ich (und trag dann gleich den Aufruf in die config.sys ein, mit Maximallautstärke, meine Speaker haben einen Lautstärkeregler ...).
Genau das sollte auch UNIAUD16.SYS automatisiert hinbekommen. Viel mehr als die Lautstärke kann man ja mit den Bordmitteln unter OS/2 eh nicht einstellen.
Zuletzt geändert von erdmann am Sa 17. Nov 2018, 13:28, insgesamt 1-mal geändert.
Benutzeravatar
ak120
Beiträge: 1046
Registriert: Do 8. Mai 2014, 12:50
Wohnort: Demmin
Kontaktdaten:

Beitrag von ak120 »

Leider führt dieser Diskussionsverlauf, bedingt durch den unglücklich gewählten Titel, in eine nicht lösungsorientierte Richtung. Die beschriebenen Lautstärkeregelungstasten wirken sich auch unter anderen Betriebssystemen nicht auf das Mixergerät der verbauten Audioeinheit aus. Vereinfacht kann man diese als einen Lautstärkeregler des verbauten Verstärkers betrachten. Schade, daß bei der sogenannten Jubiläumsausgabe aus Kostengründen keine Drehregler verbaut wurden, und stattdessen die Tastaturabfälle eines geplatzten Behördendeals verhökert wurden.
ehemaliger
Beiträge: 102
Registriert: Mi 22. Nov 2017, 23:46

Beitrag von ehemaliger »

@ak120: Und die Antwort ist jetzt lösungsorientiert(er)???

@erdmann: Ich hatte früher mehrere Rechner mit UNIAUD im Einsatz und keiner davon benötigte UNIMIX. Es könnte allerdings sein, daß neumodische Hardware hier eher Ärger macht. Ansonsten schrieb ich ja, daß eine Konfigurationsmöglichkeit von außen sinnvoll sein könnte. Soweit ich das in Erinnerung habe, unterstützt UNIAUD weite Teile des IOCTL90 APIs, so daß - korrekte Zuordnung der Controls sowie Unterstützung durch die jeweilige Hardware vorausgesetzt - LBMixer sogar solche Dinge wie Höhen- und Tiefenregler oder einen Steller für die Lautstärke des Piepsers anbieten sollte.

@Sigurd: Das Problem mit dem nichtfunktionieren Lautstärkeregler liegt zu 100% am Mapping. Das ist ein Bug in UNIAUD, der durch dessen Maintainer behoben werden kann/sollte. Wenn der allerdings davon nichts weiß weil jeder diesen UNIMIX-Hack verwendet und sich freut daß es irgendwie zuckt, wird sich daran auch nichts ändern. Was die Tasten betrifft, so wird es wohl so sein, daß die ACPI-Events erzeugen. Die landen dann natürlich im ACPI-Treiber (wo sie auch hingehören). Theoretisch müßte es jetzt einen Client geben, der sich am ACPI-Treiber andockt und aus diesen Events Steuerbefehle für das Multimedia-Subsystem generiert. Aber das scheitert warscheinlich an der holprigen/unfertigen ACPI-Implementierung unter OS/2.
ehemaliger
Beiträge: 102
Registriert: Mi 22. Nov 2017, 23:46

Beitrag von ehemaliger »

@Sigurd: Habe mir gerade Deinen Screenshot mal genauer angesehen: Das "Master Playback Volume" Control wird mit großer Sicherheit deshalb nicht zugeordnet, weil es einen unsinnigen Index von -274531894 meldet. Wenn nur eine Instanz eines Controls existiert, muß dessen Index - wie beim "Capture Volume" darüber zu sehen - den Wert 0 haben! Das ist definitiv ein Bug in UNIAUD (vielleicht eine uninitialisierte Variable), der gemeldet und dort behoben werden sollte.
Benutzeravatar
Sigurd
Beiträge: 995
Registriert: Mo 23. Dez 2013, 08:35
Kontaktdaten:

Beitrag von Sigurd »

Hallo,

vielen Dank für die Tipps! Bisher geht es da noch nicht so recht weiter. Interessant in diesem Zusammenhang ist, dass die Lautstärkenregelung bei QT4 Programmen, wie zum Beispiel dem neuesten VLC 3.0.4 - siehe Bild - vollständig mit dem Programmregler funktioniert. Haben die QT Programme sozusagen einen eigenen Zugang/Treiber/Schnittstelle zum Lautstärkeregler?
vlcthinkpad25.png
Mal schauen, ob sich die Sache noch irgendwie "behandeln" lässt.
Zuletzt geändert von Sigurd am So 18. Nov 2018, 20:00, insgesamt 2-mal geändert.
OS/2 versus Hardware - Maximum Warp!
ehemaliger
Beiträge: 102
Registriert: Mi 22. Nov 2017, 23:46

Beitrag von ehemaliger »

QT4??? Meines Erachtens nach ist das Qt-Multimediamodul (Phonon) nie Bestandteil der OS/2-Portierung gewesen. Ich meine, VLC benutzt zur Audioausgabe die Bibliothek irgend eines Koreaners, die einen systemkonformen (DART) und einen UNIAUD-spezial Modus beinhaltet. Letzterer kann das Problem vermutlich umgehen.
Benutzeravatar
aschn
Beiträge: 1363
Registriert: Mi 25. Dez 2013, 22:47

Beitrag von aschn »

Nebenbei: "Irgendein Koreaner" ist nicht weniger als der für Portierungen bekannte KO Myung-Hun.
Andreas Schnellbacher
Benutzeravatar
Sigurd
Beiträge: 995
Registriert: Mo 23. Dez 2013, 08:35
Kontaktdaten:

Beitrag von Sigurd »

Und noch eine Verbesserung dazu: wesentlich angenehmer als der VLC Lan Player ist der SM Player zu benutzen, jedenfalls bei mir. Der VLC Player hat leider die unangenehme Eigenschaft sehr oft nach dem Abspielen eines Videos einzufrieren. Ebenso, wenn ich bei einem Video die STOP Taste bediene.

Der SM Player hat diese Probleme nicht. Dieser läuft sehr zuverlässig und es kommt bei mir zu keinen Abstürzen. Die Lautstärkeregelung funktioniert auch so wie sie soll, mit dem Programmregler.
smplayerthinkpad25.png
OS/2 versus Hardware - Maximum Warp!
erdmann
Beiträge: 594
Registriert: Mo 4. Jan 2016, 14:36

Beitrag von erdmann »

Ich würde mich da dem Kommentar von "ehemaliger" anschließen. Wahrscheinlich nutzen die genannten Player direkt die UNIAUD.DLL um die Lautstärke zu regeln. Und wahrscheinlich auch um herauszufinden welches Control denn nun eigentlich die Lautstärke regelt.
Ich weiß nicht wie diese Player herausfinden welcher Soundtreiber denn nun aktiv ist.
Ich müßte das mal mit dem USBAUDIO.SYS / USBAUD2.SYS probieren ...

Trotzdem empfinde ich das Ganze als einen großen Hack. Auf diese Weise gewinnt man ganz bestimmt keine neuen Nutzer.
Zuletzt geändert von erdmann am Mo 19. Nov 2018, 09:59, insgesamt 1-mal geändert.
_diver
Beiträge: 306
Registriert: Fr 27. Jun 2014, 10:57

Beitrag von _diver »

erdmann hat geschrieben: Mo 19. Nov 2018, 09:57 Ich würde mich da dem Kommentar von "ehemaliger" anschließen. Wahrscheinlich nutzen die genannten Player direkt die UNIAUD.DLL um die Lautstärke zu regeln. Und wahrscheinlich auch um herauszufinden welches Control denn nun eigentlich die Lautstärke regelt.
Ich weiß nicht wie diese Player herausfinden welcher Soundtreiber denn nun aktiv ist.
Ich müßte das mal mit dem USBAUDIO.SYS / USBAUD2.SYS probieren ...

Trotzdem empfinde ich das Ganze als einen großen Hack. Auf diese Weise gewinnt man ganz bestimmt keine neuen Nutzer.
Nein die Player benutzen die libkai. Und die kann Uniaud/Dart/MMPM. Diese regelt alles. Wer es genauer wissen will kann sich gerne https://github.com/komh/kai ansehen.
erdmann
Beiträge: 594
Registriert: Mo 4. Jan 2016, 14:36

Beitrag von erdmann »

_diver hat geschrieben: Mo 19. Nov 2018, 13:08
erdmann hat geschrieben: Mo 19. Nov 2018, 09:57 Ich würde mich da dem Kommentar von "ehemaliger" anschließen. Wahrscheinlich nutzen die genannten Player direkt die UNIAUD.DLL um die Lautstärke zu regeln. Und wahrscheinlich auch um herauszufinden welches Control denn nun eigentlich die Lautstärke regelt.
Ich weiß nicht wie diese Player herausfinden welcher Soundtreiber denn nun aktiv ist.
Ich müßte das mal mit dem USBAUDIO.SYS / USBAUD2.SYS probieren ...

Trotzdem empfinde ich das Ganze als einen großen Hack. Auf diese Weise gewinnt man ganz bestimmt keine neuen Nutzer.
Nein die Player benutzen die libkai. Und die kann Uniaud/Dart/MMPM. Diese regelt alles. Wer es genauer wissen will kann sich gerne https://github.com/komh/kai ansehen.
Hi Silvan,

ja, ich habe mir den libkai code angeschaut:
1) libkai bindet dynamisch alle Routinen von UNIAUD.DLL. Unter anderem nämlich um die UNIAUD eigenen Regelmechanismen nutzen zu können. Und sehr wahrscheinlich auch um herauszufinden ob der default Soundtreiber UNIAUD ist oder nicht
2) libkai nutzt/erwartet/wünscht eine Environment Variable namens KAI_AUTOMODE die man entweder auf UNIAUD oder DART setzen kann. Was ja ein klarer Hinweis ist, dass hier UNIAUD spezifische Dinge berücksichtigt werden. Ich kann mich außerdem gut daran erinnern, dass OBWOHL ich KAI_AUTOMODE=UNIAUD gesetzt hatte, UNIAUD eben nicht funktioniert hat. Erst als ich auf KAI_AUTOMODE=DART gesetzt habe ging es dann.

Verstehe mich bitte nicht falsch, libkai an sich funktioniert sehr gut und der Autor hat sich auch sehr Mühe gegeben um UNIAUD vernünftig einzubinden (offensichtlich, denn die Applikationen die libkai nutzen scheinen von diesen ganzen Lautstärkeregelproblemen nicht betroffen zu sein).
Es ist und bleibt aber ein Hack der in UNIAUD16.SYS/UNIAUD32.SYS gelöst werden sollte und NICHT in den Applikationen.

Das nächste was zu überarbeiten oder ersetzen wäre ist AUDIOIF.DLL und ein Update der SPI.INI.
Nämlich um z.B. höhere Samplingraten als 48 kHz bzw. Bittiefen > 16 bit unterstützen zu können.
Und genau das haben Wim und ich mit USBAUDIO.SYS / USBAUD2.SYS gemacht.
Zuletzt geändert von erdmann am Mi 21. Nov 2018, 09:52, insgesamt 2-mal geändert.
_diver
Beiträge: 306
Registriert: Fr 27. Jun 2014, 10:57

Beitrag von _diver »

erdmann hat geschrieben: Mi 21. Nov 2018, 09:44
_diver hat geschrieben: Mo 19. Nov 2018, 13:08
erdmann hat geschrieben: Mo 19. Nov 2018, 09:57 Ich würde mich da dem Kommentar von "ehemaliger" anschließen. Wahrscheinlich nutzen die genannten Player direkt die UNIAUD.DLL um die Lautstärke zu regeln. Und wahrscheinlich auch um herauszufinden welches Control denn nun eigentlich die Lautstärke regelt.
Ich weiß nicht wie diese Player herausfinden welcher Soundtreiber denn nun aktiv ist.
Ich müßte das mal mit dem USBAUDIO.SYS / USBAUD2.SYS probieren ...

Trotzdem empfinde ich das Ganze als einen großen Hack. Auf diese Weise gewinnt man ganz bestimmt keine neuen Nutzer.
Nein die Player benutzen die libkai. Und die kann Uniaud/Dart/MMPM. Diese regelt alles. Wer es genauer wissen will kann sich gerne https://github.com/komh/kai ansehen.
Hi Silvan,

ja, ich habe mir den libkai code angeschaut:
1) libkai bindet dynamisch alle Routinen von UNIAUD.DLL. Unter anderem nämlich um die UNIAUD eigenen Regelmechanismen nutzen zu können. Und sehr wahrscheinlich auch um herauszufinden ob der default Soundtreiber UNIAUD ist oder nicht
2) libkai nutzt/erwartet/wünscht eine Environment Variable namens KAI_AUTOMODE die man entweder auf UNIAUD oder DART setzen kann. Was ja ein klarer Hinweis ist, dass hier UNIAUD spezifische Dinge berücksichtigt werden. Ich kann mich außerdem gut daran erinnern, dass OBWOHL ich KAI_AUTOMODE=UNIAUD gesetzt hatte, UNIAUD eben nicht funktioniert hat. Erst als ich auf KAI_AUTOMODE=DART gesetzt habe ging es dann.

Verstehe mich bitte nicht falsch, libkai an sich funktioniert sehr gut und der Autor hat sich auch sehr Mühe gegeben um UNIAUD vernünftig einzubinden (offensichtlich, denn die Applikationen die libkai nutzen scheinen von diesen ganzen Lautstärkeregelproblemen nicht betroffen zu sein).
Es ist und bleibt aber ein Hack der in UNIAUD16.SYS/UNIAUD32.SYS gelöst werden sollte und NICHT in den Applikationen.

Das nächste was zu überarbeiten oder ersetzen wäre ist AUDIOIF.DLL und ein Update der SPI.INI.
Nämlich um z.B. höhere Samplingraten als 48 kHz bzw. Bittiefen > 16 bit unterstützen zu können.
Und genau das haben Wim und ich mit USBAUDIO.SYS / USBAUD2.SYS gemacht.
Lars
ich verstehe dich absolut nicht falsch. Und klar hast du recht, dass man es in uniaud lösen könnte/sollte. Nur du weisst so gut wie ich wer uniaud zur Zeit am leben erhält. Und versuche da mal sowas unterzubringen :)

Wir können das gerne offtopic weiter besprechen.
Antworten