Commit Graph
2938 Commits
Author SHA1 Message Date
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 965242cb29 oiiodecoder: set flag on image sequences to identify them as such 2020-03-09 19:55:35 +11:00
itsmattkc 39215a7dd0 footageviewer: direct in/out/markers to footage item rather than assuming a
sequence item
2020-03-09 18:28:57 +11:00
itsmattkc 8cf9327936 timelineviewblockitem: fixed issue that caused waveforms to always appear at
the start of the timeline
2020-03-09 16:57:51 +11:00
itsmattkc dc37389d02 timeline: implemented in/out points 2020-03-08 01:06:45 +11:00
itsmattkc 52fc4f064b timeline: rewrote ripple deleting into an undoable command that takes place
after the gaps are made and cleaned

Results in more reliable ripple delete behavior.

Also fixes bug that would cause gaps that were cleaned and then restored in an
undo to crash when selected.
2020-03-07 20:42:07 +11:00
itsmattkc 8ec3258234 nodeview: added asserts for improved debugging 2020-03-07 20:40:52 +11:00
itsmattkc 38a30b584a timeline: implemented some base ripple delete functionality 2020-03-07 18:07:55 +11:00
itsmattkc d5fdc555e1 timelineviewblockitem: prevent waveforms from exceeding the clip rectangle 2020-03-07 02:47:15 +11:00
itsmattkc f2d6d3b32c timeline/renderer: automatically update timeline view when a visual waveform
has updated
2020-03-07 02:44:15 +11:00
itsmattkc b2792b7c58 volumenode: removed maximum limit
I'm not sure when this was added, but it was not intentional.
2020-03-07 02:43:35 +11:00
itsmattkc 3f043496f3 nodeparam: allowed for dynamic nodeparam property change to affect UI widgets
immediately
2020-03-07 02:16:48 +11:00
itsmattkc c168bf1a80 nodeparam: implemented parameters that allow arbitrary properties to be set
for UI representations

Allows properties to be set without adding explicit extra members to NodeInputs.
Crucially this means parameters like slider value representations (percent,
decibel, etc.) can be set from NodeInputs now.
2020-03-07 01:21:36 +11:00
itsmattkc d12a0dca23 oiiodecoder: fixed mistake when using OIIO 1.x 2020-03-06 17:02:51 +11:00
itsmattkc c75a0e8498 timeline/renderer: implemented basic waveform display support 2020-03-06 16:18:07 +11:00
itsmattkc a41c0e65ac re-implemented resizable scrollbar (still somewhat crude) 2020-03-05 00:34:39 +11:00
itsmattkc cd83729834 projectexplorer: for audio streams, prefer showing timecodes in seconds rather
frames
2020-03-04 12:13:12 +11:00
itsmattkc 8daac83b19 footageviewer: allow dragging footage from footage viewer 2020-03-03 20:35:54 +11:00
itsmattkc 0bca86e3c7 panels: allow insert and overwrite from footageviewerpanel too
Makes FootageViewerPanel and ProjectPanel derive from a common base that
TimelinePanel searches for when looking for a source to insert/overwrite from.
2020-03-03 20:26:01 +11:00
itsmattkc 2f7819d0ae timeline: use similar reverse strategy for inserting/overwriting from
the most recently focused project panel
2020-03-03 20:13:58 +11:00
itsmattkc c1680ad420 menushared: added menu/panel proxy for ripple deletion 2020-03-03 20:07:14 +11:00
itsmattkc 9b73892c41 ui: implemented keyboard controls for inserting/overwriting footage into the
timeline

Allows users to use the keyboard to place footage into the timeline rather than
forcing them to drag.
2020-03-03 20:03:50 +11:00
itsmattkc a9577d72ee pointertool: reused insert code from importtool 2020-03-03 16:34:09 +11:00
itsmattkc e3759bb704 importtool: re-implemented functionality to hold ctrl to insert dragged clips 2020-03-03 15:51:53 +11:00
itsmattkc 97d795dd3f sequence: moved code that set parameters based on a list of footage to here from
ImportTool
2020-03-03 15:51:22 +11:00
itsmattkc c5ca0ae3ee viewernode: fixed bug where tracks would be counted more than once 2020-03-03 15:49:44 +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
itsmattkc 0f5cd40c45 exporter: add ability to cancel exports (including a confirm to cancel if the
user closes the dialog mid-export)
2020-03-03 02:37:18 +11:00
itsmattkc 02909c6ba9 statusbar: added basic task UI feedback without requiring the task
manager to be open
2020-03-03 01:50:51 +11:00
itsmattkc d8f83f1452 nodeview: further optimization of node view 2020-03-03 01:50:31 +11:00
itsmattkc 644dd2df30 renderer: fixed bug that would hang exports after 1 x (cores) frames
were exported
2020-03-03 01:49:37 +11:00
itsmattkc 8825ff9953 exporter: print extra debugging information
Should be helpful for debugging any potential export hangs if there
are any in the future.
2020-03-03 01:48:38 +11:00
itsmattkc 9e8a384f14 encoder/exportdialog: add compression options for H264 exporting 2020-03-03 01:47:04 +11:00
itsmattkc 796a30eda9 timelinewidget: when rubberbanding, only emit selection changed when
the rubberband is finished
2020-03-02 17:03:36 +11:00
itsmattkc 3e34975dd9 nodeview: improved and optimized some selection code 2020-03-02 17:03:03 +11:00
itsmattkc f800ca38c3 crashhandler: renamed executable in case it's packaged in a global
application folder like /usr/bin
2020-03-02 16:07:44 +11:00
itsmattkc f6d602d8e0 nodeview: improved code structures 2020-03-02 16:07:24 +11:00
itsmattkc c44c73e376 renderer: handle null frame
Minor reliability improvement.
2020-03-02 14:42:20 +11:00
itsmattkc d7f5584374 oiiodecoder: various improvements
Use start_time in VideoStream to determine the starting number of an image
sequence and use ImageBufAlgo::resample instead of ImageBufAlgo::resize for
faster image processing (since the quality with a divider is always expected
to be draft quality).
2020-03-02 14:32:36 +11:00
itsmattkc de5955b403 oiiodecoder: implemented rudimentary image sequence support 2020-03-02 14:06:44 +11:00
itsmattkc 987a6557c4 travis: patch some more mac dependencies in after compile 2020-02-29 09:39:52 +11:00
itsmattkc 597f50fa37 ffmpeg: print more debug information, less useless information 2020-02-29 17:22:19 +11:00
itsmattkc a88fb07d89 Merge branch 'master' of https://github.com/olive-editor/olive 2020-02-29 17:22:13 +11:00
itsmattkc 139c14f941 footage: fixed appearance of some metadata, particularly audio metadata 2020-02-29 17:19:47 +11:00
itsmattkc fa992d78c5 Merge branch 'master' of https://github.com/olive-editor/olive 2020-02-29 16:38:43 +11:00
itsmattkc 236eea389b appveyor: package crashhandler executable 2020-02-29 16:38:24 +11:00
itsmattkc b134ac877f cmake: use better FindOpenEXR.cmake script 2020-02-29 01:17:41 +11:00
itsmattkc 163ad76456 renderer: rewrote frame compression algorithm
This function was noticeably lagging the main thread while caching. The
cause was OpenEXR's internal thread pool competing with our main
thread. Since we have our own system of worker threads, its thread pool
was unnecessary for caching, however for normal playback it was a useful
optimization. Unfortunately OIIO (which we were using to save EXRs)
didn't provide quite enough control over OpenEXR's threading behavior
(only providing control for over the global thread pool and not on
a per-image basis), so for caching we've switched to using OpenEXR
directly. This has noticeably sped up the main thread while causing no
noticeable slowdown to the caching process.
2020-02-29 01:00:17 +11:00
itsmattkc 2ec160525c cmake: made OpenEXR a direct dependency since we use it for
the caching system
2020-02-29 00:40:28 +11:00