Commit Graph
100 Commits
Author SHA1 Message Date
itsmattkc c1c6893713 various: moved more to core lib 2023-01-19 16:01:31 -08:00
itsmattkc dd9c52ab59 start moving core frameworks to external libraries 2023-01-19 09:51:47 -08:00
itsmattkc e7982239b8 timeline: when rippling, don't create gap between clip and transition 2023-01-12 08:19:56 -08:00
itsmattkc af76fbf0e1 folder: revise child exists to find child function 2022-12-08 11:25:31 -08:00
itsmattkc b99d1e5797 debug: remove function and line
Generally we know where our own debug lines are coming from and it ends up causing a really long debug string.
2022-12-08 11:25:31 -08:00
itsmattkc 55d51a1ee5 config: default to rectified waveforms on 2022-12-08 11:25:31 -08:00
itsmattkc 328efac841 viewer: allow viewing export color spaces 2022-11-29 18:32:01 -08:00
itsmattkc aff4f03307 serializer: compress project files
XML can seriously balloon out of control with larger projects, but since it's text, it can be compressed very heavily.

We should perhaps provide a project decompression function to allow people to continue editing the XML if they want.
2022-11-28 18:41:10 -08:00
itsmattkc 9b36808c76 timeline: ensure minimum height for thumbs 2022-11-27 21:07:20 -08:00
itsmattkc 4c00387ab2 track: fix bug where incorrect clip occasionally appeared 2022-11-23 08:23:30 -08:00
itsmattkc cfbc37cd95 previewautocacher: ignore render requests when params are invalid 2022-11-22 11:23:54 -08:00
itsmattkc fbfa0c2872 core: show successful project save message in status bar 2022-11-19 17:36:38 -08:00
itsmattkc 5bcb426488 ffmpeg: ensure duration detection responds to cancel action 2022-11-19 17:36:16 -08:00
itsmattkc 42a7cc10c8 timeline: improved and optimized drawing of large amounts of clips 2022-11-19 17:35:15 -08:00
itsmattkc 5fce683e0d ci: use macos-11.0 for intel build too
Let's see if this breaks anything
2022-11-18 11:11:36 -08:00
itsmattkc 61d2215b07 projectexplorer: if label = filename, rename on replace
Fixes #2098
2022-11-18 10:55:11 -08:00
itsmattkc d164a9a59a seekable: prioritize dragging playhead over workarea 2022-11-18 10:50:07 -08:00
itsmattkc eae02ac28b prioritize dragging markers over workarea 2022-11-18 10:35:51 -08:00
itsmattkc b33260dce8 timebased: only snap to workarea if enabled
Fixes #2106
2022-11-18 10:30:18 -08:00
itsmattkc 9a0e16f504 move clamping code from clip to track
Fixes severe regression related to audio transitions
2022-11-18 10:20:03 -08:00
itsmattkc 7e604e7433 ffmpeg: re-enable glsl and track colspace and colrange 2022-11-16 17:07:33 -08:00
itsmattkc 6b6f164c44 ffmpeg: refactor so swscale is an optional step before glsl 2022-11-16 17:00:45 -08:00
itsmattkc 87d9afb7e1 ffmpeg: use array rather than vector
Should be faster
2022-11-16 14:08:45 -08:00
itsmattkc 2d3ce55fd7 timebasedview: fix playhead dragging regression 2022-11-16 13:14:37 -08:00
itsmattkc 3302c3633c track: emit virtual height rather than pixel height 2022-11-11 12:29:52 -08:00
itsmattkc 0e9cedf690 timeline: use last track's height when appending a new one 2022-11-11 11:08:35 -08:00
itsmattkc f6cbcf8ef9 viewer: respond to wheel events for moving and zooming 2022-11-11 11:06:31 -08:00
itsmattkc 2cf0b4aa8a viewer: remove padding from viewer
Isn't really necessary, probably added for "aesthetics" but is ultimately a waste of screen real estate
2022-11-11 10:15:00 -08:00
itsmattkc b4e8d74d75 viewer: use qt::tool for viewer text toolbar 2022-11-11 10:02:04 -08:00
itsmattkc 28b8b22437 footage: don't assume non-video tracks are audio tracks
Fixes #2093
2022-11-11 09:58:26 -08:00
itsmattkc 4c69f1260a pixelsampler: show more detail 2022-11-10 10:14:02 -08:00
itsmattkc de8d50eab0 yuv2rgb: correctly center uv based on bpp 2022-11-10 09:02:29 -08:00
itsmattkc 435971c623 core: don't add autorecoveries projects to recent projects 2022-11-09 14:11:46 -08:00
itsmattkc 4f21852241 core: resolve all footage nodes in a project regardless of their connection to root 2022-11-09 13:31:45 -08:00
itsmattkc 2aaa2fb87c nodeparamviewwidgetbridge: null check time target 2022-11-07 22:01:52 -08:00
itsmattkc 373717629e task: improve threading 2022-11-07 10:42:41 -08:00
itsmattkc a6cafe59a5 previewautocacher: fix bad if statement 2022-11-06 21:44:48 -08:00
itsmattkc 6a394b4e48 viewer: only detect multicam nodes if a viewer is connected
Fixes null ref crash
2022-11-06 21:04:53 -08:00
itsmattkc 812bdca2ca core: strip drive letters from windows paths
Qt on non-Windows chooses not to recognize Windows paths, so we translate them to a Unix-esque path
2022-11-06 21:04:39 -08:00
itsmattkc 6307f8d9e3 core: fix warning breaking linux builds 2022-11-06 11:11:38 -08:00
itsmattkc 49ad3a1e34 timecode: fix issue converting seconds to timecode and vice versa
Fixes #2091
2022-11-05 13:45:21 -07:00
itsmattkc 1c4149a0fd preferences: add option to use glFinish
i hate opengl i hate opengl i hate opengl i hate opengl i hate opengl i hate opengl i hate opengl i hate opengl i hate opengl i hate opengl i hate opengl i hate opengl i hate opengl i hate opengl
2022-11-05 12:49:30 -07:00
itsmattkc 3853ef023e exporttask: make copy of project
Fixes #2037
2022-11-05 12:37:38 -07:00
itsmattkc 1057020d4f render: separate off project copying functionality from PreviewAutoCacher 2022-11-05 12:27:56 -07:00
itsmattkc 38517c8c31 node: removed slow unrecommended functions 2022-11-05 11:58:38 -07:00
itsmattkc 1575b82fd2 core: add debugging "magic" function
Just a UI way of turning on debug functionality
2022-11-05 11:56:39 -07:00
itsmattkc c357b04e82 viewer: don't attempt to update still image
Fixes crash when playing audio with muxed still
2022-11-05 10:13:04 -07:00
itsmattkc c06d17cf05 timeline: improve transition tool behavior 2022-11-01 21:04:55 -07:00
itsmattkc 073e9fdb0e fixed transition regression 2022-11-01 21:04:44 -07:00
itsmattkc 451de7030b Merge branch 'move-time-to-viewer' 2022-11-01 18:20:22 -07:00
itsmattkc d52d5b13b2 seekablewidget: allow rubberband select while holding ctrl
Fixes #2061
2022-11-01 12:48:48 -07:00
itsmattkc d6bb3cf5b6 removed inappropriate optional argument 2022-11-01 12:48:32 -07:00
itsmattkc ca47792dc7 nodes: clamp footage retrieval times for clips
Fixes #2070
2022-11-01 12:44:01 -07:00
itsmattkc 5e92930de0 nodes: fix loop mode regression 2022-11-01 09:15:51 -07:00
itsmattkc c5a86af181 various: ensure qt 5 compatibility 2022-10-31 18:18:49 -07:00
itsmattkc e94580c369 ffmpegencoder: split sample buffer when writing audio
Avoids integer overflow in FFmpeg

Fixes #2072
2022-10-29 12:07:55 -07:00
itsmattkc 972ec1e340 ffmpegencoder: catch error on sample array alloc 2022-10-29 11:36:09 -07:00
itsmattkc 274687dbb3 viewer: clean up some font related functions 2022-10-29 11:24:12 -07:00
itsmattkc b5bd73c314 viewer: destroy text edit explicitly
Fix assert failure
2022-10-29 10:05:09 -07:00
itsmattkc 5fe6faf15a ffmpeg: slightly improve performance of yuv2rgb 2022-10-29 09:59:45 -07:00
itsmattkc 8657363037 update some deprecated qt api calls 2022-10-29 09:46:57 -07:00
itsmattkc ce650085a3 text: use fontFamilies() instead of fontFamily() 2022-10-29 09:46:22 -07:00
itsmattkc 6b806ba3a0 cmake: only find OpenGLWidgets on qt6 2022-10-28 19:57:26 -07:00
itsmattkc 5c8b955b72 cmake: only match OpenGLWidgets on qt6 2022-10-28 19:52:05 -07:00
itsmattkc d5f645730a cmake: allow qt6 and qt5 matching 2022-10-28 19:46:48 -07:00
itsmattkc 4d80044d6d upgrade to qt 6 compliance 2022-10-28 19:42:14 -07:00
itsmattkc 2a595cb4c7 Merge pull request #2077 from ThomasWilshaw/duration_estimation
ffmpegdecoder: Catch bad stream duration estimates
2022-10-26 20:02:01 -07:00
itsmattkc bdbfb56879 shift timelineview scroll code into base classes
Fixes #2060
2022-10-24 12:01:47 -07:00
itsmattkc f81445527f timebasedwidget: automatically connect scale and scrollbars 2022-10-24 11:18:42 -07:00
itsmattkc fa6a75cda1 Merge branch 'master' of https://github.com/olive-editor/olive 2022-10-24 10:45:49 -07:00
itsmattkc 840fc0f212 timeline: when deleting all gaps, switch to a ripple delete 2022-10-24 10:45:48 -07:00
itsmattkc 876bc26a5c decoder: track divider in cached frame 2022-10-24 10:13:17 -07:00
itsmattkc 3ae7f0ff7e diptocolortransition: ensure base params are retranslated too 2022-10-24 10:05:49 -07:00
itsmattkc f4011db5b4 diptocolortransition: ensure input name is set 2022-10-24 09:28:15 -07:00
itsmattkc 89677ce7e4 transition: push null texture if none exists 2022-10-24 09:19:44 -07:00
itsmattkc 3978a8501a timeline: implement select to seek and seek to select 2022-10-23 22:28:35 -07:00
itsmattkc a3f4ebdb6d node/ui: limit amount of selectable nodes for performance 2022-10-23 21:24:49 -07:00
itsmattkc d1545745d8 various: moved time from viewer UI to viewer node 2022-10-23 20:56:04 -07:00
itsmattkc fc56058e8a nodes: allow two texture inputs in opacity 2022-10-23 20:23:48 -07:00
itsmattkc 93f88042d1 math: use operation by default for name 2022-10-23 19:52:08 -07:00
itsmattkc 6ce80f4469 multicamnode: use combobox for current source instead of int 2022-10-23 12:31:42 -07:00
itsmattkc 5096278e60 nodes: use much smarter time transform function
Fixes #2042
2022-10-23 12:15:36 -07:00
itsmattkc 86a5a0fcfd timeline: commit imported footage before connecting
Fixes #2065
2022-10-23 10:01:43 -07:00
itsmattkc b71a976175 core: save recent projects list on change rather than on exit 2022-10-23 10:01:17 -07:00
itsmattkc 70b4292627 exportdialog: fix bug where files would always be imported after export
Fixes #2069
2022-10-23 09:36:38 -07:00
itsmattkc 9b0ba2a6c4 transition: show in param view 2022-10-16 09:43:02 -07:00
itsmattkc f39a3b0ece timeline: check for locked tracks on split at playhead 2022-10-14 02:28:25 -07:00
itsmattkc 7791dde954 ffmpegdecoder: use inline avtimebase rather than macro 2022-10-11 00:59:12 -07:00
itsmattkc fb566f2d9e ci: attempt to make dmg for macOS 2022-10-11 00:54:39 -07:00
itsmattkc b76e9cbdbe openglrenderer: revert back to glFlush
Just can't win with this one. I started with glFinish because it's technically the correct option, however it caused issues on a GPU, so I switched it out for glFlush. Then I started noticing other frame sync oddities that would be fixed by using glFinish, so I switched back. Now, not only is it causing GPU issues on one system, it seems to be causing GPU issues on others too. So now glFlush seems like the lesser of the two evils, and I'm just going to have to find a way around the aforementioned frame sync issues.
2022-10-11 00:31:12 -07:00
itsmattkc e17a24021f ffmpegdecoder: disable interlaced scaling
So for some reason enabling interlaced scaling causes memory corruption. Is it an FFmpeg bug or ours? I have no idea. But it only happens if interlaced scaling is enabled. If it isn't, either by forcing it off or deinterlacing it beforehand, it doesn't happen. Since scaling is only done for low quality preview, I opted to just disable it, but maybe I'll decide against it later.
2022-10-11 00:27:27 -07:00
itsmattkc 202342e24f ffmpegdecoder: factor in AVFormatContext::start_time 2022-10-11 00:25:56 -07:00
itsmattkc 01874ba786 videoparams: add interlacing to == operator 2022-10-10 23:24:19 -07:00
itsmattkc 92bf60cc72 videoparams: prevent divided depth from becoming 0 2022-10-10 22:40:23 -07:00
itsmattkc 6f0e35bcd6 audioparams: move calculate_channel_count definition to source file 2022-10-10 22:39:17 -07:00
itsmattkc 4f6dd6aeb1 ffmpegdecoder: offset target timestamp by start timestamp
Fixes #2054
2022-10-10 18:54:45 -07:00
itsmattkc bb63b6968c decoder: use atomic int instead of mutex for access time
Prevents main thread from getting hung up if the decoder is doing something slow
2022-10-10 18:54:45 -07:00
itsmattkc 1765b8ab17 footage: don't use a divider higher than the global 2022-10-07 21:10:45 -07:00
itsmattkc 5420ceaa6f exportdialog: don't double-set data 2022-10-06 09:47:04 -07:00
itsmattkc 0eadea8607 exportdialog: if using last used, set combobox to reflect that 2022-10-06 09:43:24 -07:00