Credit Andrew - fix vorbis audio which was scratchy and ensure aging plugin does...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / timelinepane.h
1 /*
2  * CINELERRA
3  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  *
19  */
20
21 #ifndef TIMELINEPANE_H
22 #define TIMELINEPANE_H
23
24 #include "maincursor.inc"
25 #include "mtimebar.inc"
26 #include "mwindow.inc"
27 #include "mwindowgui.inc"
28 #include "patchbay.inc"
29 #include "samplescroll.inc"
30 #include "track.inc"
31 #include "trackcanvas.inc"
32 #include "trackscroll.inc"
33
34
35
36 class TimelinePane
37 {
38 public:
39 // coordinates are relative to the main window
40         TimelinePane(MWindow *mwindow,
41                 int number,
42                 int x,
43                 int y,
44                 int w,
45                 int h);
46         ~TimelinePane();
47         void create_objects();
48         void resize_event(int x, int y, int w, int h);
49         void update(int scrollbars,
50                 int do_canvas,
51                 int timebar,
52                 int patchbay);
53         void activate();
54         void create_track_scroll(int view_x, int view_y, int view_w, int view_h);
55         void create_sample_scroll(int view_x, int view_y, int view_w, int view_h);
56         Track *over_track();
57         Track *over_patchbay();
58
59         MWindow *mwindow;
60         MWindowGUI *gui;
61
62         MainCursor *cursor;
63         PatchBay *patchbay;
64         MTimeBar *timebar;
65         SampleScroll *samplescroll;
66         TrackScroll *trackscroll;
67         TrackCanvas *canvas;
68 // number of the name
69         int number;
70 // total area including widgets
71         int x, y, w, h;
72 // area for drawing tracks, excluding the widgets
73         int view_x, view_y, view_w, view_h;
74 };
75
76
77
78 #endif
79
80