LiVES  3.2.0
cvirtual.h
Go to the documentation of this file.
1 // cvirtual.h
2 // LiVES
3 // (c) G. Finch 2008 - 2018 <salsaman+lives@gmail.com>
4 // released under the GNU GPL 3 or later
5 // see file ../COPYING or www.gnu.org for licensing details
6 
7 // functions for handling "virtual" clips (CLIP_TYPE_FILE)
8 
9 #ifndef HAS_LIVES_CVIRTUAL_H
10 #define HAS_LIVES_CVIRTUAL_H
11 
12 #define FRAME_INDEX_FNAME "file_index"
13 
14 boolean create_frame_index(int fileno, boolean init, frames_t start_offset, frames_t nframes);
15 boolean save_frame_index(int fileno);
17 boolean check_clip_integrity(int fileno, const lives_clip_data_t *cdata, frames_t maxframe);
19 
20 frames_t virtual_to_images(int sfileno, frames_t sframe, frames_t eframe, boolean update_progress, LiVESPixbuf **pbr);
21 void delete_frames_from_virtual(int sfileno, frames_t start, frames_t end);
22 void insert_images_in_virtual(int sfileno, frames_t where, frames_t frames, frames_t *frame_index, frames_t start);
24 void reverse_frame_index(int sfileno);
25 
26 boolean realize_all_frames(int clipno, const char *msg, boolean enough);
27 
28 /*
29  @brief remove rendered (real) frames from region oldsframe -> oldframes, when they are virtual in current frame_index
30 */
31 void clean_images_from_virtual(lives_clip_t *, frames_t oldsframe, frames_t oldframes);
32 int *frame_index_copy(frames_t *findex, frames_t nframes, frames_t offset);
33 
34 frames_t first_virtual_frame(int fileno, frames_t start, frames_t end);
35 boolean check_if_non_virtual(int fileno, frames_t start, frames_t end);
36 
37 void restore_frame_index_back(int sfileno);
38 
39 boolean is_virtual_frame(int sfileno, frames_t frame);
40 
42 
43 void insert_blank_frames(int sfileno, frames_t nframes, frames_t after, int palette);
44 
45 boolean pull_frame_idle(livespointer data); // decode frames in an idle func
46 
47 #define get_indexed_frame(clip, frame) (IS_VALID_CLIP(clip) ? mainw->files[clip]->frame_index ? \
48  mainw->files[clip]->frame_index[frame - 1] == -1 ? -frame : \
49  mainw->files[clip]->frame_index[frame - 1] : \
50  frame : 0)
51 
52 #endif
lives_img_type_t
lives_img_type_t
Definition: main.h:774
create_frame_index
boolean create_frame_index(int fileno, boolean init, frames_t start_offset, frames_t nframes)
Definition: cvirtual.c:27
del_frame_index
void del_frame_index(lives_clip_t *)
Definition: cvirtual.c:238
check_clip_integrity
boolean check_clip_integrity(int fileno, const lives_clip_data_t *cdata, frames_t maxframe)
Definition: cvirtual.c:296
restore_frame_index_back
void restore_frame_index_back(int sfileno)
Definition: cvirtual.c:1000
is_virtual_frame
boolean is_virtual_frame(int sfileno, frames_t frame)
Definition: cvirtual.c:1063
virtual_to_images
frames_t virtual_to_images(int sfileno, frames_t sframe, frames_t eframe, boolean update_progress, LiVESPixbuf **pbr)
Definition: cvirtual.c:719
first_virtual_frame
frames_t first_virtual_frame(int fileno, frames_t start, frames_t end)
Definition: cvirtual.c:629
count_virtual_frames
frames_t count_virtual_frames(frames_t *findex, frames_t start, frames_t end)
count virtual frames between start and end (inclusive)
Definition: cvirtual.c:20
save_frame_index
boolean save_frame_index(int fileno)
Definition: cvirtual.c:56
palette
_palette * palette
interface colour settings
Definition: main.c:101
update_progress
void update_progress(boolean visible)
Definition: dialogs.c:1275
insert_images_in_virtual
void insert_images_in_virtual(int sfileno, frames_t where, frames_t frames, frames_t *frame_index, frames_t start)
Definition: cvirtual.c:885
load_frame_index
frames_t load_frame_index(int fileno) WARN_UNUSED
Definition: cvirtual.c:114
lives_clip_data_t
Definition: plugins.h:319
check_if_non_virtual
boolean check_if_non_virtual(int fileno, frames_t start, frames_t end)
Definition: cvirtual.c:644
WARN_UNUSED
#define WARN_UNUSED
Definition: main.h:77
pull_frame_idle
boolean pull_frame_idle(livespointer data)
Definition: cvirtual.c:1138
frames_t
int frames_t
Definition: main.h:99
resolve_img_type
lives_img_type_t resolve_img_type(lives_clip_t *)
Definition: cvirtual.c:275
delete_frames_from_virtual
void delete_frames_from_virtual(int sfileno, frames_t start, frames_t end)
Definition: cvirtual.c:938
realize_all_frames
boolean realize_all_frames(int clipno, const char *msg, boolean enough)
Definition: cvirtual.c:849
clean_images_from_virtual
void clean_images_from_virtual(lives_clip_t *, frames_t oldsframe, frames_t oldframes)
Definition: cvirtual.c:1025
lives_clip_t
corresponds to one clip in the GUI
Definition: main.h:877
insert_blank_frames
void insert_blank_frames(int sfileno, frames_t nframes, frames_t after, int palette)
Definition: cvirtual.c:1080
frame_index_copy
int * frame_index_copy(frames_t *findex, frames_t nframes, frames_t offset)
Definition: cvirtual.c:1052
reverse_frame_index
void reverse_frame_index(int sfileno)
Definition: cvirtual.c:985