itsmattkc
5ab585de8e
razor tool: don't try to split a clip at it's end point
2021-01-18 11:17:12 +11:00
itsmattkc
07782a96ad
some timeline fixes
2021-01-18 10:45:37 +11:00
itsmattkc
b4dd976e90
revised UI color system when showing nodes
...
Olive now has a set of colors that categories can be "assigned" to. The timeline also shares the same colors as the NodeView. Colors can be configured per node (aka per clip).
2021-01-15 18:44:34 +11:00
itsmattkc
91740dd823
reworked all timeline commands
...
I'll be honest, this stuff probably caused a lot of crashes. Objects were constantly created and destroyed without the foresight that other commands might be using them. This should fix a lot of that.
2021-01-15 14:36:21 +11:00
itsmattkc
f7883bd02c
began some rewrites to timeline drawing
2021-01-14 10:30:20 +11:00
itsmattkc
fbdda3d6d4
various code cleanups
2021-01-13 12:05:05 +11:00
itsmattkc
8f729203fc
some timeline refactoring, preparing for rewrites
2021-01-09 11:41:33 +11:00
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
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
9ee523b145
timeline: split gaps only if there's an insert
...
Fixes regression from 97afae9687
2020-11-29 17:06:56 +11:00
itsmattkc
97afae9687
timeline: when ripple removing an area, don't split gaps
2020-11-29 12:17:23 +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
f8ceefff6c
don't use shared ptr on projects
...
Really unnecessary
2020-11-27 14:24:02 +11:00
itsmattkc
378216acb9
timeline: draw playheads over selections
2020-11-26 19:52:54 +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
1400c313ca
timeline: correctly use ptr to qvector rather than qlist
...
Fixes copy/paste crash
2020-11-24 11:04:33 +11:00
itsmattkc
29f2d3024e
timeline: clear selections when disconnecting viewer
...
Fixes #1400
2020-11-23 09:15:46 +11:00
itsmattkc
54cd244801
nodes: added distort nodes
...
Adds nodes for cropping and transforming
2020-11-22 11:34:37 +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
afbd3ada36
bypass track invalidate length limit on trim command
2020-11-18 19:34:12 +11:00
itsmattkc
b3c3fe0fc8
merged video and audio nodes into a single media node
...
They performed exactly the same function so I don't think we need the clutter.
Also bumped the project version, but old projects are automatically converted.
2020-11-18 13:48:14 +11:00
itsmattkc
04dd502a40
nodes: bypass invalidate length limit for certain track operations
...
Fixes #1290
Fixes #1228
2020-11-18 12:56:00 +11:00
itsmattkc
75d4cd899b
use hardcoded namespace
...
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc
d241090a9f
finally updated the copyright year
2020-11-17 20:13:22 +11:00
itsmattkc
15a29288aa
added Q_OBJECT macro to classes that were missing it
2020-11-17 19:13:16 +11:00
itsmattkc
e2010dde83
made formal QtUtils class
2020-11-17 09:42:36 +11:00
itsmattkc
4aea9a3757
timeline: pad by full width rather than half width
2020-11-17 00:20:56 +11:00
itsmattkc
81450044e0
added preference for duplicating dependencies
...
Fixes #1320
2020-11-16 16:32:15 +11:00
itsmattkc
1b9bf6d92c
switched many QLists for QVectors
...
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc
0d0766e4fb
improved render channel count system
2020-11-15 22:16:40 +11:00
itsmattkc
6ecdb02fd0
okay maybe not
2020-11-08 00:47:59 +11:00
itsmattkc
07dc7104c5
made timerangelist a encapsulation rather than a derivation
...
Locks off functionality that really shouldn't be used.
2020-10-29 02:18:41 +11:00
itsmattkc
4082f6d938
Merge branch 'master' of https://github.com/olive-editor/olive
2020-10-23 01:26:49 +11:00
itsmattkc
917738d1de
Merge branch 'master' into otio
2020-10-22 20:26:16 +11:00
Thomas Wilshaw
4ddc659335
MediaInput: Rename streams access methods.
...
Change MediaInput::footage() to MediaInput::stream() and
MediaInput::SetFootage() to MediaInput::SetStream() as they access
streams not footage.
Also update all instances of access methods to reflect this change.
2020-10-19 15:50:36 +01:00
itsmattkc
db8d321fa7
project: improved loading and footage importing
2020-10-19 14:41:01 +11:00
itsmattkc
221e0efb96
timeline: fix double free on items
...
Who the hell wrote this? It's all wrong for no reason and makes no sense
Fixes #1222
2020-10-10 20:24:41 +11:00
itsmattkc
0d102defab
tracks: use node label instead of separate name string
2020-10-10 20:17:25 +11:00
itsmattkc
6e8295666d
timeline: optimized rubberband selections
2020-10-10 17:22:04 +11:00
itsmattkc
ae8af531a9
timeline: removed cursor setting from block item (how did this get here?)
2020-10-10 17:21:47 +11:00