falkTX / Carla

Audio plugin host
https://kx.studio/carla
1.59k stars 145 forks source link

Carla Canvas Patchbay don't save positions #1666

Open drachehavoc opened 2 years ago

drachehavoc commented 2 years ago

I'm organizing my canvas and saving a project, but when I close Carla and reopen all the elements are repositioned in random:

I organized in this positions: image

but after closing and reopening carla, they are in these positions: image

I'm using Fedora 36 (Desktop) image

mxmilkiib commented 2 years ago

What version of JACK are you using?

BlueMax commented 2 years ago

Does it help/change if you reload the project (several times)? Might be the known bug. There are some threads already. I have it by a 50% chance as well. I'm on Pipewire but that's unrelated.

drachehavoc commented 2 years ago

What version of JACK are you using?

I'm using pipewire and the Carla from flathub.

I tested the version installed with dnf (from RPM Fusion) and it's works.

drachehavoc commented 2 years ago

Does it help/change if you reload the project (several times)? Might be the known bug. There are some threads already. I have it by a 50% chance as well. I'm on Pipewire but that's unrelated.

the only error is Gtk-Message: 20:51:51.964: Failed to load module "canberra-gtk-module".

image

hellocatfood commented 2 years ago

FYI I have this happen sporadically and I'm using 5:2.5.0+git20220726 from the kxstudio repositories, so it's not just the flathub version

drachehavoc commented 2 years ago

up, can anyone help with it?

BlueMax commented 2 years ago

You haven't answered my question. Do the nodes fix themselves (reposition) when you reload the project (restart Carla)? 'Monitor' nodes (Pipewire specific) do not count. They have to be fixed with this first.

drachehavoc commented 2 years ago

You haven't answered my question. Do the nodes fix themselves (reposition) when you reload the project (restart Carla)?

No, they make the right connections, but they don't go to the position I saved them from.

'Monitor' nodes (Pipewire specific) do not count. They have to be fixed with this first.

I don`t understand how it affect the Carla sources positions, sorry. do you me to change jack.merge-monitor to make some test?

I'm sorry for not understanding. can you be more didactic?

BlueMax commented 2 years ago

There might be a race condition (bug) or something in Carla that leads to nodes not getting positioned properly on a project load. It might happen now and then, especially when Carla is freshly started. If this happens you can simply reload the project and nodes should magically re-position properly. If that's not the case for you you might have another bug.

Then there's another Pipewire-only issue regarding the 'Monitor' nodes. These are the hardware 'input' nodes that end with 'Monitor' in its node name. You have two of them on your screenshot. These nodes generally don't get properly restored in Carla until you set 'jack.merge-monitor' to 'true'. You can do this e.g. by creating this and restarting Pipewire:

~/.config/pipewire/jack.conf.d/01-jack-monitor.conf

jack.properties = {
     jack.merge-monitor = true
}

You can tell its in effect when the nodes have 'Monitor' omitted in the name (and get saved properly in Carla).

drachehavoc commented 2 years ago

Thanks for the reply, I did the tests you suggested and here are the prints of the results:

Carla from Flathub

Saved Project:

image

After closing and reopening the project:

image

Carla from DNF (from fedora official repo)

Saved Project:

image

After closing and reopening the project:

image

sfjuocekr commented 1 month ago

There might be a race condition (bug) or something in Carla that leads to nodes not getting positioned properly on a project load. It might happen now and then, especially when Carla is freshly started. If this happens you can simply reload the project and nodes should magically re-position properly. If that's not the case for you you might have another bug.

Then there's another Pipewire-only issue regarding the 'Monitor' nodes. These are the hardware 'input' nodes that end with 'Monitor' in its node name. You have two of them on your screenshot. These nodes generally don't get properly restored in Carla until you set 'jack.merge-monitor' to 'true'. You can do this e.g. by creating this and restarting Pipewire:

~/.config/pipewire/jack.conf.d/01-jack-monitor.conf

jack.properties = {
     jack.merge-monitor = true
}

You can tell its in effect when the nodes have 'Monitor' omitted in the name (and get saved properly in Carla).

I've never faced this, I have always used jack.merge-monitor = true and today after I pressed CTRL+S to save (which I never do, I just load one preset) positions aren't stored anymore.

Normally I would save the project and it would store the positions, but that is not the case now on 2.5.8. I was on 2.5.7 before, that is when I saved my "mixer" project last.