Commit Graph
92 Commits
Author SHA1 Message Date
Thomas Wilshaw f784695133 Fix PR comments 2022-01-05 16:27:41 +00:00
Thomas Wilshaw ee801e7bbb core: add OTIO guards 2021-11-09 14:57:15 +00:00
Thomas Wilshaw 04a0b6024e otioload: Add simple dialog to change settings
Adds a table of sequences in the OTIO file and allows the settings to
be changed. The dialog takes a list of sequences and relies on each
OTIO timeline having a unique name.

The dialog has to be called from the main thread so there is a wrapper
function in Core.
2021-11-09 14:44:51 +00:00
itsmattkc 7b65ecace5 implemented color picker in dialog
Fixes #1757
2021-10-01 15:41:24 -07:00
itsmattkc 34004bbf10 added manual crash trigger for handling testing 2021-09-30 16:04:57 -07:00
itsmattkc 3fccfecd7e add subtitle track when switching to add tool
Fixes #1709
2021-09-03 17:02:09 -07:00
itsmattkc 420042bb57 project: added revert function
This can be triggered either with File > Revert or by re-opening an already open project

Fixes #1710
2021-08-09 11:37:45 -07:00
itsmattkc 6da4464f05 moved effects slider drag bool to static and outside core 2021-07-19 19:25:45 -07:00
itsmattkc 8350ce300f cache: improved invalidation system 2021-07-15 20:59:37 -07:00
itsmattkc fdbb8e59a9 core: add function for clearing the status bar message 2021-04-27 01:19:48 +10:00
itsmattkc 81cc665ff2 core: add status bar timeout 2021-04-27 00:48:37 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc c03c197412 added ability to open viewers on any viewer node or derivative
Fixes #1362

Also fixes some other bugs that impeded this from working.
2021-04-12 22:58:34 +10:00
itsmattkc cb75e37e77 moved several files around
Mostly moved classes that became node derivatives into the node/ folder.
2021-04-08 12:15:59 +10:00
itsmattkc 4066fcba90 began merging footage and viewer 2021-04-05 16:41:37 +10:00
itsmattkc 9be014c0b6 refactored so sequence is again a derivative of viewer 2021-04-05 14:41:59 +10:00
itsmattkc b42b728d8e fixed autorecovery index issue 2021-04-05 13:01:59 +10:00
itsmattkc e6b8848ad7 project: force user to re-save recovery projects
Ensure user doesn't just work on a project in the app's recovery
folder.

Finalizes auto-recovery system for now.
2021-04-01 17:34:16 +11:00
itsmattkc 0ee98a47ea project: implemented autorecovery core
Not done yet, but nearly.
2021-04-01 13:10:43 +11:00
itsmattkc b1328c013b core: added shortcut to set status bar message 2021-03-10 13:38:56 +11:00
itsmattkc b21271534f added UI for editing video parameters in nodes 2021-02-20 13:27:56 +11:00
itsmattkc d7c5ac4b44 implement entire project in nodes
Project items are now represented directly in nodes opening up more versatility and possibilities. This is the first iteration of this and will be buggy. Need to test thoroughly.
2021-02-15 21:31:57 +11:00
itsmattkc e12013e2fb don't use shared ptrs for project items 2020-12-16 10:28:43 +11:00
itsmattkc f8ceefff6c don't use shared ptr on projects
Really unnecessary
2020-11-27 14:24:02 +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 b9724e3910 attempted to implement localization loading 2020-11-17 16:04:09 +11:00
itsmattkc 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc 9a1917d160 used different approach for populating open recent menu
Fixes #1243
2020-11-16 10:23:23 +11:00
itsmattkc bc60c74562 finalized very, very basic OTIO support
Ironed out various project and footage loading issues, and a single
cache invalidation issue.
2020-10-23 01:26:17 +11:00
itsmattkc 917738d1de Merge branch 'master' into otio 2020-10-22 20:26:16 +11:00
itsmattkc db8d321fa7 project: improved loading and footage importing 2020-10-19 14:41:01 +11:00
itsmattkc de9c67a0f8 project: detect project version and show errors on incompatibility 2020-10-03 23:44:32 +10:00
itsmattkc a70f9f15a3 core: merged function for improved code reusability 2020-09-25 16:58:52 +10:00
itsmattkc bb6d5505f5 otio: began early functionality to export to OTIO 2020-09-25 16:32:18 +10:00
itsmattkc 48ac8ea509 main/core: changed code so that headless would run truly headless with QCoreApplication instead of QApplication
QApplication is designed for GUI/widget programs and thus fails to launch
if no window system is available. For a true headless mode, we must swap
out with QCoreApplication. However, what complicates this is that
QCommandLineParser - the class we use to determine whether we should run
in GUI mode or not - requires an active application instance to work.
This creates an unfortunate catch-22 that ultimately ended in writing a
custom command line parser.

Now we can correctly swap out with QCoreApplication, however this has
exposed other issues regarding functions that unnecessarily rely on QWidget
functions. So they'll need to be sorted out eventually.
2020-08-22 00:22:19 +10:00
itsmattkc 28dcff10c0 various: implement sequence pixel aspect ratios and interlacing settings
Implements the following:
- Sequences have pixel aspect ratios that work in tandem with footage PARs
  to render footage correctly. Viewer and export also acknowledge PARs
- Sequences can have interlacing settings. This doesn't do anything yet,
  eventually the renderer will need to interlace/deinterlace/reinterlace
  appropriately in order to conform all the footage to the sequence. Export
  acknowledges interlacing, but this only affects metadata, not the image.
2020-08-10 01:47:26 +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 a818e17c55 export: made progress on headless export
Still incomplete and unusable, but less so than before.
2020-06-17 18:06:50 +10:00
itsmattkc 41b04d976c nodes/clips: use node label as clip name and allow changing multiple labels at once
Merges the "clip name" and "node label" into the same entity.
2020-06-16 16:23:05 +10:00
itsmattkc 50b4c1e456 sequence: rather than a static divider in config, default to a heuristically generated one 2020-06-08 15:18:01 +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 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