#include "assetpopup.inc"
#include "asset.inc"
#include "assets.inc"
+#include "audiodevice.inc"
#include "awindow.inc"
#include "awindowgui.inc"
#include "clippopup.inc"
#include "mwindow.inc"
#include "newfolder.inc"
#include "pluginserver.inc"
+#include "proxypopup.inc"
+#include "renderengine.inc"
+#include "samples.inc"
#include "vicon.h"
class AssetPicon : public BC_ListBoxItem
void create_objects();
void reset();
- void draw_wave(VFrame *frame, double *dp, int len,
+ static void draw_hue_bar(VFrame *frame, double t);
+ static void draw_wave(VFrame *frame, double *dp, int len,
int base_color, int line_color);
+ void open_render_engine(EDL *edl, int is_audio);
+ void close_render_engine();
+ void render_video(int64_t pos, VFrame *vfrm);
+ void render_audio(int64_t pos, Samples **samples, int len);
MWindow *mwindow;
AWindowGUI *gui;
PluginServer *plugin;
Label *label;
VIcon *vicon;
+ RenderEngine *render_engine;
+};
+
+typedef int16_t vicon_audio_t;
+
+class AssetVIconAudio : public Thread
+{
+public:
+ AssetVIconAudio(AWindowGUI *gui);
+ ~AssetVIconAudio();
+
+ void run();
+ void start(AssetVIcon *vicon);
+ void stop(int wait);
+
+ AWindowGUI *gui;
+ AudioDevice *audio;
+ AssetVIcon *vicon;
+ int interrupted;
+ int audio_pos;
};
class AssetVIcon : public VIcon {
int64_t set_seq_no(int64_t no);
int get_vx();
int get_vy();
+ void load_audio();
+ void start_audio();
+ void stop_audio();
AssetVIcon(AssetPicon *picon, int w, int h, double framerate, int64_t length);
~AssetVIcon();
int drag_motion();
int drag_stop();
// Collect items into the drag vectors of MainSession
- void collect_assets();
+ void collect_assets(int proxy=0);
+ EDL *collect_proxy(Indexable *indexable);
void create_persistent_folder(ArrayList<BC_ListBoxItem*> *output,
int do_audio,
int do_video,
AssetPopup *asset_menu;
ClipPopup *clip_menu;
LabelPopup *label_menu;
+ ProxyPopup *proxy_menu;
EffectListMenu *effectlist_menu;
AssetListMenu *assetlist_menu;
ClipListMenu *cliplist_menu;
LabelListMenu *labellist_menu;
+ ProxyListMenu *proxylist_menu;
FolderListMenu *folderlist_menu;
AddTools *add_tools;
// Temporary for reading picons from files
VFrame *temp_picon;
VIconThread *vicon_thread;
+ AssetVIconAudio *vicon_audio;
int64_t plugin_visibility;
AWindowRemovePlugin *remove_plugin;