sculpt: add audio and mixer launcher

The audio launcher configures the 'bsd_audio_drv' component for normal
use where the micrphone selection should work on most Thinkpads.

The mixer launcher configures the 'record_play_mixer' component for
use with the 'audio' launcher and provides also examplary rules for
vbox6 launchers.
This commit is contained in:
Josef Söntgen 2024-04-10 15:02:47 +02:00 committed by Christian Helmuth
parent 798087c5ad
commit 4a9e6a001f
3 changed files with 48 additions and 0 deletions

View File

@ -8,6 +8,7 @@ import: pkg/sculpt_drivers-pc
# selection of launcher-menu entries
launcher: vm_fs shared_fs download_debug_info black_hole trace_logger
launcher: audio mixer
# selection of accepted depot-package providers
depot: genodelabs cnuke alex-ab mstein nfeske cproc chelmuth jschlatow

View File

@ -0,0 +1,18 @@
<launcher pkg="bsd_audio_drv" priority="0">
<config report="yes" record_play="yes">
<!-- value range [0,255] -->
<mixer field="outputs.master" value="160"/>
<!-- look into mixer report for source selection -->
<mixer field="record.enable" value="on"/>
<mixer field="record.adc-0:1_source" value="sel2"/>
<mixer field="record.adc-0:1" value="160"/>
</config>
<route>
<service name="Platform"> <parent label="audio"/> </service>
<service name="Record"> <child name="mixer"/> </service>
<service name="Play"> <child name="mixer"/> </service>
<service name="Report"> <parent/> </service>
<service name="RM"> <parent/> </service>
</route>
</launcher>

View File

@ -0,0 +1,29 @@
<launcher pkg="record_play_mixer" priority="0">
<config jitter_ms="10">
<mix name="left">
<play label_suffix="vbox -> left" volume="0.7"/>
<!-- default rule -->
<play label_suffix=" -> left" volume="0.5"/>
</mix>
<mix name="right">
<play label_suffix="vbox -> right" volume="0.7"/>
<!-- default rule -->
<play label_suffix=" -> right" volume="0.5"/>
</mix>
<!-- capture microphone -->
<mix name="mic_left"> <play label="audio -> mic_left"/> </mix>
<mix name="mic_right"> <play label="audio -> mic_right"/> </mix>
<!-- rule for vbox6 VMs matching their OSS configuration -->
<policy label_suffix="vbox -> left" record="mic_left" period_ms="46" jitter_ms="23" volume="1.0"/>
<policy label_suffix="vbox -> right" record="mic_right" period_ms="46" jitter_ms="23" volume="1.0"/>
<!-- rule for the audio driver matching its configuration -->
<policy label="audio -> left" record="left" period_ms="12" jitter_ms="5" volume="1.0"/>
<policy label="audio -> right" record="right" period_ms="12" jitter_ms="5" volume="1.0"/>
</config>
<route>
<service name="Report"> <parent/> </service>
</route>
</launcher>