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
itsmattkc
fb625cb76e
nodes: removed XML infrastructure
2020-05-06 15:06:37 +10:00
itsmattkc
74d252c5c0
nodes: use defined categories rather than arbitrary string based
2020-05-05 22:12:15 +10:00
itsmattkc
54baba63f9
Merge branch 'master' into gizmos
2020-05-05 01:05:52 +10:00
itsmattkc
b80eb6fd45
track: fixed segfault if user tried to use "add" tool on nonexistant track
2020-05-05 00:36:28 +10:00
itsmattkc
c387ce1cd7
polygon node: early crude implementation
2020-05-05 00:22:49 +10:00
itsmattkc
cfc5ce24a3
Merge branch 'master' into gizmos
2020-05-02 17:06:49 +10:00
itsmattkc
e67dabf1ff
keyframes: implemented deleting keyframes with the delete shortcut
2020-05-01 17:01:16 +10:00
itsmattkc
aecfa842c3
nodes: moved hashing to nodes so they can override behavior if they wish
2020-04-30 01:56:08 +10:00
itsmattkc
bf68a4d631
nodes: added ability to label nodes
2020-04-29 15:35:05 +10:00
itsmattkc
999e841bc7
nodes: implemented short name
...
Nodes can provide "short" names for use in the node graph, distinct from their
full names shown everywhere else.
2020-04-29 14:33:57 +10:00
itsmattkc
06ab2d3a0b
fixed namespace issue that broke loading projects from file
2020-04-28 04:00:27 +10:00
itsmattkc
d74d6a1542
nodes: implementing saving/loading node positions from project file
2020-04-28 03:43:35 +10:00
itsmattkc
e154b5d5d4
nodeview: make auto-position a manual and specific function, allow different flow directions
...
The first in many NodeView improvements. Up until now, nodes have been forcibly
auto-arranged, which has worked as a reasonable stop-gap just so that all the
nodes are visible during testing/development. However this does not make a good
user experience.
We move the auto-arrange code to a manual function that can be used when the
user or program deems it necessary, and also abstract the node positions so that
the view can ultimately determine the exact amount of spacing (useful for
changing DPIs) or orientation, so users can direct the flow whichever way they
want.
2020-04-28 00:28:38 +10:00