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
2d93e82489
timeline: reworked rubberband
2020-10-06 00:20:54 +11:00
itsmattkc
dfe7b80bf3
timeline: hide snap points if the tool changes
2020-10-03 23:10:10 +10:00
itsmattkc
8b4a073f35
timeline: implemented system of moving selections and making them undoable
2020-10-03 22:33:10 +10:00
itsmattkc
dd3d11c7e0
timeline: moved tools to separate files
...
Code cleanup, TimelineWidget header was getting a little too bloated.
2020-10-02 22:02:18 +10:00
itsmattkc
0508acc613
timeline: began crude edit tool functionality
2020-10-02 17:10:15 +10:00
itsmattkc
2fb7066155
nodes: allow stalling graph signals until an operation is over
2020-10-02 13:25:49 +10:00
itsmattkc
dac68cabc2
timeline: made ReplaceBlocksWithGaps more accessible for other parts of the program
2020-09-28 14:28:56 +10:00
itsmattkc
75c3a37c17
removed speed/duration dialog
...
This is the first step in what will eventually be keyframable time
remapping. The speed/duration dialog was a holdover from 0.1 and we can
probably do better here.
2020-08-19 17:42:52 +10:00
itsmattkc
2afa5a42c7
ui: optimized widget signals for selecting clips/nodes
...
Decent performance optimization when working with the UI.
2020-08-01 02:12:20 +10:00
itsmattkc
023ded1fb5
timeline: overhauled pointer tool again
...
Allows dynamic switching between pointer/roll/slide since occasionally this
behavior is interchangeable. Fixes a lot of transition behavior (but not
all of it).
2020-07-23 18:37:57 +10:00
itsmattkc
ce353ccbed
timeline: various work to improve timeline behavior, particularly when dealing with transitions
2020-07-22 18:09:57 +10:00
itsmattkc
8e75432304
project/timeline: save timeline tracklist state in project file
2020-07-08 19:19:32 +10:00
itsmattkc
af69f157a3
timeline: improved beam tool and its derivatives
2020-07-07 18:43:18 +10:00
itsmattkc
29d56a1583
timeline: implemented UI indicator for tools like razor and edit
2020-06-16 18:30:00 +10:00
itsmattkc
aaee2ab9ed
timeline: vastly improved snapping
2020-06-06 13:59:49 +10:00
itsmattkc
0e87762afa
waveforms: moved waveform to track rather than block
...
This is a much more robust and thread-safe system of storing the waveforms.
2020-06-04 18:03:21 +10:00
itsmattkc
001b7179c5
timeline: cleaned up pointer tool derivatives and fixed bug introduced by earlier behavior improvement
2020-06-01 17:38:24 +10:00
itsmattkc
c2e47a296c
timeline: heavily optimized and improved nearly all timeline optimizations
...
Features a lot of timeline-related cache optimizations as well as general
optimizations and improvements in timeline behavior. Should improve
usability significantly.
2020-06-01 04:42:59 +10:00
itsmattkc
acee6c5958
timeline: reworked ripple/edit to behavior and documented some track behavior
2020-05-31 01:21:08 +10:00
itsmattkc
ce58671fd6
nodeview: started core node filtering work
2020-05-11 22:48:27 +10:00
itsmattkc
f61321d68b
nodes/timeline: correctly detect when tracks are removed from the graph
...
Fixes several segfaults that could result from this occurring.
2020-04-27 01:01:12 +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
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
76f260cb3a
timeline: added ability to move clips by sample in addition to by frame
2020-04-01 13:55:19 +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
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
02e7c68104
timeline: reimplemented linking/unlinking functionality
2020-03-15 13:41:46 +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
f2d6d3b32c
timeline/renderer: automatically update timeline view when a visual waveform
...
has updated
2020-03-07 02:44:15 +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
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
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
itsmattkc
bac33e3d16
importtool: create a sequence automatically from dropped footage if one isn't
...
open already
2020-02-21 17:28:17 +11:00
itsmattkc
17c1493aa7
all time-based panels are now derived from a common base class
...
Cuts down on a lot of duplicate code between
TimelineWidget/ViewerWidget/CurveWidget/NodeParamView
and TimelinePanel/ViewerPanel/CurvePanel/ParamPanel since they all use similar
time functions.
2020-02-01 19:39:43 +11:00
itsmattkc
c6710b1359
correctly update the panel subtitles based on the media connected
2020-01-16 14:57:16 +11:00
itsmattkc
c8baf4aa3e
implemented rubberband zoom in timeline
2020-01-07 20:24:07 +11:00
itsmattkc
5d8be03970
implemented support for trimming transitions
2020-01-07 01:47:58 +11:00
itsmattkc
7bf2422c44
moved timeline tracktypes into timelinecommon.h
2020-01-06 15:34:12 +11:00
itsmattkc
31b60664a7
Merge branch 'merge-timeline-and-viewer'
2020-01-04 02:45:26 +11:00
itsmattkc
0463106187
began timeline edit tool
2020-01-03 21:17:51 +11:00
itsmattkc
ef91f81e0f
implemented cursors in the timeline
...
Note: this does not use the cursor SVGs in app/ui/cursors since I was never
really satisfied with them. They're kept for posterity for the time being.
2020-01-03 17:58:07 +11:00
itsmattkc
df837efbc6
merged timeline and viewer nodes together
2020-01-03 03:26:00 +11:00