Lines Matching refs:morph

39 static VisMorphPlugin *get_morph_plugin (VisMorph *morph);
43 VisMorph *morph = VISUAL_MORPH (object); in morph_dtor() local
45 if (morph->plugin != NULL) in morph_dtor()
46 visual_plugin_unload (morph->plugin); in morph_dtor()
48 visual_palette_free_colors (&morph->morphpal); in morph_dtor()
50 morph->plugin = NULL; in morph_dtor()
55 static VisMorphPlugin *get_morph_plugin (VisMorph *morph) in get_morph_plugin() argument
59 visual_log_return_val_if_fail (morph != NULL, NULL); in get_morph_plugin()
60 visual_log_return_val_if_fail (morph->plugin != NULL, NULL); in get_morph_plugin()
62 morphplugin = VISUAL_PLUGIN_MORPH (morph->plugin->info->plugin); in get_morph_plugin()
79 VisPluginData *visual_morph_get_plugin (VisMorph *morph) in visual_morph_get_plugin() argument
81 return morph->plugin; in visual_morph_get_plugin()
148 VisMorph *morph; in visual_morph_new() local
156 morph = visual_mem_new0 (VisMorph, 1); in visual_morph_new()
159 visual_object_initialize (VISUAL_OBJECT (morph), TRUE, morph_dtor); in visual_morph_new()
161 visual_palette_allocate_colors (&morph->morphpal, 256); in visual_morph_new()
163 visual_morph_set_mode (morph, VISUAL_MORPH_MODE_SET); in visual_morph_new()
166 return morph; in visual_morph_new()
170 morph->plugin = visual_plugin_load (ref); in visual_morph_new()
172 return morph; in visual_morph_new()
183 int visual_morph_realize (VisMorph *morph) in visual_morph_realize() argument
185 visual_log_return_val_if_fail (morph != NULL, -VISUAL_ERROR_MORPH_NULL); in visual_morph_realize()
186 visual_log_return_val_if_fail (morph->plugin != NULL, -VISUAL_ERROR_PLUGIN_NULL); in visual_morph_realize()
188 return visual_plugin_realize (morph->plugin); in visual_morph_realize()
199 int visual_morph_get_supported_depth (VisMorph *morph) in visual_morph_get_supported_depth() argument
204 visual_log_return_val_if_fail (morph != NULL, -VISUAL_ERROR_MORPH_NULL); in visual_morph_get_supported_depth()
205 visual_log_return_val_if_fail (morph->plugin != NULL, -VISUAL_ERROR_PLUGIN_NULL); in visual_morph_get_supported_depth()
207 morphplugin = get_morph_plugin (morph); in visual_morph_get_supported_depth()
226 int visual_morph_set_video (VisMorph *morph, VisVideo *video) in visual_morph_set_video() argument
228 visual_log_return_val_if_fail (morph != NULL, -VISUAL_ERROR_MORPH_NULL); in visual_morph_set_video()
231 morph->dest = video; in visual_morph_set_video()
246 int visual_morph_set_time (VisMorph *morph, VisTime *time) in visual_morph_set_time() argument
248 visual_log_return_val_if_fail (morph != NULL, -VISUAL_ERROR_MORPH_NULL); in visual_morph_set_time()
251 return visual_time_copy (&morph->morphtime, time); in visual_morph_set_time()
265 int visual_morph_set_rate (VisMorph *morph, float rate) in visual_morph_set_rate() argument
267 visual_log_return_val_if_fail (morph != NULL, -VISUAL_ERROR_MORPH_NULL); in visual_morph_set_rate()
269 morph->rate = rate; in visual_morph_set_rate()
282 int visual_morph_set_steps (VisMorph *morph, int steps) in visual_morph_set_steps() argument
284 visual_log_return_val_if_fail (morph != NULL, -VISUAL_ERROR_MORPH_NULL); in visual_morph_set_steps()
286 morph->steps = steps; in visual_morph_set_steps()
299 int visual_morph_set_mode (VisMorph *morph, VisMorphMode mode) in visual_morph_set_mode() argument
301 visual_log_return_val_if_fail (morph != NULL, -VISUAL_ERROR_MORPH_NULL); in visual_morph_set_mode()
303 morph->mode = mode; in visual_morph_set_mode()
315 VisPalette *visual_morph_get_palette (VisMorph *morph) in visual_morph_get_palette() argument
317 visual_log_return_val_if_fail (morph != NULL, NULL); in visual_morph_get_palette()
319 return &morph->morphpal; in visual_morph_get_palette()
329 int visual_morph_is_done (VisMorph *morph) in visual_morph_is_done() argument
331 visual_log_return_val_if_fail (morph != NULL, -VISUAL_ERROR_MORPH_NULL); in visual_morph_is_done()
333 if (morph->mode == VISUAL_MORPH_MODE_SET) in visual_morph_is_done()
336 if (morph->rate >= 1.0) { in visual_morph_is_done()
337 if (morph->mode == VISUAL_MORPH_MODE_TIME) in visual_morph_is_done()
338 visual_timer_stop (&morph->timer); in visual_morph_is_done()
340 if (morph->mode == VISUAL_MORPH_MODE_STEPS) in visual_morph_is_done()
341 morph->stepsdone = 0; in visual_morph_is_done()
347 if (morph->mode == VISUAL_MORPH_MODE_STEPS && morph->steps == morph->stepsdone) in visual_morph_is_done()
361 int visual_morph_requests_audio (VisMorph *morph) in visual_morph_requests_audio() argument
365 visual_log_return_val_if_fail (morph != NULL, -VISUAL_ERROR_MORPH_NULL); in visual_morph_requests_audio()
367 morphplugin = get_morph_plugin (morph); in visual_morph_requests_audio()
395 int visual_morph_run (VisMorph *morph, VisAudio *audio, VisVideo *src1, VisVideo *src2) in visual_morph_run() argument
401 visual_log_return_val_if_fail (morph != NULL, -VISUAL_ERROR_MORPH_NULL); in visual_morph_run()
406 morphplugin = get_morph_plugin (morph); in visual_morph_run()
416 if (visual_timer_is_active (&morph->timer) == FALSE) in visual_morph_run()
417 visual_timer_start (&morph->timer); in visual_morph_run()
420 morphplugin->palette (morph->plugin, morph->rate, audio, &morph->morphpal, src1, src2); in visual_morph_run()
423 visual_palette_blend (&morph->morphpal, src1->pal, src2->pal, morph->rate); in visual_morph_run()
426 morphplugin->apply (morph->plugin, morph->rate, audio, morph->dest, src1, src2); in visual_morph_run()
428 morph->dest->pal = visual_morph_get_palette (morph); in visual_morph_run()
431 if (morph->mode == VISUAL_MORPH_MODE_STEPS) { in visual_morph_run()
432 morph->rate += (1.000 / morph->steps); in visual_morph_run()
433 morph->stepsdone++; in visual_morph_run()
435 if (morph->rate > 1.0) in visual_morph_run()
436 morph->rate = 1; in visual_morph_run()
438 } else if (morph->mode == VISUAL_MORPH_MODE_TIME) { in visual_morph_run()
439 visual_timer_elapsed (&morph->timer, &elapsed); in visual_morph_run()
447 usec_morph = ((double) morph->morphtime.tv_sec) * VISUAL_USEC_PER_SEC + morph->morphtime.tv_usec; in visual_morph_run()
449 morph->rate = usec_elapsed / usec_morph; in visual_morph_run()
451 if (morph->rate > 1.0) in visual_morph_run()
452 morph->rate = 1; in visual_morph_run()