Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-05-11 14:04:55 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-05-11 14:04:55 +0400
commit6ce6dfba1697adc01353cf6b0a608165e0b2b726 (patch)
treed731af5cd6d4028f8519957917a63bbb6ebf9a68 /source/blender/makesrna
parent9d91bc38d303e4937bb56dc75d95f11936de5ff9 (diff)
- dont create scene.sequence_editor on read, means data-browser or autocomplete will allocate a sequencer.
... instead add scene.sequencer_editor_create / clear, these match id.animation_data_* functions. - refactor for names, for scene level functions call them BKE_sequencer_*
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r--source/blender/makesrna/intern/rna_scene.c20
-rw-r--r--source/blender/makesrna/intern/rna_sequencer.c30
-rw-r--r--source/blender/makesrna/intern/rna_sequencer_api.c4
3 files changed, 27 insertions, 27 deletions
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 088d18ee6c2..f907e2f45b3 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -635,15 +635,6 @@ static void rna_Scene_all_keyingsets_next(CollectionPropertyIterator *iter)
iter->valid = (internal->link != NULL);
}
-static PointerRNA rna_Scene_sequence_editor_get(PointerRNA *ptr)
-{
- Scene *scene = (Scene *)ptr->data;
- /* mallocs an Editing (if it doesn't exist) so you can access
- * Scene.sequence_editor functions without having to manually
- * add a Sequence using the UI to create the SequenceEditor */
- return rna_pointer_inherit_refine(ptr, &RNA_SequenceEditor, seq_give_editing(scene, TRUE));
-}
-
static char *rna_RenderSettings_path(PointerRNA *UNUSED(ptr))
{
return BLI_sprintfN("render");
@@ -4168,7 +4159,9 @@ void RNA_def_scene(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
+
FunctionRNA *func;
+ PropertyRNA *parm;
static EnumPropertyItem audio_distance_model_items[] = {
{0, "NONE", 0, "None", "No distance attenuation"},
@@ -4362,10 +4355,17 @@ void RNA_def_scene(BlenderRNA *brna)
/* Sequencer */
prop = RNA_def_property(srna, "sequence_editor", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "ed");
- RNA_def_property_pointer_funcs(prop, "rna_Scene_sequence_editor_get", NULL, NULL, NULL);
RNA_def_property_struct_type(prop, "SequenceEditor");
RNA_def_property_ui_text(prop, "Sequence Editor", "");
+ func = RNA_def_function(srna, "sequence_editor_create", "BKE_sequencer_editing_ensure");
+ RNA_def_function_ui_description(func, "Ensure sequence editor is valid in this scene");
+ parm = RNA_def_pointer(func, "sequence_editor", "SequenceEditor", "", "New sequence editor data or NULL");
+ RNA_def_function_return(func, parm);
+
+ func = RNA_def_function(srna, "sequence_editor_clear", "BKE_sequencer_editing_free");
+ RNA_def_function_ui_description(func, "Clear sequence editor in this scene");
+
/* Keying Sets */
prop = RNA_def_property(srna, "keying_sets", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "keyingsets", NULL);
diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c
index 3791d0e1786..d64dd1a626e 100644
--- a/source/blender/makesrna/intern/rna_sequencer.c
+++ b/source/blender/makesrna/intern/rna_sequencer.c
@@ -73,7 +73,7 @@ static void meta_tmp_ref(Sequence *seq_par, Sequence *seq)
static void rna_SequenceEditor_sequences_all_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
Scene *scene = (Scene *)ptr->id.data;
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
meta_tmp_ref(NULL, ed->seqbase.first);
@@ -125,14 +125,14 @@ static void rna_SequenceEditor_elements_begin(CollectionPropertyIterator *iter,
static void rna_Sequence_frame_change_update(Scene *scene, Sequence *seq)
{
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
ListBase *seqbase = seq_seqbase(&ed->seqbase, seq);
calc_sequence_disp(scene, seq);
if (seq_test_overlap(seqbase, seq)) {
shuffle_seq(seqbase, seq, scene); /* XXX - BROKEN!, uses context seqbasep */
}
- sort_seq(scene);
+ BKE_sequencer_sort(scene);
}
static void rna_Sequence_start_frame_set(PointerRNA *ptr, int value)
@@ -212,7 +212,7 @@ static void rna_Sequence_channel_set(PointerRNA *ptr, int value)
{
Sequence *seq = (Sequence *)ptr->data;
Scene *scene = (Scene *)ptr->id.data;
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
ListBase *seqbase = seq_seqbase(&ed->seqbase, seq);
seq->machine = value;
@@ -220,7 +220,7 @@ static void rna_Sequence_channel_set(PointerRNA *ptr, int value)
if (seq_test_overlap(seqbase, seq) ) {
shuffle_seq(seqbase, seq, scene); /* XXX - BROKEN!, uses context seqbasep */
}
- sort_seq(scene);
+ BKE_sequencer_sort(scene);
}
/* properties that need to allocate structs */
@@ -304,7 +304,7 @@ static int transform_seq_cmp_cb(Sequence *seq, void *arg_pt)
static char *rna_SequenceTransform_path(PointerRNA *ptr)
{
Scene *scene = ptr->id.data;
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
Sequence *seq;
struct { Sequence *seq; void *transform; } data;
@@ -335,7 +335,7 @@ static int crop_seq_cmp_cb(Sequence *seq, void *arg_pt)
static char *rna_SequenceCrop_path(PointerRNA *ptr)
{
Scene *scene = ptr->id.data;
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
Sequence *seq;
struct { Sequence *seq; void *crop; } data;
@@ -575,7 +575,7 @@ static void rna_SequenceElement_filename_set(PointerRNA *ptr, const char *value)
static void rna_Sequence_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
{
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
if (ed)
free_imbuf_seq(scene, &ed->seqbase, FALSE, TRUE);
@@ -583,7 +583,7 @@ static void rna_Sequence_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *U
static void rna_Sequence_update_reopen_files(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
{
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
@@ -593,7 +593,7 @@ static void rna_Sequence_update_reopen_files(Main *UNUSED(bmain), Scene *scene,
static void rna_Sequence_mute_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
seq_update_muting(ed);
rna_Sequence_update(bmain, scene, ptr);
@@ -620,7 +620,7 @@ static int seqproxy_seq_cmp_cb(Sequence *seq, void *arg_pt)
static void rna_Sequence_tcindex_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
Sequence *seq;
struct { Sequence *seq; void *seq_proxy; } data;
@@ -662,7 +662,7 @@ static int colbalance_seq_cmp_cb(Sequence *seq, void *arg_pt)
static char *rna_SequenceColorBalance_path(PointerRNA *ptr)
{
Scene *scene = ptr->id.data;
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
Sequence *seq;
struct { Sequence *seq; void *color_balance; } data;
@@ -682,7 +682,7 @@ static char *rna_SequenceColorBalance_path(PointerRNA *ptr)
static void rna_SequenceEditor_overlay_lock_set(PointerRNA *ptr, int value)
{
Scene *scene = ptr->id.data;
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
if (ed == NULL)
return;
@@ -701,7 +701,7 @@ static void rna_SequenceEditor_overlay_lock_set(PointerRNA *ptr, int value)
static int rna_SequenceEditor_overlay_frame_get(PointerRNA *ptr)
{
Scene *scene = (Scene *)ptr->id.data;
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
if (ed == NULL)
return scene->r.cfra;
@@ -716,7 +716,7 @@ static int rna_SequenceEditor_overlay_frame_get(PointerRNA *ptr)
static void rna_SequenceEditor_overlay_frame_set(PointerRNA *ptr, int value)
{
Scene *scene = (Scene *)ptr->id.data;
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
if (ed == NULL)
return;
diff --git a/source/blender/makesrna/intern/rna_sequencer_api.c b/source/blender/makesrna/intern/rna_sequencer_api.c
index 01b5aee2dde..440d2e56bfe 100644
--- a/source/blender/makesrna/intern/rna_sequencer_api.c
+++ b/source/blender/makesrna/intern/rna_sequencer_api.c
@@ -330,7 +330,7 @@ static StripElem *rna_SequenceElements_push(Sequence *seq, Main *bmain, const ch
StripElem *se;
for (scene = bmain->scene.first; scene; scene = scene->id.next) {
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
if (ed) {
for (seqn = ed->seqbase.first; seqn; seqn = seqn->next) {
if (seqn == seq)
@@ -362,7 +362,7 @@ static void rna_SequenceElements_pop(Sequence *seq, Main *bmain, ReportList *rep
}
for (scene = bmain->scene.first; scene; scene = scene->id.next) {
- Editing *ed = seq_give_editing(scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
if (ed) {
for (seqn = ed->seqbase.first; seqn; seqn = seqn->next) {
if (seqn == seq)