Commit Graph
52 Commits
Author SHA1 Message Date
itsmattkc b4dd976e90 revised UI color system when showing nodes
Olive now has a set of colors that categories can be "assigned" to. The timeline also shares the same colors as the NodeView. Colors can be configured per node (aka per clip).
2021-01-15 18:44:34 +11:00
itsmattkc f7883bd02c began some rewrites to timeline drawing 2021-01-14 10:30:20 +11:00
itsmattkc 75d4cd899b use hardcoded namespace
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc d241090a9f finally updated the copyright year 2020-11-17 20:13:22 +11: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 8e75432304 project/timeline: save timeline tracklist state in project file 2020-07-08 19:19:32 +10:00
itsmattkc 2716cfa7f5 panels: enforced setting an object name by using a mandatory constructor parameter 2020-04-19 01:35:48 +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 cf04cad238 mainwindow/timelinepanel: closing a timeline will close a sequence entirely
UI detail.
2020-04-07 03:07:43 +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 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 38a30b584a timeline: implemented some base ripple delete functionality 2020-03-07 18:07:55 +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 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 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 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 df837efbc6 merged timeline and viewer nodes together 2020-01-03 03:26:00 +11:00
itsmattkc 2b24fae26f implemented vertical "zooming" in the TimelineWidget and CurveView
This comes in the form of changing the vertical scale in the CurveView and
adjusting all track heights in the Timeline.
2019-12-31 00:23:28 +11:00
itsmattkc 2f04a53054 implemented deleting clips in the timeline
Also fixed bugs in the Node::GetExclusiveDependencies function and in the
NodeInputArray::RemoveAt function to make this functionality work.
2019-12-14 17:10:06 +11:00
itsmattkc 8d599b60e4 reimplemented split at playhead functionality
Reimplemented an older but very useful timeline function for splitting blocks
at the current playhead.
2019-11-19 22:25:04 +09:00
itsmattkc 52f4c59bec implemented new audio monitor widget 2019-10-23 03:21:05 +11:00
itsmattkc ea4f6f43c4 added support for multiple timeline sections 2019-10-05 04:38:17 +10:00
itsmattkc 4c90405feb connect timeline and viewer together by default 2019-09-27 23:55:24 +10:00
itsmattkc 00d3932194 fixed maximize panel implementation 2019-09-26 04:00:41 +10:00
itsmattkc c19718a4a5 reimplemented goto prev/next cut, about dialog, and action search dialog 2019-09-25 02:33:33 +10:00
itsmattkc cf3e8d80d1 implemented 'ripple to' timeline actions 2019-09-24 22:45:30 +10:00
itsmattkc 69da763d9f added select all and deselect all functions 2019-09-24 15:02:24 +10:00
itsmattkc 03d81c7003 flipped timeline node/panel affinity 2019-09-20 04:40:38 +10:00
itsmattkc 9b312abf46 completed zoom tool 2019-09-19 01:39:09 +10:00
itsmattkc 6b24ac69d6 validations added for moving and trimming 2019-08-22 14:52:52 +10:00
itsmattkc 7d9d12ee0b began support of timeline tracks/channels 2019-08-15 23:40:22 +10:00
itsmattkc fb7c7f1bdb reimplemented zooming controls 2019-08-15 11:39:07 +10:00
itsmattkc 4f4737a395 added some more timeline functions 2019-08-13 21:50:39 +10:00
itsmattkc 03a0c64e15 some timeline work 2019-08-13 18:14:36 +10:00
itsmattkc e9702aeb52 added some basic timeline functionality 2019-08-12 23:24:58 +10:00
itsmattkc 149f3fa907 timelineview is now a true view of the blocks at all times 2019-08-11 21:01:37 +10:00
itsmattkc 9b63cc7755 inserting blocks through the timeline implemented 2019-08-11 17:30:27 +10:00
itsmattkc 7dd7e83373 work towards dropping clips into the timeline 2019-08-09 22:25:16 +10:00
itsmattkc 09d73ebc2b use raw time values independent of timebase for scaling timeline ui 2019-08-09 16:41:17 +10:00
itsmattkc 54ec4a26f5 implemented working playhead 2019-08-02 10:04:02 +10:00
itsmattkc 28ab2cb570 wrote some clip drawing on timeline functions 2019-08-01 00:32:50 -07:00
itsmattkc 6cb182bfc5 converted timelineblock to output node instead 2019-07-28 10:57:37 -07:00
itsmattkc 8d944387a2 barebones prototype of timeline/clip functionality 2019-07-28 02:30:26 -07:00
itsmattkc 705ecc0910 developed timeruler prototype 2019-07-24 19:21:46 -07:00
itsmattkc 501110c328 started timeruler object 2019-07-24 01:53:24 -07:00