subprocess call rv player and assemble contactSheet

import subprocess
rvPath = "C:/Program Files/RV/rv-win64-x86-64-6.2.2/bin"
srcPath = 'C:/temp/renders/contactsheet/source/v19'

fileList = [srcPath + '/' + x for x in os.listdir(srcPath) if not x.endswith('db')]
subprocess.Popen('%s/rv.exe %s -layout grid'%(rvPath, fileList), shell=False)


returns errror:
ERROR: Cannot access file [C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_1.exr, (0)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_2.exr, (1)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_3.exr, (2)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_4.exr, (3)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_5.exr, (4)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_6.exr, (5)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_7.exr, (6)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_8.exr, (7)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_9.exr, (8)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_10.exr, (9)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_11.exr, (10)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_12.exr, (11)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_13.exr, (12)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_14.exr, (13)
Cannot access file C:/temp/renders/contactsheet/source/v19/amp_lysc_cnq_rough_010_A_15.exr] (14) 

I'm trying to write a custom contactsheet assembly, anyone any idea why he doesn't like my files?
If I drag and drop the same file it opens well!


  • 0
    Bastian Traunfellner

    ok actually got it working. BUT, It doesn't assemble as contact sheet, it loads everything as sequence.
    Anyone any idea how to load every frame as unique frame so I can make a grid out of it??
    Also strange that a certain frame seems to always appear as corrupted, is that an rv bug? when I load it regular it works. but as cmdline load it says frame 6 doesn't exist.

    here the working version of the code:

    fileList = set()
    images = [str(srcPath + '/' + x) for x in os.listdir(iteratePath) if not x.endswith('db')]
    for img in images:

    subprocess.Popen('%s/rv.exe -layout grid'%rvPath + ' '.join(fileList), shell=False)

  • 0
    Bastian Traunfellner

    ok nevermind, it works with using A, B, C as sequence.

    still though if someone could point me out how to automatically assemble a grid contactsheet would be great!


  • 0
    Jon Morley

    Hi Bastian,

    You can also add "-view defaultLayout" to your command. That will bring RV up with the grid you assembled. Will that work for you?


  • 0
    Bastian Traunfellner

    perfect, thanks so much! yes worked like a charme!