Commit Graph
1677 Commits
Author SHA1 Message Date
itsmattkc b9359ce50d nodeparamview/viewer: improved gizmo selection system 2020-09-30 00:32:40 +10:00
Thomas Wilshaw 7704e00443 Cleanup 2020-09-29 14:14:21 +01:00
Thomas Wilshaw 56e2b51041 Add filename to warning message. 2020-09-29 14:03:25 +01:00
Thomas Wilshaw a71df11fa6 Deal with composite blocks
If a block relies on mulitple inputs (i.e. a composite) then don't
delete these from the timeline. We catch these inputs afterwards.
2020-09-29 13:29:59 +01:00
Thomas Wilshaw 791857fba1 Cleanup. 2020-09-29 12:03:01 +01:00
Thomas Wilshaw 8e6b42a160 Simplify and clean up
Remove the Undo code for deleting a clip and replace it with simpler
parent/child undo relationship.

Move block gathering code to seperate function. It's quite brute
force and might lead to issues further down the line with more
complex composited node setups.
2020-09-29 11:31:03 +01:00
Thomas Wilshaw aef9078598 Fix delete redo code 2020-09-29 10:56:30 +01:00
itsmattkc fec9774935 curveview: finished rework 2020-09-29 16:41:12 +10:00
Thomas Wilshaw 92db735022 Add Delete functionality. Still buggy. 2020-09-29 00:06:38 +01:00
itsmattkc 610f4c54fe various: began heavy rework of curve view to link closely with param view 2020-09-29 00:42:16 +10:00
Thomas Wilshaw 602f96b2b6 Cleanup comment 2020-09-28 14:33:58 +01:00
Thomas Wilshaw 5bb9cb0cca Make Offlining footage an UndoCommand
Created a new UndoCommand in ProjectViewModel that set the footage
input to a nullptr and resets it to the correct stream on undo.
2020-09-28 14:33:58 +01:00
Thomas Wilshaw c1e345611d Cleanup. 2020-09-28 14:33:56 +01:00
Thomas Wilshaw 0f1d4ec1b8 Make sure image sequences are caught. 2020-09-28 14:33:55 +01:00
Thomas Wilshaw 0e272b6bba Cleanup and add warning message. 2020-09-28 14:33:54 +01:00
Thomas Wilshaw 3ed0cb2ab9 Move search code to seperate function. 2020-09-28 14:33:54 +01:00
Thomas Wilshaw 7c7db5c933 Check footage in use before deleteing
Initial very hacky implementation that checks if the footgae is in
use before deleting it and makes sure all refernences to it are
properly cleaned up.

Also added IsMedia() function to Node to simplify things a bit.
2020-09-28 14:33:53 +01:00
itsmattkc dc56dc1d60 nodeparamview: implemented pinning 2020-09-28 21:50:55 +10:00
itsmattkc 4c30773fd4 nodeparamview: reworked based on QMainWindow for docking functionality 2020-09-28 19:55:18 +10: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 d69e478a62 paramview: ensure item time target is set upon creation
Fixes #1213
2020-09-23 01:44:11 +10:00
itsmattkc 871bc08c12 Revert "renderer: if texture is null, don't allocate a frame unless exporting"
This reverts commit 8e0c86a6fa.

Fixes #1209
2020-09-21 17:28:28 +10:00
itsmattkc 8e0c86a6fa renderer: if texture is null, don't allocate a frame unless exporting 2020-09-19 12:53:07 +10:00
itsmattkc 7bc841904a viewer: display image infinitely if video length is null
Allows for displaying still images in viewer without a finite length.
2020-09-19 12:52:50 +10:00
itsmattkc 855c460ff3 footageviewer: use sequence functions to set video/audio params
Code improvement by re-using existing code. Existing code prevents crash
when loading a still image.
2020-09-19 12:30:42 +10:00
itsmattkc 3103359cd6 slider: fixed crash when clicking another mouse button while dragging 2020-09-18 23:49:40 +10:00
itsmattkc 9c488d9a37 timeline: use full viewport update
Fixes #1190
2020-09-18 12:59:16 +10:00
itsmattkc 4f65e83322 gcc: fixed shadowed parameter 2020-09-06 18:33:22 +10:00
itsmattkc 83c7596038 viewer: extended scrolling/panning functionality 2020-09-06 17:40:53 +10:00
itsmattkc ba64313dd7 Merge branch 'issue_70' of https://github.com/ThomasWilshaw/olive into ThomasWilshaw-issue_70
# Conflicts:
#	app/widget/viewer/viewerwindow.cpp
2020-09-06 17:40:14 +10:00
itsmattkc 1334c04235 viewer: return if no viewer is connected
Minor improvement
2020-08-31 15:20:31 +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 9aabde303e nodeview: added arrows to indicate a node can be expanded
Minor UI detail. Also slightly increases the size of node items and adds
"short names" to the video input and audio input nodes.
2020-08-21 15:15:39 +10:00
itsmattkc 416ba8e2b2 viewer: ensure pixel aspect and interlace parameters are sent to viewer windows too 2020-08-20 19:34:09 +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
Thomas Wilshaw 8682b1e678 Merge master into branch 2020-08-17 18:42:58 +01:00
itsmattkc ec8b046f02 viewer: implemented basic deinterlace
Implements a very basic GLSL deinterlace that simply halves the vertical
resolution and then interpolates between the fields. This can be toggled
on or off.

The reasons for being so basic is:
- Speed, very quick code running in OpenGL
- It would seem the highest quality deinterlacers are temporally based
  which doesn't make much sense for the viewer, particularly since we can't
  double the frame rate since our timecode is fixed to the frames.

Higher quality interlacing/deinterlacing will be present in the actual
renderer.
2020-08-11 02:02:50 +10:00
itsmattkc 75b4bfe57e viewer: clear current render queue before creating next queue
Hilariously, the queue was being cleared right after it was being set
thus cancelling the whole operation out. This has now been fixed.
2020-08-11 01:02:14 +10:00
itsmattkc 5723690a21 playbackcontrols: set play button policy to QPushButton default
Minor cosmetic improvement.
2020-08-10 17:27:32 +10:00
itsmattkc 70085588d6 audiomonitor: fixed bug where audio was shown at normal speed even if playing faster 2020-08-10 17:12:39 +10:00
itsmattkc 28dcff10c0 various: implement sequence pixel aspect ratios and interlacing settings
Implements the following:
- Sequences have pixel aspect ratios that work in tandem with footage PARs
  to render footage correctly. Viewer and export also acknowledge PARs
- Sequences can have interlacing settings. This doesn't do anything yet,
  eventually the renderer will need to interlace/deinterlace/reinterlace
  appropriately in order to conform all the footage to the sequence. Export
  acknowledges interlacing, but this only affects metadata, not the image.
2020-08-10 01:47:26 +10:00
itsmattkc edeeed49ba various: enabled config saving 2020-08-08 02:44:39 +10:00
itsmattkc aa31f8ac97 fixed shadowed parameter 2020-08-07 22:46:07 +10:00
itsmattkc e45174cf51 Merge branch 'histogram-updates' of https://github.com/sobotka/olive into sobotka-histogram-updates 2020-08-07 20:32:35 +10:00
itsmattkc 991f430cc8 Merge pull request #1155 from sobotka/waveform-updates
Waveform Updates
2020-08-07 20:18:30 +10:00
itsmattkc c6dd0e0204 nodeview: select on right click 2020-08-07 20:17:01 +10:00
itsmattkc df14c2aaa7 cache: better implemented changing disk cache folders
Not complete yet, but getting there.
2020-08-07 02:31:46 +10:00