4 * Copyright (C) 2009 Adam Williams <broadcast at earthling dot net>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 #include "filexml.inc"
31 // Assets & nested EDLs store this information to have their indexes built
39 void copy_from(IndexState *src);
40 // Supply asset to include encoding information in index file.
41 void write_xml(FileXML *file);
42 void read_xml(FileXML *file, int channels);
43 int write_index(const char *path,
46 int64_t length_source);
47 int64_t get_index_offset(int channel);
48 int64_t get_index_size(int channel);
52 int index_status; // Macro from assets.inc
53 int64_t index_zoom; // zoom factor of index data
54 int64_t index_start; // byte start of index data in the index file
55 // Total bytes in the source file when the index was buillt
57 int64_t index_end, old_index_end; // values for index build
58 // offsets of channels in index buffer in floats
59 int64_t *index_offsets;
60 // Sizes of channels in index buffer in floats. This allows
61 // variable channel size.
63 // [ index channel ][ index channel ]
64 // [high][low][high][low][high][low][high][low]
66 // Number of channels our buffers were allocated for