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
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
df14c2aaa7
cache: better implemented changing disk cache folders
...
Not complete yet, but getting there.
2020-08-07 02:31:46 +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
936d077077
project: use relative filenames if absolute don't exist
2020-07-06 14:03:22 +10:00
itsmattkc
430561e2ac
sequence: made divider a sequence parameter rather than a viewer parameter
...
Doing this makes the preview resolution an explicit project setting rather
than a temporary UI setting. This will allow more consistency when caching.
2020-06-08 14:41:35 +10:00
itsmattkc
5ce508a1da
timerange: fixed issue that broke removing timeranges from a timerangelist
2020-06-05 14:43:18 +10:00
itsmattkc
8051a42fcc
timerange: added some helper functions for comparing timeranges and rationals
2020-06-05 04:30:59 +10:00
itsmattkc
cb0d89c09e
rational: print double rather than rational to debug
...
Doubles are mostly used here anyway.
2020-06-05 04:30:39 +10:00
itsmattkc
5eeef76b62
waveform: shift track waveform alongside cache
2020-06-04 23:32:50 +10:00
itsmattkc
9ff9817b95
cache: use render job times to synchronize cache
...
Ensure old inaccurate jobs are never prioritized over current jobs.
2020-06-04 16:48:23 +10:00
itsmattkc
6acfe995fa
timerange: use doubles instead of rationals when printing debug info
...
Doubles are infinitely more readable and have been the vast majority of
debug printing cases thus far.
2020-06-01 17:45:21 +10:00
itsmattkc
1301d4b9cf
rational: use true min/max values for extended range
...
Will address issues caused by comparisons to our MIN/MAX constants when
a numerator/denominator is > INT32_MAX/MIN.
2020-06-01 17:44:42 +10:00
itsmattkc
c2e47a296c
timeline: heavily optimized and improved nearly all timeline optimizations
...
Features a lot of timeline-related cache optimizations as well as general
optimizations and improvements in timeline behavior. Should improve
usability significantly.
2020-06-01 04:42:59 +10:00
itsmattkc
55cfae784b
viewer: set automatic divider on connection
...
Probably not a permanent solution, but will aid performance for the
time-being.
2020-05-27 04:28:57 +10:00
itsmattkc
3e3cacbc85
various: update Qt code deprecated in 5.15
...
- Replaces QLinkedList with std::list as recommended by Qt docs.
- Replaces QWheelEvent::delta() with QWheelEvent::angleDelta(). This
should also benefit trackpad behavior.
2020-05-27 02:54:05 +10:00
itsmattkc
da04777a25
crashhandler: exclude GITHASH if git wasn't found
...
Allows compilation in environments where Git may be missing.
2020-05-27 02:51:10 +10:00
itsmattkc
4c4bcb0989
moved simple ms to hh:mm:ss function to timecodefunctions
2020-05-24 17:40:30 +10:00
itsmattkc
34fade9d81
cache: attempt to automatically re-match hashes on invalidate
...
This code is slow and unoptimized. Will require some more work.
2020-05-21 16:49:02 +10:00
itsmattkc
a2d68f6d9f
timerange: added functions to + and - rationals from timeranges
2020-05-21 02:17:47 +10:00
itsmattkc
b6a42b812e
rational: refactored and cleaned up code
...
Old code (imported from elsewhere) has been cleaned up significantly, made more
understandable/maintainable, and conformed to the rest of the code style.
2020-05-21 02:16:13 +10:00
itsmattkc
814bbe8c22
fixed various segfaults in decoder and renderer
2020-05-18 02:40:58 +10:00
itsmattkc
65705d580d
renderer: keep frames in vram while paused
...
Saves some GPU cycles when adjusting parameters.
2020-05-08 00:32:02 +10:00
itsmattkc
8c8bb45f7f
crashhandler: include git commit hash with crash report
2020-05-01 02:11:26 +10:00
itsmattkc
1f76c33f6b
crashhandler: include git commit hash
2020-05-01 02:09:59 +10:00
itsmattkc
bf68a4d631
nodes: added ability to label nodes
2020-04-29 15:35:05 +10:00
itsmattkc
d74d6a1542
nodes: implementing saving/loading node positions from project file
2020-04-28 03:43:35 +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
d15b08c181
sampleformat: fixed erroneous constant
2020-04-22 13:10:48 +10:00
itsmattkc
ccb02d30aa
colormanager: implement default config
2020-04-22 05:08:33 +10:00
itsmattkc
d232e035f5
mainwindow/project: implemented saving/restoring panel state to project file
2020-04-19 02:25:02 +10:00
itsmattkc
df534fadbe
common: added function to convert any number to a hex string
...
Helps with debugging.
2020-04-16 23:13:35 +10:00
itsmattkc
2f80be437a
node: fixed issue with "taking" values from input tables
...
As opposed to simply leaving all values in the table, nodes can now "take"
values that they use to free up memory (e.g. "taking" input buffers if they're
used to produce an output buffer).
This is a fairly large change, expect regressions.
2020-04-16 23:12:05 +10:00
itsmattkc
a2f954a0a7
memorypool: implemented arenas
...
A pool can allocate/destroy any amount of arenas during runtime, meaning it
won't run out of memory but we still get the advantages of one large allocation
as opposed to hundreds of small allocations.
2020-04-14 16:23:45 +10:00
itsmattkc
9a25064b00
memorypool: placed mutex around get and release functions
...
Makes all memory pool derivatives effectively thread-safe.
2020-04-14 14:50:37 +10:00
itsmattkc
7bfdf8af7c
ffmpegframepool: implemented functional frame pool
...
Includes splitting off core functionality to a base MemoryPool class that can
be re-used later if necessary.
2020-04-14 02:43:12 +10:00
itsmattkc
5c927ce7a4
core: merged define and constructor headers
2020-04-13 23:44:18 +10:00
itsmattkc
4a8a44a8b1
timerange: added debug output functions for the TimeRange and TimeRangeList classes
2020-04-06 17:08:13 +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
82b6ddccc8
added olive namespace macros
2020-04-06 03:34:11 +10:00
itsmattkc
56178648bd
timelinepoints: implemented saving/loading into project files
2020-04-05 19:21:17 +10: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
76f260cb3a
timeline: added ability to move clips by sample in addition to by frame
2020-04-01 13:55:19 +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
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
52a8966abd
timecode functions: added convenience function and improved error reporting
...
Added a convenience function for converting rational time to a timecode
and timecode converters now return error messages if something goes wrong.
2020-03-23 15:26:31 +11:00
itsmattkc
04afeee953
crashhandler: enabled mac support
2020-03-18 08:17:23 -07:00
itsmattkc
abb4c440fb
core: added signalling for timecode display changes
...
Allows targeted application-wide UI updates for when the user changes the
timecode display so that the response is immediate.
2020-03-18 14:09:31 +11:00
itsmattkc
a1f5c85f49
various: use simpler/smarter XML reading functions
...
Should address any XML parsing issues and allows for simpler, more maintainable
code. Should also address a crash that could occur when pasting nodes that had
inputs that weren't copied.
2020-03-17 02:38: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