Hey,
I am on RV 2024.2.1. I use rvSession.py to generate .rv files which I then load in RV.
I need to set repName to “Movie” and “Frames” for the “Flow Production Tracking > Sawp Media > Swap to…” menu options to work.
However, when I build a session file this way, on loading it, it seems like RV loads every media representation, not just the ones that are active. And it displays the last one to be loaded, even though I explicitely set it to “Movie”. I tried changing the order in which the inputs are added, but it doesn’t fix anything.
In the top left corener, I see “Loadind 1 of 1”, then the (lighter) mov appears, then “Loading 2 of 2” and the image sequence takes it place, even though I am wiewing the default sequence > switch node.
I then built a session from scracth in RV and I didn’t have this problem. The movie was the only media being loaded. I then compared both rv session files, and the problem occurs when I add the repName, which is an empty string in the session file built in RV. I cannot keep an empty string value as it breaks the “Flow Production Tracking > Sawp Media > Swap to…” menu options.
Using rvpush with rv.commands instead of rvSession is not an option either because
- from my experience it is unstable, sometimes RV never launches.
- we have some sessions with thousands of medias, each with two media representations. Imagine building that on a single line of python code.
Here is a snippet to reproduce the issue
import rvSession
from gto import STRING
session = rvSession.Session()
session.setFPS(24)
rv_sequence = session.newNode("Sequence", "Sequence 1")
movie_path = "<path to mov>/file.mov"
movie_node = session.newNode("Source", "movie node")
movie_node.setMedia(movie_path)
movie_node.setProperty("RVFileSource", "source", "media", "repName", STRING, "Movie")
frames_path = "<path to frames>/file.101-180#.exr"
frames_node = session.newNode("Source", "frames node")
frames_node.setMedia(frames_path)
frames_node.setProperty("RVFileSource", "source", "media", "repName", STRING, "Frames")
switch_node = session.newNode("Switch", "switch node")
switch_node.addInput(movie_node)
switch_node.addInput(frames_node)
switch_node.setProperty("RVSwitch", "switch", "output", "input", STRING, movie_node.name)
rv_sequence.addInput(switch_node)
session.setViewNode(rv_sequence)
session.write("%TEMP%/switch_node_test.rv)
Could there be a workaround ?
If it’s a bug, what should I do ? Try OpenRV, see if it’s fixed, otherwise create an issue on GitHub ?
Cheers,
Aurore from Fortiche