The build of Olive under Arch Linux (package "olive-git") crashes in the file "app/dialog/sequence/sequencedialogpresettab.cpp".
GCC tries to look for the directive "AV_CH_LAYOUT_STEREO", but cannot find it, because the source code has no reference to the header "render/audioparams.h".
The following link contains more details about the error: https://aur.archlinux.org/packages/olive-git#comment-852760
This commit also switches to shared ptrs because this dialog has caused a surprising amount of memory-related mistakes that it really ought not to and ptrs will take a lot of the memory management burden off us.
Project items are now represented directly in nodes opening up more versatility and possibilities. This is the first iteration of this and will be buggy. Need to test thoroughly.
This makes the node system somewhat more high-level with the intent of making
working with them far more flexible and stable. By making the architecture more
abstracted, it becomes far less rigid which should allow us to do even more
with it and make it much less crash prone.
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
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.