itsmattkc
2f80be437a
node: fixed issue with "taking" values from input tables
...
As opposed to simply leaving all values in the table, nodes can now "take"
values that they use to free up memory (e.g. "taking" input buffers if they're
used to produce an output buffer).
This is a fairly large change, expect regressions.
2020-04-16 23:12:05 +10:00
itsmattkc
cc8699c0bc
colordialog: don't clamp values
2020-04-16 15:26:05 +10:00
itsmattkc
8656b79319
opacitynode: switch view to percent rather than as a normal number
2020-04-16 14:54:46 +10:00
itsmattkc
b4795c0222
blur: merged box and gaussian blurs into one node
...
While these are two separate blur effects, merging them into one node will
allow quick swapping of blur methods.
2020-04-16 13:17:30 +10:00
itsmattkc
61654e8127
Merge branch 'master' of https://github.com/olive-editor/olive
2020-04-16 12:23:52 +10:00
eszlari
a5a10ed03d
Linux/.desktop: add %f
2020-04-16 12:23:34 +10:00
itsmattkc
290c8724c4
Merge pull request #1131 from luzpaz/typos-followup
...
Fix typos cont.
2020-04-16 12:21:45 +10:00
itsmattkc
ca071beb33
Merge branch 'master' of https://github.com/olive-editor/olive
2020-04-16 12:21:09 +10:00
itsmattkc
32969d2403
colordialog: updated to show input/reference/display values
2020-04-15 18:11:46 +10:00
itsmattkc
9cc4349054
timebasedwidget: re-implemented toggle show all function
2020-04-15 15:31:54 +10:00
itsmattkc
2610d58ae3
footagecombobox: fixed bug where footagecombobox would display null on first showing
2020-04-15 03:59:46 +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
7ea8c52c78
/nodeparamviewwidgetbridge: block combobox signals when updating from node
...
Prevents unnecessary re-caching caused by the combobox signalling that its
value has changed when we're really just setting the value that the node already
has.
2020-04-15 02:52:24 +10:00
itsmattkc
07dfe1c364
solid shader: moved from generator to input category
2020-04-15 02:52:12 +10:00
itsmattkc
cb6c054b8d
trigonometrynode: implemented trigonometry node
2020-04-15 02:41:20 +10:00
itsmattkc
c09d83291e
nodeparamviewwidgetbridge: empty combobox entries are separators
2020-04-15 02:41:05 +10:00
itsmattkc
c761403ba4
mathnode: override texture x matrix op
2020-04-15 02:07:48 +10:00
itsmattkc
a0a7d106dc
mathnode: implemented add/subtract/multiply/divide/power functions
...
Includes implementing combobox UI for the NodeParamViewWidgetBridge.
2020-04-15 01:52:24 +10:00
itsmattkc
fd1ecfae6f
audio: removed hardcoded stereo value
...
Fixes bug that caused AudioMonitor to only show two channels regardless of the
actual number of channels being mixed.
2020-04-14 23:55:28 +10:00
itsmattkc
2646d424d8
sequence: fixed broken detection of audio channel layouts when setting params from footage
2020-04-14 23:49:48 +10:00
itsmattkc
9f7a9d85b4
ffmpegdecoder: fixed deadlock on non-video streams
2020-04-14 23:42:31 +10:00
itsmattkc
6046b1e892
timeline: fixed bug that prevented clips from being dragged to lower tracks
2020-04-14 23:36:59 +10:00
itsmattkc
d8df104c35
keyframeviewbase: for one-dimensional views, if multiple keys are at the same time, select all of them
2020-04-14 23:26:59 +10:00
itsmattkc
e5ac9d48a6
mathnode: added path for math between a texture and a matrix
2020-04-14 23:07:00 +10:00
itsmattkc
a2f954a0a7
memorypool: implemented arenas
...
A pool can allocate/destroy any amount of arenas during runtime, meaning it
won't run out of memory but we still get the advantages of one large allocation
as opposed to hundreds of small allocations.
2020-04-14 16:23:45 +10:00
itsmattkc
feceef0d62
ffmpegdecoder: impose limit on memory frame cache
2020-04-14 15:16:38 +10:00
itsmattkc
9cc343bf13
ffmpegdecoder: share framepool with all instances
...
We can conserve memory by sharing our frame pool amongst instances of the same
stream.
2020-04-14 14:51:31 +10:00
itsmattkc
b3bebeeef3
decoder: removed unused destructor
...
Very old unused code.
2020-04-14 14:51:15 +10:00
itsmattkc
9a25064b00
memorypool: placed mutex around get and release functions
...
Makes all memory pool derivatives effectively thread-safe.
2020-04-14 14:50:37 +10:00
itsmattkc
7bfdf8af7c
ffmpegframepool: implemented functional frame pool
...
Includes splitting off core functionality to a base MemoryPool class that can
be re-used later if necessary.
2020-04-14 02:43:12 +10:00
itsmattkc
2eb03bf386
various: removed constructor.h include
2020-04-14 00:53:25 +10:00
itsmattkc
6bb972b4db
decoder: began implementation of a frame pool
2020-04-13 23:44:42 +10:00
itsmattkc
5c927ce7a4
core: merged define and constructor headers
2020-04-13 23:44:18 +10:00
itsmattkc
f80a82459b
ffmpegdecoder: clear cache_at_zero flag if frames are removed
2020-04-13 13:24:30 +10:00
itsmattkc
aac47ba776
viewer: re-queue video renderer even when beyond the length
...
Ensures video renderer always renders where the playhead is.
2020-04-13 13:19:08 +10:00
itsmattkc
cdf5a1058d
ffmpegdecoder: re-use existing frame pool for memory management
2020-04-12 14:12:08 +10:00
itsmattkc
fa16d2169b
videorenderbackend: render sequentially rather than outwards
2020-04-12 02:11:55 +10:00
itsmattkc
4d8af6855f
ffmpegdecoder: made all instances shared
...
Decoders now share instances between them and can interact with other threads
to share resources and continue the work of others.
2020-04-12 01:49:10 +10:00
itsmattkc
e6b47a817c
ffmpegdecoder: separated instance from decoder entity
...
Should allow for different decoders in different threads to share a single
instance.
2020-04-11 17:37:52 +10:00
itsmattkc
a8fbe686e2
openglrenderer: retrieve frame in each worker thread rather than in the proxy thread
...
Since we now have decoders in each thread, we can parallelize by retrieving
frames in each thread as well.
2020-04-11 17:37:00 +10:00
itsmattkc
f08734d18e
index/confirm tasks: these tasks no longer need to open the decoder to perform said tasks
2020-04-11 17:36:16 +10:00
itsmattkc
ce7fa12520
ffmpegdecoder: implemented basic decoder crosstalk
2020-04-11 13:18:44 +10:00
itsmattkc
0c3ce03348
renderer: use a dedicated decoder per thread
2020-04-11 13:18:31 +10:00
itsmattkc
4cb02b6769
core: set config defaults a second time before loading
...
Works around an issue where media cache directories would be set before the
app name is set (which Qt uses to return the local appdata dirs used to
set the cache directories).
2020-04-08 02:03:46 +10:00
itsmattkc
f5a9dee139
exportdialog: added elapsed/remaining time indicator
2020-04-08 01:48:03 +10:00
itsmattkc
7bc7b6098b
ui: moved remaining QMenus to our Menu class
...
Mainly to take advantage of Menu's specific styling on certain platforms to
keep a consistency.
2020-04-08 00:46:30 +10:00
itsmattkc
6d6b2b237e
projectexplorer/mainwindow: close sequence if it's open before deleting it
2020-04-07 03:11:50 +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
9f89f57090
track: when length changes, force the new area to invalidate
...
The track limits cache invalidation signals to the length of the track. On some
platforms, if a block length was changed to the point that it changed the
track length, the track length would change AFTER the cache invalidation and
therefore never end up getting rendered.
This commit ensures that when a track's length changes, the new section is
invalidated regardless of ordering.
2020-04-07 02:34:59 +10:00
itsmattkc
ee5d47a53f
viewer: check if file exists before passing to OIIO
...
This is valid in our system and suppresses OIIO message when files do not exist.
2020-04-06 23:39:19 +10:00