diff options
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 22 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_init_exit.c | 28 |
2 files changed, 9 insertions, 41 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 742fbd4b903..13b6260e2b9 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -86,7 +86,6 @@ #include "RNA_enum_types.h" #include "DEG_depsgraph.h" -#include "DEG_depsgraph_query.h" /* Motion in pixels allowed before we don't consider single/double click, * or detect the start of a tweak event. */ @@ -3093,17 +3092,13 @@ void wm_event_do_handlers(bContext *C) else { Scene *scene = WM_window_get_active_scene(win); - CTX_wm_window_set(C, win); - CTX_data_scene_set(C, scene); - - Depsgraph *depsgraph = CTX_data_depsgraph(C); - Scene *scene_eval = DEG_get_evaluated_scene_if_exists(depsgraph); - - if (scene_eval) { - const int is_playing_sound = BKE_sound_scene_playing(scene_eval); + if (scene) { + int is_playing_sound = BKE_sound_scene_playing(scene); if (is_playing_sound != -1) { bool is_playing_screen; + CTX_wm_window_set(C, win); + CTX_data_scene_set(C, scene); is_playing_screen = (ED_screen_animation_playing(wm) != NULL); @@ -3118,17 +3113,18 @@ void wm_event_do_handlers(bContext *C) int ncfra = time * (float)FPS + 0.5f; if (ncfra != scene->r.cfra) { scene->r.cfra = ncfra; + Depsgraph *depsgraph = CTX_data_depsgraph(C); ED_update_for_newframe(CTX_data_main(C), depsgraph); WM_event_add_notifier(C, NC_WINDOW, NULL); } } } + + CTX_data_scene_set(C, NULL); + CTX_wm_screen_set(C, NULL); + CTX_wm_window_set(C, NULL); } } - - CTX_data_scene_set(C, NULL); - CTX_wm_screen_set(C, NULL); - CTX_wm_window_set(C, NULL); } while ((event = win->queue.first)) { diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c index 5529aec1aa5..97ba9190351 100644 --- a/source/blender/windowmanager/intern/wm_init_exit.c +++ b/source/blender/windowmanager/intern/wm_init_exit.c @@ -64,8 +64,6 @@ #include "BKE_node.h" #include "BKE_report.h" #include "BKE_screen.h" -#include "BKE_scene.h" -#include "BKE_sound.h" #include "BKE_keyconfig.h" #include "BKE_addon.h" @@ -124,7 +122,6 @@ #include "COM_compositor.h" #include "DEG_depsgraph.h" -#include "DEG_depsgraph_query.h" #include "DRW_engine.h" @@ -197,30 +194,6 @@ void WM_init_opengl(Main *bmain) opengl_is_init = true; } -static void sound_jack_sync_callback(Main *bmain, int mode, float time) -{ - /* Ugly: Blender doesn't like it when the animation is played back during rendering. */ - if (G.is_rendering) { - return; - } - - wmWindowManager *wm = bmain->wm.first; - - for (wmWindow *window = wm->windows.first; window != NULL; window = window->next) { - Scene *scene = WM_window_get_active_scene(window); - if ((scene->audio.flag & AUDIO_SYNC) == 0) { - continue; - } - ViewLayer *view_layer = WM_window_get_active_view_layer(window); - Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, view_layer, false); - if (depsgraph == NULL) { - continue; - } - Scene *scene_eval = DEG_get_evaluated_scene(depsgraph); - BKE_sound_jack_scene_update(scene_eval, mode, time); - } -} - /* only called once, for startup */ void WM_init(bContext *C, int argc, const char **argv) { @@ -228,7 +201,6 @@ void WM_init(bContext *C, int argc, const char **argv) if (!G.background) { wm_ghost_init(C); /* note: it assigns C to ghost! */ wm_init_cursor_data(); - BKE_sound_jack_sync_callback_set(sound_jack_sync_callback); } GHOST_CreateSystemPaths(); |