diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-04-17 07:17:24 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-04-17 07:21:24 +0300 |
commit | e12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch) | |
tree | 8cf3453d12edb177a218ef8009357518ec6cab6a /source/blender/makesrna/intern/rna_sequencer_api.c | |
parent | b3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff) |
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'source/blender/makesrna/intern/rna_sequencer_api.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_sequencer_api.c | 1002 |
1 files changed, 546 insertions, 456 deletions
diff --git a/source/blender/makesrna/intern/rna_sequencer_api.c b/source/blender/makesrna/intern/rna_sequencer_api.c index b93bfdfe137..3fc46bf1225 100644 --- a/source/blender/makesrna/intern/rna_sequencer_api.c +++ b/source/blender/makesrna/intern/rna_sequencer_api.c @@ -35,582 +35,672 @@ #ifdef RNA_RUNTIME //#include "DNA_anim_types.h" -#include "DNA_image_types.h" -#include "DNA_mask_types.h" -#include "DNA_sound_types.h" +# include "DNA_image_types.h" +# include "DNA_mask_types.h" +# include "DNA_sound_types.h" -#include "BLI_path_util.h" /* BLI_split_dirfile */ +# include "BLI_path_util.h" /* BLI_split_dirfile */ -#include "BKE_image.h" -#include "BKE_mask.h" -#include "BKE_movieclip.h" +# include "BKE_image.h" +# include "BKE_mask.h" +# include "BKE_movieclip.h" -#include "BKE_report.h" -#include "BKE_sequencer.h" -#include "BKE_sound.h" +# include "BKE_report.h" +# include "BKE_sequencer.h" +# include "BKE_sound.h" -#include "IMB_imbuf.h" -#include "IMB_imbuf_types.h" +# include "IMB_imbuf.h" +# include "IMB_imbuf_types.h" -#include "WM_api.h" +# include "WM_api.h" static void rna_Sequence_update_rnafunc(ID *id, Sequence *self, bool do_data) { - if (do_data) { - BKE_sequencer_update_changed_seq_and_deps((Scene *)id, self, true, true); - // new_tstripdata(self); // need 2.6x version of this. - } - BKE_sequence_calc((Scene *)id, self); - BKE_sequence_calc_disp((Scene *)id, self); + if (do_data) { + BKE_sequencer_update_changed_seq_and_deps((Scene *)id, self, true, true); + // new_tstripdata(self); // need 2.6x version of this. + } + BKE_sequence_calc((Scene *)id, self); + BKE_sequence_calc_disp((Scene *)id, self); } -static void rna_Sequence_swap_internal(Sequence *seq_self, ReportList *reports, Sequence *seq_other) +static void rna_Sequence_swap_internal(Sequence *seq_self, + ReportList *reports, + Sequence *seq_other) { - const char *error_msg; + const char *error_msg; - if (BKE_sequence_swap(seq_self, seq_other, &error_msg) == 0) - BKE_report(reports, RPT_ERROR, error_msg); + if (BKE_sequence_swap(seq_self, seq_other, &error_msg) == 0) + BKE_report(reports, RPT_ERROR, error_msg); } -static Sequence *alloc_generic_sequence(Editing *ed, const char *name, int frame_start, - int channel, int type, const char *file) +static Sequence *alloc_generic_sequence( + Editing *ed, const char *name, int frame_start, int channel, int type, const char *file) { - Sequence *seq; - Strip *strip; - StripElem *se; + Sequence *seq; + Strip *strip; + StripElem *se; - seq = BKE_sequence_alloc(ed->seqbasep, frame_start, channel); - seq->type = type; + seq = BKE_sequence_alloc(ed->seqbasep, frame_start, channel); + seq->type = type; - BLI_strncpy(seq->name + 2, name, sizeof(seq->name) - 2); - BKE_sequence_base_unique_name_recursive(&ed->seqbase, seq); + BLI_strncpy(seq->name + 2, name, sizeof(seq->name) - 2); + BKE_sequence_base_unique_name_recursive(&ed->seqbase, seq); - seq->strip = strip = MEM_callocN(sizeof(Strip), "strip"); - seq->strip->us = 1; + seq->strip = strip = MEM_callocN(sizeof(Strip), "strip"); + seq->strip->us = 1; - if (file) { - strip->stripdata = se = MEM_callocN(sizeof(StripElem), "stripelem"); - BLI_split_dirfile(file, strip->dir, se->name, sizeof(strip->dir), sizeof(se->name)); + if (file) { + strip->stripdata = se = MEM_callocN(sizeof(StripElem), "stripelem"); + BLI_split_dirfile(file, strip->dir, se->name, sizeof(strip->dir), sizeof(se->name)); - BKE_sequence_init_colorspace(seq); - } - else { - strip->stripdata = NULL; - } + BKE_sequence_init_colorspace(seq); + } + else { + strip->stripdata = NULL; + } - return seq; + return seq; } -static Sequence *rna_Sequences_new_clip(ID *id, Editing *ed, - const char *name, MovieClip *clip, int channel, - int frame_start) +static Sequence *rna_Sequences_new_clip( + ID *id, Editing *ed, const char *name, MovieClip *clip, int channel, int frame_start) { - Scene *scene = (Scene *)id; - Sequence *seq; + Scene *scene = (Scene *)id; + Sequence *seq; - seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_MOVIECLIP, clip->name); - seq->clip = clip; - seq->len = BKE_movieclip_get_duration(clip); - id_us_plus((ID *)clip); + seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_MOVIECLIP, clip->name); + seq->clip = clip; + seq->len = BKE_movieclip_get_duration(clip); + id_us_plus((ID *)clip); - BKE_sequence_calc_disp(scene, seq); + BKE_sequence_calc_disp(scene, seq); - WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); - return seq; + return seq; } -static Sequence *rna_Sequences_new_mask(ID *id, Editing *ed, - const char *name, Mask *mask, int channel, - int frame_start) +static Sequence *rna_Sequences_new_mask( + ID *id, Editing *ed, const char *name, Mask *mask, int channel, int frame_start) { - Scene *scene = (Scene *)id; - Sequence *seq; + Scene *scene = (Scene *)id; + Sequence *seq; - seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_MASK, mask->id.name); - seq->mask = mask; - seq->len = BKE_mask_get_duration(mask); - id_us_plus((ID *)mask); + seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_MASK, mask->id.name); + seq->mask = mask; + seq->len = BKE_mask_get_duration(mask); + id_us_plus((ID *)mask); - BKE_sequence_calc_disp(scene, seq); + BKE_sequence_calc_disp(scene, seq); - WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); - return seq; + return seq; } -static Sequence *rna_Sequences_new_scene(ID *id, Editing *ed, - const char *name, Scene *sce_seq, int channel, - int frame_start) +static Sequence *rna_Sequences_new_scene( + ID *id, Editing *ed, const char *name, Scene *sce_seq, int channel, int frame_start) { - Scene *scene = (Scene *)id; - Sequence *seq; + Scene *scene = (Scene *)id; + Sequence *seq; - seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_SCENE, NULL); - seq->scene = sce_seq; - seq->len = sce_seq->r.efra - sce_seq->r.sfra + 1; - seq->scene_sound = BKE_sound_scene_add_scene_sound(scene, seq, frame_start, frame_start + seq->len, 0); - id_us_plus((ID *)sce_seq); + seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_SCENE, NULL); + seq->scene = sce_seq; + seq->len = sce_seq->r.efra - sce_seq->r.sfra + 1; + seq->scene_sound = BKE_sound_scene_add_scene_sound( + scene, seq, frame_start, frame_start + seq->len, 0); + id_us_plus((ID *)sce_seq); - BKE_sequence_calc_disp(scene, seq); + BKE_sequence_calc_disp(scene, seq); - WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); - return seq; + return seq; } -static Sequence *rna_Sequences_new_image(ID *id, Editing *ed, ReportList *reports, - const char *name, const char *file, int channel, +static Sequence *rna_Sequences_new_image(ID *id, + Editing *ed, + ReportList *reports, + const char *name, + const char *file, + int channel, int frame_start) { - Scene *scene = (Scene *)id; - Sequence *seq; + Scene *scene = (Scene *)id; + Sequence *seq; - seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_IMAGE, file); - seq->len = 1; + seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_IMAGE, file); + seq->len = 1; - if (seq->strip->stripdata->name[0] == '\0') { - BKE_report(reports, RPT_ERROR, "Sequences.new_image: unable to open image file"); - BLI_remlink(&ed->seqbase, seq); - BKE_sequence_free(scene, seq); - return NULL; - } + if (seq->strip->stripdata->name[0] == '\0') { + BKE_report(reports, RPT_ERROR, "Sequences.new_image: unable to open image file"); + BLI_remlink(&ed->seqbase, seq); + BKE_sequence_free(scene, seq); + return NULL; + } - BKE_sequence_calc_disp(scene, seq); + BKE_sequence_calc_disp(scene, seq); - WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); - return seq; + return seq; } -static Sequence *rna_Sequences_new_movie(ID *id, Editing *ed, ReportList *reports, - const char *name, const char *file, int channel, +static Sequence *rna_Sequences_new_movie(ID *id, + Editing *ed, + ReportList *reports, + const char *name, + const char *file, + int channel, int frame_start) { - Scene *scene = (Scene *)id; - Sequence *seq; - StripAnim *sanim; + Scene *scene = (Scene *)id; + Sequence *seq; + StripAnim *sanim; - struct anim *an = openanim(file, IB_rect, 0, NULL); + struct anim *an = openanim(file, IB_rect, 0, NULL); - if (an == NULL) { - BKE_report(reports, RPT_ERROR, "Sequences.new_movie: unable to open movie file"); - return NULL; - } + if (an == NULL) { + BKE_report(reports, RPT_ERROR, "Sequences.new_movie: unable to open movie file"); + return NULL; + } - seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_MOVIE, file); + seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_MOVIE, file); - sanim = MEM_mallocN(sizeof(StripAnim), "Strip Anim"); - BLI_addtail(&seq->anims, sanim); - sanim->anim = an; + sanim = MEM_mallocN(sizeof(StripAnim), "Strip Anim"); + BLI_addtail(&seq->anims, sanim); + sanim->anim = an; - seq->anim_preseek = IMB_anim_get_preseek(an); - seq->len = IMB_anim_get_duration(an, IMB_TC_RECORD_RUN); + seq->anim_preseek = IMB_anim_get_preseek(an); + seq->len = IMB_anim_get_duration(an, IMB_TC_RECORD_RUN); - BKE_sequence_calc_disp(scene, seq); + BKE_sequence_calc_disp(scene, seq); - WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); - return seq; + return seq; } -#ifdef WITH_AUDASPACE -static Sequence *rna_Sequences_new_sound(ID *id, Editing *ed, Main *bmain, ReportList *reports, - const char *name, const char *file, int channel, int frame_start) +# ifdef WITH_AUDASPACE +static Sequence *rna_Sequences_new_sound(ID *id, + Editing *ed, + Main *bmain, + ReportList *reports, + const char *name, + const char *file, + int channel, + int frame_start) { - Scene *scene = (Scene *)id; - Sequence *seq; + Scene *scene = (Scene *)id; + Sequence *seq; - bSound *sound = BKE_sound_new_file(bmain, file); + bSound *sound = BKE_sound_new_file(bmain, file); - if (sound->playback_handle == NULL) { - BKE_id_free(bmain, sound); - BKE_report(reports, RPT_ERROR, "Sequences.new_sound: unable to open sound file"); - return NULL; - } + if (sound->playback_handle == NULL) { + BKE_id_free(bmain, sound); + BKE_report(reports, RPT_ERROR, "Sequences.new_sound: unable to open sound file"); + return NULL; + } - seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_SOUND_RAM, sound->name); - seq->sound = sound; - seq->len = ceil((double)BKE_sound_get_length(sound) * FPS); + seq = alloc_generic_sequence(ed, name, frame_start, channel, SEQ_TYPE_SOUND_RAM, sound->name); + seq->sound = sound; + seq->len = ceil((double)BKE_sound_get_length(sound) * FPS); - seq->scene_sound = BKE_sound_add_scene_sound(scene, seq, frame_start, frame_start + seq->len, 0); + seq->scene_sound = BKE_sound_add_scene_sound(scene, seq, frame_start, frame_start + seq->len, 0); - BKE_sequence_calc_disp(scene, seq); + BKE_sequence_calc_disp(scene, seq); - WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); - return seq; + return seq; } -#else /* WITH_AUDASPACE */ -static Sequence *rna_Sequences_new_sound(ID *UNUSED(id), Editing *UNUSED(ed), Main *UNUSED(bmain), ReportList *reports, - const char *UNUSED(name), const char *UNUSED(file), int UNUSED(channel), +# else /* WITH_AUDASPACE */ +static Sequence *rna_Sequences_new_sound(ID *UNUSED(id), + Editing *UNUSED(ed), + Main *UNUSED(bmain), + ReportList *reports, + const char *UNUSED(name), + const char *UNUSED(file), + int UNUSED(channel), int UNUSED(frame_start)) { - BKE_report(reports, RPT_ERROR, "Blender compiled without Audaspace support"); - return NULL; + BKE_report(reports, RPT_ERROR, "Blender compiled without Audaspace support"); + return NULL; } -#endif /* WITH_AUDASPACE */ - -static Sequence *rna_Sequences_new_effect(ID *id, Editing *ed, ReportList *reports, - const char *name, int type, int channel, - int frame_start, int frame_end, - Sequence *seq1, Sequence *seq2, Sequence *seq3) +# endif /* WITH_AUDASPACE */ + +static Sequence *rna_Sequences_new_effect(ID *id, + Editing *ed, + ReportList *reports, + const char *name, + int type, + int channel, + int frame_start, + int frame_end, + Sequence *seq1, + Sequence *seq2, + Sequence *seq3) { - Scene *scene = (Scene *)id; - Sequence *seq; - struct SeqEffectHandle sh; - int num_inputs = BKE_sequence_effect_get_num_inputs(type); - - switch (num_inputs) { - case 0: - if (frame_end <= frame_start) { - BKE_report(reports, RPT_ERROR, "Sequences.new_effect: end frame not set"); - return NULL; - } - break; - case 1: - if (seq1 == NULL) { - BKE_report(reports, RPT_ERROR, "Sequences.new_effect: effect takes 1 input sequence"); - return NULL; - } - break; - case 2: - if (seq1 == NULL || seq2 == NULL) { - BKE_report(reports, RPT_ERROR, "Sequences.new_effect: effect takes 2 input sequences"); - return NULL; - } - break; - case 3: - if (seq1 == NULL || seq2 == NULL || seq3 == NULL) { - BKE_report(reports, RPT_ERROR, "Sequences.new_effect: effect takes 3 input sequences"); - return NULL; - } - break; - default: - BKE_reportf(reports, RPT_ERROR, - "Sequences.new_effect: effect expects more than 3 inputs (%d, should never happen!)", - num_inputs); - return NULL; - } - - seq = alloc_generic_sequence(ed, name, frame_start, channel, type, NULL); - - sh = BKE_sequence_get_effect(seq); - - seq->seq1 = seq1; - seq->seq2 = seq2; - seq->seq3 = seq3; - - sh.init(seq); - - if (!seq1) { /* effect has no deps */ - seq->len = 1; - BKE_sequence_tx_set_final_right(seq, frame_end); - } - - seq->flag |= SEQ_USE_EFFECT_DEFAULT_FADE; - - BKE_sequence_calc(scene, seq); - BKE_sequence_calc_disp(scene, seq); - - WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); - - return seq; + Scene *scene = (Scene *)id; + Sequence *seq; + struct SeqEffectHandle sh; + int num_inputs = BKE_sequence_effect_get_num_inputs(type); + + switch (num_inputs) { + case 0: + if (frame_end <= frame_start) { + BKE_report(reports, RPT_ERROR, "Sequences.new_effect: end frame not set"); + return NULL; + } + break; + case 1: + if (seq1 == NULL) { + BKE_report(reports, RPT_ERROR, "Sequences.new_effect: effect takes 1 input sequence"); + return NULL; + } + break; + case 2: + if (seq1 == NULL || seq2 == NULL) { + BKE_report(reports, RPT_ERROR, "Sequences.new_effect: effect takes 2 input sequences"); + return NULL; + } + break; + case 3: + if (seq1 == NULL || seq2 == NULL || seq3 == NULL) { + BKE_report(reports, RPT_ERROR, "Sequences.new_effect: effect takes 3 input sequences"); + return NULL; + } + break; + default: + BKE_reportf( + reports, + RPT_ERROR, + "Sequences.new_effect: effect expects more than 3 inputs (%d, should never happen!)", + num_inputs); + return NULL; + } + + seq = alloc_generic_sequence(ed, name, frame_start, channel, type, NULL); + + sh = BKE_sequence_get_effect(seq); + + seq->seq1 = seq1; + seq->seq2 = seq2; + seq->seq3 = seq3; + + sh.init(seq); + + if (!seq1) { /* effect has no deps */ + seq->len = 1; + BKE_sequence_tx_set_final_right(seq, frame_end); + } + + seq->flag |= SEQ_USE_EFFECT_DEFAULT_FADE; + + BKE_sequence_calc(scene, seq); + BKE_sequence_calc_disp(scene, seq); + + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); + + return seq; } static void rna_Sequences_remove(ID *id, Editing *ed, ReportList *reports, PointerRNA *seq_ptr) { - Sequence *seq = seq_ptr->data; - Scene *scene = (Scene *)id; + Sequence *seq = seq_ptr->data; + Scene *scene = (Scene *)id; - if (BLI_remlink_safe(&ed->seqbase, seq) == false) { - BKE_reportf(reports, RPT_ERROR, "Sequence '%s' not in scene '%s'", seq->name + 2, scene->id.name + 2); - return; - } + if (BLI_remlink_safe(&ed->seqbase, seq) == false) { + BKE_reportf( + reports, RPT_ERROR, "Sequence '%s' not in scene '%s'", seq->name + 2, scene->id.name + 2); + return; + } - BKE_sequence_free(scene, seq); - RNA_POINTER_INVALIDATE(seq_ptr); + BKE_sequence_free(scene, seq); + RNA_POINTER_INVALIDATE(seq_ptr); - WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); } static StripElem *rna_SequenceElements_append(ID *id, Sequence *seq, const char *filename) { - Scene *scene = (Scene *)id; - StripElem *se; + Scene *scene = (Scene *)id; + StripElem *se; - seq->strip->stripdata = se = MEM_reallocN(seq->strip->stripdata, sizeof(StripElem) * (seq->len + 1)); - se += seq->len; - BLI_strncpy(se->name, filename, sizeof(se->name)); - seq->len++; + seq->strip->stripdata = se = MEM_reallocN(seq->strip->stripdata, + sizeof(StripElem) * (seq->len + 1)); + se += seq->len; + BLI_strncpy(se->name, filename, sizeof(se->name)); + seq->len++; - BKE_sequence_calc_disp(scene, seq); + BKE_sequence_calc_disp(scene, seq); - WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); - return se; + return se; } static void rna_SequenceElements_pop(ID *id, Sequence *seq, ReportList *reports, int index) { - Scene *scene = (Scene *)id; - StripElem *new_seq, *se; + Scene *scene = (Scene *)id; + StripElem *new_seq, *se; - if (seq->len == 1) { - BKE_report(reports, RPT_ERROR, "SequenceElements.pop: cannot pop the last element"); - return; - } + if (seq->len == 1) { + BKE_report(reports, RPT_ERROR, "SequenceElements.pop: cannot pop the last element"); + return; + } - /* python style negative indexing */ - if (index < 0) { - index += seq->len; - } + /* python style negative indexing */ + if (index < 0) { + index += seq->len; + } - if (seq->len <= index || index < 0) { - BKE_report(reports, RPT_ERROR, "SequenceElements.pop: index out of range"); - return; - } + if (seq->len <= index || index < 0) { + BKE_report(reports, RPT_ERROR, "SequenceElements.pop: index out of range"); + return; + } - new_seq = MEM_callocN(sizeof(StripElem) * (seq->len - 1), "SequenceElements_pop"); - seq->len--; + new_seq = MEM_callocN(sizeof(StripElem) * (seq->len - 1), "SequenceElements_pop"); + seq->len--; - se = seq->strip->stripdata; - if (index > 0) - memcpy(new_seq, se, sizeof(StripElem) * index); + se = seq->strip->stripdata; + if (index > 0) + memcpy(new_seq, se, sizeof(StripElem) * index); - if (index < seq->len) - memcpy(&new_seq[index], &se[index + 1], sizeof(StripElem) * (seq->len - index)); + if (index < seq->len) + memcpy(&new_seq[index], &se[index + 1], sizeof(StripElem) * (seq->len - index)); - MEM_freeN(seq->strip->stripdata); - seq->strip->stripdata = new_seq; + MEM_freeN(seq->strip->stripdata); + seq->strip->stripdata = new_seq; - BKE_sequence_calc_disp(scene, seq); + BKE_sequence_calc_disp(scene, seq); - WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); } - #else void RNA_api_sequence_strip(StructRNA *srna) { - FunctionRNA *func; - PropertyRNA *parm; - - func = RNA_def_function(srna, "update", "rna_Sequence_update_rnafunc"); - RNA_def_function_flag(func, FUNC_USE_SELF_ID); - RNA_def_function_ui_description(func, "Update the strip dimensions"); - parm = RNA_def_boolean(func, "data", false, "Data", - "Update strip data"); - - func = RNA_def_function(srna, "strip_elem_from_frame", "BKE_sequencer_give_stripelem"); - RNA_def_function_ui_description(func, "Return the strip element from a given frame or None"); - parm = RNA_def_int(func, "frame", 0, -MAXFRAME, MAXFRAME, "Frame", - "The frame to get the strip element from", -MAXFRAME, MAXFRAME); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - RNA_def_function_return(func, RNA_def_pointer(func, "elem", "SequenceElement", "", - "strip element of the current frame")); - - func = RNA_def_function(srna, "swap", "rna_Sequence_swap_internal"); - RNA_def_function_flag(func, FUNC_USE_REPORTS); - parm = RNA_def_pointer(func, "other", "Sequence", "Other", ""); - RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED); + FunctionRNA *func; + PropertyRNA *parm; + + func = RNA_def_function(srna, "update", "rna_Sequence_update_rnafunc"); + RNA_def_function_flag(func, FUNC_USE_SELF_ID); + RNA_def_function_ui_description(func, "Update the strip dimensions"); + parm = RNA_def_boolean(func, "data", false, "Data", "Update strip data"); + + func = RNA_def_function(srna, "strip_elem_from_frame", "BKE_sequencer_give_stripelem"); + RNA_def_function_ui_description(func, "Return the strip element from a given frame or None"); + parm = RNA_def_int(func, + "frame", + 0, + -MAXFRAME, + MAXFRAME, + "Frame", + "The frame to get the strip element from", + -MAXFRAME, + MAXFRAME); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + RNA_def_function_return( + func, + RNA_def_pointer(func, "elem", "SequenceElement", "", "strip element of the current frame")); + + func = RNA_def_function(srna, "swap", "rna_Sequence_swap_internal"); + RNA_def_function_flag(func, FUNC_USE_REPORTS); + parm = RNA_def_pointer(func, "other", "Sequence", "Other", ""); + RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED); } void RNA_api_sequence_elements(BlenderRNA *brna, PropertyRNA *cprop) { - StructRNA *srna; - PropertyRNA *parm; - FunctionRNA *func; - - RNA_def_property_srna(cprop, "SequenceElements"); - srna = RNA_def_struct(brna, "SequenceElements", NULL); - RNA_def_struct_sdna(srna, "Sequence"); - RNA_def_struct_ui_text(srna, "SequenceElements", "Collection of SequenceElement"); - - func = RNA_def_function(srna, "append", "rna_SequenceElements_append"); - RNA_def_function_flag(func, FUNC_USE_SELF_ID); - RNA_def_function_ui_description(func, "Push an image from ImageSequence.directory"); - parm = RNA_def_string(func, "filename", "File", 0, "", "Filepath to image"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - /* return type */ - parm = RNA_def_pointer(func, "elem", "SequenceElement", "", "New SequenceElement"); - RNA_def_function_return(func, parm); - - func = RNA_def_function(srna, "pop", "rna_SequenceElements_pop"); - RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID); - RNA_def_function_ui_description(func, "Pop an image off the collection"); - parm = RNA_def_int(func, "index", -1, INT_MIN, INT_MAX, "", "Index of image to remove", INT_MIN, INT_MAX); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + StructRNA *srna; + PropertyRNA *parm; + FunctionRNA *func; + + RNA_def_property_srna(cprop, "SequenceElements"); + srna = RNA_def_struct(brna, "SequenceElements", NULL); + RNA_def_struct_sdna(srna, "Sequence"); + RNA_def_struct_ui_text(srna, "SequenceElements", "Collection of SequenceElement"); + + func = RNA_def_function(srna, "append", "rna_SequenceElements_append"); + RNA_def_function_flag(func, FUNC_USE_SELF_ID); + RNA_def_function_ui_description(func, "Push an image from ImageSequence.directory"); + parm = RNA_def_string(func, "filename", "File", 0, "", "Filepath to image"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + /* return type */ + parm = RNA_def_pointer(func, "elem", "SequenceElement", "", "New SequenceElement"); + RNA_def_function_return(func, parm); + + func = RNA_def_function(srna, "pop", "rna_SequenceElements_pop"); + RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID); + RNA_def_function_ui_description(func, "Pop an image off the collection"); + parm = RNA_def_int( + func, "index", -1, INT_MIN, INT_MAX, "", "Index of image to remove", INT_MIN, INT_MAX); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); } void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop) { - StructRNA *srna; - PropertyRNA *parm; - FunctionRNA *func; - - static const EnumPropertyItem seq_effect_items[] = { - {SEQ_TYPE_CROSS, "CROSS", 0, "Cross", ""}, - {SEQ_TYPE_ADD, "ADD", 0, "Add", ""}, - {SEQ_TYPE_SUB, "SUBTRACT", 0, "Subtract", ""}, - {SEQ_TYPE_ALPHAOVER, "ALPHA_OVER", 0, "Alpha Over", ""}, - {SEQ_TYPE_ALPHAUNDER, "ALPHA_UNDER", 0, "Alpha Under", ""}, - {SEQ_TYPE_GAMCROSS, "GAMMA_CROSS", 0, "Gamma Cross", ""}, - {SEQ_TYPE_MUL, "MULTIPLY", 0, "Multiply", ""}, - {SEQ_TYPE_OVERDROP, "OVER_DROP", 0, "Over Drop", ""}, - {SEQ_TYPE_WIPE, "WIPE", 0, "Wipe", ""}, - {SEQ_TYPE_GLOW, "GLOW", 0, "Glow", ""}, - {SEQ_TYPE_TRANSFORM, "TRANSFORM", 0, "Transform", ""}, - {SEQ_TYPE_COLOR, "COLOR", 0, "Color", ""}, - {SEQ_TYPE_SPEED, "SPEED", 0, "Speed", ""}, - {SEQ_TYPE_MULTICAM, "MULTICAM", 0, "Multicam Selector", ""}, - {SEQ_TYPE_ADJUSTMENT, "ADJUSTMENT", 0, "Adjustment Layer", ""}, - {SEQ_TYPE_GAUSSIAN_BLUR, "GAUSSIAN_BLUR", 0, "Gaussian Blur", ""}, - {SEQ_TYPE_TEXT, "TEXT", 0, "Text", ""}, - {SEQ_TYPE_COLORMIX, "COLORMIX", 0, "Color Mix", ""}, - {0, NULL, 0, NULL, NULL}, - }; - - RNA_def_property_srna(cprop, "Sequences"); - srna = RNA_def_struct(brna, "Sequences", NULL); - RNA_def_struct_sdna(srna, "Editing"); - RNA_def_struct_ui_text(srna, "Sequences", "Collection of Sequences"); - - func = RNA_def_function(srna, "new_clip", "rna_Sequences_new_clip"); - RNA_def_function_flag(func, FUNC_USE_SELF_ID); - RNA_def_function_ui_description(func, "Add a new movie clip sequence"); - parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_pointer(func, "clip", "MovieClip", "", "Movie clip to add"); - RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED); - parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel", - "The channel for the new sequence", 1, MAXSEQ); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "", - "The start frame for the new sequence", -MAXFRAME, MAXFRAME); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - /* return type */ - parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); - RNA_def_function_return(func, parm); - - func = RNA_def_function(srna, "new_mask", "rna_Sequences_new_mask"); - RNA_def_function_flag(func, FUNC_USE_SELF_ID); - RNA_def_function_ui_description(func, "Add a new mask sequence"); - parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_pointer(func, "mask", "Mask", "", "Mask to add"); - RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED); - parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel", - "The channel for the new sequence", 1, MAXSEQ); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "", - "The start frame for the new sequence", -MAXFRAME, MAXFRAME); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - /* return type */ - parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); - RNA_def_function_return(func, parm); - - func = RNA_def_function(srna, "new_scene", "rna_Sequences_new_scene"); - RNA_def_function_flag(func, FUNC_USE_SELF_ID); - RNA_def_function_ui_description(func, "Add a new scene sequence"); - parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_pointer(func, "scene", "Scene", "", "Scene to add"); - RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED); - parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel", - "The channel for the new sequence", 1, MAXSEQ); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "", - "The start frame for the new sequence", -MAXFRAME, MAXFRAME); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - /* return type */ - parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); - RNA_def_function_return(func, parm); - - func = RNA_def_function(srna, "new_image", "rna_Sequences_new_image"); - RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID); - RNA_def_function_ui_description(func, "Add a new image sequence"); - parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_string(func, "filepath", "File", 0, "", "Filepath to image"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel", - "The channel for the new sequence", 1, MAXSEQ); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "", - "The start frame for the new sequence", -MAXFRAME, MAXFRAME); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - /* return type */ - parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); - RNA_def_function_return(func, parm); - - func = RNA_def_function(srna, "new_movie", "rna_Sequences_new_movie"); - RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID); - RNA_def_function_ui_description(func, "Add a new movie sequence"); - parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_string(func, "filepath", "File", 0, "", "Filepath to movie"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel", - "The channel for the new sequence", 1, MAXSEQ); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "", - "The start frame for the new sequence", -MAXFRAME, MAXFRAME); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - /* return type */ - parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); - RNA_def_function_return(func, parm); - - func = RNA_def_function(srna, "new_sound", "rna_Sequences_new_sound"); - RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID | FUNC_USE_MAIN); - RNA_def_function_ui_description(func, "Add a new sound sequence"); - parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_string(func, "filepath", "File", 0, "", "Filepath to movie"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel", - "The channel for the new sequence", 1, MAXSEQ); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "frame_start", 0, -MAXFRAME, MAXFRAME, "", - "The start frame for the new sequence", -MAXFRAME, MAXFRAME); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - /* return type */ - parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); - RNA_def_function_return(func, parm); - - func = RNA_def_function(srna, "new_effect", "rna_Sequences_new_effect"); - RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID); - RNA_def_function_ui_description(func, "Add a new effect sequence"); - parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_enum(func, "type", seq_effect_items, 0, "Type", - "type for the new sequence"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "channel", 0, 1, MAXSEQ, "Channel", - "The channel for the new sequence", 1, MAXSEQ); - /* don't use MAXFRAME since it makes importer scripts fail */ - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - parm = RNA_def_int(func, "frame_start", 0, INT_MIN, INT_MAX, "", - "The start frame for the new sequence", INT_MIN, INT_MAX); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - RNA_def_int(func, "frame_end", 0, INT_MIN, INT_MAX, "", - "The end frame for the new sequence", INT_MIN, INT_MAX); - RNA_def_pointer(func, "seq1", "Sequence", "", "Sequence 1 for effect"); - RNA_def_pointer(func, "seq2", "Sequence", "", "Sequence 2 for effect"); - RNA_def_pointer(func, "seq3", "Sequence", "", "Sequence 3 for effect"); - /* return type */ - parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); - RNA_def_function_return(func, parm); - - - func = RNA_def_function(srna, "remove", "rna_Sequences_remove"); - RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_REPORTS); - RNA_def_function_ui_description(func, "Remove a Sequence"); - parm = RNA_def_pointer(func, "sequence", "Sequence", "", "Sequence to remove"); - RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR); - RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0); + StructRNA *srna; + PropertyRNA *parm; + FunctionRNA *func; + + static const EnumPropertyItem seq_effect_items[] = { + {SEQ_TYPE_CROSS, "CROSS", 0, "Cross", ""}, + {SEQ_TYPE_ADD, "ADD", 0, "Add", ""}, + {SEQ_TYPE_SUB, "SUBTRACT", 0, "Subtract", ""}, + {SEQ_TYPE_ALPHAOVER, "ALPHA_OVER", 0, "Alpha Over", ""}, + {SEQ_TYPE_ALPHAUNDER, "ALPHA_UNDER", 0, "Alpha Under", ""}, + {SEQ_TYPE_GAMCROSS, "GAMMA_CROSS", 0, "Gamma Cross", ""}, + {SEQ_TYPE_MUL, "MULTIPLY", 0, "Multiply", ""}, + {SEQ_TYPE_OVERDROP, "OVER_DROP", 0, "Over Drop", ""}, + {SEQ_TYPE_WIPE, "WIPE", 0, "Wipe", ""}, + {SEQ_TYPE_GLOW, "GLOW", 0, "Glow", ""}, + {SEQ_TYPE_TRANSFORM, "TRANSFORM", 0, "Transform", ""}, + {SEQ_TYPE_COLOR, "COLOR", 0, "Color", ""}, + {SEQ_TYPE_SPEED, "SPEED", 0, "Speed", ""}, + {SEQ_TYPE_MULTICAM, "MULTICAM", 0, "Multicam Selector", ""}, + {SEQ_TYPE_ADJUSTMENT, "ADJUSTMENT", 0, "Adjustment Layer", ""}, + {SEQ_TYPE_GAUSSIAN_BLUR, "GAUSSIAN_BLUR", 0, "Gaussian Blur", ""}, + {SEQ_TYPE_TEXT, "TEXT", 0, "Text", ""}, + {SEQ_TYPE_COLORMIX, "COLORMIX", 0, "Color Mix", ""}, + {0, NULL, 0, NULL, NULL}, + }; + + RNA_def_property_srna(cprop, "Sequences"); + srna = RNA_def_struct(brna, "Sequences", NULL); + RNA_def_struct_sdna(srna, "Editing"); + RNA_def_struct_ui_text(srna, "Sequences", "Collection of Sequences"); + + func = RNA_def_function(srna, "new_clip", "rna_Sequences_new_clip"); + RNA_def_function_flag(func, FUNC_USE_SELF_ID); + RNA_def_function_ui_description(func, "Add a new movie clip sequence"); + parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_pointer(func, "clip", "MovieClip", "", "Movie clip to add"); + RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED); + parm = RNA_def_int( + func, "channel", 0, 1, MAXSEQ, "Channel", "The channel for the new sequence", 1, MAXSEQ); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int(func, + "frame_start", + 0, + -MAXFRAME, + MAXFRAME, + "", + "The start frame for the new sequence", + -MAXFRAME, + MAXFRAME); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + /* return type */ + parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); + RNA_def_function_return(func, parm); + + func = RNA_def_function(srna, "new_mask", "rna_Sequences_new_mask"); + RNA_def_function_flag(func, FUNC_USE_SELF_ID); + RNA_def_function_ui_description(func, "Add a new mask sequence"); + parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_pointer(func, "mask", "Mask", "", "Mask to add"); + RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED); + parm = RNA_def_int( + func, "channel", 0, 1, MAXSEQ, "Channel", "The channel for the new sequence", 1, MAXSEQ); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int(func, + "frame_start", + 0, + -MAXFRAME, + MAXFRAME, + "", + "The start frame for the new sequence", + -MAXFRAME, + MAXFRAME); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + /* return type */ + parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); + RNA_def_function_return(func, parm); + + func = RNA_def_function(srna, "new_scene", "rna_Sequences_new_scene"); + RNA_def_function_flag(func, FUNC_USE_SELF_ID); + RNA_def_function_ui_description(func, "Add a new scene sequence"); + parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_pointer(func, "scene", "Scene", "", "Scene to add"); + RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED); + parm = RNA_def_int( + func, "channel", 0, 1, MAXSEQ, "Channel", "The channel for the new sequence", 1, MAXSEQ); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int(func, + "frame_start", + 0, + -MAXFRAME, + MAXFRAME, + "", + "The start frame for the new sequence", + -MAXFRAME, + MAXFRAME); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + /* return type */ + parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); + RNA_def_function_return(func, parm); + + func = RNA_def_function(srna, "new_image", "rna_Sequences_new_image"); + RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID); + RNA_def_function_ui_description(func, "Add a new image sequence"); + parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_string(func, "filepath", "File", 0, "", "Filepath to image"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int( + func, "channel", 0, 1, MAXSEQ, "Channel", "The channel for the new sequence", 1, MAXSEQ); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int(func, + "frame_start", + 0, + -MAXFRAME, + MAXFRAME, + "", + "The start frame for the new sequence", + -MAXFRAME, + MAXFRAME); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + /* return type */ + parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); + RNA_def_function_return(func, parm); + + func = RNA_def_function(srna, "new_movie", "rna_Sequences_new_movie"); + RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID); + RNA_def_function_ui_description(func, "Add a new movie sequence"); + parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_string(func, "filepath", "File", 0, "", "Filepath to movie"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int( + func, "channel", 0, 1, MAXSEQ, "Channel", "The channel for the new sequence", 1, MAXSEQ); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int(func, + "frame_start", + 0, + -MAXFRAME, + MAXFRAME, + "", + "The start frame for the new sequence", + -MAXFRAME, + MAXFRAME); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + /* return type */ + parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); + RNA_def_function_return(func, parm); + + func = RNA_def_function(srna, "new_sound", "rna_Sequences_new_sound"); + RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID | FUNC_USE_MAIN); + RNA_def_function_ui_description(func, "Add a new sound sequence"); + parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_string(func, "filepath", "File", 0, "", "Filepath to movie"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int( + func, "channel", 0, 1, MAXSEQ, "Channel", "The channel for the new sequence", 1, MAXSEQ); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int(func, + "frame_start", + 0, + -MAXFRAME, + MAXFRAME, + "", + "The start frame for the new sequence", + -MAXFRAME, + MAXFRAME); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + /* return type */ + parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); + RNA_def_function_return(func, parm); + + func = RNA_def_function(srna, "new_effect", "rna_Sequences_new_effect"); + RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID); + RNA_def_function_ui_description(func, "Add a new effect sequence"); + parm = RNA_def_string(func, "name", "Name", 0, "", "Name for the new sequence"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_enum(func, "type", seq_effect_items, 0, "Type", "type for the new sequence"); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int( + func, "channel", 0, 1, MAXSEQ, "Channel", "The channel for the new sequence", 1, MAXSEQ); + /* don't use MAXFRAME since it makes importer scripts fail */ + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_int(func, + "frame_start", + 0, + INT_MIN, + INT_MAX, + "", + "The start frame for the new sequence", + INT_MIN, + INT_MAX); + RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + RNA_def_int(func, + "frame_end", + 0, + INT_MIN, + INT_MAX, + "", + "The end frame for the new sequence", + INT_MIN, + INT_MAX); + RNA_def_pointer(func, "seq1", "Sequence", "", "Sequence 1 for effect"); + RNA_def_pointer(func, "seq2", "Sequence", "", "Sequence 2 for effect"); + RNA_def_pointer(func, "seq3", "Sequence", "", "Sequence 3 for effect"); + /* return type */ + parm = RNA_def_pointer(func, "sequence", "Sequence", "", "New Sequence"); + RNA_def_function_return(func, parm); + + func = RNA_def_function(srna, "remove", "rna_Sequences_remove"); + RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_REPORTS); + RNA_def_function_ui_description(func, "Remove a Sequence"); + parm = RNA_def_pointer(func, "sequence", "Sequence", "", "Sequence to remove"); + RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR); + RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0); } - #endif |