Blender Git Loki

Kaikki Blender Git kommitit.

Page: 2541 / 8462

May 3, 2019, 16:38 (GMT)
Merge branch 'master' into greasepencil-object
May 3, 2019, 16:33 (GMT)
UI: color icons in the properties editor tabs

Still can use more tweaks and icon reorganization, but this gets us closer
to the intended design so we can evaluate it. Ref T61561, T63521.
May 3, 2019, 16:04 (GMT)
Fix Cycles assert on exit after recent changes
May 3, 2019, 15:50 (GMT)
Sound: Fix for being unable to jump to a frame during playback with A/V sync
May 3, 2019, 15:42 (GMT)
UI: Fix crash when region becomes too thin
May 3, 2019, 15:38 (GMT)
GPencil: Use default Brush material in Popover

For pinned materials, the stroke color must be the brush color, not selected slot.
May 3, 2019, 15:27 (GMT)
Sound: More fixes for access of original scene

Same as previous commit, just few lines to the bottom.
May 3, 2019, 15:19 (GMT)
Sound: Fix access original scene during playback

Was required to have AV-sync enabled. and then simply play playback
would have triggered an assert.

In release builds the sync would have happened to a wrong frame.
May 3, 2019, 13:53 (GMT)
fix image_changed() doing unneccessary texture updates when texture wasnt
using an image

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4789
May 3, 2019, 13:50 (GMT)
Cleanup: Selling in comment
May 3, 2019, 13:50 (GMT)
Depsgraph: Make comment about evaluation more obvious
May 3, 2019, 13:50 (GMT)
Sound: Make sound handles only be in evaluated datablocks

Quite straightforward change, which makes it so audio handles are
only created inside of evaluated datablocks.

Exception is adding sound strip to the sequencer, which needs an
audio handle to query length and number of channels. This is done
by temporarily loading sound file into an original datablock, and
then tossing it away.

There is an assert in sound.c which verifies that audio system is
used from an evaluated domain, which should help porting all the
cases which are likely missed by this commit.

Some annoying parts:

- `BKE_sound_update_scene()` is iterating over all bases, and does
special ID tags to see whether sound has been handled or not
already. This can not be done the old fashion now.

Ideally, this will be done as a speaker datablock evaluation,
but seems that would require a lock since audio API is not safe
for threading. So this is not a desired way i'd say.

Possible solution here would be to iterate over ID datablocks
using dependency graph query API.

- Frame jump needs to call `BKE_sound_seek_scene()` directly
because there might be some flags assigned to the scene which
could be clear after operator execution is over.

Need to verify if that's the case though. This is a bit hairy
code, so sticking to a safest and known to work approach for
now.

- Removed check for format when opening new sound file.
Maybe we can have some utility function which queries channel
and duration information, leaving the caller's code clean and
tidy.

Tested following cases:
- Adding/removing/moving sequencer's sound strips.
- Adding/moving speakers in viewport.
- Rendering audio.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4779
May 3, 2019, 13:50 (GMT)
Depsgraph: Preserve sound and audio pointers through copy-on-write

This allows to have scene and speaker copy-on-write executed without
interrupting the playing sound.
May 3, 2019, 13:50 (GMT)
Depsgraph: Store original sequencer strip pointer

Allows to identify where the strip came from.
May 3, 2019, 13:50 (GMT)
Sound: Move evaluation to dependency graph

The sound handles are still in the original datablocks, so it's easier
to test since there should be no functional changes.
May 3, 2019, 13:50 (GMT)
Sound: Delay opening handlers for until really needed

Needs to be done in order to localize sound handlers to the evaluated
IDs only. This commit might not be fully optimal, since it does more
things on every scene update request, but that will be solved by the
upcoming change which will put those updates to a dependency graph.
May 3, 2019, 13:50 (GMT)
Depsgraph: Add scene audio component

The idea is to make that responsible for dealing with
things like audio update on frame jump and such.
May 3, 2019, 13:50 (GMT)
Depsgraph: Tag sequencer for update on changes

Currently only adding, removing and transforming strips. Most likely more
tags is needed.
May 3, 2019, 13:50 (GMT)
Depsgraph: Initial work to cover sequencer

Just adds sequencer operation and links possible sound ID to it.

No functional changes, just moving towards sound system integration
into the dependency graph.
May 3, 2019, 13:50 (GMT)
Depsgraph: Make sound ID part of the graph

Currently those IDs are not covered by copy-on-write mechanism since
that ruins the current design of BKE_sound, But this change allows to
move towards system where sound handlers are only valid for an evaluated
ID datablocks.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021