itsmattkc
181235f6ce
began new infrastructure
...
Yep, this is another one of my "famous" sweeping rewrites. Expect things to break.
Goals for this are:
- Greatly simplify node connections (particularly with arrays) so the code requires less maintenance/is more stable
- Redesign node structure to address issues where UI would stall for lengthy periods of time
- Less reliance on shared ptrs/greater reliance on QObject system for inheritance/memory management
- General code cleanup and improvements
2021-01-05 11:20:38 +11:00
itsmattkc
06b29b3a35
Merge branch 'master' of https://github.com/olive-editor/olive
2020-12-30 14:46:15 +11:00
itsmattkc
78903391a3
timeline: don't snap add tool if snapping is disabled
2020-12-30 10:38:53 +11:00
itsmattkc
b604a7271d
viewer: fix regression where multiple viewers could play at once
2020-12-30 10:38:34 +11:00
itsmattkc
374fa3f75c
moved some files around for better organization
2020-12-16 19:05:22 +11:00
itsmattkc
6cb6407bd8
don't use shared ptrs on streams
2020-12-16 13:46:19 +11:00
itsmattkc
e12013e2fb
don't use shared ptrs for project items
2020-12-16 10:28:43 +11:00
itsmattkc
7dd9115e3f
audiowaveformview: clamp start to 0
2020-11-30 12:07:22 +11:00
itsmattkc
d2727f1932
minor tweak to fix compilation on linux
2020-11-30 09:32:08 +11:00
itsmattkc
2363f7057c
resizabletimelinescrollbar: handle RATIONAL_MAX without overflow
2020-11-30 08:59:53 +11:00
itsmattkc
d82f484c4c
audiowaveformview: on validation, only update visible sections
2020-11-30 08:57:51 +11:00
itsmattkc
b39565cff4
audiowaveformview: multithreaded waveform rendering
2020-11-30 08:18:11 +11:00
itsmattkc
9ee523b145
timeline: split gaps only if there's an insert
...
Fixes regression from 97afae9687
2020-11-29 17:06:56 +11:00
itsmattkc
6a6fa8674a
actually stage the new files
2020-11-29 17:05:52 +11:00
itsmattkc
c15b734011
timebasedwidget: show workarea and markers on scrollbar
2020-11-29 16:56:00 +11:00
itsmattkc
97afae9687
timeline: when ripple removing an area, don't split gaps
2020-11-29 12:17:23 +11:00
itsmattkc
90edc4f933
timebasedwidget: added infrastructure of passing scroll wheel signals to the scrollbar
2020-11-29 10:08:37 +11:00
itsmattkc
73aa3760f3
timeline: initialize variable introduced in last commit
2020-11-28 19:36:57 +11:00
itsmattkc
350df42ad1
timeline: improved rubberband behavior
...
Improved rubberband responsiveness and show rubberband if dragging from a gap
(or other such immovable block).
2020-11-28 17:31:44 +11:00
itsmattkc
a2d855b102
improve UI feedback when cancelling a task
2020-11-27 14:47:31 +11:00
itsmattkc
f8ceefff6c
don't use shared ptr on projects
...
Really unnecessary
2020-11-27 14:24:02 +11:00
itsmattkc
992b6eb952
added plural forms to translatable strings
...
Fixes #1421
2020-11-27 13:04:49 +11:00
itsmattkc
8a869d0393
use QObject property system now that i know how to signal them
2020-11-27 10:10:24 +11:00
itsmattkc
f8a5e28c37
code: removed double "protected" marker
2020-11-26 19:53:42 +11:00
itsmattkc
378216acb9
timeline: draw playheads over selections
2020-11-26 19:52:54 +11:00
itsmattkc
210417a5f2
enable undo/redo on node param text editor
2020-11-25 17:17:13 +11:00
itsmattkc
afa31e1df8
timeline: don't flip scroll axes on apple trackpads
2020-11-25 17:16:35 +11:00
itsmattkc
a043a686c6
timeline: started record tool
2020-11-25 11:53:56 +11:00
itsmattkc
b5cc13c10e
timeline: snap pointer and import operations to timebase
...
If frame rates are mixed, ensures that video doesn't end up falling or ending on half frames which potentially make the entire sequence awkward
2020-11-25 11:46:41 +11:00
itsmattkc
c7f5af9534
moved autoscroll code to TimeBasedWidget rather than TimelineViewBase
...
Better place for it. Fixes #1406
2020-11-25 10:00:57 +11:00
itsmattkc
bd2b3f7a7c
gizmos: detect generated images like titles
...
Fixes #1413
2020-11-25 09:43:15 +11:00
itsmattkc
0eda91a0cb
renderer: destroy surface in main thread
2020-11-25 08:59:14 +11:00
itsmattkc
1400c313ca
timeline: correctly use ptr to qvector rather than qlist
...
Fixes copy/paste crash
2020-11-24 11:04:33 +11:00
itsmattkc
2c4f781e13
paramview: discard scroll events on widgets
2020-11-23 12:01:21 +11:00
itsmattkc
29f2d3024e
timeline: clear selections when disconnecting viewer
...
Fixes #1400
2020-11-23 09:15:46 +11:00
itsmattkc
7b266c51a4
move clamp to bezier itself to prevent deadlocks
2020-11-23 08:43:02 +11:00
itsmattkc
3cf4d58716
viewer: rewrote pixel sampling coordinate system
...
Fixes #1395
2020-11-22 21:25:10 +11:00
itsmattkc
9928027040
nodeview: clamp bezier value
2020-11-22 20:28:48 +11:00
itsmattkc
af0f6163af
use floats in viewer scale
2020-11-22 18:47:21 +11:00
itsmattkc
a6d382f4d4
further improved gizmos
2020-11-22 18:21:24 +11:00
itsmattkc
bd215b34bc
viewer: simplified sizing algorithm and add padding for fit so gizmos are easier to use
2020-11-22 13:01:52 +11:00
itsmattkc
54cd244801
nodes: added distort nodes
...
Adds nodes for cropping and transforming
2020-11-22 11:34:37 +11:00
itsmattkc
5e319a0cdd
nodeparamviewwidgetbridge: implemented offsets for more user friendly numeric values
2020-11-22 10:24:35 +11:00
itsmattkc
66bf5db2e1
gizmotraverser: return sequence resolution and adjust texture resolution by pixel aspect
2020-11-22 10:24:07 +11:00
itsmattkc
1b0e69c05b
viewer: fixed deinterlacing and pan regression, reworked gizmos
2020-11-22 10:23:32 +11:00
itsmattkc
857e4b046d
timeline: when inserting gaps, only do one per track
2020-11-20 19:37:00 +11:00
itsmattkc
e4f011831d
timeline: don't try to link if no clips are selected
2020-11-20 19:36:43 +11:00
itsmattkc
6eade26bc8
timeline: force update after timeline actions
...
This is actually relatively efficient since Qt will ignore multiple update
requests leading up to an update and only update once.
Fixes #1374
2020-11-19 17:50:42 +11:00
itsmattkc
b463c5e6a5
viewer: adjust viewport by device pixel ratio
...
Fixes #1377
2020-11-19 11:05:51 +11:00
itsmattkc
afbd3ada36
bypass track invalidate length limit on trim command
2020-11-18 19:34:12 +11:00