easyeffects icon indicating copy to clipboard operation
easyeffects copied to clipboard

Presets autoloading doesn't kick in anymore

Open bdaase opened this issue 3 years ago • 11 comments

EasyEffects Version

6.26

What package are you using?

Flatpak (Flathub)

Distribution

Fedora 36

Describe the bug

I have a preset for my internal laptop speakers, which makes them sound way better (thanks a lot for making this possible, btw!). However, this profile doesn't work at all with any kind of external speakers, so I have presets autoloading setup in there for all external speakers I connect to on a regular basis to load a clean profile. This worked perfectly fine. However, at some point in the last month, that seems to have broken somehow and preset autoloading doesn't kick in anymore.

Expected Behavior

No response

Debug Log

This is the log. I started easyeffects without the external speaker connected and then, after it started at 17:19:50, connected the speaker.

Debug Log
➜  ~ G_MESSAGES_DEBUG=easyeffects flatpak run com.github.wwmm.easyeffects
You have PipeWire 0.3.52 installed
This is newer or the same as PipeWire 0.3.41 required to run EasyEffects
(process:2): easyeffects-DEBUG: 17:19:35.131:   easyeffects.cpp:35      easyeffects version: 6.2.6
(process:2): easyeffects-DEBUG: 17:19:35.133:   easyeffects.cpp:45      locale directory: /app/share/locale
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:72  system input presets directory: "/app/etc/xdg/easyeffects/input";
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:72  system input presets directory: "/etc/easyeffects/input";
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:72  system input presets directory: "/etc/xdg/easyeffects/input";
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:75  system output presets directory: "/app/etc/xdg/easyeffects/output";
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:75  system output presets directory: "/etc/easyeffects/output";
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:75  system output presets directory: "/etc/xdg/easyeffects/output";
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:215 user presets directory already exists: /home/bjoern/.var/app/com.github.wwmm.easyeffects/config/easyeffects/
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:215 user presets directory already exists: /home/bjoern/.var/app/com.github.wwmm.easyeffects/config/easyeffects/input
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:215 user presets directory already exists: /home/bjoern/.var/app/com.github.wwmm.easyeffects/config/easyeffects/output
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:215 user presets directory already exists: /home/bjoern/.var/app/com.github.wwmm.easyeffects/config/easyeffects/autoload/input
(easyeffects:2): easyeffects-DEBUG: 17:19:35.143:       presets_manager.cpp:215 user presets directory already exists: /home/bjoern/.var/app/com.github.wwmm.easyeffects/config/easyeffects/autoload/output
(easyeffects:2): easyeffects-DEBUG: 17:19:35.271:       pipe_manager.cpp:1388   compiled with PipeWire: 0.3.41
(easyeffects:2): easyeffects-DEBUG: 17:19:35.271:       pipe_manager.cpp:1389   linked to PipeWire: 0.3.41
(easyeffects:2): easyeffects-DEBUG: 17:19:35.274:       pipe_manager.cpp:1356   core version: 0.3.52
(easyeffects:2): easyeffects-DEBUG: 17:19:35.274:       pipe_manager.cpp:1357   core name: pipewire-0
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1270   found metadata: settings
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1270   found metadata: default
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1270   found metadata: route-settings
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1125   Audio/Sink 49 alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink with serial 49 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1125   Audio/Source 50 alsa_input.pci-0000_07_00.6.HiFi__hw_Generic_1__source with serial 50 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1125   Audio/Source 51 alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source with serial 51 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1125   Stream/Output/Audio 66 Firefox with serial 292 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1165   Firefox port 67 is connected to alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink port 52
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1165   Firefox port 89 is connected to alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink port 54
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1125   Audio/Sink 185 easyeffects_sink with serial 741 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:35.276:       pipe_manager.cpp:1125   Audio/Source/Virtual 155 easyeffects_source with serial 742 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:35.277:       pipe_manager.cpp:879    new metadata property: 0, default.audio.sink, Spa:String:JSON, {"name":"alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink"}
(easyeffects:2): easyeffects-DEBUG: 17:19:35.277:       pipe_manager.cpp:879    new metadata property: 0, default.audio.source, Spa:String:JSON, {"name":"alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source"}
(easyeffects:2): easyeffects-DEBUG: 17:19:35.277:       pipe_manager.cpp:879    new metadata property: 0, default.video.source, Spa:String:JSON, {"name":"v4l2_input.pci-0000_06_00.0-usb-0_2_1.0"}
(easyeffects:2): easyeffects-DEBUG: 17:19:35.277:       pipe_manager.cpp:879    new metadata property: 0, default.configured.audio.sink, Spa:String:JSON, { "name": "alsa_output.pci-0000_07_00.1.HiFi__hw_Generic_7__sink" }
(easyeffects:2): easyeffects-DEBUG: 17:19:35.277:       pipe_manager.cpp:879    new metadata property: 66, target.node, Spa:Id, 156
(easyeffects:2): easyeffects-DEBUG: 17:19:35.277:       pipe_manager.cpp:879    new metadata property: 66, target.object, Spa:Id, 634
(easyeffects:2): easyeffects-DEBUG: 17:19:35.277:       pipe_manager.cpp:1477   easyeffects_sink node successfully retrieved with id 185 and serial 741
(easyeffects:2): easyeffects-DEBUG: 17:19:35.278:       pipe_manager.cpp:1482   easyeffects_source node successfully retrieved with id 155 and serial 742
(easyeffects:2): easyeffects-DEBUG: 17:19:35.334:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/sc_compressor_stereo requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:35.372:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/comp_delay_x2_stereo requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:35.426:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/para_equalizer_x32_lr requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:36.591:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/sc_limiter_stereo requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:36.610:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/loud_comp_stereo requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:36.628:       lv2_wrapper.cpp:100     urn:zamaudio:ZaMaximX2 requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:36.628:       lv2_wrapper.cpp:100     urn:zamaudio:ZaMaximX2 requires feature: http://lv2plug.in/ns/ext/options#options
(easyeffects:2): easyeffects-DEBUG: 17:19:36.659:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/sc_mb_compressor_stereo requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:36.701:       rnnoise.cpp:274 soe: rnnoise using the default model
(easyeffects:2): easyeffects-DEBUG: 17:19:36.726:       plugin_base.cpp:268     soe: output_level successfully connected to PipeWire graph
(easyeffects:2): easyeffects-DEBUG: 17:19:36.728:       plugin_base.cpp:268     soe: spectrum successfully connected to PipeWire graph
(easyeffects:2): easyeffects-DEBUG: 17:19:36.735:       stream_output_effects.cpp:206   No output device set. Aborting the link
(easyeffects:2): easyeffects-DEBUG: 17:19:36.792:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/sc_compressor_stereo requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:36.831:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/comp_delay_x2_stereo requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:36.885:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/para_equalizer_x32_lr requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:38.040:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/sc_limiter_stereo requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:38.059:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/loud_comp_stereo requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:38.078:       lv2_wrapper.cpp:100     urn:zamaudio:ZaMaximX2 requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:38.078:       lv2_wrapper.cpp:100     urn:zamaudio:ZaMaximX2 requires feature: http://lv2plug.in/ns/ext/options#options
(easyeffects:2): easyeffects-DEBUG: 17:19:38.107:       lv2_wrapper.cpp:100     http://lsp-plug.in/plugins/lv2/sc_mb_compressor_stereo requires feature: http://lv2plug.in/ns/ext/urid#map
(easyeffects:2): easyeffects-DEBUG: 17:19:38.149:       rnnoise.cpp:274 sie: rnnoise using the default model
(easyeffects:2): easyeffects-DEBUG: 17:19:38.171:       plugin_base.cpp:268     sie: output_level successfully connected to PipeWire graph
(easyeffects:2): easyeffects-DEBUG: 17:19:38.173:       plugin_base.cpp:268     sie: spectrum successfully connected to PipeWire graph
(easyeffects:2): easyeffects-DEBUG: 17:19:38.179:       stream_input_effects.cpp:210    No input device set. Aborting the link
(easyeffects:2): easyeffects-DEBUG: 17:19:38.179:       stream_output_effects.cpp:206   No output device set. Aborting the link
(easyeffects:2): easyeffects-DEBUG: 17:19:38.179:       stream_input_effects.cpp:210    No input device set. Aborting the link
easyeffects-INFO: 17:19:38.179:         application.cpp:48      disabling global bypass
(easyeffects:2): easyeffects-DEBUG: 17:19:38.185:       application_ui.cpp:82   Icon Theme Adwaita detected
(easyeffects:2): easyeffects-DEBUG: 17:19:38.343:       app_info.cpp:137        cannot lookup application icon firefox in /usr/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:38.343:       app_info.cpp:137        cannot lookup application icon firefox in /usr/local/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:38.356:       rnnoise_ui.cpp:325      model directory already exists: /home/bjoern/.var/app/com.github.wwmm.easyeffects/config/easyeffects/rnnoise
(easyeffects:2): easyeffects-DEBUG: 17:19:41.249:       application.cpp:84      new default output device: alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink
(easyeffects:2): easyeffects-DEBUG: 17:19:41.249:       presets_manager.cpp:812 autoloading preset laptop-internal-speakers for device alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink
(easyeffects:2): easyeffects-DEBUG: 17:19:41.250:       effects_base.cpp:203    soe: pipeline latency: 0 ms
(easyeffects:2): easyeffects-DEBUG: 17:19:41.252:       plugin_base.cpp:268     soe: filter successfully connected to PipeWire graph
(easyeffects:2): easyeffects-DEBUG: 17:19:41.253:       pipe_manager.cpp:879    new metadata property: 66, target.node, Spa:Id, 185
(easyeffects:2): easyeffects-DEBUG: 17:19:41.253:       pipe_manager.cpp:879    new metadata property: 66, target.object, Spa:Id, 741
(easyeffects:2): easyeffects-DEBUG: 17:19:41.255:       plugin_base.cpp:268     soe: bass_enhancer successfully connected to PipeWire graph
(easyeffects:2): easyeffects-DEBUG: 17:19:41.255:       pipe_manager.cpp:1165   Firefox port 67 is connected to easyeffects_sink port 158
(easyeffects:2): easyeffects-DEBUG: 17:19:41.255:       pipe_manager.cpp:1165   Firefox port 89 is connected to easyeffects_sink port 96
(easyeffects:2): easyeffects-DEBUG: 17:19:41.258:       plugin_base.cpp:268     soe: multiband_compressor successfully connected to PipeWire graph
(easyeffects:2): easyeffects-DEBUG: 17:19:41.261:       plugin_base.cpp:268     soe: stereo_tools successfully connected to PipeWire graph
(easyeffects:2): easyeffects-DEBUG: 17:19:41.263:       plugin_base.cpp:268     soe: limiter successfully connected to PipeWire graph
(easyeffects:2): easyeffects-DEBUG: 17:19:41.420:       app_info.cpp:314        Firefox disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.421:       app_info.cpp:322        Firefox finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.421:       app_info.cpp:28 data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.422:       app_info.cpp:137        cannot lookup application icon firefox in /usr/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:41.422:       app_info.cpp:137        cannot lookup application icon firefox in /usr/local/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:41.430:       presets_manager.cpp:622 successfully loaded preset: /home/bjoern/.var/app/com.github.wwmm.easyeffects/config/easyeffects/output/laptop-internal-speakers.json
(easyeffects:2): easyeffects-DEBUG: 17:19:41.449:       application.cpp:92      new default input device: alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source
(easyeffects:2): easyeffects-DEBUG: 17:19:41.451:       plugin_base.cpp:268     sie: rnnoise successfully connected to PipeWire graph
(easyeffects:2): easyeffects-DEBUG: 17:19:41.459:       app_info.cpp:137        cannot lookup application icon firefox in /usr/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:41.459:       app_info.cpp:137        cannot lookup application icon firefox in /usr/local/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:41.459:       application.cpp:135     device alsa_card.pci-0000_07_00.6 has changed its output route to: [Out] Speaker
(easyeffects:2): easyeffects-DEBUG: 17:19:41.459:       presets_manager.cpp:812 autoloading preset laptop-internal-speakers for device alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink
(easyeffects:2): easyeffects-DEBUG: 17:19:41.460:       effects_base.cpp:203    soe: pipeline latency: 0 ms
(easyeffects:2): easyeffects-DEBUG: 17:19:41.472:       filter_ui.cpp:117       disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.474:       filter_ui.cpp:26        data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.474:       filter_ui.cpp:127       finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.475:       bass_enhancer_ui.cpp:121        disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.477:       bass_enhancer_ui.cpp:26 data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.477:       bass_enhancer_ui.cpp:131        finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.479:       multiband_compressor_ui.cpp:279 disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.481:       node_info_holder.cpp:91 51, alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.481:       node_info_holder.cpp:91 50, alsa_input.pci-0000_07_00.6.HiFi__hw_Generic_1__source finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.481:       multiband_compressor_band_box.cpp:192   index: 0 disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.484:       multiband_compressor_band_box.cpp:26    data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.484:       multiband_compressor_band_box.cpp:202   finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.484:       multiband_compressor_band_box.cpp:192   index: 1 disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.486:       multiband_compressor_band_box.cpp:26    data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.486:       multiband_compressor_band_box.cpp:202   finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.486:       multiband_compressor_band_box.cpp:192   index: 2 disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.488:       multiband_compressor_band_box.cpp:26    data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.488:       multiband_compressor_band_box.cpp:202   finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.488:       multiband_compressor_band_box.cpp:192   index: 3 disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.491:       multiband_compressor_band_box.cpp:26    data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.491:       multiband_compressor_band_box.cpp:202   finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.491:       multiband_compressor_band_box.cpp:192   index: 4 disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.493:       multiband_compressor_band_box.cpp:26    data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.493:       multiband_compressor_band_box.cpp:202   finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.493:       multiband_compressor_band_box.cpp:192   index: 5 disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.495:       multiband_compressor_band_box.cpp:26    data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.495:       multiband_compressor_band_box.cpp:202   finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.495:       multiband_compressor_band_box.cpp:192   index: 6 disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.498:       multiband_compressor_band_box.cpp:26    data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.498:       multiband_compressor_band_box.cpp:202   finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.498:       multiband_compressor_band_box.cpp:192   index: 7 disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.500:       multiband_compressor_band_box.cpp:26    data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.500:       multiband_compressor_band_box.cpp:202   finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.500:       multiband_compressor_ui.cpp:30  data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.500:       multiband_compressor_ui.cpp:289 finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.504:       stereo_tools_ui.cpp:146 disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.507:       stereo_tools_ui.cpp:26  data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.507:       stereo_tools_ui.cpp:156 finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.508:       limiter_ui.cpp:245      disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.510:       node_info_holder.cpp:91 51, alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.510:       node_info_holder.cpp:91 50, alsa_input.pci-0000_07_00.6.HiFi__hw_Generic_1__source finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.512:       limiter_ui.cpp:26       data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.512:       limiter_ui.cpp:255      finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.636:       app_info.cpp:314        Firefox disposed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.637:       app_info.cpp:322        Firefox finalized
(easyeffects:2): easyeffects-DEBUG: 17:19:41.637:       app_info.cpp:28 data struct destroyed
(easyeffects:2): easyeffects-DEBUG: 17:19:41.639:       app_info.cpp:137        cannot lookup application icon firefox in /usr/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:41.639:       app_info.cpp:137        cannot lookup application icon firefox in /usr/local/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:41.646:       presets_manager.cpp:622 successfully loaded preset: /home/bjoern/.var/app/com.github.wwmm.easyeffects/config/easyeffects/output/laptop-internal-speakers.json
(easyeffects:2): easyeffects-DEBUG: 17:19:41.650:       application.cpp:104     device alsa_card.pci-0000_07_00.6 has changed its input route to: [In] Mic1
(easyeffects:2): easyeffects-DEBUG: 17:19:41.650:       application.cpp:123     input autoloading: the target node name does not match the input device name
(easyeffects:2): easyeffects-DEBUG: 17:19:41.651:       app_info.cpp:137        cannot lookup application icon firefox in /usr/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:41.651:       app_info.cpp:137        cannot lookup application icon firefox in /usr/local/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:41.651:       app_info.cpp:137        cannot lookup application icon firefox in /usr/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:41.651:       app_info.cpp:137        cannot lookup application icon firefox in /usr/local/share/pixmaps
(easyeffects:2): easyeffects-DEBUG: 17:19:52.392:       stream_output_effects.cpp:189   No app linked to our device wants to play. Unlinking our filters.
(easyeffects:2): easyeffects-DEBUG: 17:19:52.400:       stream_input_effects.cpp:193    No app linked to our device wants to play. Unlinking our filters.
(easyeffects:2): easyeffects-DEBUG: 17:19:54.194:       pipe_manager.cpp:1125   Audio/Sink 95 alsa_output.pci-0000_07_00.1.HiFi__hw_Generic_9__sink with serial 870 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:54.194:       pipe_manager.cpp:1125   Audio/Sink 80 alsa_output.pci-0000_07_00.1.HiFi__hw_Generic_8__sink with serial 871 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:54.194:       pipe_manager.cpp:1125   Audio/Sink 77 alsa_output.pci-0000_07_00.1.HiFi__hw_Generic_7__sink with serial 872 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:54.194:       pipe_manager.cpp:1125   Audio/Sink 71 alsa_output.pci-0000_07_00.1.HiFi__hw_Generic_3__sink with serial 873 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:54.196:       application.cpp:135     device alsa_card.pci-0000_07_00.1 has changed its output route to: [Out] HDMI4
(easyeffects:2): easyeffects-DEBUG: 17:19:54.197:       application.cpp:154     output autoloading: the target node name does not match the output device name
(easyeffects:2): easyeffects-DEBUG: 17:19:54.197:       application.cpp:135     device alsa_card.pci-0000_07_00.1 has changed its output route to: [Out] HDMI4
(easyeffects:2): easyeffects-DEBUG: 17:19:54.197:       application.cpp:154     output autoloading: the target node name does not match the output device name
(easyeffects:2): easyeffects-DEBUG: 17:19:54.242:       pipe_manager.cpp:1125   Audio/Sink 151 alsa_output.usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00.analog-stereo with serial 876 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:54.242:       pipe_manager.cpp:1125   Audio/Source 146 alsa_input.usb-Sonix_Technology_Co.__Ltd._USB_2.0_Camera_SN0001-02.analog-stereo with serial 877 has been added
(easyeffects:2): easyeffects-DEBUG: 17:19:54.256:       application.cpp:135     device alsa_card.usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00 has changed its output route to: analog-output
(easyeffects:2): easyeffects-DEBUG: 17:19:54.256:       application.cpp:157     output autoloading: could not find the target node
(easyeffects:2): easyeffects-DEBUG: 17:19:54.257:       application.cpp:104     device alsa_card.usb-Sonix_Technology_Co.__Ltd._USB_2.0_Camera_SN0001-02 has changed its input route to: analog-input-mic
(easyeffects:2): easyeffects-DEBUG: 17:19:54.257:       application.cpp:126     input autoloading: could not find the target node
(easyeffects:2): easyeffects-DEBUG: 17:19:54.288:       pipe_manager.cpp:879    new metadata property: 0, default.audio.sink, Spa:String:JSON, {"name":"alsa_output.usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00.analog-stereo"}
(easyeffects:2): easyeffects-DEBUG: 17:19:54.288:       pipe_manager.cpp:879    new metadata property: 0, default.audio.source, Spa:String:JSON, {"name":"alsa_input.usb-Sonix_Technology_Co.__Ltd._USB_2.0_Camera_SN0001-02.analog-stereo"}
(easyeffects:2): easyeffects-DEBUG: 17:19:54.288:       application.cpp:84      new default output device: alsa_output.usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00.analog-stereo
(easyeffects:2): easyeffects-DEBUG: 17:19:54.297:       application.cpp:92      new default input device: alsa_input.usb-Sonix_Technology_Co.__Ltd._USB_2.0_Camera_SN0001-02.analog-stereo
(easyeffects:2): easyeffects-DEBUG: 17:19:54.371:       limiter.cpp:136 soe: limiter latency: 0.004125 s
(easyeffects:2): easyeffects-DEBUG: 17:19:54.371:       output_level.cpp:37     soe: output_level: new PipeWire blocksize: 2048
(easyeffects:2): easyeffects-DEBUG: 17:19:54.371:       effects_base.cpp:203    soe: pipeline latency: 4.125 ms
(easyeffects:2): easyeffects-DEBUG: 17:20:04.387:       stream_output_effects.cpp:189   No app linked to our device wants to play. Unlinking our filters.

Additional Information

No response

bdaase avatar Jul 02 '22 15:07 bdaase

application.cpp:154 output autoloading: the target node name does not match the output device name

This is the reason why they are not working. For some reason the device name in the profile does not match the name of the device currently being used. Maybe after a PipeWire update some of the device properties had some kind of change. If you recreate the profile it should work again.

wwmm avatar Jul 02 '22 15:07 wwmm

Thanks for your help!

If you recreate the profile it should work again.

What I already tried was to delete the presets autoloading entry for that speaker, recreat it, and finally reboot. However, the porblem persists. Or do you mean something else?

bdaase avatar Jul 02 '22 15:07 bdaase

What I already tried was to delete the presets autoloading entry for that speaker, recreat it, and finally reboot. However, the porblem persists. Or do you mean something else?

No. I was talking about recreating the autoloading profile. If this did not help something else is going on. What is the content of the generated autoloading files? You can get them in the folder ~/.config/easyeffects/autoload/.

wwmm avatar Jul 02 '22 15:07 wwmm

No. I was talking about recreating the autoloading profile.

Sorry, I still don't get which profile/files you are talking about. The JSON files describing the actual profiles?

What is the content of the generated autoloading files?

The file for the external speakers looks as follows

➜  autoload cat output/alsa_output.usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00.analog-stereo:.json
{
    "device": "alsa_output.usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00.analog-stereo",
    "device-description": "ThinkPad USB-C Dock Audio Analog Stereo",
    "device-profile": "",
    "preset-name": "clean"
}

and for the internal one

➜  autoload cat output/alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink:\[Out\]\ Speaker.json
{
    "device": "alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink",
    "device-description": "Family 17h/19h HD Audio Controller Speaker + Headphones",
    "device-profile": "[Out] Speaker",
    "preset-name": "laptop-internal-speakers"
}

bdaase avatar Jul 02 '22 15:07 bdaase

Sorry, I still don't get which profile/files you are talking about. The JSON files describing the actual profiles?

Yes. I did not express myself very well. You have already done what I had in mind.

wwmm avatar Jul 02 '22 16:07 wwmm

It isn't clear to me yet what is going on. Initially the autoloading works

17:19:41.249:       application.cpp:84      new default output device: alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink
17:19:41.249:       presets_manager.cpp:812 autoloading preset laptop-internal-speakers for device alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink

and the preset laptop-internal-speakers is loaded. There are some failings related to HDMI devices but I think in this case it is just because they are not the output device currently being used by EasyEffects. A preset is autoloaded only if its corresponding device is the one currently being used by EE.

After this at the end of the log a usb device is connected. I imagine this is the one you are using to send audio to an external amplifier and here something I have seen in the past happens. THe signal about the profile swtich is coming before the one about the default device change. And as a result when EE tries to check if the device that is changing profiles is the one we are currently using the check fails because EE does not know yet it is supposed to be using that device. I am seeing this happening to my usb mic now... It may be tough to workaround this... The device profile change information comes from a signal that is totally independent from the one about the default device change...

wwmm avatar Jul 03 '22 14:07 wwmm

But there is something else that is bothering me that also happens with my usb mic. The device-profile isn't supposed to be empty. The log shows that the profile changes to analog-input-mic on both of our usb devices. So when the profile is created this information should be there. But for some reason it isn't saved to the file. I will check now if this has major consequences...

wwmm avatar Jul 03 '22 15:07 wwmm

I understand now why the profile is empty... And it is directly related to some changes that has to be done in the last release to fix other problems. As PipeWire reuses id numbers in the last release we started to do some checks based on the node/device name. But the problem is that the node name usually has the current profile appended to it. In order to identify that it is the same device but just in a different profile we are looking at the device bus-path. What is usually part of the node name. But of course there is an exception... It seems that on usb devices PipeWire appends the bus-id and not the bus-path...

wwmm avatar Jul 03 '22 15:07 wwmm

After this at the end of the log a usb device is connected. I imagine this is the one you are using to send audio to an external amplifier and here something I have seen in the past happens.

That's correct. The USB device is a docking station with speakers connected to it.

I am seeing this happening to my usb mic now...

That makes debugging the problem significantly easier, at least :)

I understand now why the profile is empty...

Great. Thanks for your investigation!

bdaase avatar Jul 03 '22 15:07 bdaase

I have updated the master branch with an improved autoloading code. At least with my usb microphone things are now how they should have been. I just hope PipeWire uses the device.bus-id property with all usb devices and that there are no other exception. If you are curious about what PipeWire is doing with your device you can run pw-cli list-objects Device and once you find its id number you can run pw-cli info id_number to view its properties. Hopefully it would have the device.bus-id property set and its contents will be part of the corresponding node names shown in your EE logs.

In case you want to test the master branch we have a beta Flatpak branch https://github.com/wwmm/easyeffects/wiki/Package-Repositories#nightly-flatpak that builts from our master branch. But it may take 24 hours until it generates a new package.

wwmm avatar Jul 03 '22 18:07 wwmm

This is what I get from pw-cli list-objects Device

➜  ~ pw-cli list-objects Device
        id 41, type PipeWire:Interface:Device/3
                object.serial = "42"
                factory.id = "14"
                client.id = "33"
                device.api = "v4l2"
                device.description = "Integrated Camera"
                device.name = "v4l2_device.pci-0000_06_00.0-usb-0_2_1.0"
                media.class = "Video/Device"
        id 42, type PipeWire:Interface:Device/3
                object.serial = "43"
                factory.id = "14"
                client.id = "33"
                device.api = "v4l2"
                device.description = "Integrated Camera"
                device.name = "v4l2_device.pci-0000_06_00.0-usb-0_2_1.0.2"
                media.class = "Video/Device"
        id 43, type PipeWire:Interface:Device/3
                object.serial = "44"
                factory.id = "14"
                client.id = "33"
                device.api = "v4l2"
                device.description = "Integrated Camera"
                device.name = "v4l2_device.pci-0000_06_00.0-usb-0_2_1.2"
                media.class = "Video/Device"
        id 44, type PipeWire:Interface:Device/3
                object.serial = "45"
                factory.id = "14"
                client.id = "33"
                device.api = "v4l2"
                device.description = "Integrated Camera"
                device.name = "v4l2_device.pci-0000_06_00.0-usb-0_2_1.2.2"
                media.class = "Video/Device"
        id 47, type PipeWire:Interface:Device/3
                object.serial = "48"
                factory.id = "14"
                client.id = "33"
                device.api = "alsa"
                device.description = "Renoir Radeon High Definition Audio Controller"
                device.name = "alsa_card.pci-0000_07_00.1"
                device.nick = "HD-Audio Generic"
                media.class = "Audio/Device"
        id 50, type PipeWire:Interface:Device/3
                object.serial = "51"
                factory.id = "14"
                client.id = "33"
                device.api = "alsa"
                device.description = "Family 17h/19h HD Audio Controller"
                device.name = "alsa_card.pci-0000_07_00.6"
                device.nick = "HD-Audio Generic"
                media.class = "Audio/Device"
        id 59, type PipeWire:Interface:Device/3
                object.serial = "1765"
                factory.id = "14"
                client.id = "33"
                device.api = "alsa"
                device.description = "ThinkPad USB-C Dock Audio"
                device.name = "alsa_card.usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00"
                device.nick = "ThinkPad USB-C Dock Audio"
                media.class = "Audio/Device"
        id 74, type PipeWire:Interface:Device/3
                object.serial = "1767"
                factory.id = "14"
                client.id = "33"
                device.api = "v4l2"
                device.description = "USB 2.0 Camera"
                device.name = "v4l2_device.pci-0000_07_00.3-usb-0_1.1.2_1.0.2"
                media.class = "Video/Device"
        id 132, type PipeWire:Interface:Device/3
                object.serial = "1768"
                factory.id = "14"
                client.id = "33"
                device.api = "alsa"
                device.description = "USB 2.0 Camera"
                device.name = "alsa_card.usb-Sonix_Technology_Co.__Ltd._USB_2.0_Camera_SN0001-02"
                device.nick = "USB 2.0 Camera"
                media.class = "Audio/Device"
        id 166, type PipeWire:Interface:Device/3
                object.serial = "1766"
                factory.id = "14"
                client.id = "33"
                device.api = "v4l2"
                device.description = "USB 2.0 Camera"
                device.name = "v4l2_device.pci-0000_07_00.3-usb-0_1.1.2_1.0"
                media.class = "Video/Device"

I assume id 59 is what we are looking for, so here is the result of pw-cli info 59.

➜  ~ pw-cli info 59
        id: 59
        permissions: rwxm
        type: PipeWire:Interface:Device/3
*       properties:
*               api.acp.auto-port = "false"
*               api.acp.auto-profile = "false"
*               api.alsa.card = "0"
*               api.alsa.card.longname = "Lenovo ThinkPad USB-C Dock Audio at usb-0000:07:00.3-1.2, full speed"
*               api.alsa.card.name = "ThinkPad USB-C Dock Audio"
*               api.alsa.path = "hw:0"
*               api.alsa.use-acp = "true"
*               api.dbus.ReserveDevice1 = "Audio0"
*               device.api = "alsa"
*               device.bus = "usb"
*               device.bus-id = "usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00"
*               device.bus-path = "pci-0000:07:00.3-usb-0:1.2:1.0"
*               device.description = "ThinkPad USB-C Dock Audio"
*               device.enum.api = "udev"
*               device.icon-name = "audio-card-analog-usb"
*               device.name = "alsa_card.usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00"
*               device.nick = "ThinkPad USB-C Dock Audio"
*               device.plugged.usec = "37570819880"
*               device.product.id = "30b0"
*               device.product.name = "ThinkPad USB-C Dock Audio"
*               device.serial = "Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000"
*               device.subsystem = "sound"
*               device.sysfs.path = "/sys/devices/pci0000:00/0000:00:08.1/0000:07:00.3/usb3/3-1/3-1.2/3-1.2:1.0/sound/card0"
*               device.vendor.id = "17ef"
*               device.vendor.name = "Lenovo"
*               media.class = "Audio/Device"
*               factory.id = "14"
*               client.id = "33"
*               object.id = "59"
*               object.serial = "1765"
*               object.path = "alsa:pcm:0"
*               alsa.card = "0"
*               alsa.card_name = "ThinkPad USB-C Dock Audio"
*               alsa.long_card_name = "Lenovo ThinkPad USB-C Dock Audio at usb-0000:07:00.3-1.2, full speed"
*               alsa.driver_name = "snd_usb_audio"
*               device.string = "0"
*       params: (4)
*         8 (Spa:Enum:ParamId:EnumProfile) r-
*         9 (Spa:Enum:ParamId:Profile) rw
*         12 (Spa:Enum:ParamId:EnumRoute) r-
*         13 (Spa:Enum:ParamId:Route) rw

It looks to me, however, that both bus-path and bus-id are set for that device and the bus-id looks like the postfix of the device. I will wait for your change to hit a stable release and then report back. Thanks a lot :)

bdaase avatar Jul 03 '22 19:07 bdaase

I'm also observing this on my HP notebook's internal soundcard when plugging/unplugging the headphones, using release 6.2.8:

(easyeffects:13121): easyeffects-DEBUG: 13:42:25.731:   pipe_manager.cpp:881    new metadata property: 0, default.audio.sink, Spa:String:JSON, {"name":"easyeffects_sink"}
(easyeffects:13121): easyeffects-DEBUG: 13:42:25.733:   application.cpp:136     device alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic has changed its output route to: [Out] Speaker
(easyeffects:13121): easyeffects-DEBUG: 13:42:25.733:   application.cpp:156     output autoloading: the target node name does not match the output device name

I have these two autoload configs for toggling between no profile and one for the headphones:

{
    "device": "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink",
    "device-description": "Tiger Lake-H HD Audio Controller Speaker + Headphones",
    "device-profile": "[Out] Headphones",
    "preset-name": "HD6xx"
}
{
    "device": "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink",
    "device-description": "Tiger Lake-H HD Audio Controller Speaker + Headphones",
    "device-profile": "[Out] Speaker",
    "preset-name": "None"
}

The relevant pw-cli info:

        id: 43
        permissions: rwxm
        type: PipeWire:Interface:Device/3
*       properties:
*               api.acp.auto-port = "false"
*               api.acp.auto-profile = "false"
*               api.alsa.card = "0"
*               api.alsa.card.longname = "HP-HPZBookPower15.6inchG8MobileWorkstationPC--888D"
*               api.alsa.card.name = "sof-hda-dsp"
*               api.alsa.path = "hw:0"
*               api.alsa.use-acp = "true"
*               api.dbus.ReserveDevice1 = "Audio0"
*               device.api = "alsa"
*               device.bus = "pci"
*               device.bus-path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
*               device.description = "Tiger Lake-H HD Audio Controller"
*               device.enum.api = "udev"
*               device.icon-name = "audio-card-analog-pci"
*               device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
*               device.nick = "sof-hda-dsp"
*               device.plugged.usec = "30099573"
*               device.product.id = "0x43c8"
*               device.product.name = "Tiger Lake-H HD Audio Controller"
*               device.subsystem = "sound"
*               device.sysfs.path = "/sys/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
*               device.vendor.id = "0x8086"
*               device.vendor.name = "Intel Corporation"
*               media.class = "Audio/Device"
*               factory.id = "14"
*               client.id = "38"
*               object.id = "43"
*               object.serial = "44"
*               object.path = "alsa:pcm:0"
*               alsa.card = "0"
*               alsa.card_name = "sof-hda-dsp"
*               alsa.long_card_name = "HP-HPZBookPower15.6inchG8MobileWorkstationPC--888D"
*               alsa.driver_name = "snd_soc_skl_hda_dsp"
*               device.string = "0"
*       params: (4)
*         8 (Spa:Enum:ParamId:EnumProfile) r-
*         9 (Spa:Enum:ParamId:Profile) rw
*         12 (Spa:Enum:ParamId:EnumRoute) r-
*         13 (Spa:Enum:ParamId:Route) rw

The selected profile (enum param 9) is always HiFi, no matter if I'm using headphones or the speakers, only the route shown by param 13 changes.

Cat-Ion avatar Sep 13 '22 12:09 Cat-Ion

For me autoloading works for USB DAC speakers but fails when switching to a headphone DAC. EE_debug.txt

The working one is

andyrtr@workstation64:[~]$ pw-cli info 68
	id: 68
	permissions: rwxm
	type: PipeWire:Interface:Device/3
*	properties:
*		api.acp.auto-port = "false"
*		api.acp.auto-profile = "false"
*		api.alsa.card = "2"
*		api.alsa.card.longname = "BurrBrown from Texas Instruments USB AUDIO    DAC at usb-0000:01:00.0-3.1, full"
*		api.alsa.card.name = "USB AUDIO    DAC"
*		api.alsa.path = "hw:2"
*		api.alsa.use-acp = "true"
*		device.api = "alsa"
*		device.bus = "usb"
*		device.bus-id = "usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_DAC-00"
*		device.bus-path = "pci-0000:01:00.0-usb-0:3.1:1.0"
*		device.description = "PCM2704C stereo audio DAC"
*		device.enum.api = "udev"
*		device.icon-name = "audio-card-analog-usb"
*		device.name = "alsa_card.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_DAC-00"
*		device.nick = "USB AUDIO    DAC"
*		device.plugged.usec = "9508346"
*		device.product.id = "0x27c4"
*		device.product.name = "PCM2704C stereo audio DAC"
*		device.serial = "BurrBrown_from_Texas_Instruments_USB_AUDIO_DAC"
*		device.subsystem = "sound"
*		device.sysfs.path = "/sys/devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-3/1-3.1/1-3.1:1.0/sound/card2"
*		device.vendor.id = "0x08bb"
*		device.vendor.name = "Texas Instruments"
*		media.class = "Audio/Device"
*		factory.id = "14"
*		client.id = "38"
*		object.id = "68"
*		object.serial = "71"
*		object.path = "alsa:pcm:2"
*		alsa.card = "2"
*		alsa.card_name = "USB AUDIO    DAC"
*		alsa.long_card_name = "BurrBrown from Texas Instruments USB AUDIO    DAC at usb-0000:01:00.0-3.1, full"
*		alsa.driver_name = "snd_usb_audio"
*		device.string = "2"
*	params: (4)
*	  8 (Spa:Enum:ParamId:EnumProfile) r-
*	  9 (Spa:Enum:ParamId:Profile) rw
*	  12 (Spa:Enum:ParamId:EnumRoute) r-
*	  13 (Spa:Enum:ParamId:Route) rw

alsa_output.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_DAC-00.iec958-stereo:iec958-stereo-output.json.txt

and the failing headphone DAC:

	id: 164
	permissions: rwxm
	type: PipeWire:Interface:Device/3
*	properties:
*		api.acp.auto-port = "false"
*		api.acp.auto-profile = "false"
*		api.alsa.card = "1"
*		api.alsa.card.longname = "Topping DX3 Pro+ at usb-0000:06:00.3-1, high speed"
*		api.alsa.card.name = "DX3 Pro+"
*		api.alsa.path = "hw:1"
*		api.alsa.use-acp = "true"
*		device.api = "alsa"
*		device.bus = "usb"
*		device.bus-id = "usb-Topping_DX3_Pro+-00"
*		device.bus-path = "pci-0000:06:00.3-usb-0:1:1.0"
*		device.description = "DX3 Pro+"
*		device.enum.api = "udev"
*		device.icon-name = "audio-card-analog-usb"
*		device.name = "alsa_card.usb-Topping_DX3_Pro_-00"
*		device.nick = "DX3 Pro+"
*		device.plugged.usec = "5287370746"
*		device.product.id = "0x8750"
*		device.product.name = "DX3 Pro+"
*		device.serial = "Topping_DX3_Pro+"
*		device.subsystem = "sound"
*		device.sysfs.path = "/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb3/3-1/3-1:1.0/sound/card1"
*		device.vendor.id = "0x152a"
*		device.vendor.name = "Thesycon Systemsoftware & Consulting GmbH"
*		media.class = "Audio/Device"
*		factory.id = "14"
*		client.id = "38"
*		object.id = "164"
*		object.serial = "736"
*		object.path = "alsa:pcm:1"
*		alsa.card = "1"
*		alsa.card_name = "DX3 Pro+"
*		alsa.long_card_name = "Topping DX3 Pro+ at usb-0000:06:00.3-1, high speed"
*		alsa.driver_name = "snd_usb_audio"
*		device.string = "1"
*	params: (4)
*	  8 (Spa:Enum:ParamId:EnumProfile) r-
*	  9 (Spa:Enum:ParamId:Profile) rw
*	  12 (Spa:Enum:ParamId:EnumRoute) r-
*	  13 (Spa:Enum:ParamId:Route) rw

alsa_output.usb-Topping_DX3_Pro_-00.iec958-stereo:.json.txt

new default output device: alsa_output.usb-Topping_DX3_Pro_-00.iec958-stereo 'spa_pod_is_array(pod)' failed at /usr/include/spa-0.2/spa/pod/iter.h:339 spa_pod_get_array()

Any idea where it fails and how to solve this? I see only the slightly change naming "DX3_Pro_-00" instead of "DX3_Pro+-00".

andyrtr avatar Sep 13 '22 13:09 andyrtr

@andyrtr I have an idea about what is going on in your case. In order to autoload a profile we have to match node objects to device objects. And the only reliable way to do this is parsing the node name and searching for a unique hardware identifier. For onboard cards PipeWire inserts the bus-path in the node name. For usb devices as far as I know it is always the bus-id property. And on bluetooth devices it is a complete chaos... Depending on the bluetooth version different properties are used to build the node name...

In the device that works we have the node name

alsa_output.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_DAC-00.iec958-stereo

and the bus-id property value is usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_DAC-00. As this id is contained in the node name EasyEffects could match node and device. But in the one that is failing the node name is

alsa_output.usb-Topping_DX3_Pro_-00.iec958-stereo

while the bus-id is equal to usb-Topping_DX3_Pro+-00. Instead of Pro+-00 it is Pro_-00 in the node name. I know that PipeWire replaces : by _ when inserting the hardware identifier in the node name. It seems that it does the same to the + character. I will have to change our code a little to force this replacement on our side too.

wwmm avatar Sep 16 '22 14:09 wwmm

@andyrtr I have updated our master branch. It possible try to do some testes with it.

wwmm avatar Sep 16 '22 14:09 wwmm

I've built master git version and recreated the autoload for Topping_DX3_Pro* Headphone DAC/Amp. Switching to the headphone sink still doesn't load the EQ effects.

EE_debug_20220917.txt

andyrtr@workstation64:[~]$ cat ~/.config/easyeffects/autoload/output/alsa_output.usb-*
{
    "device": "alsa_output.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_DAC-00.iec958-stereo",
    "device-description": "PCM2704C stereo audio DAC Digital Stereo (IEC958)",
    "device-profile": "iec958-stereo-output",
    "preset-name": "NuPro A-100"
}
{
    "device": "alsa_output.usb-Topping_DX3_Pro_-00.iec958-stereo",
    "device-description": "DX3 Pro+ Digital Stereo (IEC958)",
    "device-profile": "",
    "preset-name": "AKG K612 PEQs manuell"
}

andyrtr avatar Sep 17 '22 06:09 andyrtr

@andyrtr there was a small mistake in my last commit. I have updated the master branch again.

wwmm avatar Sep 17 '22 14:09 wwmm

@wwmm thx. seems to work well now again.

andyrtr avatar Sep 17 '22 16:09 andyrtr

Ok. I think we can finally close this issue.

wwmm avatar Sep 17 '22 16:09 wwmm