diff options
Diffstat (limited to 'source/blender/editors/screen/screen_ops.c')
-rw-r--r-- | source/blender/editors/screen/screen_ops.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index 728ce622d9b..bbab671a889 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -2429,13 +2429,17 @@ static int screen_animation_step(bContext *C, wmOperator *op, wmEvent *event) else sync= (scene->audio.flag & AUDIO_SYNC); if(sync) { - /* skip frames */ - int step = floor(wt->duration * FPS); if(sad->flag & ANIMPLAY_FLAG_REVERSE) // XXX does this option work with audio? + { // XXX - no + /* skip frames */ + int step = floor(wt->duration * FPS); scene->r.cfra -= step; + wt->duration -= ((float)step)/FPS; + } else - scene->r.cfra += step; - wt->duration -= ((float)step)/FPS; + { + scene->r.cfra = floor(sound_sync_scene(scene) * FPS); + } } else { /* one frame +/- */ |