Commit Graph
50 Commits
Author SHA1 Message Date
itsmattkc 0faf682225 core: fixed bug that didn't register ProjectPtr correctly and broke some
functionality as a result
2020-04-28 02:47:28 +10:00
itsmattkc 1c3c8cd9b2 began work on headless export path 2020-04-20 02:37:10 +10:00
itsmattkc 63c194896d core: implemented yes/no to all when closing multiple modified projects 2020-04-19 03:29:39 +10:00
itsmattkc 93e5e7c0c1 core/mainmenu: implemented save/close all/current actions for multiple projects
Expands on UI from multiple project support implemented earlier.
2020-04-19 00:37:44 +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 6df708028f core: reimplemented "open recent" functionality and opening a project from command line 2020-04-17 02:57:56 +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
itsmattkc 2bda306866 timeline/various: implemented block copy/paste
Implemented the ability to copy/paste blocks/clips in the timeline. This did
require some large scale changes and reworking of the copy/paste system
introduced a few commits ago, but should be largely functional now.
2020-03-31 02:19:05 +11:00
itsmattkc bb326e2b50 nodeview/core: moved node copy/paste functions to core so they can be used elsewhere 2020-03-23 15:27:58 +11:00
itsmattkc e5ac72fa9d Merge branch 'master' into typos 2020-03-19 12:16:09 +11:00
itsmattkc abb4c440fb core: added signalling for timecode display changes
Allows targeted application-wide UI updates for when the user changes the
timecode display so that the response is immediate.
2020-03-18 14:09:31 +11:00
luz.paz 321e7d1606 Fix doxygen and misc. typos
Found via `codespell -q 3 -L ba,keypair,numer,uint`
2020-03-10 15:00:56 -04: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 de5955b403 oiiodecoder: implemented rudimentary image sequence support 2020-03-02 14:06:44 +11:00
itsmattkc bac33e3d16 importtool: create a sequence automatically from dropped footage if one isn't
open already
2020-02-21 17:28:17 +11:00
itsmattkc 839abdff45 core: use TaskDialog instead of ProgressDialog 2020-02-17 02:11:56 +11:00
itsmattkc 1101b58ee8 allow setting of pixel format/ocio method/sample format in preferences
Implementation isn't perfect yet, viewer/renderer doesn't update yet when
the preference is changed so a sequence needs to be re-opened for the change to
take effect.
2020-01-18 03:37:36 +11:00
itsmattkc 653709dc84 try to index media immediately on import
Since indexing is supplemental, it can be made a background task that can occur
at more or less any time. So we run it as soon as possible.
2020-01-17 03:58:29 +11:00
itsmattkc 75a9291cd2 refactored import function for greater robustness
The import function was written early on in the rewrite as a multithreaded
background task that was considered somewhat flawed. While it worked for the
most part, there were possibilities of race conditions that could have
potentially been fatal, particularly since media could theoretically be
deleted while the import/probe tasks were running in the background.

With the save/load functions coming in, it became even more complicated as
projects may include metadata about the footage that can't be implemented
easily when the footage is imported/probed in the background. Making importing
a modal task fixes all of these issues, it's still done in a background thread
to not hang the GUI thread, but the GUI thread can be briefly "paused" in a
user friendly way so that all these functions can be safer.
2020-01-15 15:19:14 +11:00
itsmattkc 16878e3c25 implemented much of the project loading logic
Still not functional, but much of the groundwork is done.
2020-01-13 04:09:06 +11:00
itsmattkc 00b5672639 implemented saving UI
Implemented the file dialog, save progress dialog, and separate thread to save
in (saving needs to be done in a separate thread so the main/GUI thread doesn't
get blocked).
2020-01-12 16:26:05 +11:00
itsmattkc f96abc2d82 set up sizing defaults 2019-12-28 02:09:23 +11:00
itsmattkc 61c60e00d6 various small code cleanups and improvements
Largely refactoring work to make the code somewhat nicer to work with.
2019-12-26 19:00:08 +11:00
itsmattkc 83077c939e removed olive:: qualifier from MainWindow class 2019-12-26 17:41:31 +11:00
itsmattkc bb9284a894 moved tool enum to a Tool class
Code cleanup and improvement.
2019-12-26 17:35:25 +11:00
itsmattkc abf579cb84 moved supported channel layout functions to the core for wider use 2019-12-16 03:03:06 +11:00
itsmattkc 3f79845464 implemented export dialog functionality and some base formats/codecs to support 2019-12-16 01:21:30 +11:00
itsmattkc eb7c63bace started export dialog 2019-12-15 13:44:16 +11:00
itsmattkc db9f188733 reimplemented infrastructure for autorecovery projects
Foundation for a fairly simple but likely essential autorecovery process.
Basically the same as what it was in 0.1.x but with a huge improvement: custom
autorecovery intervals. Ironically there isn't any "saving" to be done
just yet, but when there is, this infrastructure will be ready for it.
2019-11-18 13:47:42 +09:00
itsmattkc 45bfad2b20 setting ocio config specific to project 2019-09-30 05:40:14 +10:00
itsmattkc d2dc0d2823 work on internal color management 2019-09-28 01:38:15 +10:00
itsmattkc 56e3fd41e5 various UI reimplementations from 0.1.x 2019-09-26 03:49:49 +10:00
itsmattkc c19718a4a5 reimplemented goto prev/next cut, about dialog, and action search dialog 2019-09-25 02:33:33 +10:00
itsmattkc f8830beac7 created new sequence dialog 2019-07-21 18:21:40 -07:00
itsmattkc d098c0de5f various fixes 2019-07-16 00:00:18 -04:00
itsmattkc 9d7623d36f created sequence type and removed old install code 2019-07-09 10:04:20 -05:00
itsmattkc 5e3c2fb7e4 documented (nearly) ever class 2019-07-06 23:32:01 -05:00
itsmattkc a6971b3fde more work on project management 2019-07-06 09:46:55 -05:00
itsmattkc bc631c495d create new folder added 2019-07-05 11:04:23 -05:00
itsmattkc dae4310a7e reimplemented importing folders 2019-07-05 00:55:35 -05:00
itsmattkc 271fbd01ae heuristic to import into selected folder 2019-07-05 00:12:15 -05:00
itsmattkc fe1ed8bd50 allow dropping files on a project panel to import them 2019-07-04 18:47:17 -05:00
itsmattkc 17c0556dca minor reorg and documentation 2019-07-01 18:35:47 -07:00
itsmattkc 0966b62f29 various improvements to import process and project management 2019-07-01 15:40:09 -07:00
itsmattkc fb7e9766fa started import process 2019-06-24 17:27:50 -07:00
itsmattkc 75081f76c9 tool switching implemented 2019-06-22 20:45:55 -07:00
itsmattkc 459ad13eda wrote viewmodel model for project browsing 2019-06-21 11:51:50 -07:00
itsmattkc 1fec3fb282 finished main menu reimplementation 2019-06-18 08:47:18 -07:00
itsmattkc a468b3727d further development on rewrite 2019-06-17 16:05:51 -07:00