Commit Graph
162 Commits
Author SHA1 Message Date
itsmattkc 0cf6c9a1f6 export: use codec IDs rather than strings
Vastly improves portability between library versions.
2020-05-21 03:04:38 +10:00
itsmattkc 87e7564222 cache: heavily reworked exporting for new system
Also cleans up cache in general and moves it to the Task infrastructure.
2020-05-19 23:35:17 +10:00
itsmattkc cb383d760b tasks now emit floats rather than integers
Simplifies code for tasks.
2020-05-19 02:44:38 +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 d653070a9d slider: reviewed and conformed code 2020-05-09 18:53:00 +10:00
itsmattkc cd5a6a6b78 Merge branch 'slider' of https://github.com/ThomasWilshaw/olive into ThomasWilshaw-slider 2020-05-09 18:36:03 +10:00
itsmattkc 6988436753 preferences: added minimums to cache ahead/behind
Fixes sobotka/Olive#114
2020-05-08 12:53:05 +10:00
Thomas Wilshaw cb1127936a Implement Alt Click to default on sliders
The following sliders now have Alt Click functionality:
 - Nodes (What it's initialy set too or 0 if not)
 - Export Dialog Dimensions~ (Defaults to Sequence width/height)
 - Export Compression Settings~
    - Advanced (0)
 - Speed/Duration
    - Speed (100%)
    - Duration (clip length)
 - Stream Properties Image sequence
    - Start Index (1)
    - End Index (sequence length)

Sliders with no default value set ignore an Alt
Click.

Added SliderBase::SetDefaultValue() which sets the
default value of a slider.

Added ValueReset() to SliderBase signals which is
called if a slider is Alt Clicked on. Only updates
if default_value_ is not Null.
2020-05-07 22:14:37 +01:00
itsmattkc 3da9643da2 Squashed commit of the following:
commit 8e06ded5769a41294d1f6645b1442634d2f503ff
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 7 03:18:39 2020 +1000

    updated widget layout consistency

commit ba0ef33d56af23ccb611bc10293bd6cd0a52f250
Merge: 0f306550 9a4f7b54
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 7 03:12:12 2020 +1000

    Merge branch 'pp_tabs' of https://github.com/ThomasWilshaw/olive into ThomasWilshaw-pp_tabs

commit 9a4f7b546eb096c64de16ab6ea9d942963ac9ae2
Author: Thomas Wilshaw <thomaswilshaw@gmail.com>
Date:   Mon May 4 23:56:26 2020 +0100

    Tabify Project Properties

    Move the project properites from boxes to tabs.
2020-05-07 03:19:25 +10:00
Thomas Wilshaw df97a86dbc Fix first usable stream being selected
Footage Properties should always select the first usable stream. Commit 1fa3f4e
didn't quite fix this with all footage. This should.
2020-05-05 22:32:11 +01:00
itsmattkc c6213b32ad Merge branch 'nodeviewredux' 2020-05-05 23:47:33 +10:00
itsmattkc af994cd1b6 preferences: added preference for node color scheme 2020-05-05 23:47:03 +10:00
itsmattkc 911ef782f9 colormanager: always temporarily set C locale when loading an OCIO config from file
Fixes known bug in OCIO when loading files from non-English locales.
2020-05-05 14:48:09 +10:00
itsmattkc 1fa3f4edb4 footageproperties: auto-select first usable stream (fixes #105) 2020-05-04 02:09:52 +10:00
itsmattkc a925476c3f began work on exr proxy task 2020-05-03 05:23:36 +10:00
itsmattkc 4f23db02db preferences: removed integer quality modes 2020-05-02 15:36:35 +10:00
itsmattkc 8c8bb45f7f crashhandler: include git commit hash with crash report 2020-05-01 02:11:26 +10:00
itsmattkc 1f76c33f6b crashhandler: include git commit hash 2020-05-01 02:09:59 +10:00
itsmattkc a9208294a0 exportdialog: automatically snap resolutions to even numbers 2020-05-01 00:49:09 +10:00
itsmattkc f371aff448 exportdialog: move messageboxes to sheets
Improves UI on macOS.
2020-05-01 00:35:13 +10:00
itsmattkc 65e117c3de exportdialog: warn against a non-even resolution 2020-05-01 00:13:00 +10:00
itsmattkc 5a83f3db79 exportdialog: prevent widths/heights from becoming <= 0 2020-04-30 23:44:50 +10:00
itsmattkc ce42388d68 export: allow users to override the thread count 2020-04-30 17:19:43 +10:00
itsmattkc cdf29c8ccc Merge branch 'master' of https://github.com/olive-editor/olive 2020-04-28 17:09:37 +10:00
itsmattkc 1b2c68c927 preferencesaudiotab: fixed bug that didn't disable UI when refreshing audio devices 2020-04-28 15:39:31 +10:00
itsmattkc 53ae25a7cb nodes: optimize node graph changes by only updating from inputs that changed
A huge optimization that ensures only the parts of a node graph that have
changed get pushed to the renderer. For thread-safety, the node graph is
copied elsewhere so that users can make changes asynchronously and the graph
can update when its threads are ready. Up until now, if an input value changed,
every node's values would be re-copied, or worse, if a connection was changed,
the entire graph would be recopied. This has been negligible in testing since
we've been largely testing with small graphs, but for massive projects, it's
important that this be as optimized as possible.
2020-04-26 04:16:15 +10:00
itsmattkc fef29db754 export: fixed bug that failed to export video if using a different export resolution 2020-04-23 02:00:49 +10:00
itsmattkc 5c736114d0 merged some export improvements from another branch 2020-04-23 01:31:50 +10:00
itsmattkc 6c1e90665f colormanagement: moved from passing DVL strings everywhere to a consolidated ColorTransform struct 2020-04-23 01:17:58 +10:00
itsmattkc 03ce9ee8f7 moved color widgets from ColorDialog folder to a widget folder 2020-04-22 23:38:51 +10:00
itsmattkc 197e60b6c3 export: show main color spaces rather than DVL chain 2020-04-22 23:34:23 +10:00
itsmattkc db117e0780 mathnode: increased decimal places
Also includes general improvements to the slider widget such as an optional
"autotrim" function to cut off trailing zeroes, a "format" string that's easier
to internationalize, and general tidiness.
2020-04-22 17:49:32 +10:00
itsmattkc bf787b1d2f projectproperties: updated to assume empty config is default config 2020-04-22 14:04:10 +10:00
itsmattkc ccb02d30aa colormanager: implement default config 2020-04-22 05:08:33 +10:00
itsmattkc 38fcad6a3f cache: fixed signalling issue where changing default input didn't update the cache 2020-04-21 23:48:26 +10:00
itsmattkc c84f7fe724 style/preferences: don't set style if it hasn't changed
Improves Preferences dialog's "accept" speed. Before it would try changing the
style no matter what which took a noticeable amount of time to do for no real
purpose if the style didn't change.
2020-04-21 19:35:04 +10:00
itsmattkc 50d336ffb8 preferences: improved audio tab device refreshing
We used to use a somewhat convoluted process of multithreading since refreshing
the devices could take some time. Now we use the high-level QtConcurrent API
which reduces much of the complexity on our end and makes the code more
manageable.
2020-04-21 19:33:34 +10:00
itsmattkc 1c3c8cd9b2 began work on headless export path 2020-04-20 02:37:10 +10:00
itsmattkc 707e9d5522 project: fixed bug where ocio config wouldn't automatically load from a saved project 2020-04-18 17:55:23 +10:00
itsmattkc d3b71e6576 nodes: color management when setting color parameters is now preserved 2020-04-18 17:43:37 +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 cc8699c0bc colordialog: don't clamp values 2020-04-16 15:26:05 +10:00
itsmattkc 32969d2403 colordialog: updated to show input/reference/display values 2020-04-15 18:11:46 +10:00
itsmattkc f5a9dee139 exportdialog: added elapsed/remaining time indicator 2020-04-08 01:48:03 +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 1c063c5c11 export: began windows taskbar button progress feedback 2020-04-06 03:33:52 +10:00
itsmattkc d5581f0772 preferencesdisktab: when browsing for a disk cache path, start in the currently set dir 2020-04-04 14:09:00 +11:00
itsmattkc f8d9404cc9 colorspacechooser: ensure a (none) option is available 2020-04-04 12:24:03 +11:00