Commit Graph
160 Commits
Author SHA1 Message Date
itsmattkc 9d9825d8e1 trackviewitem: receive signal when mute is changed from another source 2020-04-19 16:26:48 +10:00
itsmattkc 63c194896d core: implemented yes/no to all when closing multiple modified projects 2020-04-19 03:29:39 +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 832cc986b7 timeline/block: reimplemented enabling/disabling blocks 2020-04-17 02:16:04 +10:00
itsmattkc 78c3c10e5f timeline: reimplemented deleting/ripple deleting the in/out region 2020-04-17 01:41:20 +10:00
itsmattkc cc421d4108 keyframeview: show correct length and jump to the corresponding time in NodeParamView 2020-04-15 03:35:48 +10:00
itsmattkc 6046b1e892 timeline: fixed bug that prevented clips from being dragged to lower tracks 2020-04-14 23:36:59 +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
itsmattkc 0acad08887 timeline: unlink clip if it is completely overwritten 2020-04-05 23:19:55 +10:00
itsmattkc 6ea52e4123 audio renderer/timeline: pass through channel count of waveform visualizations 2020-04-05 19:59:14 +10:00
itsmattkc bfbb2e3fef msvc: fixed compile/syntax error that only seems to occur in msvc 2020-04-02 13:09:21 +11:00
itsmattkc 76f260cb3a timeline: added ability to move clips by sample in addition to by frame 2020-04-01 13:55:19 +11:00
itsmattkc 53955e9632 timeline: fixed array index out of bounds bug 2020-03-31 02:23:00 +11:00
itsmattkc 2bda306866 timeline/various: implemented block copy/paste
Implemented the ability to copy/paste blocks/clips in the timeline. This did
require some large scale changes and reworking of the copy/paste system
introduced a few commits ago, but should be largely functional now.
2020-03-31 02:19:05 +11:00
itsmattkc 67d8ad571d timeline: remove blocks from timeline if a place command has overwritten them 2020-03-30 18:06:02 +11:00
itsmattkc 6624f14517 timeline: temporarily disable optimization that doesn't re-cache after split
Since waveforms are generated during the cache process, if clips don't cache,
a waveform isn't generated for them. Therefore for now, this optimization will
be disabled but should be re-enabled later when waveforms are improved to handle
this situation.
2020-03-30 15:14:06 +11:00
itsmattkc 5aa4f91c46 timelineviewblockitem: fixed some indentation
Minor code tidiness.
2020-03-30 15:13:17 +11:00
itsmattkc 9f3b9fdc70 footageviewer: allows users to drag video or audio only
Updates drag mime data to include a variable determining which streams are
enabled and which ones aren't (a binary qint64 where the 0s are disabled
and the 1s are enabled) rather than relying solely on the stream->enabled
values which can't be modified as part of the drag process.
2020-03-23 18:55:59 +11:00
itsmattkc 3b8743a0ce timeline: show timecode on block items and started copy function 2020-03-23 15:28:58 +11:00
itsmattkc 51f02ea01b viewer: allow switching open sequences 2020-03-21 22:18:17 +11:00
itsmattkc fed17e35fa audiowaveformview: optimizes waveform to only redraw when necessary
Draws to a pixmap only when the waveform changes so it doesn't have to be
regenerated on every draw. Also renames WaveformView to AudioWaveformView
2020-03-18 14:44:05 +11:00
itsmattkc abb4c440fb core: added signalling for timecode display changes
Allows targeted application-wide UI updates for when the user changes the
timecode display so that the response is immediate.
2020-03-18 14:09:31 +11:00
itsmattkc 02e7c68104 timeline: reimplemented linking/unlinking functionality 2020-03-15 13:41:46 +11:00
itsmattkc b57b091ca4 timeline: auto-unlink blocks when they're deleted 2020-03-15 13:15:36 +11:00
itsmattkc a56484d3e6 timelinescaledobject: implemented minimum scale
Used by Viewer to keep TimeRuler and WaveformView within restrictions.
2020-03-14 22:34:23 +11:00
itsmattkc 7f2dcc8200 waveformview: made UI seekable 2020-03-14 01:57:40 +11:00
itsmattkc 73d693f2d5 waveformview: implemented basic waveformview display 2020-03-14 01:22:03 +11:00
itsmattkc f0e6f9a5f9 various: created derived class for widget derivations of
TimelineScaledObject

Minor code cleanup, faster than deriving both QWidget and
TimelineScaledObject each time.
2020-03-14 00:45:50 +11:00
itsmattkc c338e6d99d resizablescrollbar: refined timeline scrollbar resizing to be more accurate 2020-03-11 14:11:12 +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 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 c75a0e8498 timeline/renderer: implemented basic waveform display support 2020-03-06 16:18:07 +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 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 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 796a30eda9 timelinewidget: when rubberbanding, only emit selection changed when
the rubberband is finished
2020-03-02 17:03:36 +11:00
itsmattkc d7cde3b22e timelinewidget: clear block items before destruction
Prevents block items signalling anything after the TimelineWidget has already
been destroyed.
2020-02-26 14:36:51 +11:00
itsmattkc bf7fc9a0c4 panels: selecting a clip in the timeline automatically selects the corresponding
nodes in the nodeview
2020-02-26 00:39:30 +11:00
itsmattkc ab19e445bd importtool: implemented auto-parameter detection from image streams too 2020-02-25 14:59:54 +11:00
itsmattkc 0e7b051228 timelinewidget: show cache status in timeline too 2020-02-22 14:45:50 +11:00
itsmattkc 9cb04b0020 timelineview: simplified TrackRippleRemoveAreaCommand and fixed bug that
incorrectly calculated the splice copy's media in
2020-02-22 01:14:38 +11:00
itsmattkc c7a3906c97 timelineview: fixed bug that wouldn't invalidate all necessary regions of the
cache when using rippleremovearea
2020-02-22 00:49:57 +11:00
itsmattkc 5602b6a88b importtool: add "don't ask again" option on "no active sequence" dialog
In the previous commit, we added a dialog to give users options when dropping
footage on a sequence-less timeline panel. However some users will have a
preferred behavior that they'd want every time without having to go through
the messagebox, so we add a "don't ask again" option that stores the setting
in the application config.
2020-02-21 18:07:54 +11:00