*
*/
+#include "aboutprefs.h"
#include "arraylist.h"
#include "batchrender.h"
#include "bcsignals.h"
#include "pluginserver.h"
#include "preferences.h"
#include "renderfarmclient.h"
+#include "units.h"
#include "versioninfo.h"
#include <locale.h>
#include <stdlib.h>
#include <string.h>
-#if 0
-#define STRC printf("==new %jd from %p\n", n, __builtin_return_address(0));
-void *operator new(size_t n) { STRC void *vp = malloc(n); bzero(vp,n); return vp; }
-void operator delete(void *t) { free(t); }
-void operator delete(void *t,size_t n) { free(t); }
-void *operator new[](size_t n) { STRC void *vp = malloc(n); bzero(vp,n); return vp; }
-void operator delete[](void *t) { free(t); }
-void operator delete[](void *t,size_t n) { free(t); }
+#ifdef LEAKER
+#define STRC(v) printf("==new %p from %p sz %jd\n", v, __builtin_return_address(0), n)
+#define STRD(v) printf("==del %p from %p\n", v, __builtin_return_address(0))
+void *operator new(size_t n) { void *vp = malloc(n); STRC(vp); bzero(vp,n); return vp; }
+void operator delete(void *t) { STRD(t); free(t); }
+void operator delete(void *t,size_t n) { STRD(t); free(t); }
+void *operator new[](size_t n) { void *vp = malloc(n); STRC(vp); bzero(vp,n); return vp; }
+void operator delete[](void *t) { STRD(t); free(t); }
+void operator delete[](void *t,size_t n) { STRD(t); free(t); }
#endif
enum
batch_path[0] = 0;
deamon_path[0] = 0;
EDL::id_lock = new Mutex("EDL::id_lock");
+ Units::init();
File::init_cin_path();
const char *locale_path = File::get_locale_path();
operation == DO_USAGE ||
operation == DO_BATCHRENDER) {
- fprintf(stderr, PROGRAM_NAME " " CINELERRA_VERSION);
#ifndef REPOMAINTXT
#define REPOMAINTXT ""
#endif
#ifndef COPYRIGHTTEXT2
#define COPYRIGHTTEXT2 ""
#endif
-#ifndef COMPILEDATE
-#define COMPILEDATE ""
-#endif
- fprintf(stderr, REPOMAINTXT COPYRIGHTTEXT1 COPYRIGHTTEXT2 COMPILEDATE
- PROGRAM_NAME " is free software, covered by the GNU General Public License,\n"
+ fprintf(stderr, "%s %s - %s\n%s",
+ PROGRAM_NAME,CINELERRA_VERSION, AboutPrefs::build_timestamp,
+ REPOMAINTXT COPYRIGHTTEXT1 COPYRIGHTTEXT2);
+ fprintf(stderr, "%s is free software, covered by the GNU General Public License,\n"
"and you are welcome to change it and/or distribute copies of it under\n"
- "certain conditions. There is absolutely no warranty for " PROGRAM_NAME ".\n\n");
+ "certain conditions. There is absolutely no warranty for %s.\n\n",
+ PROGRAM_NAME, PROGRAM_NAME);
}
switch(operation)
filenames.remove_all_objects();
delete EDL::id_lock; EDL::id_lock = 0;
+ Units::finit();
return 0;
}