def setUpClass(TestQueryClass): """ Init unit test data """ # Create Qt application TestQueryClass.app = OpenShotApp(sys.argv, mode="unittest") TestQueryClass.clip_ids = [] TestQueryClass.file_ids = [] TestQueryClass.transition_ids = [] # Import additional classes that need the app defined first from classes.query import Clip, File, Transition # Insert some clips into the project data for num in range(5): # Create clip c = openshot.Clip(os.path.join(info.IMAGES_PATH, "AboutLogo.png")) # Parse JSON clip_data = json.loads(c.Json()) # Insert into project data query_clip = Clip() query_clip.data = clip_data query_clip.save() # Keep track of the ids TestQueryClass.clip_ids.append(query_clip.id) # Insert some files into the project data for num in range(5): # Create file r = openshot.DummyReader(openshot.Fraction(24, 1), 640, 480, 44100, 2, 30.0) # Parse JSON file_data = json.loads(r.Json()) # Insert into project data query_file = File() query_file.data = file_data query_file.data["path"] = os.path.join(info.IMAGES_PATH, "AboutLogo.png") query_file.data["media_type"] = "image" query_file.save() # Keep track of the ids TestQueryClass.file_ids.append(query_file.id) # Insert some transitions into the project data for num in range(5): # Create mask object transition_object = openshot.Mask() transitions_data = json.loads(transition_object.Json()) # Insert into project data query_transition = Transition() query_transition.data = transitions_data query_transition.save() # Keep track of the ids TestQueryClass.transition_ids.append(query_transition.id)
# get params params = xmldoc.getElementsByTagName("param") # Loop through params for param in params: if param.attributes["title"]: effects_text[param.attributes["title"].value] = full_file_path # Append on properties from libopenshot objects = [ openshot.Clip(), openshot.Blur(), openshot.Brightness(), openshot.ChromaKey(), openshot.Deinterlace(), openshot.Mask(), openshot.Negate(), openshot.Saturation() ] # Loop through each libopenshot object for object in objects: props = json.loads(object.PropertiesJSON(1)) # Loop through props for key in props.keys(): object = props[key] if "name" in object.keys(): effects_text[object["name"]] = "libopenshot (Clip Properties)" if "choices" in object.keys(): for choice in object["choices"]:
# add text to list effects_text[xmldoc.getElementsByTagName("title")[0].childNodes[0].data] = full_file_path effects_text[xmldoc.getElementsByTagName("description")[0].childNodes[0].data] = full_file_path # get params params = xmldoc.getElementsByTagName("param") # Loop through params for param in params: if param.attributes["title"]: effects_text[param.attributes["title"].value] = full_file_path # Append on properties from libopenshot objects = [openshot.Clip(), openshot.Bars(), openshot.Blur(), openshot.Brightness(), openshot.ChromaKey(), openshot.ColorShift(), openshot.Crop(), openshot.Deinterlace(), openshot.Hue(), openshot.Mask(), openshot.Negate(), openshot.Pixelate(), openshot.Saturation(), openshot.Shift(), openshot.Wave()] # Loop through each libopenshot object for object in objects: props = json.loads(object.PropertiesJSON(1)) # Loop through props for key in props.keys(): object = props[key] if "name" in object.keys(): effects_text[object["name"]] = "libopenshot (Clip Properties)" if "choices" in object.keys(): for choice in object["choices"]: effects_text[choice["name"]] = "libopenshot (Clip Properties)"
# add text to list effects_text[xmldoc.getElementsByTagName("title")[0].childNodes[0].data] = full_file_path effects_text[xmldoc.getElementsByTagName("description")[0].childNodes[0].data] = full_file_path # get params params = xmldoc.getElementsByTagName("param") # Loop through params for param in params: if param.attributes["title"]: effects_text[param.attributes["title"].value] = full_file_path # Append on properties from libopenshot objects = [openshot.Clip(), openshot.Blur(), openshot.Brightness(), openshot.ChromaKey(), openshot.Deinterlace(), openshot.Mask(), openshot.Negate(), openshot.Saturation()] # Loop through each libopenshot object for object in objects: props = json.loads(object.PropertiesJSON(1)) # Loop through props for key in props.keys(): object = props[key] if "name" in object.keys(): effects_text[object["name"]] = "libopenshot (Clip Properties)" if "choices" in object.keys(): for choice in object["choices"]: effects_text[choice["name"]] = "libopenshot (Clip Properties)"
c2 = openshot.Clip(higher) c2.Layer(2) #c2.alpha = openshot.Keyframe(0.5) t.AddClip(c2) # Wipe / Transition brightness = openshot.Keyframe() brightness.AddPoint(1, 1.0, openshot.BEZIER) brightness.AddPoint(24, -1.0, openshot.BEZIER) contrast = openshot.Keyframe() contrast.AddPoint(1, 20.0, openshot.BEZIER) contrast.AddPoint(24, 20.0, openshot.BEZIER) reader = openshot.QtImageReader("mask.png") e = openshot.Mask(reader, brightness, contrast) e.Layer(2) e.End(60) t.AddEffect(e) reader1 = openshot.QtImageReader("mask2.png") e1 = openshot.Mask(reader1, brightness, contrast) e1.Layer(2) e1.Order(2) e1.End(60) #t.AddEffect(e1) for n in range(1, 25): print(n, end=" ", flush=1) t.GetFrame(n).Save("%s.png" % n, 1.0)
def setUpClass(cls): """ Init unit test data """ # Create Qt application cls.app = QGuiApplication.instance() cls.clip_ids = [] cls.file_ids = [] cls.transition_ids = [] clips = [] # Insert some clips into the project data for num in range(5): # Create clip c = openshot.Clip(os.path.join(info.IMAGES_PATH, "AboutLogo.png")) c.Position(num * 10.0) c.End(5.0) # Parse JSON clip_data = json.loads(c.Json()) # Insert into project data query_clip = Clip() query_clip.data = clip_data query_clip.save() # Keep track of the ids cls.clip_ids.append(query_clip.id) clips.append(query_clip) # Insert some files into the project data for num in range(5): # Create file r = openshot.DummyReader(openshot.Fraction(24, 1), 640, 480, 44100, 2, 30.0) # Parse JSON file_data = json.loads(r.Json()) # Insert into project data query_file = File() query_file.data = file_data query_file.data["path"] = os.path.join(info.IMAGES_PATH, "AboutLogo.png") query_file.data["media_type"] = "image" query_file.save() # Keep track of the ids cls.file_ids.append(query_file.id) # Insert some transitions into the project data for c in clips: # Create mask object t = openshot.Mask() # Place over the last second of current clip pos = c.data.get("position", 0.0) start = c.data.get("start", 0.0) end = c.data.get("end", 0.0) t.Position((pos - start + end) - 1.0) t.End(1.0) # Insert into project data transitions_data = json.loads(t.Json()) query_transition = Transition() query_transition.data = transitions_data query_transition.save() # Keep track of the ids cls.transition_ids.append(query_transition.id) # Don't keep the full query objects around del clips