Commit Graph
193 Commits
Author SHA1 Message Date
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
itsmattkc 98e5b175e9 colordialog: various improvements that should ultimately be near completion 2020-04-04 04:22:55 +11:00
itsmattkc 730b94c471 colorspacechooser: implemented setting input color space 2020-04-04 04:21:48 +11:00
itsmattkc e1ca5f2f82 various: removed hardcoded OCIO::ROLE_SCENE_LINEAR to allow for a configurable reference space 2020-04-03 01:30:47 +11:00
itsmattkc 552163320c colorpicker: implemented color management
Also moves some items to ColorManager from Project for better accessibility and
re-uses some widgets in ExportDialog for improved code.
2020-04-03 01:23:08 +11:00
itsmattkc 4d0b8f18e2 colordialog/picker/wheel: finished color picker UI
Dialog is still unmanaged, but that's the only remaining step.
2020-04-02 19:26:30 +11:00
itsmattkc f3290003be colordialog/wheel/gradient: implemented basic UI components for color picking 2020-04-02 13:02:30 +11:00
itsmattkc bcc8eaee55 colordialog: began widgets and dialogs for a managed color picker 2020-04-01 17:57:19 +11:00
itsmattkc 6f0d72c05d renderer: switched audio rendering over to planar buffers
While planar audio cannot be used for playback, it's much easier for processing.
This should lead to cleaner and easier to write code in the future.
2020-03-31 18:01:20 +11:00
itsmattkc be6bea234b exportdialog: make integer slider for crf smaller
Using QSizePolicys seemed to always produce some variant of the IntegerSlider
and QSlider consuming roughly half of the width each. The IntegerSlider is only
two characters wide at any one time so this results in a lot of wasted screen
real estate. This commit limits the integer slider to 4 characters wide (more
than 2 to allow for UI padding)
2020-03-31 12:41:08 +11:00
itsmattkc af0d85f0cc exportdialog: added filename validation
Ensures filenames end with the appropriate extension (necessary for
communicating the output format to both FFmpeg and OIIO) and moves overwrite
check from file dialog to render since it's still possible to type the
intended filename. Also checks the intended output directory and creates it
if it doesn't already exist.
2020-03-31 12:23:47 +11:00
itsmattkc 4dcc672b23 taskdialog: improved signalling
Ensures task errors are picked up and objects are deleted at the most
appropriate times.
2020-03-28 12:13:51 +11:00
itsmattkc 84aab543ca oiiodecoder: always add 1 frame to image sequences so the end frame is shown 2020-03-28 11:29:51 +11:00
itsmattkc e5ac72fa9d Merge branch 'master' into typos 2020-03-19 12:16:09 +11:00
itsmattkc 27d7822fa9 preferences: added setting for rectified waveforms 2020-03-18 14:23:23 +11:00
itsmattkc a6fb0c7e2b footageproperties: fixed bug that failed to update image sequence end time 2020-03-15 14:28:26 +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 16b072fa98 various: allow users to override the start and end index of image sequences
Also includes various fixes to footage property setting/signalling.
2020-03-09 19:58:42 +11:00
itsmattkc 0131d83256 footageproperties: allow for sanity checks before accepting/making changes 2020-03-09 19:56:10 +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