Blender V2.61 - r43446
Classes | Defines | Typedefs | Enumerations | Functions | Variables

BKE_sequencer.h File Reference

Go to the source code of this file.

Classes

struct  SeqIterator
struct  SeqRenderData
struct  SeqEffectHandle
struct  SeqLoadInfo

Defines

#define BUILD_SEQAR_COUNT_NOTHING   0
#define BUILD_SEQAR_COUNT_CURRENT   1
#define BUILD_SEQAR_COUNT_CHILDREN   2
#define EARLY_NO_INPUT   -1
#define EARLY_DO_EFFECT   0
#define EARLY_USE_INPUT_1   1
#define EARLY_USE_INPUT_2   2
#define SEQP_BEGIN(ed, _seq)
#define SEQ_BEGIN(ed, _seq)
#define SEQ_END
#define SEQ_LOAD_REPLACE_SEL   (1<<0)
#define SEQ_LOAD_FRAME_ADVANCE   (1<<1)
#define SEQ_LOAD_MOVIE_SOUND   (1<<2)
#define SEQ_LOAD_SOUND_CACHE   (1<<3)
#define SEQ_DUPE_UNIQUE_NAME   (1<<0)
#define SEQ_DUPE_CONTEXT   (1<<1)
#define SEQ_DUPE_ANIM   (1<<2)
#define SEQ_DUPE_ALL   (1<<3)

Typedefs

typedef struct SeqIterator SeqIterator
typedef struct SeqRenderData SeqRenderData
typedef struct SeqLoadInfo SeqLoadInfo
typedef struct Sequence *(* SeqLoadFunc )(struct bContext *, ListBase *, struct SeqLoadInfo *)
typedef struct ImBuf *(* SequencerDrawView )(struct Scene *, struct Object *, int, int, unsigned int, int, char[256])

Enumerations

enum  {
  DO_SINGLE_WIPE, DO_DOUBLE_WIPE, DO_BOX_WIPE, DO_CROSS_WIPE,
  DO_IRIS_WIPE, DO_CLOCK_WIPE
}
enum  seq_stripelem_ibuf_t { SEQ_STRIPELEM_IBUF, SEQ_STRIPELEM_IBUF_COMP, SEQ_STRIPELEM_IBUF_STARTSTILL, SEQ_STRIPELEM_IBUF_ENDSTILL }

Functions

void seq_begin (struct Editing *ed, SeqIterator *iter, int use_pointer)
void seq_next (SeqIterator *iter)
void seq_end (SeqIterator *iter)
void seq_array (struct Editing *ed, struct Sequence ***seqarray, int *tot, int use_pointer)
SeqRenderData seq_new_render_data (struct Main *bmain, struct Scene *scene, int rectx, int recty, int preview_render_size)
int seq_cmp_render_data (const SeqRenderData *a, const SeqRenderData *b)
unsigned int seq_hash_render_data (const SeqRenderData *a)
struct ImBufgive_ibuf_seq (SeqRenderData context, float cfra, int chanshown)
struct ImBufgive_ibuf_seq_threaded (SeqRenderData context, float cfra, int chanshown)
struct ImBufgive_ibuf_seq_direct (SeqRenderData context, float cfra, struct Sequence *seq)
struct ImBufgive_ibuf_seqbase (SeqRenderData context, float cfra, int chan_shown, struct ListBase *seqbasep)
void give_ibuf_prefetch_request (SeqRenderData context, float cfra, int chan_shown)
int seqbase_recursive_apply (struct ListBase *seqbase, int(*apply_func)(struct Sequence *seq, void *), void *arg)
int seq_recursive_apply (struct Sequence *seq, int(*apply_func)(struct Sequence *, void *), void *arg)
void seq_free_sequence (struct Scene *scene, struct Sequence *seq)
void seq_free_sequence_recurse (struct Scene *scene, struct Sequence *seq)
void seq_free_strip (struct Strip *strip)
void seq_free_editing (struct Scene *scene)
void seq_free_clipboard (void)
struct Editingseq_give_editing (struct Scene *scene, int alloc)
const char * give_seqname (struct Sequence *seq)
void calc_sequence (struct Scene *scene, struct Sequence *seq)
void calc_sequence_disp (struct Scene *scene, struct Sequence *seq)
void new_tstripdata (struct Sequence *seq)
void reload_sequence_new_file (struct Scene *scene, struct Sequence *seq, int lock_range)
void sort_seq (struct Scene *scene)
void build_seqar_cb (struct ListBase *seqbase, struct Sequence ***seqar, int *totseq, int(*test_func)(struct Sequence *seq))
int evaluate_seq_frame (struct Scene *scene, int cfra)
struct StripElemgive_stripelem (struct Sequence *seq, int cfra)
void printf_strip (struct Sequence *seq)
void update_changed_seq_and_deps (struct Scene *scene, struct Sequence *changed_seq, int len_change, int ibuf_change)
int input_have_to_preprocess (SeqRenderData context, struct Sequence *seq, float cfra)
void seq_proxy_rebuild (struct Main *bmain, struct Scene *scene, struct Sequence *seq, short *stop, short *do_update, float *progress)
void seq_stripelem_cache_destruct (void)
void seq_stripelem_cache_cleanup (void)
struct ImBufseq_stripelem_cache_get (SeqRenderData context, struct Sequence *seq, float cfra, seq_stripelem_ibuf_t type)
void seq_stripelem_cache_put (SeqRenderData context, struct Sequence *seq, float cfra, seq_stripelem_ibuf_t type, struct ImBuf *nval)
struct SeqEffectHandle get_sequence_blend (struct Sequence *seq)
void sequence_effect_speed_rebuild_map (struct Scene *scene, struct Sequence *seq, int force)
struct SeqEffectHandle get_sequence_effect (struct Sequence *seq)
int get_sequence_effect_num_inputs (int seq_type)
int seq_tx_get_start (struct Sequence *seq)
int seq_tx_get_end (struct Sequence *seq)
int seq_tx_get_final_left (struct Sequence *seq, int metaclip)
int seq_tx_get_final_right (struct Sequence *seq, int metaclip)
void seq_tx_set_final_left (struct Sequence *seq, int val)
void seq_tx_set_final_right (struct Sequence *seq, int val)
void seq_tx_handle_xlimits (struct Sequence *seq, int leftflag, int rightflag)
int seq_tx_test (struct Sequence *seq)
int seq_single_check (struct Sequence *seq)
void seq_single_fix (struct Sequence *seq)
int seq_test_overlap (struct ListBase *seqbasep, struct Sequence *test)
void seq_translate (struct Scene *scene, struct Sequence *seq, int delta)
void seq_sound_init (struct Scene *scene, struct Sequence *seq)
struct Sequenceseq_foreground_frame_get (struct Scene *scene, int frame)
struct ListBaseseq_seqbase (struct ListBase *seqbase, struct Sequence *seq)
struct Sequenceseq_metastrip (ListBase *seqbase, struct Sequence *meta, struct Sequence *seq)
void seq_offset_animdata (struct Scene *scene, struct Sequence *seq, int ofs)
void seq_dupe_animdata (struct Scene *scene, const char *name_src, const char *name_dst)
int shuffle_seq (struct ListBase *seqbasep, struct Sequence *test, struct Scene *evil_scene)
int shuffle_seq_time (ListBase *seqbasep, struct Scene *evil_scene)
int seqbase_isolated_sel_check (struct ListBase *seqbase)
void free_imbuf_seq (struct Scene *scene, struct ListBase *seqbasep, int check_mem_usage, int keep_file_handles)
struct Sequenceseq_dupli_recursive (struct Scene *scene, struct Scene *scene_to, struct Sequence *seq, int dupe_flag)
int seq_swap (struct Sequence *seq_a, struct Sequence *seq_b, const char **error_str)
void seq_update_sound_bounds_all (struct Scene *scene)
void seq_update_sound_bounds (struct Scene *scene, struct Sequence *seq)
void seq_update_muting (struct Editing *ed)
void seq_update_sound (struct Scene *scene, struct bSound *sound)
void seqbase_sound_reload (struct Scene *scene, ListBase *seqbase)
void seqbase_unique_name_recursive (ListBase *seqbasep, struct Sequence *seq)
void seqbase_dupli_recursive (struct Scene *scene, struct Scene *scene_to, ListBase *nseqbase, ListBase *seqbase, int dupe_flag)
void clear_scene_in_allseqs (struct Main *bmain, struct Scene *sce)
struct Sequenceget_seq_by_name (struct ListBase *seqbase, const char *name, int recursive)
struct Sequenceseq_active_get (struct Scene *scene)
void seq_active_set (struct Scene *scene, struct Sequence *seq)
int seq_active_pair_get (struct Scene *scene, struct Sequence **seq_act, struct Sequence **seq_other)
struct Sequencealloc_sequence (ListBase *lb, int cfra, int machine)
void seq_load_apply (struct Scene *scene, struct Sequence *seq, struct SeqLoadInfo *seq_load)
struct Sequencesequencer_add_image_strip (struct bContext *C, ListBase *seqbasep, struct SeqLoadInfo *seq_load)
struct Sequencesequencer_add_sound_strip (struct bContext *C, ListBase *seqbasep, struct SeqLoadInfo *seq_load)
struct Sequencesequencer_add_movie_strip (struct bContext *C, ListBase *seqbasep, struct SeqLoadInfo *seq_load)

Variables

SequencerDrawView sequencer_view3d_cb
ListBase seqbase_clipboard
int seqbase_clipboard_frame

Detailed Description

Definition in file BKE_sequencer.h.


Define Documentation

#define BUILD_SEQAR_COUNT_CHILDREN   2

Definition at line 45 of file BKE_sequencer.h.

Referenced by do_build_seqar_cb(), and do_seq_count_cb().

#define BUILD_SEQAR_COUNT_CURRENT   1

Definition at line 44 of file BKE_sequencer.h.

Referenced by do_build_seqar_cb(), and do_seq_count_cb().

#define BUILD_SEQAR_COUNT_NOTHING   0

Definition at line 43 of file BKE_sequencer.h.

#define EARLY_DO_EFFECT   0
#define EARLY_NO_INPUT   -1
#define EARLY_USE_INPUT_1   1
#define EARLY_USE_INPUT_2   2
#define SEQ_BEGIN (   ed,
  _seq 
)
#define SEQ_DUPE_ALL   (1<<3)

Definition at line 323 of file BKE_sequencer.h.

Referenced by copy_scene(), and seqbase_dupli_recursive().

#define SEQ_DUPE_ANIM   (1<<2)

Definition at line 322 of file BKE_sequencer.h.

Referenced by cut_seq_hard(), cut_seq_soft(), and seq_dupli().

#define SEQ_DUPE_CONTEXT   (1<<1)

Definition at line 321 of file BKE_sequencer.h.

Referenced by seqbase_dupli_recursive(), and sequencer_add_duplicate_exec().

#define SEQ_DUPE_UNIQUE_NAME   (1<<0)
#define SEQ_END
#define SEQ_LOAD_FRAME_ADVANCE   (1<<1)

Definition at line 314 of file BKE_sequencer.h.

Referenced by seq_load_apply(), and seq_load_operator_info().

#define SEQ_LOAD_MOVIE_SOUND   (1<<2)

Definition at line 315 of file BKE_sequencer.h.

Referenced by seq_load_operator_info(), and sequencer_add_movie_strip().

#define SEQ_LOAD_REPLACE_SEL   (1<<0)
#define SEQ_LOAD_SOUND_CACHE   (1<<3)

Definition at line 316 of file BKE_sequencer.h.

Referenced by seq_load_apply(), and seq_load_operator_info().

#define SEQP_BEGIN (   ed,
  _seq 
)

Typedef Documentation

typedef struct SeqIterator SeqIterator
typedef struct Sequence*(* SeqLoadFunc)(struct bContext *, ListBase *, struct SeqLoadInfo *)

Definition at line 326 of file BKE_sequencer.h.

typedef struct SeqLoadInfo SeqLoadInfo
typedef struct SeqRenderData SeqRenderData
typedef struct ImBuf*(* SequencerDrawView)(struct Scene *, struct Object *, int, int, unsigned int, int, char[256])

Definition at line 337 of file BKE_sequencer.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
DO_SINGLE_WIPE 
DO_DOUBLE_WIPE 
DO_BOX_WIPE 
DO_CROSS_WIPE 
DO_IRIS_WIPE 
DO_CLOCK_WIPE 

Definition at line 102 of file BKE_sequencer.h.

Enumerator:
SEQ_STRIPELEM_IBUF 
SEQ_STRIPELEM_IBUF_COMP 
SEQ_STRIPELEM_IBUF_STARTSTILL 
SEQ_STRIPELEM_IBUF_ENDSTILL 

Definition at line 208 of file BKE_sequencer.h.


Function Documentation

struct Sequence* alloc_sequence ( ListBase lb,
int  cfra,
int  machine 
) [read]
void build_seqar_cb ( struct ListBase seqbase,
struct Sequence ***  seqar,
int *  totseq,
int(*)(struct Sequence *seq)  test_func 
)
void calc_sequence ( struct Scene scene,
struct Sequence seq 
)
void calc_sequence_disp ( struct Scene scene,
struct Sequence seq 
)
void clear_scene_in_allseqs ( struct Main bmain,
struct Scene sce 
)
int evaluate_seq_frame ( struct Scene scene,
int  cfra 
)

Definition at line 1080 of file sequencer.c.

References evaluate_seq_frame_gen(), FALSE, MAXSEQ, NULL, seq_give_editing(), and Editing::seqbasep.

Referenced by no_gaps().

void free_imbuf_seq ( struct Scene scene,
struct ListBase seqbasep,
int  check_mem_usage,
int  keep_file_handles 
)
struct Sequence* get_seq_by_name ( struct ListBase seqbase,
const char *  name,
int  recursive 
) [read]
struct SeqEffectHandle get_sequence_blend ( struct Sequence seq) [read]
struct SeqEffectHandle get_sequence_effect ( struct Sequence seq) [read]
int get_sequence_effect_num_inputs ( int  seq_type)
void give_ibuf_prefetch_request ( SeqRenderData  context,
float  cfra,
int  chan_shown 
)
struct ImBuf* give_ibuf_seq ( SeqRenderData  context,
float  cfra,
int  chanshown 
) [read]
struct ImBuf* give_ibuf_seq_direct ( SeqRenderData  context,
float  cfra,
struct Sequence seq 
) [read]

Definition at line 2398 of file sequencer.c.

References seq_render_strip().

Referenced by draw_image_seq().

struct ImBuf* give_ibuf_seq_threaded ( SeqRenderData  context,
float  cfra,
int  chanshown 
) [read]
struct ImBuf* give_ibuf_seqbase ( SeqRenderData  context,
float  cfra,
int  chan_shown,
struct ListBase seqbasep 
) [read]

Definition at line 2392 of file sequencer.c.

References seq_render_strip_stack().

Referenced by do_adjustment_impl(), and do_multicam().

const char* give_seqname ( struct Sequence seq)
struct StripElem* give_stripelem ( struct Sequence seq,
int  cfra 
) [read]
int input_have_to_preprocess ( SeqRenderData  context,
struct Sequence seq,
float  cfra 
)
void new_tstripdata ( struct Sequence seq)
void printf_strip ( struct Sequence seq)
void reload_sequence_new_file ( struct Scene scene,
struct Sequence seq,
int  lock_range 
)
struct Sequence* seq_active_get ( struct Scene scene) [read]
int seq_active_pair_get ( struct Scene scene,
struct Sequence **  seq_act,
struct Sequence **  seq_other 
)
void seq_active_set ( struct Scene scene,
struct Sequence seq 
)
void seq_array ( struct Editing ed,
struct Sequence ***  seqarray,
int *  tot,
int  use_pointer 
)

Definition at line 405 of file sequencer.c.

References MEM_mallocN(), NULL, seq_build_array(), seq_count(), Editing::seqbase, and Editing::seqbasep.

Referenced by seq_begin().

void seq_begin ( struct Editing ed,
SeqIterator iter,
int  use_pointer 
)
int seq_cmp_render_data ( const SeqRenderData a,
const SeqRenderData b 
)
void seq_dupe_animdata ( struct Scene scene,
const char *  name_src,
const char *  name_dst 
)
struct Sequence* seq_dupli_recursive ( struct Scene scene,
struct Scene scene_to,
struct Sequence seq,
int  dupe_flag 
) [read]
void seq_end ( SeqIterator iter)

Definition at line 450 of file sequencer.c.

References SeqIterator::array, MEM_freeN(), and SeqIterator::valid.

Referenced by select_grouped_effect_link().

struct Sequence* seq_foreground_frame_get ( struct Scene scene,
int  frame 
) [read]
void seq_free_clipboard ( void  )
void seq_free_editing ( struct Scene scene)
void seq_free_sequence ( struct Scene scene,
struct Sequence seq 
)
void seq_free_sequence_recurse ( struct Scene scene,
struct Sequence seq 
)
void seq_free_strip ( struct Strip strip)
struct Editing* seq_give_editing ( struct Scene scene,
int  alloc 
) [read]

Definition at line 227 of file sequencer.c.

References Scene::ed, MEM_callocN(), NULL, Editing::seqbase, and Editing::seqbasep.

Referenced by animchan_sync_fcurve(), boundbox_seq(), change_plugin_seq(), createTransSeqData(), deselect_all_seq(), draw_timeline_seq(), ed_screen_context(), evaluate_seq_frame(), find_nearest_seq(), find_neighboring_sequence(), find_next_prev_edit(), find_next_prev_sequence(), flushTransSeq(), freeSeqData(), give_ibuf_seq(), insert_gap(), no_gaps(), outliner_build_tree(), select_more_less_seq__internal(), select_single_seq(), seq_active_get(), seq_active_pair_get(), seq_active_set(), seq_effect_find_selected(), seq_foreground_frame_get(), seq_remap_paths(), sequencer_add_duplicate_exec(), sequencer_add_effect_strip_exec(), sequencer_add_generic_strip_exec(), sequencer_add_image_strip_exec(), sequencer_add_scene_strip_exec(), sequencer_borderselect_exec(), sequencer_change_effect_input_exec(), sequencer_change_effect_type_exec(), sequencer_change_path_exec(), sequencer_copy_exec(), sequencer_cut_exec(), sequencer_de_select_all_exec(), sequencer_delete_exec(), sequencer_edit_poll(), sequencer_effect_poll(), sequencer_lock_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_meta_toggle_exec(), sequencer_mute_exec(), sequencer_offset_clear_exec(), sequencer_paste_exec(), sequencer_rebuild_proxy_exec(), sequencer_refresh_all_exec(), sequencer_reload_exec(), sequencer_select_active_side_exec(), sequencer_select_grouped_exec(), sequencer_select_handles_exec(), sequencer_select_inverse_exec(), sequencer_select_invoke(), sequencer_separate_images_exec(), sequencer_snap_exec(), sequencer_strip_has_path_poll(), sequencer_strip_poll(), sequencer_swap_exec(), sequencer_unlock_exec(), sequencer_unmute_exec(), sequencer_view_poll(), sequencer_view_selected_exec(), skip_fcurve_selected_data(), sort_seq(), touch_seq_files(), tree_element_active_sequence_dup(), update_changed_seq_and_deps(), and view_ghost_border_exec().

unsigned int seq_hash_render_data ( const SeqRenderData a)
void seq_load_apply ( struct Scene scene,
struct Sequence seq,
struct SeqLoadInfo seq_load 
)
struct Sequence* seq_metastrip ( ListBase seqbase,
struct Sequence meta,
struct Sequence seq 
) [read]

Definition at line 3315 of file sequencer.c.

References ListBase::first, Sequence::next, NULL, seq_metastrip(), and Sequence::seqbase.

Referenced by do_adjustment_impl(), and seq_metastrip().

SeqRenderData seq_new_render_data ( struct Main bmain,
struct Scene scene,
int  rectx,
int  recty,
int  preview_render_size 
)
void seq_next ( SeqIterator iter)
void seq_offset_animdata ( struct Scene scene,
struct Sequence seq,
int  ofs 
)
void seq_proxy_rebuild ( struct Main bmain,
struct Scene scene,
struct Sequence seq,
short *  stop,
short *  do_update,
float *  progress 
)
int seq_recursive_apply ( struct Sequence seq,
int(*)(struct Sequence *, void *)  apply_func,
void *  arg 
)
struct ListBase* seq_seqbase ( struct ListBase seqbase,
struct Sequence seq 
) [read]
int seq_single_check ( struct Sequence seq)
void seq_single_fix ( struct Sequence seq)
void seq_sound_init ( struct Scene scene,
struct Sequence seq 
)
void seq_stripelem_cache_cleanup ( void  )
void seq_stripelem_cache_destruct ( void  )

Definition at line 92 of file seqcache.c.

References IMB_moviecache_free().

Referenced by free_blender().

struct ImBuf* seq_stripelem_cache_get ( SeqRenderData  context,
struct Sequence seq,
float  cfra,
seq_stripelem_ibuf_t  type 
) [read]
void seq_stripelem_cache_put ( SeqRenderData  context,
struct Sequence seq,
float  cfra,
seq_stripelem_ibuf_t  type,
struct ImBuf nval 
)
int seq_swap ( struct Sequence seq_a,
struct Sequence seq_b,
const char **  error_str 
)
int seq_test_overlap ( struct ListBase seqbasep,
struct Sequence test 
)
void seq_translate ( struct Scene scene,
struct Sequence seq,
int  delta 
)
int seq_tx_get_end ( struct Sequence seq)

Definition at line 2864 of file sequencer.c.

References Sequence::len, and Sequence::start.

Referenced by seq_tx_handle_xlimits().

int seq_tx_get_final_left ( struct Sequence seq,
int  metaclip 
)
int seq_tx_get_final_right ( struct Sequence seq,
int  metaclip 
)
int seq_tx_get_start ( struct Sequence seq)

Definition at line 2860 of file sequencer.c.

References Sequence::start.

Referenced by seq_tx_handle_xlimits().

void seq_tx_handle_xlimits ( struct Sequence seq,
int  leftflag,
int  rightflag 
)
void seq_tx_set_final_left ( struct Sequence seq,
int  val 
)
void seq_tx_set_final_right ( struct Sequence seq,
int  val 
)
int seq_tx_test ( struct Sequence seq)
void seq_update_muting ( struct Editing ed)
void seq_update_sound ( struct Scene scene,
struct bSound sound 
)

Definition at line 3290 of file sequencer.c.

References Scene::ed, seq_update_sound_recursive(), and Editing::seqbase.

void seq_update_sound_bounds ( struct Scene scene,
struct Sequence seq 
)

Definition at line 3229 of file sequencer.c.

References sound_move_scene_sound_defaults().

Referenced by calc_sequence_disp(), and seq_update_sound_bounds_all().

void seq_update_sound_bounds_all ( struct Scene scene)
void seqbase_dupli_recursive ( struct Scene scene,
struct Scene scene_to,
ListBase nseqbase,
ListBase seqbase,
int  dupe_flag 
)
int seqbase_isolated_sel_check ( struct ListBase seqbase)
int seqbase_recursive_apply ( struct ListBase seqbase,
int(*)(struct Sequence *seq, void *)  apply_func,
void *  arg 
)
void seqbase_sound_reload ( struct Scene scene,
ListBase seqbase 
)
void seqbase_unique_name_recursive ( ListBase seqbasep,
struct Sequence seq 
)
void sequence_effect_speed_rebuild_map ( struct Scene scene,
struct Sequence seq,
int  force 
)
struct Sequence* sequencer_add_image_strip ( struct bContext C,
ListBase seqbasep,
struct SeqLoadInfo seq_load 
) [read]
struct Sequence* sequencer_add_movie_strip ( struct bContext C,
ListBase seqbasep,
struct SeqLoadInfo seq_load 
) [read]
struct Sequence* sequencer_add_sound_strip ( struct bContext C,
ListBase seqbasep,
struct SeqLoadInfo seq_load 
) [read]

Definition at line 3667 of file sequencer.c.

References NULL.

Referenced by sequencer_add_movie_strip(), and sequencer_add_sound_strip_exec().

int shuffle_seq ( struct ListBase seqbasep,
struct Sequence test,
struct Scene evil_scene 
)
int shuffle_seq_time ( ListBase seqbasep,
struct Scene evil_scene 
)
void sort_seq ( struct Scene scene)
void update_changed_seq_and_deps ( struct Scene scene,
struct Sequence changed_seq,
int  len_change,
int  ibuf_change 
)

Variable Documentation

Definition at line 91 of file sequencer.c.

Referenced by sequencer_copy_exec(), and sequencer_paste_exec().

Definition at line 92 of file sequencer.c.

Referenced by sequencer_copy_exec(), and sequencer_paste_exec().

Definition at line 93 of file sequencer.c.

Referenced by ED_spacetype_sequencer(), and seq_render_scene_strip_impl().