Change /dev/video* number.
At this moment if number of camera changes GLMixer just shows an error message and deletes source from project. It could be great to have ability to change number of device in session. Maybe in source properties or in additional section of an error window.
Yes indeed OpenCV (and the OS) creates camera indices based on the order the cameras are plugged on the computer (first camera plugged has index 0, etc.).
For now, BEFORE openning a GLMixer session, you should therefore make sure the cameras are plugged in the same order each time.
I will improve the camera selection dialog to allow choosing the camera in a better way, also asking to confirm the selection of cameras each time the session is loaded.
Under Linux, the Video4Linux plugin solves this.
Instead of creating a video source, create a plugin source and select the FreeFrame embeded plugin "Camera (Video4Linux)". By default, it finds the first camera device available (/dev/video0). Then, in the source properties, you can directly enter the v4l device file. This is then saved as this in the session file. You shall then ensure that video4Linux provides the same identifier for your device (https://unix.stackexchange.com/questions/77170/how-to-bind-v4l2-usb-cameras-to-the-same-device-names-even-after-reboot).
Good luck.