Mi system is a Debian Linux with pipewire. I use Ardour 9.7 configured to 48000 sample rate, but I have old sessions with 44100. Which is the best form of working with those sessions without Ardour asking me to migrate them to the new sample rate?
It seems weird that in a system like pipewire you have to force the system global settings for launching Ardour with a different rate. Do you know why it is so needed?
In other words: why Ardour can’t work with a sample rate beyond global system configuration?
Ardour interacts with pipewire via the JACK API. The only way to control the sample rate in JACK is to start the JACK server with the SR as an argument. In the case of pipewire, the “JACK server” (i.e. pipewire) is already running, and there is no part of the JACK API that can be used to change the SR.
I modified Ardour to submit the pm-metadata commands for the sample rate directly when loading a file. I just added a new option to set it to what the file wants and I don’t have to mess with the command line anymore.
I also fixed the buffer management with the same technique. I could not get Ardour to switch the buffer size. It always got stuck on 1024 and computed a latency of 10ms no matter what I did, inside or outside of Ardour. That was a little different issue as I believe it was the target buffer size that was getting confused, but it’s nice to be able to switch the buffer sizes and sample rates from within Ardour and not have bounce out to the command line all the time. I don’t know if anyone else had experienced or noticed that. Seems only related to the JACK/Pipewire configuration.
Paul, do you still monitor the help@ardour.org email? I sent my changes to you and your team on it in case you wanted to look further into it. It’s not a very complicated addition.