Credit Andrew - fix vorbis audio which was scratchy and ensure aging plugin does...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / zoombar.h
index 729a2266c848fb00f21b8d6f4d6e34eb002b0ace..7d7edbc850cf48cd105fb1c20bd65c35d951fb10 100644 (file)
@@ -2,6 +2,7 @@
 /*
  * CINELERRA
  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
+ * Copyright (C) 2003-2016 Cinelerra CV contributors
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 #ifndef ZOOMBAR_H
 #define ZOOMBAR_H
 
-class FromTextBox;
-class LengthTextBox;
-class ToTextBox;
-
-
-class SampleZoomPanel;
-class AmpZoomPanel;
-class TrackZoomPanel;
-class AutoZoom;
-class AutoTypeMenu;
-class ZoomTextBox;
-
 #include "guicast.h"
 #include "mwindow.inc"
 #include "mwindowgui.inc"
+#include "zoombar.inc"
 #include "zoompanel.h"
 
+
 class ZoomBar : public BC_SubWindow
 {
 public:
@@ -52,6 +43,8 @@ public:
        void redraw_time_dependancies();
        int update();          // redraw the current values
        void update_autozoom();
+       void update_autozoom(int grouptype, int color);
+       void update_autozoom(int color);
        int update_clocks();
        int update_playback(int64_t new_position);       // update the playback position
        int set_selection(int which_one);
@@ -61,17 +54,18 @@ public:
        MWindowGUI *gui;
        SampleZoomPanel *sample_zoom;
        AmpZoomPanel *amp_zoom;
-       TrackZoomPanel *track_zoom;
+       ATrackZoomPanel *atrack_zoom;
+       VTrackZoomPanel *vtrack_zoom;
        AutoZoom *auto_zoom;
        AutoTypeMenu *auto_type;
        ZoomTextBox *auto_zoom_text;
 
-       BC_Title *zoom_value, *playback_value;
        LengthTextBox *length_value;
        FromTextBox *from_value;
        ToTextBox *to_value;
+       TitleAlphaBar *title_alpha_bar;
+       TitleAlphaText *title_alpha_text;
        char string[256], string2[256];
-       int64_t old_position;
 };
 
 class SampleZoomPanel : public ZoomPanel
@@ -92,10 +86,19 @@ public:
        ZoomBar *zoombar;
 };
 
-class TrackZoomPanel : public ZoomPanel
+class ATrackZoomPanel : public ZoomPanel
 {
 public:
-       TrackZoomPanel(MWindow *mwindow, ZoomBar *zoombar, int x, int y);
+       ATrackZoomPanel(MWindow *mwindow, ZoomBar *zoombar, int x, int y);
+       int handle_event();
+       MWindow *mwindow;
+       ZoomBar *zoombar;
+};
+
+class VTrackZoomPanel : public ZoomPanel
+{
+public:
+       VTrackZoomPanel(MWindow *mwindow, ZoomBar *zoombar, int x, int y);
        int handle_event();
        MWindow *mwindow;
        ZoomBar *zoombar;
@@ -121,6 +124,7 @@ public:
        void create_objects();
        static const char* to_text(int shape);
        static int from_text(char *text);
+       int draw_face(int dx, int color);
        int handle_event();
        MWindow *mwindow;
        ZoomBar *zoombar;
@@ -138,12 +142,6 @@ public:
 };
 
 
-
-
-
-
-
-
 class FromTextBox : public BC_TextBox
 {
 public:
@@ -178,7 +176,22 @@ public:
        ZoomBar *zoombar;
 };
 
+class TitleAlphaBar : public BC_FSlider
+{
+public:
+       TitleAlphaBar(MWindow *mwindow, ZoomBar *zoombar, int x, int y);
+       int handle_event();
+       MWindow *mwindow;
+       ZoomBar *zoombar;
+};
 
-
+class TitleAlphaText : public BC_TextBox
+{
+public:
+       TitleAlphaText(MWindow *mwindow, ZoomBar *zoombar, int x, int y);
+       int handle_event();
+       MWindow *mwindow;
+       ZoomBar *zoombar;
+};
 
 #endif