Commit Graph
261 Commits
Author SHA1 Message Date
itsmattkc 857e4b046d timeline: when inserting gaps, only do one per track 2020-11-20 19:37:00 +11:00
itsmattkc e4f011831d timeline: don't try to link if no clips are selected 2020-11-20 19:36:43 +11:00
itsmattkc 6eade26bc8 timeline: force update after timeline actions
This is actually relatively efficient since Qt will ignore multiple update
requests leading up to an update and only update once.

Fixes #1374
2020-11-19 17:50:42 +11:00
itsmattkc afbd3ada36 bypass track invalidate length limit on trim command 2020-11-18 19:34:12 +11:00
itsmattkc b3c3fe0fc8 merged video and audio nodes into a single media node
They performed exactly the same function so I don't think we need the clutter.

Also bumped the project version, but old projects are automatically converted.
2020-11-18 13:48:14 +11:00
itsmattkc 04dd502a40 nodes: bypass invalidate length limit for certain track operations
Fixes #1290
Fixes #1228
2020-11-18 12:56:00 +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 15a29288aa added Q_OBJECT macro to classes that were missing it 2020-11-17 19:13:16 +11:00
itsmattkc e2010dde83 made formal QtUtils class 2020-11-17 09:42:36 +11:00
itsmattkc 4aea9a3757 timeline: pad by full width rather than half width 2020-11-17 00:20:56 +11:00
itsmattkc 81450044e0 added preference for duplicating dependencies
Fixes #1320
2020-11-16 16:32:15 +11:00
itsmattkc 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc 0d0766e4fb improved render channel count system 2020-11-15 22:16:40 +11:00
itsmattkc 6ecdb02fd0 okay maybe not 2020-11-08 00:47:59 +11:00
itsmattkc 07dc7104c5 made timerangelist a encapsulation rather than a derivation
Locks off functionality that really shouldn't be used.
2020-10-29 02:18:41 +11:00
itsmattkc 4082f6d938 Merge branch 'master' of https://github.com/olive-editor/olive 2020-10-23 01:26:49 +11:00
itsmattkc 917738d1de Merge branch 'master' into otio 2020-10-22 20:26:16 +11:00
Thomas Wilshaw 4ddc659335 MediaInput: Rename streams access methods.
Change MediaInput::footage() to MediaInput::stream() and
MediaInput::SetFootage() to MediaInput::SetStream() as they access
streams not footage.

Also update all instances of access methods to reflect this change.
2020-10-19 15:50:36 +01:00
itsmattkc db8d321fa7 project: improved loading and footage importing 2020-10-19 14:41:01 +11:00
itsmattkc 221e0efb96 timeline: fix double free on items
Who the hell wrote this? It's all wrong for no reason and makes no sense

Fixes #1222
2020-10-10 20:24:41 +11:00
itsmattkc 0d102defab tracks: use node label instead of separate name string 2020-10-10 20:17:25 +11:00
itsmattkc 6e8295666d timeline: optimized rubberband selections 2020-10-10 17:22:04 +11:00
itsmattkc ae8af531a9 timeline: removed cursor setting from block item (how did this get here?) 2020-10-10 17:21:47 +11:00
itsmattkc 2d93e82489 timeline: reworked rubberband 2020-10-06 00:20:54 +11:00
itsmattkc 787ea1d548 Merge branch 'master' into ui-optimizations 2020-10-05 15:19:57 +11:00
itsmattkc dfe7b80bf3 timeline: hide snap points if the tool changes 2020-10-03 23:10:10 +10:00
itsmattkc 90199b7b57 timeline: updated selection changes for trimming and rippling 2020-10-03 22:59:07 +10:00
itsmattkc 6e417d0ad6 timeline: made ghosts a foreground drawn object
Minor optimization, minor UI improvement, somewhat more manageable code.
2020-10-03 22:40:03 +10:00
itsmattkc a8d714b6e2 timeline: moved tools to separate source files 2020-10-03 22:33:29 +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 4204910796 nodes: link edges to IDs rather than objects
Allows code to know whether the connected parameters has been removed or
not.
2020-10-02 16:04:50 +10:00
itsmattkc 2fb7066155 nodes: allow stalling graph signals until an operation is over 2020-10-02 13:25:49 +10:00
Thomas Wilshaw 9d27d557cd Replace custom unlink with BlockUnlinkAllCommand
Re-use existing unlink command and move all the unlinking code to
NodeRemoveCommand to cover all bases (deletion of a block in the
timeline or in the node editor).
2020-09-30 18:14:11 +01:00
itsmattkc dac68cabc2 timeline: made ReplaceBlocksWithGaps more accessible for other parts of the program 2020-09-28 14:28:56 +10:00
itsmattkc a313fb525c use QGraphicsView::FullViewportUpdate on TimelineViewBase
Since this appears to be necessary for all derivatives anyway, we'll add
this directly to the base class.
2020-09-28 14:21:17 +10:00
itsmattkc 6db591e89f footage: merge video and image streams and improve image sequence import process
Image streams were initially separated from video streams, but they're now
joined with a parameter defining if they're a still image, image sequence,
or regular video. The image sequence import process has also improved so
that if images from the same sequence are imported too, they'll either be
ignored or the user won't be asked again for those if they should be an
image sequence (fixes #1193). Also shifts decoder "probe" process to return
an item, useful if the decoder returns a non-footage item.
2020-09-26 19:45:07 +10:00
itsmattkc 9c488d9a37 timeline: use full viewport update
Fixes #1190
2020-09-18 12:59:16 +10:00
itsmattkc f0928814fc track: store height in "units" rather than pixels
Fixes DPI scalability issue if a project ever moved from a display with
one DPI to another.
2020-08-22 00:23:46 +10:00
itsmattkc d99a8e9005 timeline: refactored "replace with gap" command fixed bug
Fixes an unfortunate bug that restored blocks in the wrong order and leads
to a segfault if you continue undoing beyond that point.
2020-08-20 13:40:58 +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 d5dce29b22 cache: merged cachetask and footagecache into one precache task
Since the actual auto-cache now happens elsewhere, this cleans up a lot of
dead code.
2020-08-05 23:45:18 +10:00
itsmattkc 07a3216a1f timeline: if an item is selected while deleted, emit the deselection signal 2020-08-05 01: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 86b66004b0 ui: removed last of the widget proxies 2020-07-23 23:11:00 +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 c76b25a17a timeline: tools don't need to call move in the release function
I had thought that the cursor may still have moved between the last
mouseMoveEvent and the mouseReleaseEvent, but that turns out to be false
making it completely unnecessary to call move functions in the release
function.
2020-07-23 01:29:04 +10:00
itsmattkc ce353ccbed timeline: various work to improve timeline behavior, particularly when dealing with transitions 2020-07-22 18:09:57 +10:00