#include "videowindow.inc"
#include "vpatchgui.h"
#include "vwindow.inc"
+#include "zwindow.inc"
#include "wwindow.inc"
#include "wavecache.inc"
// Find the plugin whose title matches title and return it
static PluginServer* scan_plugindb(char *title,
int data_type);
+ static void fix_plugin_title(char *title);
static int plugin_exists(const char *plugin_path, ArrayList<PluginServer*> &plugins);
static int plugin_exists(char *plugin_path);
void dump_plugindb(FILE *fp);
- void stop_playback(int wait=0);
-
-
-
+ void stop_playback(int wait);
+ void stop_transport();
+
+ void queue_mixers(EDL *edl, int command, int wait_tracking,
+ int use_inout, int update_refresh, int toggle_audio, int loop_play);
+ void create_mixers();
+ void refresh_mixers();
+ void stop_mixers();
+ void close_mixers();
+ void open_mixers();
+ ZWindow *get_mixer(Mixer *&mixer);
+ void del_mixer(ZWindow *zwindow);
+ int mixer_track_active(Track *track);
+ void update_mixer_tracks();
+ void start_mixer();
+ int select_zwindow(ZWindow *zwindow);
+ void tile_mixers();
int load_filenames(ArrayList<char*> *filenames,
int load_mode = LOADMODE_REPLACE,
int move_right(int64_t distance = 0);
void move_up(int64_t distance = 0);
void move_down(int64_t distance = 0);
+ int find_selection(double position, int scroll_display = 0);
// seek to labels
// shift_down must be passed by the caller because different windows call
// seek to edit handles
int next_edit_handle(int shift_down);
int prev_edit_handle(int shift_down);
+// seek to keyframes
+ int nearest_plugin_keyframe(int shift_down, int dir);
// offset is pixels to add to track_start
void trackmovement(int offset, int pane_number);
// view_start is pixels
void copy();
int copy(double start, double end);
void cut();
+ void blade(double position);
+ void cut(double start, double end, double new_position=-1);
+// cut edit from current position to handle/label
+ void cut_left_edit();
+ void cut_right_edit();
+ void cut_left_label();
+ void cut_right_label();
// Calculate aspect ratio from pixel counts
static int create_aspect_ratio(float &w, float &h, int width, int height);
static void create_defaults_path(char *string, const char *config_file);
void delete_folder(char *folder);
- void delete_inpoint();
- void delete_outpoint();
void delete_track();
void delete_track(Track *track);
void toggle_editing_mode();
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 to_clip();
+ void save_clip(EDL *new_edl, const char *txt);
+ void to_clip(EDL *edl, const char *txt);
int toggle_label(int is_mwindow);
void undo_entry(BC_WindowBase *calling_window_gui);
void redo_entry(BC_WindowBase *calling_window_gui);
FloatAuto* get_float_auto(PatchGUI *patch,int idx);
IntAuto* get_int_auto(PatchGUI *patch,int idx);
PanAuto* get_pan_auto(PatchGUI *patch);
+ PatchGUI *get_patchgui(Track *track);
int modify_edithandles();
int modify_pluginhandles();
void finish_modify_handles();
+ void set_proxy(int use_scaler, int new_scale, int auto_scale,
+ 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);
void dump_plugins(FILE *fp=stdout);
void dump_edl(FILE *fp=stdout);
MainIndexes *mainindexes;
MainProgress *mainprogress;
BRender *brender;
+ char cin_lang[4];
+ int brender_active;
const char *default_standard;
static Commercials *commercials;
int commercial_active;
// Viewer
Mutex *vwindows_lock;
ArrayList<VWindow*> vwindows;
+// Mixer
+ Mutex *zwindows_lock;
+ ArrayList<ZWindow*> zwindows;
// Asset manager
AWindow *awindow;
// Automation window
// This one happens asynchronously of the others. Used by playback to
// see what frame is background rendered.
int brender_available(int position);
- void set_brender_start();
+ void set_brender_active(int v, int update=1);
int put_commercial();
void activate_commercial() { commercial_active = 1; }
void commit_commercial();
void init_error();
void finit_error();
static void init_defaults(BC_Hash* &defaults, char *config_path);
+ void check_language();
const char *default_std();
void fill_preset_defaults(const char *preset, EDLSession *session);
const char *get_preset_name(int index);
static void get_plugin_path(char *path, const char *plug_dir, const char *fs_path);
static int init_plugins(MWindow *mwindow, Preferences *preferences);
static int init_ladspa_plugins(MWindow *mwindow, Preferences *preferences);
+ static void init_plugin_tips(ArrayList<PluginServer*> &plugins, const char *lang);
static int check_plugin_index(ArrayList<PluginServer*> &plugins,
const char *plug_dir, const char *plug_path);
static void init_plugin_index(MWindow *mwindow, Preferences *preferences,
void init_commercials();
static void add_plugins(ArrayList<PluginServer*> &plugins);
static void delete_plugins();
-//
+//
void clean_indexes();
// TimeBomb timebomb;
SigHandler *sighandler;