Commit Graph
826 Commits
Author SHA1 Message Date
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 c09d83291e nodeparamviewwidgetbridge: empty combobox entries are separators 2020-04-15 02:41:05 +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 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 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 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 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
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 59fa80ae57 ui: on windows, use native menus
Minor UI improvement for Windows users.
2020-04-06 00:14:36 +10:00
itsmattkc edc38ad8a2 timeline: implemented adding objects in the timeline (e.g. solid, title) 2020-04-06 00:05:09 +10:00
itsmattkc 0acad08887 timeline: unlink clip if it is completely overwritten 2020-04-05 23:19:55 +10:00
itsmattkc 5e66508f3c curveview: color code keyframe tracks when more than one is present 2020-04-05 23:15:47 +10:00
itsmattkc 9133bbe632 curveview: implemented keyframe tracks
I'm not sure why this wasn't implemented before, but as a pretty integral part
of the keyframe system, now it is.
2020-04-05 20:19:46 +10:00
itsmattkc 6ea52e4123 audio renderer/timeline: pass through channel count of waveform visualizations 2020-04-05 19:59:14 +10:00
itsmattkc 55c86f6cb6 viewer: removed framebuffer that never got used
This framebuffer was an early approach to the pixel sampler that never got
used, but was still getting created/destroyed unnecessarily. This has now
been removed.
2020-04-04 14:11:16 +11:00
itsmattkc 87b8713b5e colorbutton: implemented management for the color that this button displays 2020-04-04 04:17:34 +11:00
itsmattkc 0801488c89 nodeparamviewwidgetbridge: implemented setting and receiving color 2020-04-04 04:16:49 +11:00
itsmattkc 378c354277 nodeview: improved nodeview usage
Rather than the cumbersome and small "node connectors" (introduced a while ago
when nodes had more than one output), this is a more streamlined system of
connecting nodes (hold Ctrl and drag to connect)
2020-04-03 08:34:47 +11:00
itsmattkc e1ca5f2f82 various: removed hardcoded OCIO::ROLE_SCENE_LINEAR to allow for a configurable reference space 2020-04-03 01:30:47 +11:00
itsmattkc 552163320c colorpicker: implemented color management
Also moves some items to ColorManager from Project for better accessibility and
re-uses some widgets in ExportDialog for improved code.
2020-04-03 01:23:08 +11:00
itsmattkc 4d0b8f18e2 colordialog/picker/wheel: finished color picker UI
Dialog is still unmanaged, but that's the only remaining step.
2020-04-02 19:26:30 +11:00
itsmattkc a2ed1035da Merge branch 'master' into colorpicker 2020-04-02 15:30:55 +11:00
itsmattkc bfbb2e3fef msvc: fixed compile/syntax error that only seems to occur in msvc 2020-04-02 13:09:21 +11:00
itsmattkc f3290003be colordialog/wheel/gradient: implemented basic UI components for color picking 2020-04-02 13:02:30 +11:00
itsmattkc 3bec108fee Merge branch 'master' into colorpicker 2020-04-01 19:30:24 +11:00
itsmattkc 920a0a27a7 menu: set keyboard shortcuts to application-wide so they continue to work in
viewerwindows
2020-04-01 19:29:41 +11:00
itsmattkc 1319d7141f viewer: re-implemented auto viewer full screen from menubar/keyboard shortcut 2020-04-01 19:22:53 +11:00
itsmattkc ed48d24cbc viewerwindow: implemented displaying a viewer image fullscreen on another monitor
Implements an extra widget to display images on a separate monitor. Both
viewers have separate display color controls since different monitors may
conform to different standards/transforms.
2020-04-01 19:21:25 +11:00
itsmattkc bcc8eaee55 colordialog: began widgets and dialogs for a managed color picker 2020-04-01 17:57:19 +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 76f260cb3a timeline: added ability to move clips by sample in addition to by frame 2020-04-01 13:55:19 +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 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 53955e9632 timeline: fixed array index out of bounds bug 2020-03-31 02:23:00 +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 67d8ad571d timeline: remove blocks from timeline if a place command has overwritten them 2020-03-30 18:06:02 +11:00
itsmattkc 6624f14517 timeline: temporarily disable optimization that doesn't re-cache after split
Since waveforms are generated during the cache process, if clips don't cache,
a waveform isn't generated for them. Therefore for now, this optimization will
be disabled but should be re-enabled later when waveforms are improved to handle
this situation.
2020-03-30 15:14:06 +11:00
itsmattkc 5aa4f91c46 timelineviewblockitem: fixed some indentation
Minor code tidiness.
2020-03-30 15:13:17 +11:00
itsmattkc 2bfe9f44df nodeview: added ctrl+scroll zooming 2020-03-30 01:27:10 +11:00
itsmattkc b54388894c project: implemented the ability to delete items from projects 2020-03-28 12:33:28 +11:00
itsmattkc b40dd761f5 projectexplorer: cache first selected item for context menu operations
Minor optimization.
2020-03-28 11:36:05 +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 592171cc31 keyframeviewbase: use existing function to access variable rather than changing the variable's visibility
Improved class encapsulation.
2020-03-26 00:38:25 +11:00
itsmattkc a75e8fcde5 timebasedwidget: don't update the viewer if it's the same
Minor optimization, since changing the viewer can be a complex process it should
only be done if absolutely necessary.
2020-03-26 00:34:01 +11:00
itsmattkc 9f3b9fdc70 footageviewer: allows users to drag video or audio only
Updates drag mime data to include a variable determining which streams are
enabled and which ones aren't (a binary qint64 where the 0s are disabled
and the 1s are enabled) rather than relying solely on the stream->enabled
values which can't be modified as part of the drag process.
2020-03-23 18:55:59 +11:00