I also think that video processing tasks should be run in a separate
process from the gui so that they can't cause it to crash if they
crash themselves.
No, No, No!
That would be completely misguided, IMHO. We should never bend the
architecture in order to "isolate" against possible crashes. The
application must not crash, period. We should never tolerate
"possible" crashes. That's the "broken window" theory, you know.
Besides that, there may be arguments in favour of running the GUI in
a separate process, e.g. to have the core and backend running on a
dedicated video processing machine somewhere in the network. But
there is also a massive drawback with this approach: having multiple
processes means you need Inter Process Communication, which is costly
both in terms of execution and development resources.
When a program or just a part of it crashes, then it doesn't fulfil the
job which was requested, for the user experience both are equally bad.
Isolating things into subprocesses won't fix this and costs a lot more
work and performance.
The real problem with a crash is that the user might loose unsaved work.
Lumiera *might* crash sometimes because of programming bugs (we are not
perfect, but we aim to be) or by problems out of our reach, buggy
codecs, power failures and so on. We have to ensure that the user *never
ever* looses any work by a unintended programm termination, point.
The plan is to make it bullet proof against data loss by saving project
data in a database like dump+log like fashion. This gurantees
recoverability even better than the current 'Load Backup' feature of
cinelerra which is already a cool thing. As side effect the user gets
almost unlimited selective undo too.
Christian
_______________________________________________
Cinelerra mailing list
Cinelerra@skolelinux.no
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra