Commit Graph
868 Commits
Author SHA1 Message Date
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
itsmattkc b9359ce50d nodeparamview/viewer: improved gizmo selection system 2020-09-30 00:32:40 +10:00
itsmattkc fec9774935 curveview: finished rework 2020-09-29 16:41:12 +10:00
itsmattkc 610f4c54fe various: began heavy rework of curve view to link closely with param view 2020-09-29 00:42:16 +10: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 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
itsmattkc 02c0fb7316 nodeview: automatically deselect blocks that have been removed
Fixes segfault attempting to access and select an item that's already been
removed.
2020-08-05 23:56:42 +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 07a53d45f0 renderer: updated audio waveform generated for new cache overhaul 2020-08-05 22:32:24 +10:00
itsmattkc c8def73b95 cache: mild auto-cache overhaul
Shifted from CacheTask to functionality built into RenderBackend. It was
a lot easier to control behavior this way without having to juggle a ton
of threads and race conditions.

Could likely be multithreaded further.
2020-08-05 02:19:04 +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 fb05594b50 various: allow setting footage aspect ratios
We had support for detecting aspect ratios and respecting them in the
render, but this allows people to not only see the aspect ratio in use,
but also override it with their own.
2020-07-25 00:58:01 +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