Commit Graph
62 Commits
Author SHA1 Message Date
itsmattkc ad4b83a098 new undo system
Also enables undoing when working with node input arrays
2021-01-29 16:10:34 +11:00
itsmattkc f7883bd02c began some rewrites to timeline drawing 2021-01-14 10:30:20 +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 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 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 75d4cd899b use hardcoded namespace
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc d241090a9f finally updated the copyright year 2020-11-17 20:13:22 +11:00
itsmattkc 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11:00
Thomas Wilshaw 4ddc659335 MediaInput: Rename streams access methods.
Change MediaInput::footage() to MediaInput::stream() and
MediaInput::SetFootage() to MediaInput::SetStream() as they access
streams not footage.

Also update all instances of access methods to reflect this change.
2020-10-19 15:50:36 +01:00
itsmattkc d552e71845 cleanup and included closing footage viewer if footage is in use 2020-10-05 01:04:45 +11:00
Thomas Wilshaw 7704e00443 Cleanup 2020-09-29 14:14:21 +01:00
Thomas Wilshaw 56e2b51041 Add filename to warning message. 2020-09-29 14:03:25 +01:00
Thomas Wilshaw a71df11fa6 Deal with composite blocks
If a block relies on mulitple inputs (i.e. a composite) then don't
delete these from the timeline. We catch these inputs afterwards.
2020-09-29 13:29:59 +01:00
Thomas Wilshaw 791857fba1 Cleanup. 2020-09-29 12:03:01 +01:00
Thomas Wilshaw 8e6b42a160 Simplify and clean up
Remove the Undo code for deleting a clip and replace it with simpler
parent/child undo relationship.

Move block gathering code to seperate function. It's quite brute
force and might lead to issues further down the line with more
complex composited node setups.
2020-09-29 11:31:03 +01:00
Thomas Wilshaw aef9078598 Fix delete redo code 2020-09-29 10:56:30 +01:00
Thomas Wilshaw 92db735022 Add Delete functionality. Still buggy. 2020-09-29 00:06:38 +01:00
Thomas Wilshaw 602f96b2b6 Cleanup comment 2020-09-28 14:33:58 +01:00
Thomas Wilshaw 5bb9cb0cca Make Offlining footage an UndoCommand
Created a new UndoCommand in ProjectViewModel that set the footage
input to a nullptr and resets it to the correct stream on undo.
2020-09-28 14:33:58 +01:00
Thomas Wilshaw c1e345611d Cleanup. 2020-09-28 14:33:56 +01:00
Thomas Wilshaw 0f1d4ec1b8 Make sure image sequences are caught. 2020-09-28 14:33:55 +01:00
Thomas Wilshaw 0e272b6bba Cleanup and add warning message. 2020-09-28 14:33:54 +01:00
Thomas Wilshaw 3ed0cb2ab9 Move search code to seperate function. 2020-09-28 14:33:54 +01:00
Thomas Wilshaw 7c7db5c933 Check footage in use before deleteing
Initial very hacky implementation that checks if the footgae is in
use before deleting it and makes sure all refernences to it are
properly cleaned up.

Also added IsMedia() function to Node to simplify things a bit.
2020-09-28 14:33:53 +01:00
itsmattkc d5dce29b22 cache: merged cachetask and footagecache into one precache task
Since the actual auto-cache now happens elsewhere, this cleans up a lot of
dead code.
2020-08-05 23:45:18 +10:00
itsmattkc 4b311ea3bf projectexplorer: added unused attribute to parameter that should be used later
Fixes another GCC build issue.
2020-06-09 13:53:51 +10:00
itsmattkc a18d523b51 projectexplorer: appropriately renamed "proxy" to "pre-cache" 2020-06-09 02:37:11 +10:00
itsmattkc 9095dfa463 project: replaced proxy with pre-cache
Removed proxy task and replaced with a true honest-to-god pre-cache for
footage. This footage is pre-cached to a sequence and therefore 100% ready
for use in it once the task is done.
2020-06-08 23:17:51 +10:00
itsmattkc b458bfa542 proxy: improved UI on proxy menu 2020-05-04 01:33:26 +10:00
itsmattkc 6754feb2f6 proxy: began work towards creating proxy from video 2020-05-03 17:09:52 +10:00
itsmattkc d232e035f5 mainwindow/project: implemented saving/restoring panel state to project file 2020-04-19 02:25:02 +10:00
itsmattkc 0c88a146c1 projectexplorer: added new menu to context menu 2020-04-19 01:16:55 +10:00
itsmattkc 55dcf0f5fd projectexplorer: added functionality for opening a folder in another tab/window 2020-04-19 01:11:50 +10:00
itsmattkc 6d6b2b237e projectexplorer/mainwindow: close sequence if it's open before deleting it 2020-04-07 03:11:50 +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 59fa80ae57 ui: on windows, use native menus
Minor UI improvement for Windows users.
2020-04-06 00:14:36 +10:00
itsmattkc b54388894c project: implemented the ability to delete items from projects 2020-03-28 12:33:28 +11:00
itsmattkc b40dd761f5 projectexplorer: cache first selected item for context menu operations
Minor optimization.
2020-03-28 11:36:05 +11:00
itsmattkc fde5e47901 projectexplorer:use if defined() and elif defined() for improved
compiler compatibility
2020-02-27 17:47:11 +11:00
itsmattkc 0624184b18 projectexplorer: re-implemented reveal in explorer function 2020-02-27 11:30:26 +11:00
itsmattkc 6facdc1f1b projectpanel/projectexplorer: added select all/deselect all functionality 2020-02-23 11:33:49 +11:00
itsmattkc 63b3c60017 allow editing sequence properties in projectexplorer 2020-01-16 15:01:13 +11:00
itsmattkc 0db13a96ab implemented a footage viewer
Essentially a minor derivation of a viewer type that can automatically view
footage from the project (i.e. not in a sequence).
2019-12-30 20:17:48 +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 9b6028430f fixed segfault when right clicking empty space in project explorer 2019-10-23 00:47:41 +11:00
itsmattkc 9a78f5ce86 began implementation of footage properties 2019-09-28 04:12:09 +10: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