Commit Graph
309 Commits
Author SHA1 Message Date
itsmattkc 4827782331 moved sequence params into node graph too
Reduces code by reusing more of the existing node infrastructure
to synchronize sequence parameters the render backend.
2021-02-18 13:20:23 +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 81c1922911 use strings to connect nodes
This makes the node system somewhat more high-level with the intent of making
working with them far more flexible and stable. By making the architecture more
abstracted, it becomes far less rigid which should allow us to do even more
with it and make it much less crash prone.
2021-02-09 15:48:37 +11:00
itsmattkc d1a3e22eaa fixed linux compilation issues 2021-01-31 10:39:14 +11:00
itsmattkc 29eccf8e84 add opening sequence to the import undo command 2021-01-29 18:11:01 +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 fecd0e3775 trackview: delete from index 0
Fixes #1253
2021-01-22 17:00:39 +11:00
itsmattkc ce8704f7d3 fixed block placement issue 2021-01-22 09:07:13 +11:00
itsmattkc fa1fbd3a34 nodeview: updated with new node color UI system 2021-01-19 09:08:46 +11:00
itsmattkc 835b82205f ripple: when choosing gaps on other tracks, use after or at instead of before
Fixes some edge cases
2021-01-18 16:40:05 +11:00
itsmattkc 9bc0629346 rewrote timeline ripple tool command
Cleaner code and fixes a bunch of issues and whatnot
2021-01-18 16:33:27 +11:00
itsmattkc 2a51853fd4 fix bug with underlining on timeline 2021-01-18 16:06:40 +11:00
itsmattkc 20ed087aad timeline: fixed bug with out handle on some blocks 2021-01-18 16:05:22 +11:00
itsmattkc e7b0c18a99 implemented track adding as an undo command 2021-01-18 12:03:48 +11:00
itsmattkc d8efab1b77 improved new timeline drawing 2021-01-18 11:23:59 +11:00
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