Open ycollet opened 4 months ago
Could you please try if the problem also exists with Patchance? If yes, does it also happens with another graph using Pipewire via the Jack API (Patchage, QJackCtl, Carla for example)?
The problem is related to the connection loading via RaySession. The output is really not connected. When I reconnected the missing connection the sound is OK. I feel RaySession in only capable of connecting one output to one input. If there is one output connected to one output, RaySession will connect randomly 2 wires out of 4.
Hi ! Sorry for this late answer.
So, it seems to be a problem with ray-jackpatch (Jack Connections client). To be able to fix it, it would be interesting to know if the connection is saved in the jackpatch file.
-log
argumentI feel RaySession in only capable of connecting one output to one input. If there is one output connected to one output, RaySession will connect randomly 2 wires out of 4.
Here it is not the case, Master R is connected to two inputs, and Master L and Master R are not the same port. ray-jackpatch is totally agnostic with portgroups.
OK, thanks for these steps. When I first started my session I had a connection problem. But now the connections are working. Here is the log:
main_loop - INFO - open file: /home/collette/Ray Sessions/TuxGuitar2/TuxGuitar2.patch.xml
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master R', 'TimeMachine:in_2')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'Scarlett 18i8 Surround analogique 7.1:playback_FL')
main_loop - INFO - connect ports: ('jack_mixer:Master R', 'Scarlett 18i8 Surround analogique 7.1:playback_FR')
main_loop - INFO - connect ports: ('fluidsynth:left', 'jack_mixer:TuxGuitar L')
main_loop - INFO - connect ports: ('fluidsynth:right', 'jack_mixer:TuxGuitar R')
main_loop - INFO - connect ports: ('kwin_wayland:output_1', 'plasmashell:input_1')
I will do a new try tomorrow.
The messages after the first connection:
main_loop - INFO - open file: /home/collette/Ray Sessions/TuxGuitar2/TuxGuitar2.patch.xml
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master R', 'TimeMachine:in_2')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'Scarlett 18i8 Surround analogique 7.1:playback_FL')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'Scarlett 18i8 Surround analogique 7.1:playback_FL')
main_loop - INFO - connect ports: ('jack_mixer:Master R', 'Scarlett 18i8 Surround analogique 7.1:playback_FR')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('fluidsynth:left', 'jack_mixer:TuxGuitar L')
main_loop - INFO - connect ports: ('fluidsynth:right', 'jack_mixer:TuxGuitar R')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('kwin_wayland:output_1', 'plasmashell:input_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
There is a refresh problem at this moment. The connections are OK today. Here are the messages after the canvas refresh:
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
main_loop - INFO - connect ports: ('jack_mixer:Master L', 'TimeMachine:in_1')
The file TuxGuitar2.patch.xml
<RAY-JACKPATCH>
<connection from="fluidsynth:left" to="jack_mixer:TuxGuitar L" nsm_client_to="mixer" />
<connection from="fluidsynth:right" to="jack_mixer:TuxGuitar R" nsm_client_to="mixer" />
<connection from="kwin_wayland:output_1" to="plasmashell:input_1" />
<connection from="kwin_wayland:output_1" to="obs:input_1" />
<connection from="jack_mixer:Master L" to="OBS Studio: Client d'entrée JACK:in_1" nsm_client_from="mixer" />
<connection from="jack_mixer:Master R" to="OBS Studio: Client d'entrée JACK:in_2" nsm_client_from="mixer" />
<connection from="VLC media player (LibVLC 3.0.20):output_FL" to="Scarlett 18i8 Pro:playback_AUX0" />
<connection from="VLC media player (LibVLC 3.0.20):output_FR" to="Scarlett 18i8 Pro:playback_AUX1" />
<connection from="speech-dispatcher-dummy:output_FL" to="Scarlett 18i8 Pro:playback_AUX0" />
<connection from="speech-dispatcher-dummy:output_FR" to="Scarlett 18i8 Pro:playback_AUX1" />
<connection from="Firefox:output_FL" to="Scarlett 18i8 Pro:playback_AUX0" />
<connection from="Firefox:output_FR" to="Scarlett 18i8 Pro:playback_AUX1" />
<connection from="Scarlett 18i8 Pro:monitor_AUX0" to="OBS:input_FL" />
<connection from="Scarlett 18i8 Pro:monitor_AUX1" to="OBS:input_FR" />
<connection from="kwin_wayland:output_1" to="plasmashell-170:input_1" />
<connection from="kwin_wayland:output_1-352" to="plasmashell:input_1" />
<connection from="Firefox:output_FL-382" to="Scarlett 18i8 Pro:playback_AUX0" />
<connection from="Firefox:output_FR-383" to="Scarlett 18i8 Pro:playback_AUX1" />
<connection from="Scarlett 18i8 Pro:capture_AUX0" to="OBS:input_FL-239" />
<connection from="Scarlett 18i8 Pro:capture_AUX1" to="OBS:input_FR-241" />
<connection from="Scarlett 18i8 Pro:capture_AUX1" to="gx_head_amp:in_0" />
<connection from="Scarlett 18i8 Pro:capture_AUX0" to="OBS:input_FL-857" />
<connection from="Scarlett 18i8 Pro:capture_AUX1" to="OBS:input_FR-859" />
<connection from="kwin_wayland:output_1-866" to="obs:input_1" />
<connection from="jack_mixer:Master L" to="Scarlett 18i8 Pro:playback_AUX0" nsm_client_from="mixer" />
<connection from="jack_mixer:Master R" to="Scarlett 18i8 Pro:playback_AUX1" nsm_client_from="mixer" />
<connection from="kwin_wayland:output_1-721" to="plasmashell-118:input_1" />
<connection from="speech-dispatcher-dummy:output_FL" to="Scarlett 18i8 Surround analogique 7.1:playback_FL" />
<connection from="speech-dispatcher-dummy:output_FR" to="Scarlett 18i8 Surround analogique 7.1:playback_FR" />
<connection from="speech-dispatcher-dummy:output_RR" to="Scarlett 18i8 Surround analogique 7.1:playback_RR" />
<connection from="speech-dispatcher-dummy:output_FC" to="Scarlett 18i8 Surround analogique 7.1:playback_FC" />
<connection from="speech-dispatcher-dummy:output_LFE" to="Scarlett 18i8 Surround analogique 7.1:playback_LFE" />
<connection from="speech-dispatcher-dummy:output_SL" to="Scarlett 18i8 Surround analogique 7.1:playback_SL" />
<connection from="speech-dispatcher-dummy:output_SR" to="Scarlett 18i8 Surround analogique 7.1:playback_SR" />
<connection from="Firefox:output_FL" to="Scarlett 18i8 Surround analogique 7.1:playback_FL" />
<connection from="Firefox:output_FR" to="Scarlett 18i8 Surround analogique 7.1:playback_FR" />
<connection from="Firefox:output_RL" to="Scarlett 18i8 Surround analogique 7.1:playback_RL" />
<connection from="Firefox:output_RR" to="Scarlett 18i8 Surround analogique 7.1:playback_RR" />
<connection from="Firefox:output_FC" to="Scarlett 18i8 Surround analogique 7.1:playback_FC" />
<connection from="Firefox:output_LFE" to="Scarlett 18i8 Surround analogique 7.1:playback_LFE" />
<connection from="Firefox:output_SL" to="Scarlett 18i8 Surround analogique 7.1:playback_SL" />
<connection from="Firefox:output_SR" to="Scarlett 18i8 Surround analogique 7.1:playback_SR" />
<connection from="eSpeak:output_SL" to="Scarlett 18i8 Surround analogique 7.1:playback_RL" />
<connection from="speech-dispatcher-dummy:output_FL" to="PCM2900C Audio CODEC Stéréo analogique:playback_FL" />
<connection from="speech-dispatcher-dummy:output_FR" to="PCM2900C Audio CODEC Stéréo analogique:playback_FR" />
<connection from="speech-dispatcher-dummy:output_RL" to="Scarlett 18i8 Surround analogique 7.1:playback_RL" />
<connection from="jack_mixer:Master L" to="TimeMachine:in_1" nsm_client_from="mixer" />
<connection from="jack_mixer:Master R" to="TimeMachine:in_2" nsm_client_from="mixer" />
<connection from="jack_mixer:Master L" to="Scarlett 18i8 Surround analogique 7.1:playback_FL" nsm_client_from="mixer" />
<connection from="jack_mixer:Master R" to="Scarlett 18i8 Surround analogique 7.1:playback_FR" nsm_client_from="mixer" />
<connection from="kwin_wayland:output_1-326" to="plasmashell:input_1" />
<connection from="Scarlett 18i8 Multicanal:capture_AUX1" to="gx_head_amp:in_0" />
<connection from="gx_head_fx:out_0" to="jack_mixer:Gutarix L" nsm_client_to="mixer" />
<connection from="gx_head_fx:out_1" to="jack_mixer:Gutarix R" nsm_client_to="mixer" />
<connection from="gx_head_amp:out_0" to="gx_head_fx:in_0" />
<connection from="Midi-Bridge:Line 6 FBV Express Mk II at usb-0000:00:14-0-6- full speed:(capture_0) FBV Express Mk II MIDI 1" to="gx_head_amp:midi_in_1" />
<graph>
<group name="Scarlett 18i8 Surround analogique 7.1">
<in_port name="playback_FL" />
<in_port name="playback_FR" />
<in_port name="playback_RL" />
<in_port name="playback_RR" />
<in_port name="playback_FC" />
<in_port name="playback_LFE" />
<in_port name="playback_SL" />
<in_port name="playback_SR" />
<out_port name="monitor_FL" />
<out_port name="monitor_FR" />
<out_port name="monitor_RL" />
<out_port name="monitor_RR" />
<out_port name="monitor_FC" />
<out_port name="monitor_LFE" />
<out_port name="monitor_SL" />
<out_port name="monitor_SR" />
</group>
<group name="PCM2900C Audio CODEC Stéréo analogique">
<in_port name="playback_FL" />
<in_port name="playback_FR" />
<out_port name="capture_FL" />
<out_port name="capture_FR" />
<out_port name="monitor_FL" />
<out_port name="monitor_FR" />
</group>
<group name="Audio interne Stéréo analogique">
<in_port name="playback_FL" />
<in_port name="playback_FR" />
<out_port name="capture_FL" />
<out_port name="capture_FR" />
<out_port name="monitor_FL" />
<out_port name="monitor_FR" />
</group>
<group name="jack_mixer" nsm_client="mixer">
<in_port name="TuxGuitar L" />
<in_port name="TuxGuitar R" />
<in_port name="Gutarix L" />
<in_port name="Gutarix R" />
<in_port name="midi in" />
<out_port name="Monitor L" />
<out_port name="Monitor R" />
<out_port name="TuxGuitar Out L" />
<out_port name="TuxGuitar Out R" />
<out_port name="Gutarix Out L" />
<out_port name="Gutarix Out R" />
<out_port name="Master L" />
<out_port name="Master R" />
<out_port name="midi out" />
</group>
<group name="TimeMachine">
<in_port name="in_1" />
<in_port name="in_2" />
</group>
<group name="Midi-Bridge">
<in_port name="Midi Through:(playback_0) Midi Through Port-0" />
<in_port name="Focusrite Scarlett 18i8 USB at usb-0000:00:14-0-1- high speed:(playback_0) Scarlett 18i8 USB MIDI 1" />
<in_port name="Line 6 FBV Express Mk II at usb-0000:00:14-0-6- full speed:(playback_0) FBV Express Mk II MIDI 1" />
<out_port name="Midi Through:(capture_0) Midi Through Port-0" />
<out_port name="Focusrite Scarlett 18i8 USB at usb-0000:00:14-0-1- high speed:(capture_0) Scarlett 18i8 USB MIDI 1" />
<out_port name="Line 6 FBV Express Mk II at usb-0000:00:14-0-6- full speed:(capture_0) FBV Express Mk II MIDI 1" />
<out_port name="Line 6 FBV Express Mk II at usb-0000:00:14-0-6- full speed:(capture_1) FBV Express Mk II MIDI 2" />
<out_port name="Line 6 FBV Express Mk II at usb-0000:00:14-0-6- full speed:(capture_2) FBV Express Mk II MIDI 3" />
<out_port name="Line 6 FBV Express Mk II at usb-0000:00:14-0-6- full speed:(capture_3) FBV Express Mk II MIDI 4" />
</group>
<group name="gx_head_amp">
<in_port name="in_0" />
<in_port name="midi_in_1" />
<out_port name="out_0" />
<out_port name="midi_out_1" />
</group>
<group name="gx_head_fx">
<in_port name="in_0" />
<out_port name="out_0" />
<out_port name="out_1" />
</group>
<group name="Scarlett 18i8 Multicanal">
<out_port name="capture_AUX0" />
<out_port name="capture_AUX1" />
<out_port name="capture_AUX2" />
<out_port name="capture_AUX3" />
<out_port name="capture_AUX4" />
<out_port name="capture_AUX5" />
<out_port name="capture_AUX6" />
<out_port name="capture_AUX7" />
<out_port name="capture_AUX8" />
<out_port name="capture_AUX9" />
<out_port name="capture_AUX10" />
<out_port name="capture_AUX11" />
<out_port name="capture_AUX12" />
<out_port name="capture_AUX13" />
</group>
<group name="Webcam C270 Mono">
<out_port name="capture_MONO" />
</group>
<group name="fluidsynth">
<out_port name="left" />
<out_port name="right" />
</group>
</graph>
</RAY-JACKPATCH>
The file TuxGuitar2.mixer.xml
<?xml version="1.0" ?>
<jack_mixer geometry="420x420" paned_position="210" visible="True">
<input_channel name="TuxGuitar" type="stereo" direct_output="True" volume="-7.120623" balance="0.000000" wide="True" meter_prefader="False" out_mute="False" volume_midi_cc="11" balance_midi_cc="12" mute_midi_cc="13" solo_midi_cc="14"/>
<input_channel name="Gutarix" type="stereo" direct_output="True" volume="-1.867704" balance="0.000000" wide="True" meter_prefader="False" out_mute="False" volume_midi_cc="15" balance_midi_cc="16" mute_midi_cc="17" solo_midi_cc="18"/>
<output_channel name="Master" type="stereo" color="rgb(212,205,46)" volume="0.000000" balance="0.000000" wide="True" meter_prefader="False" out_mute="False" volume_midi_cc="19" balance_midi_cc="20" mute_midi_cc="21"/>
<gui_factory confirm-quit="False" default_meter_scale="K20" default_project_path="" default_slider_scale="linear_30dB" midi_behavior_mode="0" use_custom_widgets="False" vumeter_color="#ccb300" vumeter_color_scheme="default" auto_reset_peak_meters="False" auto_reset_peak_meters_time_seconds="2.0" meter_refresh_period_milliseconds="33"/>
</jack_mixer>
The file raysession.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE RAYSESSION>
<RAYSESSION VERSION="0.14.3" name="TuxGuitar2">
<Clients>
<client id="patch" launched="true" executable="ray-jackpatch" arguments="-log" name="JACK Connections" desktop_file="//not_found" icon="curve-connector" in_terminal="true" />
<client id="mixer" launched="true" executable="jack_mixer" name="jack_mixer" gui_visible="true" />
<client id="tuxguitar" launched="true" executable="tuxguitar" name="tuxguitar" />
<client id="guitarix" launched="true" executable="guitarix" name="guitarix" />
<client id="timemachin" launched="true" executable="timemachine" name="timemachine" />
</Clients>
<RemovedClients />
<Windows />
</RAYSESSION>
This time, raysession was not able to connect everything. The log before I force a refresh:
main_loop - INFO - open file: /home/collette/Ray Sessions/TuxGuitar2/TuxGuitar2.patch.xml
main_loop - INFO - connect ports: ('fluidsynth:left', 'jack_mixer:TuxGuitar L')
main_loop - INFO - connect ports: ('fluidsynth:right', 'jack_mixer:TuxGuitar R')
And only 2 connections. After the refresh: no new messages, but the guitarix part is reconnected and the part between jack_mixer and timemachine + sound output is totally missing.
Are you sure that the missing connections were saved in the patch file (TuxGuitar2.patch.xml in your case) ? When the problem re-appears please think to not save ray-jackpatch (aborting the session), and see if missing connections are present in the file. We've got to know if ray-jackpatch fails to save them or fails to connect them. Also ensure that programs always have exactly the same JACK client name, else it would explain the connection fail.
After the refresh: no new messages, but the guitarix part is reconnected and the part between jack_mixer and timemachine + sound output is totally missing.
Refresh of the canvas and connections made by ray-jackpatch have no direct link, the only link between them is: refresh ask to JACK (or PW here) the ports list, and ray-jackpatch reads events from JACK. There is maybe a possibility that something new in PW makes ray-jackpatch not working well with the way it uses the JACK API, I don't know at all.
So, I still have the same problems here. I first thought I could be a problem with the Ray Session Directory (I remember some git "error" message in the console some times ago). So, I removed completely the Ray Session directory and ... I should have check first the size of the directory because it took a lot of time to rm -rf :) That was an old Ray Session directory :) I recreated my sessions and I still have the same problem. So, my bet is now on python-3.12.2 ... I know that a lot of things have changed in python 3.12. I will try to check the change log.
I am on Fedora 39. Each time I start raysession:
Here the connection Master L to Scarlett FL is missing.