itsmattkc
898ea25e89
finished merge of viewer and footage
2021-04-06 13:08:56 +10:00
itsmattkc
4066fcba90
began merging footage and viewer
2021-04-05 16:41:37 +10:00
itsmattkc
da4a93f1a5
timeline: minor enhancement, probably fixes nothing
2021-04-05 15:54:13 +10:00
itsmattkc
9be014c0b6
refactored so sequence is again a derivative of viewer
2021-04-05 14:41:59 +10:00
itsmattkc
d03da1817f
timeline: null check on block track
...
If a block has no track, it's probably not on the timeline and can be safely
ignored.
2021-03-24 10:25:52 +11:00
itsmattkc
5d59ecb699
timeline: allow disabling waveforms
2021-03-10 14:23:59 +11:00
itsmattkc
d7c5ac4b44
implement entire project in nodes
...
Project items are now represented directly in nodes opening up more versatility and possibilities. This is the first iteration of this and will be buggy. Need to test thoroughly.
2021-02-15 21:31:57 +11:00
itsmattkc
ad4b83a098
new undo system
...
Also enables undoing when working with node input arrays
2021-01-29 16:10:34 +11:00
itsmattkc
9f99182089
use catch up scrolling when dragging items
2021-01-25 10:22:14 +11:00
itsmattkc
2da0aed942
remove unnecessary sequence casts
2021-01-25 09:33:50 +11:00
itsmattkc
7795d42347
moved block links to node links
...
Seems like it might be useful to have this as part of the node architecture as a whole
2021-01-25 09:17:25 +11:00
itsmattkc
2c7e974f78
scroll only in increments when dragging the playhead
2021-01-24 18:38:57 +11:00
itsmattkc
eb132d93de
timebasedviews: only drag playhead when there's no item underneath the cursor
2021-01-24 09:36:05 +11:00
itsmattkc
e02a307498
timeline: don't copy vectors
...
This is no longer necessary
2021-01-22 19:25:22 +11:00
itsmattkc
d9019f9cb1
fixed node removals
2021-01-22 19:23:20 +11:00
itsmattkc
fa1fbd3a34
nodeview: updated with new node color UI system
2021-01-19 09:08:46 +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
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
374fa3f75c
moved some files around for better organization
2020-12-16 19:05:22 +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
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
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
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
1b9bf6d92c
switched many QLists for QVectors
...
Minor optimization
2020-11-16 16:17:43 +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
917738d1de
Merge branch 'master' into otio
2020-10-22 20:26:16 +11:00
itsmattkc
db8d321fa7
project: improved loading and footage importing
2020-10-19 14:41:01 +11:00
itsmattkc
6e8295666d
timeline: optimized rubberband selections
2020-10-10 17:22:04 +11:00
itsmattkc
2d93e82489
timeline: reworked rubberband
2020-10-06 00:20:54 +11:00
itsmattkc
787ea1d548
Merge branch 'master' into ui-optimizations
2020-10-05 15:19:57 +11:00
itsmattkc
dfe7b80bf3
timeline: hide snap points if the tool changes
2020-10-03 23:10:10 +10:00
itsmattkc
8b4a073f35
timeline: implemented system of moving selections and making them undoable
2020-10-03 22:33:10 +10:00
itsmattkc
dd3d11c7e0
timeline: moved tools to separate files
...
Code cleanup, TimelineWidget header was getting a little too bloated.
2020-10-02 22:02:18 +10:00
itsmattkc
0508acc613
timeline: began crude edit tool functionality
2020-10-02 17:10:15 +10:00
itsmattkc
4204910796
nodes: link edges to IDs rather than objects
...
Allows code to know whether the connected parameters has been removed or
not.
2020-10-02 16:04:50 +10:00
itsmattkc
2fb7066155
nodes: allow stalling graph signals until an operation is over
2020-10-02 13:25:49 +10:00
Thomas Wilshaw
9d27d557cd
Replace custom unlink with BlockUnlinkAllCommand
...
Re-use existing unlink command and move all the unlinking code to
NodeRemoveCommand to cover all bases (deletion of a block in the
timeline or in the node editor).
2020-09-30 18:14:11 +01:00
itsmattkc
dac68cabc2
timeline: made ReplaceBlocksWithGaps more accessible for other parts of the program
2020-09-28 14:28:56 +10:00
itsmattkc
f0928814fc
track: store height in "units" rather than pixels
...
Fixes DPI scalability issue if a project ever moved from a display with
one DPI to another.
2020-08-22 00:23:46 +10:00
itsmattkc
d99a8e9005
timeline: refactored "replace with gap" command fixed bug
...
Fixes an unfortunate bug that restored blocks in the wrong order and leads
to a segfault if you continue undoing beyond that point.
2020-08-20 13:40:58 +10:00
itsmattkc
75c3a37c17
removed speed/duration dialog
...
This is the first step in what will eventually be keyframable time
remapping. The speed/duration dialog was a holdover from 0.1 and we can
probably do better here.
2020-08-19 17:42:52 +10:00