Simran Brucherseifer
5da9848de7
Upgrade shaders from GLSL 110 to 150 (OpenGL 3.2)
2020-04-22 11:28:33 +02:00
itsmattkc
258f83d5d3
node: fixed bug that failed to load some default values from shader xml
2020-04-22 18:13:53 +10:00
itsmattkc
db117e0780
mathnode: increased decimal places
...
Also includes general improvements to the slider widget such as an optional
"autotrim" function to cut off trailing zeroes, a "format" string that's easier
to internationalize, and general tidiness.
2020-04-22 17:49:32 +10:00
itsmattkc
9db82ddc2e
timeinput: fixed broken ID
2020-04-20 18:55:52 +10:00
itsmattkc
cb14af326c
removed opacity node
...
This node has been superseded by the math node since it essentially functions
as a multiply.
2020-04-20 17:48:35 +10:00
itsmattkc
9d9825d8e1
trackviewitem: receive signal when mute is changed from another source
2020-04-19 16:26:48 +10:00
itsmattkc
410f3d25dc
fixed menu bugs introduced in f2bff5f150
...
Turns out setting a QMenu parent *not* in the constructor leads to very strange
behavior. All parents are now set in the constructor.
2020-04-19 16:19:08 +10:00
itsmattkc
f2bff5f150
menu: ensure all addMenu() calls are followed with setParent() calls
...
Ensures memory taken by creating a new menu is freed.
2020-04-19 01:26:54 +10:00
itsmattkc
a796cb2c13
nodeparamview: separated the NodeParamView body into a separate widget for nesting
...
Will allow display of NodeInputArrays.
2020-04-18 23:28:11 +10:00
itsmattkc
d3b71e6576
nodes: color management when setting color parameters is now preserved
2020-04-18 17:43:37 +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
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
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
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
cb6c054b8d
trigonometrynode: implemented trigonometry node
2020-04-15 02:41:20 +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
e5ac9d48a6
mathnode: added path for math between a texture and a matrix
2020-04-14 23:07:00 +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
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
c4b11c7bd1
nodevalue: return a null qvariant instead of 0 if there is no matching value in the table
2020-04-04 19:04:44 +11:00
itsmattkc
a21e7b1e77
nodeinput: implemented color
...
Implements converting color to and from string, keyframing color, and
conversion between the class and its keyframe tracks.
2020-04-04 04:19:24 +11:00
itsmattkc
f1423c169c
nodeparam: move ValueToBytes color from QColor to our new Color class
2020-04-04 04:18:43 +11:00
itsmattkc
0752b75682
mathnode: disable method keyframing and connecting
...
There's probably no situation where these would need keyframing/connecting.
2020-04-04 04:12:16 +11:00
itsmattkc
c9c9bd5174
metareader: use NodeInput's StringToValue/ValueToString when reading default values from XML
2020-04-04 04:11:20 +11:00
itsmattkc
11f962d6b3
media nodes: moved video/audioinput category to media base
...
They both have the same category, so they can share the same code in their base.
2020-04-03 23:28:03 +11:00
itsmattkc
3dd91a1429
timenode: implemented timenode to allow values to be connected to time
2020-04-03 23:27:38 +11:00
itsmattkc
f3290003be
colordialog/wheel/gradient: implemented basic UI components for color picking
2020-04-02 13:02:30 +11:00
itsmattkc
1363d2b94c
mathnode: expanded math node
...
Implemented handling of various different types.
2020-04-01 05:21:50 +11:00
itsmattkc
6f0d72c05d
renderer: switched audio rendering over to planar buffers
...
While planar audio cannot be used for playback, it's much easier for processing.
This should lead to cleaner and easier to write code in the future.
2020-03-31 18:01:20 +11:00
itsmattkc
18c36155d7
Merge branch 'master' into mathnode
2020-03-31 02:39:46 +11:00
itsmattkc
a855dea8de
timeline/project: block serializations to and from xml now include links
...
Fixes issue where blocks would become unlinked after copy/paste or save/load.
2020-03-31 02:38:14 +11:00
itsmattkc
2bda306866
timeline/various: implemented block copy/paste
...
Implemented the ability to copy/paste blocks/clips in the timeline. This did
require some large scale changes and reworking of the copy/paste system
introduced a few commits ago, but should be largely functional now.
2020-03-31 02:19:05 +11:00
itsmattkc
a143b64ac7
block: don't send cache invalidation signals from length changes
...
Minor optimization.
2020-03-30 15:11:32 +11:00
itsmattkc
2544c5e832
mathnode: added support for adding samples together
2020-03-29 03:29:18 +11:00
itsmattkc
7100d00060
nodes: made changes to the node system to allow for context sensitive shader code
...
Primarily implemented for the math node so a new shader can be generated and
compiled based on what inputs the node is receiving.
2020-03-29 03:11:30 +11:00
itsmattkc
52acb272bf
mathnode: added parameters
2020-03-29 00:22:44 +11:00
itsmattkc
48d8c8f242
Merge branch 'master' into mathnode
2020-03-28 18:10:38 +11:00
itsmattkc
7bca61608a
node: added qstringliterals to node IDs
...
Minor code optimization.
2020-03-28 18:02:34 +11:00
itsmattkc
938527b9fe
mathnode: began math node
2020-03-28 17:51:35 +11:00
itsmattkc
3399227b3a
keyframeview: implemented transforming keyframe times to and from sequence time
...
Since the node graph can have transform cross nodes, input keyframes may occur
at a different times requiring transforming between sequence time and media
time. This commit implements such a mechanism in all UI classes that need it.
2020-03-26 19:17:46 +11:00
itsmattkc
c5d3c4ff36
node: implemented convenience functions for transforming time
...
Implements a function that calculates the time transformation(s) only between
one node and another.
2020-03-26 00:26:13 +11:00
luz.paz
4e1cd870a9
Fix typos cont.
2020-03-21 13:46:38 -04:00
itsmattkc
e5ac72fa9d
Merge branch 'master' into typos
2020-03-19 12:16:09 +11:00
itsmattkc
a1f5c85f49
various: use simpler/smarter XML reading functions
...
Should address any XML parsing issues and allows for simpler, more maintainable
code. Should also address a crash that could occur when pasting nodes that had
inputs that weren't copied.
2020-03-17 02:38:17 +11:00
itsmattkc
34f60e639a
nodeview: implemented copying/pasting nodes
...
Re-uses XML-based project saving/loading functions to store nodes, their
parameters, and their connections in a text-based format in the clipboard.
2020-03-15 20:01:58 +11:00
itsmattkc
02e7c68104
timeline: reimplemented linking/unlinking functionality
2020-03-15 13:41:46 +11:00
itsmattkc
b57b091ca4
timeline: auto-unlink blocks when they're deleted
2020-03-15 13:15:36 +11:00