Commit Graph
1878 Commits
Author SHA1 Message Date
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 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 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 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 e45174cf51 Merge branch 'histogram-updates' of https://github.com/sobotka/olive into sobotka-histogram-updates 2020-08-07 20:32:35 +10:00
itsmattkc 991f430cc8 Merge pull request #1155 from sobotka/waveform-updates
Waveform Updates
2020-08-07 20:18:30 +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