diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-08-17 02:49:17 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-08-17 02:49:17 +0400 |
commit | 594121016d498757f6d9195d32b001e6bc7501ad (patch) | |
tree | 5b0c63140f347047a83a47e9669c8dee3efc4b36 /source/blender/editors/screen | |
parent | fcce333a0888ed025bce41d27647bc5f80d6453b (diff) |
2.5
* Use scene->r.audio instead of scene->audio everywhere, was using both still.
* Fix time_top_left_3dwindow link error, not sure why this happens, somehow
with scons building it seems that files (like time_header.c) wich are not
called from the same .a module get stripped?
Diffstat (limited to 'source/blender/editors/screen')
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 2 | ||||
-rw-r--r-- | source/blender/editors/screen/screen_ops.c | 30 |
2 files changed, 26 insertions, 6 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 6663dae1194..c8519355327 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -1570,7 +1570,7 @@ void ED_update_for_newframe(const bContext *C, int mute) /* XXX future: do all windows */ scene_update_for_newframe(scene, ED_screen_view3d_layers(screen)); /* BKE_scene.h */ - //if ( (CFRA>1) && (!mute) && (scene->audio.flag & AUDIO_SCRUB)) + //if ( (CFRA>1) && (!mute) && (scene->r.audio.flag & AUDIO_SCRUB)) // audiostream_scrub( CFRA ); /* 3d window, preview */ diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index 84e4fe1313f..922801b1ae7 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -2230,9 +2230,9 @@ static int screen_animation_step(bContext *C, wmOperator *op, wmEvent *event) int sync; /* sync, don't sync, or follow scene setting */ - if(scene->audio.flag & ANIMPLAY_FLAG_SYNC) sync= 1; - else if(scene->audio.flag & ANIMPLAY_FLAG_NO_SYNC) sync= 0; - else sync= (scene->audio.flag & AUDIO_SYNC); + if(sad->flag & ANIMPLAY_FLAG_SYNC) sync= 1; + else if(sad->flag & ANIMPLAY_FLAG_NO_SYNC) sync= 0; + else sync= (scene->r.audio.flag & AUDIO_SYNC); if(sync) { /* skip frames */ @@ -2324,8 +2324,28 @@ static void SCREEN_OT_animation_step(wmOperatorType *ot) /* ****************** anim player, starts or ends timer ***************** */ /* helper for screen_animation_play() - only to be used for TimeLine */ -// NOTE: defined in time_header.c for now... -extern ARegion *time_top_left_3dwindow(bScreen *screen); +ARegion *time_top_left_3dwindow(bScreen *screen) +{ + ARegion *aret= NULL; + ScrArea *sa; + int min= 10000; + + for(sa= screen->areabase.first; sa; sa= sa->next) { + if(sa->spacetype==SPACE_VIEW3D) { + ARegion *ar; + for(ar= sa->regionbase.first; ar; ar= ar->next) { + if(ar->regiontype==RGN_TYPE_WINDOW) { + if(ar->winrct.xmin - ar->winrct.ymin < min) { + aret= ar; + min= ar->winrct.xmin - ar->winrct.ymin; + } + } + } + } + } + + return aret; +} /* toggle operator */ static int screen_animation_play(bContext *C, wmOperator *op, wmEvent *event) |