00001 #ifndef APATCHGUI_H
00002 #define APATCHGUI_H
00003
00004 #include "apatchgui.inc"
00005 #include "atrack.inc"
00006 #include "floatauto.inc"
00007 #include "guicast.h"
00008 #include "panauto.inc"
00009 #include "patchgui.h"
00010
00011 class AFadePatch;
00012 class APanPatch;
00013 class AMeterPatch;
00014
00015 class APatchGUI : public PatchGUI
00016 {
00017 public:
00018 APatchGUI(MWindow *mwindow, PatchBay *patchbay, ATrack *track, int x, int y);
00019 ~APatchGUI();
00020
00021 int create_objects();
00022 int reposition(int x, int y);
00023 int update(int x, int y);
00024 void synchronize_fade(float value_change);
00025
00026 ATrack *atrack;
00027 AFadePatch *fade;
00028 APanPatch *pan;
00029 AMeterPatch *meter;
00030 };
00031
00032 class AFadePatch : public BC_FSlider
00033 {
00034 public:
00035 AFadePatch(MWindow *mwindow, APatchGUI *patch, int x, int y, int w);
00036 static FloatAuto* get_keyframe(MWindow *mwindow, APatchGUI *patch);
00037 int handle_event();
00038 float update_edl();
00039 MWindow *mwindow;
00040 APatchGUI *patch;
00041 };
00042
00043 class APanPatch : public BC_Pan
00044 {
00045 public:
00046 APanPatch(MWindow *mwindow, APatchGUI *patch, int x, int y);
00047 static PanAuto* get_keyframe(MWindow *mwindow, APatchGUI *patch);
00048 int handle_event();
00049 MWindow *mwindow;
00050 APatchGUI *patch;
00051 };
00052
00053 class AMeterPatch : public BC_Meter
00054 {
00055 public:
00056 AMeterPatch(MWindow *mwindow, APatchGUI *patch, int x, int y);
00057 int button_press_event();
00058 MWindow *mwindow;
00059 APatchGUI *patch;
00060 };
00061
00062
00063 #endif