-printf("Asset::operator=\n");
- copy_location(&asset);
- copy_format(&asset, 1);
- return *this;
-}
-
-
-int Asset::equivalent(Asset &asset,
- int test_audio,
- int test_video)
-{
- int result = (!strcmp(asset.path, path) &&
- format == asset.format);
+ int result = format == asset.format ? 1 : 0;
+ if( result && strcmp(asset.path, path) ) {
+ char *out_path = edl ? FileSystem::basepath(edl->path) : 0;
+ char *sp = out_path ? strrchr(out_path,'/') : 0;
+ if( sp ) *++sp = 0;
+ char *apath = FileSystem::basepath(asset.path);
+ char *tpath = FileSystem::basepath(this->path);
+ if( out_path ) {
+ if( *apath != '/' ) {
+ char *cp = cstrcat(2, out_path, apath);
+ delete [] apath; apath = FileSystem::basepath(cp);
+ delete [] cp;
+ }
+ if( *tpath != '/' ) {
+ char *cp = cstrcat(2, out_path, tpath);
+ delete [] tpath; tpath = FileSystem::basepath(cp);
+ delete [] cp;
+ }
+ }
+ if( strcmp(apath, tpath) ) result = 0;
+ delete [] apath;
+ delete [] tpath;
+ delete [] out_path;
+ }