itsmattkc
0eca756420
Merge branch 'master' of https://github.com/olive-editor/olive
2020-09-16 14:15:37 +10:00
itsmattkc
9b9af17a73
mainmenu: add send feedback option
2020-09-16 14:11:29 +10:00
itsmattkc
9e1fa3566a
Merge branch 'master' of https://github.com/olive-editor/olive
2020-09-16 12:56:45 +10:00
itsmattkc
f062994c91
cmake: improve crashpad script
2020-09-16 12:49:53 +10:00
itsmattkc
43f6b4cbcc
Merge branch 'master' of https://github.com/olive-editor/olive
2020-09-15 12:00:44 +10:00
itsmattkc
3ab36eb7fc
deserialization: tolerate missing vector values
2020-09-15 12:00:25 +10:00
itsmattkc
c0e6fdb836
Merge branch 'master' of https://github.com/olive-editor/olive
2020-09-15 03:07:41 +10:00
itsmattkc
aa0e0433db
cmake: don't use pkgconfig on windows
2020-09-15 03:06:59 +10:00
itsmattkc
e6daa3d3c6
Merge branch 'master' of https://github.com/olive-editor/olive
2020-09-14 17:54:56 +10:00
itsmattkc
22c5b61898
fixed compile issue with qt 5.15.1
2020-09-14 17:49:23 +10:00
itsmattkc
c4a6ed98d1
issue templates: this was probably the problem
2020-09-13 17:01:39 +10:00
itsmattkc
c93448cb35
removed issue templates for re-adding later
2020-09-13 16:58:54 +10:00
itsmattkc
e617cd285e
updated issue templates for new labels
2020-09-13 16:45:49 +10:00
itsmattkc
4f65e83322
gcc: fixed shadowed parameter
2020-09-06 18:33:22 +10:00
itsmattkc
83c7596038
viewer: extended scrolling/panning functionality
2020-09-06 17:40:53 +10:00
itsmattkc
ba64313dd7
Merge branch 'issue_70' of https://github.com/ThomasWilshaw/olive into ThomasWilshaw-issue_70
...
# Conflicts:
# app/widget/viewer/viewerwindow.cpp
2020-09-06 17:40:14 +10:00
itsmattkc
43d0129004
renderer: unqueue deleted node inputs
...
Fixes segfault when renderer tries to update from a since deleted node
input.
2020-09-05 19:49:34 +10:00
itsmattkc
58d33db34f
Merge branch 'ThomasWilshaw-headless_help_fix'
2020-09-05 18:57:08 +10:00
itsmattkc
68233b9402
updated basename fix for multi-platform
2020-09-05 18:56:30 +10:00
itsmattkc
8e7fb70e73
Merge branch 'headless_help_fix' of https://github.com/ThomasWilshaw/olive into ThomasWilshaw-headless_help_fix
2020-09-05 18:51:48 +10:00
itsmattkc
cabcd49b25
renderer: copy cache path before render to avoid race conditions
2020-09-05 18:48:54 +10:00
itsmattkc
1334c04235
viewer: return if no viewer is connected
...
Minor improvement
2020-08-31 15:20:31 +10:00
itsmattkc
e42ba3f9d4
corrected compile issues on xenial (should fix linux CI)
2020-08-30 13:35:00 +10:00
itsmattkc
050103a857
memory: implemented basic memory limiting functionality
...
Keeps track of total memory usage and uses it as a guide towards
allocating/reusing more memory.
2020-08-29 13:34:54 +10:00
itsmattkc
c99eb68d45
ffmpegdecoder: frame pool by dimensions/format rather than stream
...
Memory optimization.
2020-08-26 17:42:10 +10:00
itsmattkc
f86ab6a965
renderer: prevent infinite loop occurring on some time invalidations
2020-08-26 17:38:16 +10:00
itsmattkc
5b00089dd8
commandlineparser: removed extraneous semicolon
2020-08-25 17:07:04 +10:00
itsmattkc
f0928814fc
track: store height in "units" rather than pixels
...
Fixes DPI scalability issue if a project ever moved from a display with
one DPI to another.
2020-08-22 00:23:46 +10:00
itsmattkc
48ac8ea509
main/core: changed code so that headless would run truly headless with QCoreApplication instead of QApplication
...
QApplication is designed for GUI/widget programs and thus fails to launch
if no window system is available. For a true headless mode, we must swap
out with QCoreApplication. However, what complicates this is that
QCommandLineParser - the class we use to determine whether we should run
in GUI mode or not - requires an active application instance to work.
This creates an unfortunate catch-22 that ultimately ended in writing a
custom command line parser.
Now we can correctly swap out with QCoreApplication, however this has
exposed other issues regarding functions that unnecessarily rely on QWidget
functions. So they'll need to be sorted out eventually.
2020-08-22 00:22:19 +10:00
itsmattkc
9aabde303e
nodeview: added arrows to indicate a node can be expanded
...
Minor UI detail. Also slightly increases the size of node items and adds
"short names" to the video input and audio input nodes.
2020-08-21 15:15:39 +10:00
itsmattkc
f6760386ce
renderer: improved handling of pixel aspect ratio and footage cache
2020-08-21 14:43:13 +10:00
itsmattkc
416ba8e2b2
viewer: ensure pixel aspect and interlace parameters are sent to viewer windows too
2020-08-20 19:34:09 +10:00
itsmattkc
d99a8e9005
timeline: refactored "replace with gap" command fixed bug
...
Fixes an unfortunate bug that restored blocks in the wrong order and leads
to a segfault if you continue undoing beyond that point.
2020-08-20 13:40:58 +10:00
itsmattkc
75c3a37c17
removed speed/duration dialog
...
This is the first step in what will eventually be keyframable time
remapping. The speed/duration dialog was a holdover from 0.1 and we can
probably do better here.
2020-08-19 17:42:52 +10:00
itsmattkc
c12e39b597
ffmpegframepool: reduced frame pool size
2020-08-19 17:41:46 +10:00
itsmattkc
bc084dfbae
Merge branch 'master' of https://github.com/olive-editor/olive
2020-08-18 23:50:00 +10:00
itsmattkc
5f48bdf0e7
viewer: don't update the length until the operation is done
...
Prevents the frame/audio caches from being truncated unnecessarily during
an operation that ultimately doesn't change the length.
2020-08-18 15:06:44 +10:00
itsmattkc
f3f81eb2be
ffmpeg: store divided frames in memory cache
...
Since users will most likely be working with a divider most of the time,
there's no reason to waste memory space with undivided frames considering
the dividing process is quite fast.
2020-08-18 04:55:23 +10:00
itsmattkc
d9851dc329
decoders: mild refactoring and code cleanup
...
Just making things a little bit nicer.
2020-08-18 03:17:01 +10:00
itsmattkc
2cedc8aaae
config: set color for category 9 and print info if entry saving failed
2020-08-18 02:08:49 +10:00
itsmattkc
35692b9fba
frame: removed native timestamp member
...
Wasn't used anymore.
2020-08-18 02:08:22 +10:00
itsmattkc
f4feb381b1
audiomanager: updated config entries
...
The config entries that we were using were changed before.
2020-08-18 02:08:03 +10:00
itsmattkc
078c54e58b
projectloadtask: move the project to the main thread, not the task
...
How did this get overlooked for so damn long holy shit dude
2020-08-17 00:00:51 +10:00
itsmattkc
e043976189
footage: allow changing an image sequence's frame rate
2020-08-16 17:32:20 +10:00
itsmattkc
383c0b6620
node: hash based on stream timebase units
2020-08-16 17:31:56 +10:00
itsmattkc
0f3a60aa49
cache: save disk cache index on a regular interval in case of crashing
...
DiskManager tries to keep track of all files made across sessions in an
index, but the index was only saved on close. This meant if the program
crashed (not an uncommon occurrence at the moment), it would "forget" about
any files it had made that session.
2020-08-16 17:08:04 +10:00
itsmattkc
b3e30b8daf
renderer: clear auto-cache tasks when disconnecting viewer node
...
Fixes segfault that could occur when switching sequences.
2020-08-16 16:50:23 +10:00
itsmattkc
99b826aef5
appveyor: build crashpad as dynamic release instead of static
2020-08-14 20:00:43 +10:00
itsmattkc
20ccd2c254
appveyor: run gn as a cmd /c process as well
2020-08-14 19:14:34 +10:00
itsmattkc
34d1b141e5
appveyor: remove goto end for debugging
...
oh god I can't believe I forgot to remove this
2020-08-14 19:05:29 +10:00
itsmattkc
3588cc0241
appveyor: call fetch in another cmd instance
2020-08-14 19:00:46 +10:00
itsmattkc
6251113ce9
ci: debugging appveyor
...
Don't mind me, just need to figure out what this script is doing.
2020-08-14 18:43:07 +10:00
itsmattkc
10709880fc
preliminary google crashpad integration
...
First attempt at automated out-of-process crash reporting. Have only
updated AppVeyor script so far, so if this works (which it won't), it'll
only work on Windows.
2020-08-14 18:25:12 +10:00
itsmattkc
857531b011
core: don't start if help or version args are used
2020-08-13 15:41:28 +10:00
itsmattkc
3ae3079a7a
cmake: fallback if both openexr build types are not available
2020-08-11 12:13:16 +10:00
itsmattkc
ec8b046f02
viewer: implemented basic deinterlace
...
Implements a very basic GLSL deinterlace that simply halves the vertical
resolution and then interpolates between the fields. This can be toggled
on or off.
The reasons for being so basic is:
- Speed, very quick code running in OpenGL
- It would seem the highest quality deinterlacers are temporally based
which doesn't make much sense for the viewer, particularly since we can't
double the frame rate since our timecode is fixed to the frames.
Higher quality interlacing/deinterlacing will be present in the actual
renderer.
2020-08-11 02:02:50 +10:00
itsmattkc
75b4bfe57e
viewer: clear current render queue before creating next queue
...
Hilariously, the queue was being cleared right after it was being set
thus cancelling the whole operation out. This has now been fixed.
2020-08-11 01:02:14 +10:00
itsmattkc
43ad1d4368
cmake: find openexr release/debug separately and define them as such
...
Minor CMake improvement that becomes a major improvement on Windows,
because for some reason OpenEXR on Windows always crashes if you mix
release/debug builds (e.g. release OpenEXR + debug Olive and vice versa).
This ensures that as long as you have both release and debug (which you
will if you installed from vcpkg), CMake will link the correct lib and
prevent crashes.
2020-08-11 00:49:56 +10:00
itsmattkc
1b7badb85b
fixed shadowed variable issue
2020-08-10 23:17:51 +10:00
itsmattkc
be4a969666
config: default to system locale rather than en_US
2020-08-10 21:37:17 +10:00
itsmattkc
08d4c7b385
config: save style
2020-08-10 21:37:04 +10:00
itsmattkc
03e33227b3
cache: moved disk settings to a separate dialog
...
This way the cache settings can be accessed in both ProjectProperties and
Preferences.
2020-08-10 20:30:11 +10:00
itsmattkc
192ea45a24
sequencedialog: use lower field dominance in standard definition presets
2020-08-10 18:33:29 +10:00
itsmattkc
920530e759
Merge branch 'master' of https://github.com/olive-editor/olive
2020-08-10 18:32:58 +10:00
itsmattkc
ac649c86c5
datatype: convert kInt type as a int64_t (which QVariant can't do automatically)
2020-08-10 18:30:35 +10:00
itsmattkc
5723690a21
playbackcontrols: set play button policy to QPushButton default
...
Minor cosmetic improvement.
2020-08-10 17:27:32 +10:00
itsmattkc
70085588d6
audiomonitor: fixed bug where audio was shown at normal speed even if playing faster
2020-08-10 17:12:39 +10:00
itsmattkc
ea7289805a
timeline: re-enable length changed signal
...
Fixes issue where length wouldn't update sometimes.
2020-08-10 14:04:30 +10:00
itsmattkc
4f1e7ea4ef
oiio: fixed incorrect version namespace
2020-08-10 02:54:03 +10:00
itsmattkc
e21b68be53
renderer: queue hash setting from another thread
...
Fixes race condition that caused many segfaults.
2020-08-10 02:09:24 +10:00
itsmattkc
4e3cafe578
precachetask: removed unnecessary hash setting
...
Pre-cache doesn't need to set a memory cache since its only purpose is to
write to the disk cache.
2020-08-10 02:08:58 +10:00
itsmattkc
28dcff10c0
various: implement sequence pixel aspect ratios and interlacing settings
...
Implements the following:
- Sequences have pixel aspect ratios that work in tandem with footage PARs
to render footage correctly. Viewer and export also acknowledge PARs
- Sequences can have interlacing settings. This doesn't do anything yet,
eventually the renderer will need to interlace/deinterlace/reinterlace
appropriately in order to conform all the footage to the sequence. Export
acknowledges interlacing, but this only affects metadata, not the image.
2020-08-10 01:47:26 +10:00
itsmattkc
901f1001af
renderer: improved memory management
...
Clear up more memory when it isn't used for a while.
2020-08-09 14:03:11 +10:00
itsmattkc
4fac083799
lol i accidentally deleted the mac fix when i reverted the cmake files
...
big time oof
2020-08-08 03:17:21 +10:00
itsmattkc
0075733da1
footageviewer: fixed bug that signalled a null footage file
2020-08-08 03:08:40 +10:00
itsmattkc
edeeed49ba
various: enabled config saving
2020-08-08 02:44:39 +10:00
itsmattkc
99d94a0d82
ci: build relwithdebinfo instead of debug
...
Probably more appropriate for end-user use.
2020-08-08 02:27:46 +10:00
itsmattkc
0cd4edad57
cmake: fixed macos/brew compile issue
2020-08-07 23:29:25 +10:00
itsmattkc
aa31f8ac97
fixed shadowed parameter
2020-08-07 22:46:07 +10:00
itsmattkc
cca4a2ad5a
Merge branch 'sobotka-histogram-updates'
2020-08-07 20:32:50 +10:00
itsmattkc
e45174cf51
Merge branch 'histogram-updates' of https://github.com/sobotka/olive into sobotka-histogram-updates
2020-08-07 20:32:35 +10:00
itsmattkc
c6dd0e0204
nodeview: select on right click
2020-08-07 20:17:01 +10:00
itsmattkc
849e051fa4
ci: build debug builds rather than release builds
2020-08-07 19:58:44 +10:00
itsmattkc
1b2b5d3b75
diskmanager: save configured disk cache location
2020-08-07 19:00:09 +10:00
itsmattkc
d85089f71a
cache: improved setting manual cache path on a per project basis
2020-08-07 13:41:09 +10:00
itsmattkc
df14c2aaa7
cache: better implemented changing disk cache folders
...
Not complete yet, but getting there.
2020-08-07 02:31:46 +10:00
itsmattkc
00d84cfda0
mainmenu: added project properties keyboard shortcut
...
It just seemed like the right thing to do.
2020-08-07 01:24:31 +10:00
itsmattkc
f8f3aa982d
ui: added plus and minus buttons
...
Didn't end up using these, but they may come in handy later. Also updated
the theme build scripts since they hadn't been updated in like a year.
2020-08-07 01:24:11 +10:00
itsmattkc
a34d696138
various: fixed issues on some compilers
2020-08-06 01:50:49 +10:00
itsmattkc
fa02430d48
cache: reimplemented disk manager to enforce limit in preferences
2020-08-06 01:30:51 +10:00
itsmattkc
02c0fb7316
nodeview: automatically deselect blocks that have been removed
...
Fixes segfault attempting to access and select an item that's already been
removed.
2020-08-05 23:56:42 +10:00
itsmattkc
d5dce29b22
cache: merged cachetask and footagecache into one precache task
...
Since the actual auto-cache now happens elsewhere, this cleans up a lot of
dead code.
2020-08-05 23:45:18 +10:00
itsmattkc
07a53d45f0
renderer: updated audio waveform generated for new cache overhaul
2020-08-05 22:32:24 +10:00
itsmattkc
9a4dcd8277
ffmpegdecoder: handle unexpected EOF
2020-08-05 22:31:14 +10:00
itsmattkc
c8def73b95
cache: mild auto-cache overhaul
...
Shifted from CacheTask to functionality built into RenderBackend. It was
a lot easier to control behavior this way without having to juggle a ton
of threads and race conditions.
Could likely be multithreaded further.
2020-08-05 02:19:04 +10:00
itsmattkc
07a3216a1f
timeline: if an item is selected while deleted, emit the deselection signal
2020-08-05 01:42:52 +10:00
itsmattkc
d453c13c15
initialize variable (fixes gcc build issue)
2020-08-05 01:38:00 +10:00
itsmattkc
2afa5a42c7
ui: optimized widget signals for selecting clips/nodes
...
Decent performance optimization when working with the UI.
2020-08-01 02:12:20 +10:00
itsmattkc
fb05594b50
various: allow setting footage aspect ratios
...
We had support for detecting aspect ratios and respecting them in the
render, but this allows people to not only see the aspect ratio in use,
but also override it with their own.
2020-07-25 00:58:01 +10:00
itsmattkc
dca4c6d960
export: allow rgb32f and rgba32f to pass through ocio without conversion
...
Minor optimization.
2020-07-24 14:45:55 +10:00