/*
* CINELERRA
* Copyright (C) 1997-2014 Adam Williams <broadcast at earthling dot net>
+ * Copyright (C) 2003-2016 Cinelerra CV contributors
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#ifdef HAVE_ISOFS
#include <linux/iso_fs.h>
#endif
+#if defined(__FreeBSD__)
+#include <isofs/cd9660/iso.h>
+#endif
// check for isofs volume_id for dvd/cdrom
char index_filename[BCTEXTLEN];
char source_filename[BCTEXTLEN];
const char *path = indexable->path;
-
+ if( !*path ) return;
get_index_filename(source_filename,
preferences->index_directory,
index_filename, path, suffix);
}
else
{
- TransportCommand command;
+ TransportCommand command(mwindow->preferences);
command.command = NORMAL_FWD;
command.get_edl()->copy_all((EDL*)indexable);
command.change_type = CHANGE_ALL;
delete render_engine;
render_engine = 0;
-
- delete cache;
- cache = 0;
+ if( cache ) {
+ cache->remove_user();
+ cache = 0;
+ }
}
int64_t IndexFile::get_required_scale()
// Start and length of fragment to read from file in bytes.
float *buffer = 0;
int buffer_shared = 0;
- int rect_audio = mwindow->preferences->rectify_audio;;
- int center_pixel = !rect_audio ?
- mwindow->edl->local_session->zoom_track / 2 :
- mwindow->edl->local_session->zoom_track;
+ int rect_audio = mwindow->preferences->rectify_audio;
+ int data_h = edit->track->data_h;
+ int center_pixel = !rect_audio ? data_h/2 : data_h;
if( edit->track->show_titles() )
center_pixel += mwindow->theme->get_image("title_bg_data")->get_h();
int prev_y1 = center_pixel;
int prev_y2 = center_pixel;
int first_frame = 1;
- int zoom_y = !rect_audio ?
- mwindow->edl->local_session->zoom_y / 2 :
- mwindow->edl->local_session->zoom_y;
+ int zoom_y = mwindow->edl->local_session->zoom_y * data_h /
+ mwindow->edl->local_session->zoom_atrack;
+ if( !rect_audio ) zoom_y /= 2;
int max_y = center_pixel + zoom_y - 1;
edit_position = (x + pixmap->pixmap_x - virtual_edit_x) * project_zoom;
int64_t speed_position = edit->startsource;
data = new char[index_state->index_start];
temp = fread(data, index_state->index_start - sizeof(int64_t), 1, fd);
- if(!temp) return 1;
+ if(!temp) { delete [] data;
+ return 1;}
data[index_state->index_start - sizeof(int64_t)] = 0;
FileXML xml;