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

Reply via email to