r136: This commit was manufactured by cvs2svn to create tag 'hv_1_1_8'.
[cinelerra_cv/mob.git] / hvirtual / cinelerra / patchbay.h
blobbf5eb287e33b9ffe15c2bf8af1e69a88c4614660
1 #ifndef PATCHBAY_H
2 #define PATCHBAY_H
4 #include "guicast.h"
5 #include "filexml.inc"
6 #include "mwindow.inc"
7 #include "mwindowgui.inc"
8 #include "overlayframe.inc"
9 #include "patch.h"
10 #include "patchbay.inc"
11 #include "patchgui.inc"
13 class NudgePopupSeconds;
14 class NudgePopupNative;
15 class NudgePopup;
17 class PatchBay : public BC_SubWindow
19 public:
20 PatchBay(MWindow *mwindow, MWindowGUI *gui);
21 ~PatchBay();
23 int delete_all_patches();
24 int create_objects();
25 void resize_event();
26 int button_press_event();
27 int cursor_motion_event();
28 BC_Pixmap* mode_to_icon(int mode);
29 int icon_to_mode(BC_Pixmap *icon);
31 // Synchronize with Master EDL
32 int update();
33 void update_meters(ArrayList<double> *module_levels);
34 void stop_meters();
35 void synchronize_faders(float value, int data_type, Track *skip);
36 void change_meter_format(int mode, float min);
37 void reset_meters();
39 ArrayList<PatchGUI*> patches;
46 // =========================================== drawing
48 int resize_event(int top, int bottom);
51 MWindow *mwindow;
52 MWindowGUI *gui;
54 int button_down, new_status, drag_operation, reconfigure_trigger;
55 BC_Pixmap *mode_icons[TRANSFER_TYPES];
57 NudgePopup *nudge_popup;
61 class NudgePopup : public BC_PopupMenu
63 public:
64 NudgePopup(MWindow *mwindow, PatchBay *patchbay);
65 ~NudgePopup();
67 void create_objects();
68 void activate_menu(PatchGUI *gui);
70 MWindow *mwindow;
71 PatchBay *patchbay;
72 NudgePopupSeconds *seconds_item;
73 NudgePopupNative *native_item;
77 class NudgePopupSeconds : public BC_MenuItem
79 public:
80 NudgePopupSeconds(NudgePopup *popup);
81 int handle_event();
82 NudgePopup *popup;
86 class NudgePopupNative : public BC_MenuItem
88 public:
89 NudgePopupNative(NudgePopup *popup);
90 int handle_event();
91 NudgePopup *popup;
94 #endif