+class KeyMutePatch : public BC_SubWindow
+{
+public:
+ KeyMutePatch(MWindow *mwindow, PatchGUI *patch, int x, int y);
+ void create_objects();
+
+ MWindow *mwindow;
+ PatchGUI *patch;
+ KeyMuteValue *key_mute_checkbox;
+};
+
+class KeyMuteValue : public BC_CheckBox
+{
+public:
+ KeyMuteValue(KeyMutePatch *key_mute_patch);
+ int button_release_event();
+ int handle_event();
+
+ KeyMutePatch *key_mute_patch;
+};
+
+class KeySpeedPatch : public BC_SubWindow
+{
+public:
+ KeySpeedPatch(MWindow *mwindow, PatchGUI *patch, int x, int y);
+ void create_objects();
+ void update(float v);
+ void update_speed(float v);
+ int cursor_enter_event();
+ int cursor_leave_event();
+
+ MWindow *mwindow;
+ PatchGUI *patch;
+ KeySpeedSlider *key_speed_slider;
+ KeySpeedText *key_speed_text;
+ KeySpeedOK *key_speed_ok;
+};
+
+class KeySpeedOK : public BC_Button
+{
+public:
+ KeySpeedOK(KeySpeedPatch *key_speed_patch, int x, int y, VFrame **images);
+ int handle_event();
+
+ KeySpeedPatch *key_speed_patch;
+};
+
+class KeySpeedText : public BC_TextBox
+{
+public:
+ KeySpeedText(KeySpeedPatch *key_speed_patch, int x, int y, int w, float v);
+ int handle_event();
+
+ KeySpeedPatch *key_speed_patch;
+};
+
+class KeySpeedSlider : public BC_FSlider
+{
+public:
+ KeySpeedSlider(KeySpeedPatch *key_speed_patch,
+ int x, int y, int w, float v);
+ ~KeySpeedSlider();
+
+ int handle_event();
+
+ KeySpeedPatch *key_speed_patch;
+};
+