The answer to my question was to get rid of my global pipewire file and instead make this file which focuses on the Asound (alsa) handoff to pipewire, the file name is not important but location is.
/.config/wireplumber/wireplumber.conf.d/99-wave-xlr-fix.conf
and inside i put
Code:
monitor.alsa.rules = [
{
matches = [
{
node.name = "~alsa_.*Elgato.*Wave.*XLR.*"
}
]
actions = {
update-props = {
api.alsa.period-size = 256
}
}
},
{
matches = [
{
node.name = "~alsa_.*BEHRINGER.*UMC404HD.*"
}
]
actions = {
update-props = {
api.alsa.period-size = 128
}
}
}
]
128 is the sample rate I wanted, but something inside the Elgato Wave XLR always forced itself to be half of what it should have been or half of forced global, so i had to double the period size on that device to make it actually force 128sample rate.
Now both devices are pushing clean 2.6ms audio. perfection.
to answer your question, if you're running pure pipewire, inside of reaper "Jack" is pipewire. This way you can route everything you want via qpwgraph and set a jack input on obs.
the reasoning behind this is i have multi audio devices, i want them in sync, I want low latency, and I do not want to be confined to whatever OBS will accept when in comes to plugins, as it is very limited when it comes to vst.
Reaper allows me also to use CLAP instead of vst which uses a fraction of the resources of a vst version of the plugin.
I can also route some devices to my speakers and others to the stream only.
i have all real time monitoring with no desync, all the types of plugins i want. I can reroute my processed mic to discord, or a game if i need to.
honestly the list goes on and on for the reasons behind doing it this way.
While I was on windows I had the wave link software which could somewhat replicate this setup, but this is 100X better.