Commit Graph
156 Commits
Author SHA1 Message Date
itsmattkc 0075733da1 footageviewer: fixed bug that signalled a null footage file 2020-08-08 03:08:40 +10:00
itsmattkc c8def73b95 cache: mild auto-cache overhaul
Shifted from CacheTask to functionality built into RenderBackend. It was
a lot easier to control behavior this way without having to juggle a ton
of threads and race conditions.

Could likely be multithreaded further.
2020-08-05 02:19:04 +10:00
itsmattkc 2afa5a42c7 ui: optimized widget signals for selecting clips/nodes
Decent performance optimization when working with the UI.
2020-08-01 02:12:20 +10:00
itsmattkc ae62750d9d various: fix broken transition creation
It's now possible to create transitions! But they're still broken in
a multitude of other ways so plenty more work to do hahahahahahahahaha
2020-07-14 22:31:11 +10:00
itsmattkc 8e75432304 project/timeline: save timeline tracklist state in project file 2020-07-08 19:19:32 +10:00
itsmattkc b0a5d4f4c3 parampanel: set input after timestamp
Default TimeBasedWidget behavior is to jump to the playhead, but we want
the CurveView to zoom fit on open instead. So we set the input after the
timestamp to make this behavior possible.
2020-06-24 01:36:04 +10:00
itsmattkc e681b87988 curve/param/panels: leave curve panel open and have option for timebasedwidget to auto-set timebase 2020-06-23 05:22:58 +10:00
itsmattkc 1ec0d06e9f timebasedpanel: check if node is the same
Minor optimization.
2020-06-22 00:40:19 +10:00
itsmattkc 1725f01459 paramview: changed to static viewer-bound and fixed various scrolling issues 2020-06-22 00:38:00 +10:00
itsmattkc 57f858dd92 nodetable: correctly update with time 2020-06-18 16:30:57 +10:00
itsmattkc a871c5081b nodeparamtable: bare bones table view for node inputs 2020-06-17 17:48:07 +10:00
itsmattkc cc463c7c60 viewer: allow temporarily suspending the auto-cache
While the auto-cache will always default to on, there are cases where the
user may not want the viewer to barrel ahead caching something (footage
viewer for instance or if the user is making a lot of changes in a short
amount of time).
2020-06-15 18:28:11 +10:00
itsmattkc 89ae6e026f cache: reimplemented auto-caching
Implemented a smarter auto-cache that's context sensitive. Caching will
automatically pause when playback begins or values are being changed and resume
when inactive.
2020-05-24 15:20:35 +10:00
itsmattkc b9cd83eff1 task: massively simplified task system
Made various changes and fixes to the task system:

- Tasks are built around QtConcurrent rather than QThread. Reduces
  code complexity significantly.
- Task error reporting is now streamlined in both TaskManager and
  TaskDialog.
- Moved ProjectImport/Save/LoadManager to the app/task folder
2020-05-19 02:44:32 +10:00
itsmattkc 863ae1b913 a first attempt at a new render system 2020-05-14 14:43:03 +10:00
itsmattkc ce58671fd6 nodeview: started core node filtering work 2020-05-11 22:48:27 +10:00
itsmattkc 0340373faa viewerpanel: only listen to closeEvent to pause
Using showEvent as well would pause if Maximize Panel was used which is
undesirable.
2020-05-09 16:20:31 +10:00
itsmattkc 00248de49c viewer: improved frame queue and linked window
Improves minor issues with frame queue implemented in earlier commit. Also links
ViewerWindow with the queue and a separate timer to make it much smoother.
2020-05-09 16:02:18 +10:00
itsmattkc c387ce1cd7 polygon node: early crude implementation 2020-05-05 00:22:49 +10:00
itsmattkc cfc5ce24a3 Merge branch 'master' into gizmos 2020-05-02 17:06:49 +10:00
itsmattkc e67dabf1ff keyframes: implemented deleting keyframes with the delete shortcut 2020-05-01 17:01:16 +10:00
itsmattkc 13dc79d0cd nodeview: implemented duplicate feature 2020-04-29 15:04:53 +10:00
itsmattkc d8df7cd5a7 Merge branch 'master' into nodeviewredux 2020-04-29 02:15:34 +10:00
itsmattkc 877e8d3afc curveview: ensured curveview is updated with the correct length and playhead 2020-04-29 01:26:09 +10:00
itsmattkc a412e26d66 panels: fixed bug that added panel to list twice and led to double-free 2020-04-29 00:01:50 +10:00
itsmattkc ad419754a9 waveformscope: fixed double free on close 2020-04-28 17:40:22 +10:00
itsmattkc 4906bb7d53 scopes: don't use shared context
OpenGL shared contexts (through Qt at least) seem to be buggy. Scopes have been
shifted to a non-shared approach as a result.
2020-04-28 17:08:52 +10:00
itsmattkc 3e28c74d20 projectpanel: connected open/save/undo/redo buttons
These were waiting until opening/saving projects was implemented, which it was
about a month ago. Now they are connected.
2020-04-28 00:24:37 +10:00
itsmattkc 1cca9de7c5 gizmos: implemented pathway for node to draw on the viewer 2020-04-27 04:34:36 +10:00
itsmattkc 9c4999cfae curvepanel: reconfigured to be a spawnable child of NodeParamView 2020-04-27 00:04:07 +10:00
itsmattkc 8c44f8d03d viewer/various: split off color management into separate base class
Also moves scopes to said base class.
2020-04-24 03:45:07 +10:00
itsmattkc 0ced48d4df histogram: implemented color management 2020-04-21 01:59:06 +10:00
itsmattkc bdb13e88f5 histogram: implemented histogram widget 2020-04-21 01:29:08 +10:00
itsmattkc 6f4bf70d3e scope: implemented waveform scope 2020-04-20 22:58:29 +10:00
itsmattkc 84e73395ff panels: implement a small margin on all panels to ensure the focus border is always visible 2020-04-20 18:06:50 +10:00
itsmattkc 2849ae210c timeline/viewer: reimplemented "play in to out" and "loop" 2020-04-19 17:22:32 +10:00
itsmattkc 63c194896d core: implemented yes/no to all when closing multiple modified projects 2020-04-19 03:29:39 +10:00
itsmattkc d232e035f5 mainwindow/project: implemented saving/restoring panel state to project file 2020-04-19 02:25:02 +10:00
itsmattkc 2716cfa7f5 panels: enforced setting an object name by using a mandatory constructor parameter 2020-04-19 01:35:48 +10:00
itsmattkc 55dcf0f5fd projectexplorer: added functionality for opening a folder in another tab/window 2020-04-19 01:11:50 +10:00
itsmattkc f73c41d3fa various: implemented multiple project support
This required various changes to various parts of the infrastructure (mostly
using paths to finding the "root project" of any given object throughout).
Now theoretically infinite projects can be opened and accounted for at any
given time.
2020-04-18 01:50:47 +10:00
itsmattkc 832cc986b7 timeline/block: reimplemented enabling/disabling blocks 2020-04-17 02:16:04 +10:00
itsmattkc 78c3c10e5f timeline: reimplemented deleting/ripple deleting the in/out region 2020-04-17 01:41:20 +10:00
itsmattkc df5b66c3c7 nodeparamview: show connections in the param view 2020-04-17 01:07:13 +10:00
itsmattkc a5c1de6df3 timebasedwidget: implemented go to in/out 2020-04-17 00:20:16 +10:00
itsmattkc ca071beb33 Merge branch 'master' of https://github.com/olive-editor/olive 2020-04-16 12:21:09 +10:00
itsmattkc 9cc4349054 timebasedwidget: re-implemented toggle show all function 2020-04-15 15:31:54 +10:00
itsmattkc cf04cad238 mainwindow/timelinepanel: closing a timeline will close a sequence entirely
UI detail.
2020-04-07 03:07:43 +10:00
itsmattkc 1aa87cbda6 various: encapsulate all code in the olive namespace to avoid name collisions
Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
2020-04-06 15:29:53 +10:00
itsmattkc edc38ad8a2 timeline: implemented adding objects in the timeline (e.g. solid, title) 2020-04-06 00:05:09 +10:00