@@ -42,25 +42,25 @@ class SceneFileWriter(object):
42
42
43
43
"""
44
44
45
- def __init__ (self , video_quality_config , scene , ** kwargs ):
45
+ def __init__ (self , renderer , video_quality_config , scene_name , ** kwargs ):
46
46
digest_config (self , kwargs )
47
+ self .renderer = renderer
47
48
self .video_quality_config = video_quality_config
48
- self .scene = scene
49
49
self .stream_lock = False
50
- self .init_output_directories ()
50
+ self .init_output_directories (scene_name )
51
51
self .init_audio ()
52
52
self .frame_count = 0
53
53
self .partial_movie_files = []
54
54
55
55
# Output directories and files
56
- def init_output_directories (self ):
56
+ def init_output_directories (self , scene_name ):
57
57
"""
58
58
This method initialises the directories to which video
59
59
files will be written to and read from (within MEDIA_DIR).
60
60
If they don't already exist, they will be created.
61
61
"""
62
62
module_directory = self .get_default_module_directory ()
63
- scene_name = self .get_default_scene_name ()
63
+ default_name = self .get_default_scene_name (scene_name )
64
64
if file_writer_config ["save_last_frame" ] or file_writer_config ["save_pngs" ]:
65
65
if file_writer_config ["media_dir" ] != "" :
66
66
if not file_writer_config ["custom_folders" ]:
@@ -73,7 +73,7 @@ def init_output_directories(self):
73
73
else :
74
74
image_dir = guarantee_existence (file_writer_config ["images_dir" ])
75
75
self .image_file_path = os .path .join (
76
- image_dir , add_extension_if_not_present (scene_name , ".png" )
76
+ image_dir , add_extension_if_not_present (default_name , ".png" )
77
77
)
78
78
79
79
if file_writer_config ["write_to_movie" ]:
@@ -93,18 +93,19 @@ def init_output_directories(self):
93
93
self .movie_file_path = os .path .join (
94
94
movie_dir ,
95
95
add_extension_if_not_present (
96
- scene_name , file_writer_config ["movie_file_extension" ]
96
+ default_name , file_writer_config ["movie_file_extension" ]
97
97
),
98
98
)
99
99
self .gif_file_path = os .path .join (
100
- movie_dir , add_extension_if_not_present (scene_name , GIF_FILE_EXTENSION )
100
+ movie_dir ,
101
+ add_extension_if_not_present (default_name , GIF_FILE_EXTENSION ),
101
102
)
102
103
if not file_writer_config ["custom_folders" ]:
103
104
self .partial_movie_directory = guarantee_existence (
104
105
os .path .join (
105
106
movie_dir ,
106
107
"partial_movie_files" ,
107
- scene_name ,
108
+ default_name ,
108
109
)
109
110
)
110
111
else :
@@ -113,7 +114,7 @@ def init_output_directories(self):
113
114
file_writer_config ["media_dir" ],
114
115
"temp_files" ,
115
116
"partial_movie_files" ,
116
- scene_name ,
117
+ default_name ,
117
118
)
118
119
)
119
120
@@ -154,7 +155,7 @@ def get_default_module_directory(self):
154
155
root , _ = os .path .splitext (filename )
155
156
return root
156
157
157
- def get_default_scene_name (self ):
158
+ def get_default_scene_name (self , scene_name ):
158
159
"""
159
160
This method returns the default scene name
160
161
which is the value of "output_file", if it exists and
@@ -167,7 +168,7 @@ def get_default_scene_name(self):
167
168
The default scene name.
168
169
"""
169
170
fn = file_writer_config ["output_file" ]
170
- return fn if fn else self . scene . __class__ . __name__
171
+ return fn if fn else scene_name
171
172
172
173
def get_resolution_directory (self ):
173
174
"""Get the name of the resolution directory directly containing
@@ -400,7 +401,7 @@ def open_movie_pipe(self):
400
401
FFMPEG and begin writing to FFMPEG's input
401
402
buffer.
402
403
"""
403
- file_path = self .partial_movie_files [self .scene . renderer .num_plays ]
404
+ file_path = self .partial_movie_files [self .renderer .num_plays ]
404
405
405
406
# TODO #486 Why does ffmpeg need temp files ?
406
407
temp_file_path = (
@@ -464,7 +465,7 @@ def close_movie_pipe(self):
464
465
self .partial_movie_file_path ,
465
466
)
466
467
logger .info (
467
- f"Animation { self .scene . renderer .num_plays } : Partial movie file written in %(path)s" ,
468
+ f"Animation { self .renderer .num_plays } : Partial movie file written in %(path)s" ,
468
469
{"path" : {self .partial_movie_file_path }},
469
470
)
470
471
0 commit comments