#include "pluginset.inc"
#include "preferences.inc"
#include "preferencesthread.inc"
+#include "proxy.inc"
#include "record.inc"
#include "recordlabel.inc"
#include "render.inc"
void queue_mixers(EDL *edl, int command, int wait_tracking,
int use_inout, int update_refresh, int toggle_audio, int loop_play);
+ ZWindow *create_mixer(Indexable *indexable);
void create_mixers();
- void refresh_mixers();
+ void refresh_mixers(int dir=1);
void stop_mixers();
- void close_mixers();
+ void close_mixers(int destroy=1);
void open_mixers();
ZWindow *get_mixer(Mixer *&mixer);
void del_mixer(ZWindow *zwindow);
void move_tracks_up();
void mute_selection();
void new_folder(const char *new_folder);
- void overwrite(EDL *source);
// For clipboard commands
void paste();
// For splice and overwrite
- int paste(double start,
- double end,
- FileXML *file,
- int edit_labels,
- int edit_plugins,
- int edit_autos);
- int paste_output(int64_t startproject,
- int64_t endproject,
- int64_t startsource_sample,
- int64_t endsource_sample,
- int64_t startsource_frame,
- int64_t endsource_frame,
- Asset *asset,
- RecordLabels *new_labels);
+ void overwrite(EDL *source, int all);
+ void splice(EDL *source, int all);
+ int paste(double start, double end, FileXML *file,
+ int edit_labels, int edit_plugins, int edit_autos);
+ int paste_output(int64_t startproject, int64_t endproject,
+ int64_t startsource_sample, int64_t endsource_sample,
+ int64_t startsource_frame, int64_t endsource_frame,
+ Asset *asset, RecordLabels *new_labels);
void paste_silence();
// Detach single transition
void set_inpoint(int is_mwindow);
void set_outpoint(int is_mwindow);
void unset_inoutpoint(int is_mwindow);
- void splice(EDL *source);
void toggle_loop_playback();
void trim_selection();
// Synchronize EDL settings with all playback engines depending on current
// operation. Doesn't redraw anything.
void sync_parameters(int change_type = CHANGE_PARAMS);
void save_clip(EDL *new_edl, const char *txt);
- void to_clip(EDL *edl, const char *txt);
+ void to_clip(EDL *edl, const char *txt, int all);
int toggle_label(int is_mwindow);
void undo_entry(BC_WindowBase *calling_window_gui);
void redo_entry(BC_WindowBase *calling_window_gui);
-
+ void save_undo_data();
+ void load_undo_data();
int cut_automation();
int copy_automation();
int modify_edithandles();
int modify_pluginhandles();
void finish_modify_handles();
- void set_proxy(int use_scaler, int new_scale, int auto_scale,
+ void rescale_proxy(EDL *clip, int orig_scale, int new_scale);
+ void set_proxy(int use_scaler, int new_scale, int auto_scale, int beep,
ArrayList<Indexable*> *orig_assets,
ArrayList<Indexable*> *proxy_assets);
void add_proxy(int use_scaler,
ArrayList<Indexable*> *orig_assets,
ArrayList<Indexable*> *proxy_assets);
- void render_proxy(ArrayList<Indexable *> &new_idxbls);
+ int render_proxy(ArrayList<Indexable *> &new_idxbls);
+ void beep(double freq, double secs, double gain);
+ ProxyBeep *proxy_beep;
void dump_plugins(FILE *fp=stdout);
void dump_edl(FILE *fp=stdout);
static Commercials *commercials;
int commercial_active;
int has_commercials();
+// copy of edl created in speed_before, used in speed_after to normalize_speed
+ EDL *speed_edl;
// Menu items
ArrayList<ColormodelItem*> colormodels;
Mutex *keyframe_gui_lock;
// Lock during creation and destruction of brender so playback doesn't use it.
Mutex *brender_lock;
-
// Initialize shared memory
- void init_shm();
-
+ void init_shm(const char *pfn, int64_t min);
// Initialize channel DB's for playback
void init_channeldb();
void init_render();
void commit_commercial();
void undo_commercial();
void cut_commercials();
+ void update_gui(int changed_edl);
int paste_subtitle_text(char *text, double start, double end);
void init_error();
static void init_ffmpeg_index(MWindow *mwindow, Preferences *preferences, FILE *fp);
static int load_plugin_index(MWindow *mwindow, const char *index_path,
const char *plugin_dir);
- static PluginServer* new_ffmpeg_server(MWindow *mwindow, const char *name);
+ static PluginServer *new_ffmpeg_server(MWindow *mwindow, const char *name);
+ static int init_lv2_index(MWindow *mwindow, Preferences *preferences, FILE *fp);
+ static PluginServer *new_lv2_server(MWindow *mwindow, const char *name);
+ static void remove_plugin_index();
+
void init_preferences();
void init_signals();
void init_theme();
void init_commercials();
static void add_plugins(ArrayList<PluginServer*> &plugins);
static void delete_plugins();
+ void speed_before();
+ int speed_after(int done);
+ int normalize_speed(EDL *old_edl, EDL *new_edl);
//
void clean_indexes();
// TimeBomb timebomb;