itsmattkc
877e8d3afc
curveview: ensured curveview is updated with the correct length and playhead
2020-04-29 01:26:09 +10:00
itsmattkc
a412e26d66
panels: fixed bug that added panel to list twice and led to double-free
2020-04-29 00:01:50 +10:00
itsmattkc
ad419754a9
waveformscope: fixed double free on close
2020-04-28 17:40:22 +10:00
itsmattkc
4906bb7d53
scopes: don't use shared context
...
OpenGL shared contexts (through Qt at least) seem to be buggy. Scopes have been
shifted to a non-shared approach as a result.
2020-04-28 17:08:52 +10:00
itsmattkc
9c4999cfae
curvepanel: reconfigured to be a spawnable child of NodeParamView
2020-04-27 00:04:07 +10:00
itsmattkc
8c44f8d03d
viewer/various: split off color management into separate base class
...
Also moves scopes to said base class.
2020-04-24 03:45:07 +10:00
itsmattkc
0ced48d4df
histogram: implemented color management
2020-04-21 01:59:06 +10:00
itsmattkc
bdb13e88f5
histogram: implemented histogram widget
2020-04-21 01:29:08 +10:00
itsmattkc
6f4bf70d3e
scope: implemented waveform scope
2020-04-20 22:58:29 +10:00
itsmattkc
84e73395ff
panels: implement a small margin on all panels to ensure the focus border is always visible
2020-04-20 18:06:50 +10:00
itsmattkc
2849ae210c
timeline/viewer: reimplemented "play in to out" and "loop"
2020-04-19 17:22:32 +10:00
itsmattkc
63c194896d
core: implemented yes/no to all when closing multiple modified projects
2020-04-19 03:29:39 +10:00
itsmattkc
d232e035f5
mainwindow/project: implemented saving/restoring panel state to project file
2020-04-19 02:25:02 +10:00
itsmattkc
2716cfa7f5
panels: enforced setting an object name by using a mandatory constructor parameter
2020-04-19 01:35:48 +10:00
itsmattkc
55dcf0f5fd
projectexplorer: added functionality for opening a folder in another tab/window
2020-04-19 01:11:50 +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
78c3c10e5f
timeline: reimplemented deleting/ripple deleting the in/out region
2020-04-17 01:41:20 +10:00
itsmattkc
df5b66c3c7
nodeparamview: show connections in the param view
2020-04-17 01:07:13 +10:00
itsmattkc
a5c1de6df3
timebasedwidget: implemented go to in/out
2020-04-17 00:20:16 +10:00
itsmattkc
ca071beb33
Merge branch 'master' of https://github.com/olive-editor/olive
2020-04-16 12:21:09 +10:00
itsmattkc
9cc4349054
timebasedwidget: re-implemented toggle show all function
2020-04-15 15:31:54 +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
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
edc38ad8a2
timeline: implemented adding objects in the timeline (e.g. solid, title)
2020-04-06 00:05:09 +10:00
itsmattkc
1319d7141f
viewer: re-implemented auto viewer full screen from menubar/keyboard shortcut
2020-04-01 19:22:53 +11:00
itsmattkc
6ea6dd810e
pixelsampler: added pixel sampler panel
...
When visible, this panel will show the current reference and display transformed
color under the cursor of any viewer.
2020-04-01 16:57:10 +11:00
itsmattkc
061f7ac20d
mainwindow: show active project filename in the titlebar
2020-04-01 13:19:18 +11:00
itsmattkc
b54388894c
project: implemented the ability to delete items from projects
2020-03-28 12:33:28 +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
3b8743a0ce
timeline: show timecode on block items and started copy function
2020-03-23 15:28:58 +11:00
itsmattkc
51f02ea01b
viewer: allow switching open sequences
2020-03-21 22:18: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
1c4411a4ad
timebasedwidget/timeruler: reimplemented creating and displaying markers
2020-03-14 23:03:27 +11:00
itsmattkc
dc37389d02
timeline: implemented in/out points
2020-03-08 01:06:45 +11:00
itsmattkc
38a30b584a
timeline: implemented some base ripple delete functionality
2020-03-07 18:07:55 +11:00
itsmattkc
0bca86e3c7
panels: allow insert and overwrite from footageviewerpanel too
...
Makes FootageViewerPanel and ProjectPanel derive from a common base that
TimelinePanel searches for when looking for a source to insert/overwrite from.
2020-03-03 20:26:01 +11:00
itsmattkc
2f7819d0ae
timeline: use similar reverse strategy for inserting/overwriting from
...
the most recently focused project panel
2020-03-03 20:13:58 +11:00
itsmattkc
9b73892c41
ui: implemented keyboard controls for inserting/overwriting footage into the
...
timeline
Allows users to use the keyboard to place footage into the timeline rather than
forcing them to drag.
2020-03-03 20:03:50 +11:00
itsmattkc
bf7fc9a0c4
panels: selecting a clip in the timeline automatically selects the corresponding
...
nodes in the nodeview
2020-02-26 00:39:30 +11:00
itsmattkc
0a74714f5d
nodeview/nodepanel: implemented select all/deselect all functionality
2020-02-23 11:38:30 +11:00
itsmattkc
6facdc1f1b
projectpanel/projectexplorer: added select all/deselect all functionality
2020-02-23 11:33:49 +11:00
itsmattkc
0e7b051228
timelinewidget: show cache status in timeline too
2020-02-22 14:45:50 +11:00
itsmattkc
c0360abee1
toolpanel: override Retranslate()
2020-02-01 22:28:14 +11:00
itsmattkc
2fef893fd0
panels: override Retranslate() rather than reimplementing changeEvent() in every derivative
2020-02-01 22:11:14 +11:00
itsmattkc
17c1493aa7
all time-based panels are now derived from a common base class
...
Cuts down on a lot of duplicate code between
TimelineWidget/ViewerWidget/CurveWidget/NodeParamView
and TimelinePanel/ViewerPanel/CurvePanel/ParamPanel since they all use similar
time functions.
2020-02-01 19:39:43 +11:00
itsmattkc
24f7eeb210
renderer: implemented function to wait for workers in the main thread
...
The workers run in separate threads meaning if any significant change is made
(e.g. parameters changing, or even closing the program), these workers may still
be mid-render. This is particularly problematic when closing since the nodes a
worker is rendering may be deleted mid-render. Render backends now have a
function that pauses the main thread (but starts a second event loop so the UI
isn't frozen) until the worker threads are all finished. This way, massive
changes can be made safely without race conditions.
2020-01-22 17:11:17 +11:00
itsmattkc
c6710b1359
correctly update the panel subtitles based on the media connected
2020-01-16 14:57:16 +11:00
itsmattkc
00b5672639
implemented saving UI
...
Implemented the file dialog, save progress dialog, and separate thread to save
in (saving needs to be done in a separate thread so the main/GUI thread doesn't
get blocked).
2020-01-12 16:26:05 +11:00