itsmattkc
7b9764254d
math: generate alpha channel only if multiplying a texture by a matrix
2020-06-12 03:44:23 +10:00
itsmattkc
6b7925302f
polygon: generate texture with alpha channel
2020-06-12 03:44:07 +10:00
itsmattkc
e2e8a6859c
renderer: updated audio to work with minor node overhaul
2020-06-12 03:28:43 +10:00
itsmattkc
a6a5c113ca
nodeinput: added convenience function for determining if a value is expected to change over time
2020-06-12 03:27:52 +10:00
itsmattkc
b3d7158e8e
matrix: ensure an identity matrix is created if all values are default
2020-06-12 03:27:36 +10:00
itsmattkc
dd7af0e6bd
nodes: minor overhaul to functionality
...
The nodes now have more control over how their accelerated shaders/sample
functions are run, as well as how items are popped off the value tables.
This allows for various optimizations that we didn't have access to before.
2020-06-12 00:54:15 +10:00
itsmattkc
71ec148e76
renderer: moved all shader code into one solidified function
...
Makes texture-based optimizations easier when they're all in one place.
2020-06-10 01:54:02 +10:00
itsmattkc
430561e2ac
sequence: made divider a sequence parameter rather than a viewer parameter
...
Doing this makes the preview resolution an explicit project setting rather
than a temporary UI setting. This will allow more consistency when caching.
2020-06-08 14:41:35 +10:00
itsmattkc
593316876f
track: save and load track heights to and from project files
2020-06-05 16:12:00 +10:00
itsmattkc
b143b39869
track: provide control over invalidation when setting length
2020-06-05 15:21:11 +10:00
itsmattkc
de3288893d
renderer: move waveform generation into worker and mutex the waveform
...
Addresses scheduling issues where a backend might be closed (or even
destroyed) before it processes a waveform signal from a worker. Requires
extra multithreading code.
2020-06-05 15:18:14 +10:00
itsmattkc
ddf63b39e1
viewer: don't invalidated zero-length ranges
...
A zero-length range doesn't represent any amount of time and has no need
to actually invalidate anything.
2020-06-05 15:15:59 +10:00
itsmattkc
5eeef76b62
waveform: shift track waveform alongside cache
2020-06-04 23:32:50 +10:00
itsmattkc
0e87762afa
waveforms: moved waveform to track rather than block
...
This is a much more robust and thread-safe system of storing the waveforms.
2020-06-04 18:03:21 +10:00
itsmattkc
12be8f72f1
node: disconnect all parameters before destroying them
...
Fixes a common segfault where destroying a node may ripple a disconnect
signal up the graph and trigger something to try to access its
(now-destroyed) parameters.
2020-06-03 03:40:31 +10:00
itsmattkc
f2050a0342
timeline: optimized rippling workarea, rippling to in/out, and the ripple tool
...
Use cache shift functionality introduced in previous commit to optimize
timeline usage.
2020-06-02 04:24:12 +10:00
itsmattkc
11bfe61208
cache: began base implementation of "shifting" the cache
...
Should be a fairly important optimization to make.
2020-06-02 01:38:12 +10:00
itsmattkc
644fb7cec8
block: fixed buggy cache invalidation behavior when resizing blocks
2020-06-01 17:39:08 +10:00
itsmattkc
1fce380cc6
timeline: automate waveform resizing
...
Now each UndoCommand won't have to handle it (unless it can introduce
specific optimizations).
2020-06-01 14:54:14 +10:00
itsmattkc
a62960ecc0
track: block length changed signals until the cache can be invalidated
...
Optimization, prevents unnecessary processing.
2020-06-01 13:08:08 +10:00
itsmattkc
c2e47a296c
timeline: heavily optimized and improved nearly all timeline optimizations
...
Features a lot of timeline-related cache optimizations as well as general
optimizations and improvements in timeline behavior. Should improve
usability significantly.
2020-06-01 04:42:59 +10:00
itsmattkc
acee6c5958
timeline: reworked ripple/edit to behavior and documented some track behavior
2020-05-31 01:21:08 +10:00
itsmattkc
c1ed84b90e
viewer: receive audio invalidation signal
...
Invalidates and runs cache task correctly even if there are no video
nodes connected.
2020-05-30 02:50:30 +10:00
itsmattkc
8b872e7c29
track: smarter block detection code
...
Improves on the code before it in reliability (perhaps at the expense of some
cycles).
2020-05-25 22:12:25 +10:00
itsmattkc
bf9aa139b1
nodes: improved detection of length changes signalled from the viewer node
2020-05-24 18:11:26 +10:00
itsmattkc
930248ce07
viewer: don't listen for added tracks to invalidate the cache
...
Fixes segfault when adding new tracks.
2020-05-23 02:32:01 +10:00
itsmattkc
f8bd3c1905
nodeinputarray: use deletelater rather than delete
...
Slightly safer code.
2020-05-23 02:31:40 +10:00
itsmattkc
558773538d
cache: fixed audio with new system
2020-05-18 17:16:28 +10:00
itsmattkc
b74ea1a8ba
renderer: reimported audio rendering functions
2020-05-18 12:52:25 +10:00
itsmattkc
814bbe8c22
fixed various segfaults in decoder and renderer
2020-05-18 02:40:58 +10:00
itsmattkc
a0f2035240
cache: fixed segfault if a block was ever disconnected
2020-05-16 00:31:24 +10:00
itsmattkc
53a2956350
cache: added cache task that can be manually invoked
2020-05-15 18:36:02 +10:00
itsmattkc
7c2280944b
timeruler: reworked and improved cache status
2020-05-15 16:15:24 +10:00
itsmattkc
2039067fdc
renderer/viewer: fixed playback and live updates from value changes
2020-05-15 15:02:30 +10:00
itsmattkc
8795e51452
renderer: massive overhaul to move to a vastly simplified threading system
2020-05-15 00:52:45 +10:00
itsmattkc
863ae1b913
a first attempt at a new render system
2020-05-14 14:43:03 +10:00
itsmattkc
5bdca974bf
Merge branch 'master' into nodeviewredux
2020-05-09 23:32:14 +10:00
itsmattkc
25b35725f6
nodes: added more default values to nodes
2020-05-09 18:55:42 +10:00
itsmattkc
d653070a9d
slider: reviewed and conformed code
2020-05-09 18:53:00 +10:00
itsmattkc
218c63f933
nodecombobox: implemented node combobox widget
2020-05-09 03:22:09 +10:00
itsmattkc
1efd4e9f99
nodeview: further improved auto-positioning system
2020-05-08 19:20:24 +10:00
itsmattkc
69941dc2da
nodes: added access to default value
2020-05-08 00:37:43 +10:00
itsmattkc
5b956729b3
gizmos: work towards gizmos in the matrix transform node
2020-05-07 18:12:18 +10:00
itsmattkc
3436740d23
gizmos: consolidated input param dragging code into reusable class
2020-05-07 14:41:50 +10:00
itsmattkc
d02e9090b9
implemented core gizmo interaction functionality
2020-05-07 04:45:27 +10:00
itsmattkc
2eb753e99d
matrix: comment out broken test code
2020-05-06 23:23:07 +10:00
itsmattkc
67854a2c97
gizmos: use scale instead of matrix transform
...
Improves appearance of gizmos lines and ensures other controls are drawn in
UI dimensions rather than texture dimensions.
2020-05-06 17:45:44 +10:00
itsmattkc
1ceefb6dba
Merge branch 'master' into gizmos
2020-05-06 16:35:40 +10:00
itsmattkc
78e305a593
mergenode: optimize so null textures (gaps, etc.) don't affect the hash
2020-05-06 16:14:27 +10:00
itsmattkc
d49c6a059c
nodes: optimize blocks so they don't unnecessarily change the hash
2020-05-06 16:14:23 +10:00