Commit Graph
998 Commits
Author SHA1 Message Date
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 3337be07e5 use QVector instead of QList for block cache 2021-01-09 10:41:13 +11:00
itsmattkc 441a459774 viewer: use label instead of media name 2021-01-09 10:38:04 +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 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