r858: Merge 2.1:
commit131d13393f1aad919f7531b9d71877bd1c759921
authorJohannes Sixt <johannes.sixt@telecom.at>
Mon, 4 Sep 2006 19:48:33 +0000 (4 19:48 +0000)
committerJohannes Sixt <johannes.sixt@telecom.at>
Mon, 4 Sep 2006 19:48:33 +0000 (4 19:48 +0000)
tree0c250ad3b8ae0afe40275541d3a940a20189750a
parent771bc6fb4f779f2a0b9a130811eff1440b3b1448
r858: Merge 2.1:
Add garbage collection and reference-counting to Asset and CICacheItem classes.
Additionally, the frame cache has been reworked considerably.

Added new GarbageObject and Garbage classes.  Classes being placed under
garbage collection inherit from GarbageObject, which provides reference
counting.  The Garbage class provides the Garbage::garbage singleton which
keeps track of all objects currently in use.
Garbage::garbage->delete_object() is the only acceptable way of deleting
a GarbageObject.

Asset and CICacheItem now inherit from GarbageObject (via multiple
inheritance).
41 files changed:
cinelerra/Makefile.am
cinelerra/amodule.C
cinelerra/asset.C
cinelerra/asset.h
cinelerra/assetedit.C
cinelerra/assets.C
cinelerra/avc1394transport.C
cinelerra/awindowgui.C
cinelerra/batch.C
cinelerra/batchrender.C
cinelerra/cache.C
cinelerra/cache.h
cinelerra/cachebase.C [new file with mode: 0644]
cinelerra/cachebase.h [new file with mode: 0644]
cinelerra/cachebase.inc [new file with mode: 0644]
cinelerra/edlsession.C
cinelerra/file.C
cinelerra/framecache.C
cinelerra/framecache.h
cinelerra/garbage.C [new file with mode: 0644]
cinelerra/garbage.h [new file with mode: 0644]
cinelerra/garbage.inc [new file with mode: 0644]
cinelerra/indexfile.C
cinelerra/main.C
cinelerra/mainindexes.C
cinelerra/menueffects.C
cinelerra/mwindow.C
cinelerra/mwindow.h
cinelerra/packagerenderer.C
cinelerra/playbackengine.C
cinelerra/pluginarray.C
cinelerra/preferences.C
cinelerra/record.C
cinelerra/render.C
cinelerra/renderfarmclient.C
cinelerra/resourcepixmap.C
cinelerra/resourcepixmap.h
cinelerra/vedit.C
cinelerra/vmodule.C
cinelerra/vrender.C
cinelerra/vwindow.C