tFix video functionality - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
 (HTM) git clone git://src.adamsgaard.dk/sphere
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit c57e00820eb2d87c653321649e2b09de8ca969be
 (DIR) parent 346ae8299917811199c587382cb5c683d2b37995
 (HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
       Date:   Mon,  2 Sep 2019 06:35:54 +0200
       
       Fix video functionality
       
       Diffstat:
         M python/sphere.py                    |      34 +++++++++++++++++--------------
       
       1 file changed, 19 insertions(+), 15 deletions(-)
       ---
 (DIR) diff --git a/python/sphere.py b/python/sphere.py
       t@@ -4647,6 +4647,8 @@ class sim:
                            + " --render $F; done", shell=True)
        
                # Convert images to compressed format
       +        if verbose:
       +            print('converting images to ' + graphics_format)
                convert(graphics_format=graphics_format)
        
            def video(self, out_folder="./", video_format="mp4",
       t@@ -7488,7 +7490,7 @@ def render(binary, method='pres', max_val=1e3, lower_cutoff=0.0,
            :type verbose: bool
            '''
            quiet=''
       -    if verbose == False:
       +    if not verbose:
                quiet='-q'
        
            # Render images using sphere raytracer
       t@@ -7502,11 +7504,13 @@ def render(binary, method='pres', max_val=1e3, lower_cutoff=0.0,
                        ' --render ' + binary, shell=True)
        
            # Convert images to compressed format
       +    if verbose:
       +        print('converting to ' + graphics_format)
            convert(graphics_format)
        
        def video(project, out_folder='./', video_format='mp4',
                  graphics_folder='../img_out/', graphics_format='png', fps=25,
       -          qscale=1, bitrate=1800, verbose=False):
       +          qscale=1, bitrate=1800, verbose=True):
            '''
            Uses ffmpeg to combine images to animation. All images should be
            rendered beforehand using :func:`render()`.
       t@@ -7532,17 +7536,18 @@ def video(project, out_folder='./', video_format='mp4',
            '''
            # Possible loglevels:
            # quiet, panic, fatal, error, warning, info, verbose, debug
       -    loglevel='info' # verbose=True
       -    if verbose == False:
       +    loglevel = 'info'
       +    if not verbose:
                loglevel='error'
        
       -    subprocess.call(\
       -            'ffmpeg -qscale {0} -r {1} -b {2} -y '.format(\
       -            qscale, fps, bitrate) \
       -            + '-loglevel ' + loglevel + ' ' \
       -            + '-i ' + graphics_folder + project + '.output%05d.' \
       -            + graphics_format + ' ' \
       -            + out_folder + '/' + project + '.' + video_format, shell=True)
       +    outfile = out_folder + '/' + project + '.' + video_format
       +    subprocess.call('ffmpeg -loglevel ' + loglevel + ' '
       +            + '-i ' + graphics_folder + project + '.output%05d.'
       +            + graphics_format
       +            + ' -qscale {} -r {} -b {} -y '.format(qscale, fps, bitrate)
       +            + outfile, shell=True)
       +    if verbose:
       +        print('saved to ' + outfile)
        
        def thinsectionVideo(project, out_folder="./", video_format="mp4", fps=25,
                             qscale=1, bitrate=1800, verbose=False):
       t@@ -7581,12 +7586,11 @@ def thinsectionVideo(project, out_folder="./", video_format="mp4", fps=25,
            # Combine images to animation
            # Possible loglevels:
            # quiet, panic, fatal, error, warning, info, verbose, debug
       -    loglevel="info" # verbose=True
       -    if verbose == False:
       +    loglevel = "info"
       +    if not verbose:
                loglevel="error"
        
       -    subprocess.call(\
       -            "ffmpeg -qscale {0} -r {1} -b {2} -y ".format(\
       +    subprocess.call("ffmpeg -qscale {0} -r {1} -b {2} -y ".format(\
                    qscale, fps, bitrate) \
                    + "-loglevel " + loglevel + " " \
                    + "-i ../img_out/" + project + ".output%05d-ts-x1x3.png " \