Commit Graph
84 Commits
Author SHA1 Message Date
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
Thomas Wilshaw f4da255b35 Attempt to fix CI build errors. 2020-07-17 17:35:29 +01:00
itsmattkc 8e75432304 project/timeline: save timeline tracklist state in project file 2020-07-08 19:19:32 +10:00
itsmattkc e064d37988 mainwindow: check for connected items before saving
Fixes segfault when saving an empty project/a project with no sequence
open.
2020-06-24 02:14:51 +10:00
itsmattkc 1725f01459 paramview: changed to static viewer-bound and fixed various scrolling issues 2020-06-22 00:38:00 +10:00
itsmattkc f8a8af9ec3 project: focus sequence if there is only one 2020-06-19 02:26:55 +10:00
itsmattkc 0280ade20d project: improved main window layout loading
There were a lot of issues that arose from trying to make GUI changes
from another thread (even though we ran those functions in the right
thread). Now we store layout information until the end of the load and
make the changes then. This works much better from both a business logic
and user experience perspective.

Also prevents multiple sequences from taking focus during load and
starting a render job.
2020-06-19 02:23:06 +10:00
itsmattkc 57f858dd92 nodetable: correctly update with time 2020-06-18 16:30:57 +10:00
itsmattkc 4b0e6f97f7 Merge branch 'master' of https://github.com/olive-editor/olive 2020-06-17 20:50:21 +10:00
itsmattkc 57eb039b4c debug: print graphics driver in debug log
Might help with debugging GPU issues from users.
2020-06-17 20:50:03 +10:00
itsmattkc e0d27490e7 Merge branch 'master' of https://github.com/olive-editor/olive.git 2020-06-17 19:56:27 +10:00
itsmattkc a871c5081b nodeparamtable: bare bones table view for node inputs 2020-06-17 17:48:07 +10:00
itsmattkc 1b6e9c1c79 viewer: moved nouveau to application launch rather than viewer init
Viewer init was kind of too late since in many cases the sequence
would start caching and crash the app before the user could even read
the message. Moving to the startup makes it clearer from the beginning.
2020-06-17 03:00:00 +10:00
itsmattkc cadb703ed8 ui: made os integration more universal
ProgressDialog doesn't have to worry about the platform anymore, now
MainWindow will determine what to do or whether to ignore certain progress
indicator functions.
2020-06-16 16:55:11 +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 cfc5ce24a3 Merge branch 'master' into gizmos 2020-05-02 17:06:49 +10:00
itsmattkc 737edba243 Merge branch 'master' of https://github.com/olive-editor/olive 2020-04-28 17:14:17 +10:00
itsmattkc cdf29c8ccc Merge branch 'master' of https://github.com/olive-editor/olive 2020-04-28 17:09:37 +10:00
itsmattkc 5c088b9f1a mainwindow: show task manager if status bar is double clicked
Minor UI improvement.
2020-04-28 16:04:50 +10:00
itsmattkc 64ce4642c6 linux: fixes bug where layout was wonky on startup for some systems 2020-04-28 15:26:22 +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 1d3b9bbf13 audiomanager: remove audio signalling
This is in preparation for upcoming modifications that we'll be making to the
AudioManager.
2020-04-21 17:45:39 +10:00
itsmattkc 6f4bf70d3e scope: implemented waveform scope 2020-04-20 22:58:29 +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 8a26e14efa mainwindow: set unique object name on all panels that are in a "series" 2020-04-19 01:42:51 +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 df5b66c3c7 nodeparamview: show connections in the param view 2020-04-17 01:07:13 +10:00
itsmattkc 42905d1d51 mainmenu/menushared: rewrote convenience functions to use new qt signal/slot syntax
Code improvement
2020-04-17 00:20:46 +10:00
itsmattkc 6d6b2b237e projectexplorer/mainwindow: close sequence if it's open before deleting it 2020-04-07 03:11:50 +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 1b4c241b5b windows: implemented export progress on taskbar button 2020-04-06 18:13:07 +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 6ea6dd810e pixelsampler: added pixel sampler panel
When visible, this panel will show the current reference and display transformed
color under the cursor of any viewer.
2020-04-01 16:57:10 +11:00
itsmattkc 061f7ac20d mainwindow: show active project filename in the titlebar 2020-04-01 13:19:18 +11:00
itsmattkc 3399227b3a keyframeview: implemented transforming keyframe times to and from sequence time
Since the node graph can have transform cross nodes, input keyframes may occur
at a different times requiring transforming between sequence time and media
time. This commit implements such a mechanism in all UI classes that need it.
2020-03-26 19:17:46 +11:00
itsmattkc 51f02ea01b viewer: allow switching open sequences 2020-03-21 22:18:17 +11:00
itsmattkc baf3fbde05 global: made every user action set a project "modified" state that will prevent
the main window from closing instantly
2020-03-03 14:33:45 +11:00
itsmattkc 02909c6ba9 statusbar: added basic task UI feedback without requiring the task
manager to be open
2020-03-03 01:50:51 +11:00
itsmattkc bf7fc9a0c4 panels: selecting a clip in the timeline automatically selects the corresponding
nodes in the nodeview
2020-02-26 00:39:30 +11:00
itsmattkc 0e7b051228 timelinewidget: show cache status in timeline too 2020-02-22 14:45:50 +11:00
itsmattkc fd44c94fc8 mainwindow: use app name and version in window title 2020-02-08 00:13:56 +11:00
itsmattkc 17c1493aa7 all time-based panels are now derived from a common base class
Cuts down on a lot of duplicate code between
TimelineWidget/ViewerWidget/CurveWidget/NodeParamView
and TimelinePanel/ViewerPanel/CurvePanel/ParamPanel since they all use similar
time functions.
2020-02-01 19:39:43 +11:00
itsmattkc 6bef94b3e2 qt: fixed strange UI issue where hidden floating dock widgets would show as
transparent cuts through the main window on linux

For some reason, setting not visible *after* setting floating would cause this
issue. The other way around does not.
2020-01-26 11:38:24 +11:00
itsmattkc 24f7eeb210 renderer: implemented function to wait for workers in the main thread
The workers run in separate threads meaning if any significant change is made
(e.g. parameters changing, or even closing the program), these workers may still
be mid-render. This is particularly problematic when closing since the nodes a
worker is rendering may be deleted mid-render. Render backends now have a
function that pauses the main thread (but starts a second event loop so the UI
isn't frozen) until the worker threads are all finished. This way, massive
changes can be made safely without race conditions.
2020-01-22 17:11:17 +11:00
itsmattkc 362cb9daef made auto-deleting cache on close an option
Previously we had no disk management whatsoever, so we cleared the cache on
every close just to prevent clogging up tester disk space. Now that we are
implementing disk management, there are better things to do on close regarding
disk cache. However, some users may still wish for the app to delete the cache
on close, so it's provided as an option.
2020-01-09 21:00:04 +11:00
itsmattkc 7eae6a85f8 fixed bug that wouldn't clear TrackViewItems when a new sequence was opened 2020-01-02 05:59:37 +11:00