4 * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #ifndef RECORDTRANSPORT_H
23 #define RECORDTRANSPORT_H
28 class RecordGUIRewind;
30 class RecordGUIRecFrame;
45 RecordTransport(MWindow *mwindow, Record *record,
46 BC_WindowBase *window, int x, int y);
49 void create_objects();
50 void reposition_window(int x, int y);
54 int max(int a,int b) { return a>b ? a : b; }
55 void start_writing_file(int single_frame=0);
59 BC_WindowBase *window;
61 int x, y, x_end, y_end;
65 RecordGUIRewind *rewind_button;
66 RecordGUIRec *record_button;
67 RecordGUIRecFrame *record_frame;
68 RecordGUIStop *stop_button;
69 RecordGUIPause *pause_button;
71 RecordGUIBegin *begin_button;
72 RecordGUIBack *back_button;
73 RecordGUIHalt *halt_button;
74 RecordGUIPlay *play_button;
75 RecordGUIFwd *fwd_button;
76 RecordGUIEnd *end_button;
80 class RecordGUIRewind : public BC_Button
83 RecordGUIRewind(RecordTransport *record_transport, int x, int y);
89 RecordTransport *record_transport;
93 class RecordGUIRec : public BC_Button
96 RecordGUIRec(RecordTransport *record_transport, int x, int y);
100 int keypress_event();
102 RecordTransport *record_transport;
106 class RecordGUIRecFrame : public BC_Button
109 RecordGUIRecFrame(RecordTransport *record_transport, int x, int y);
110 ~RecordGUIRecFrame();
113 int keypress_event();
115 RecordTransport *record_transport;
119 class RecordGUIStop : public BC_Button
122 RecordGUIStop(RecordTransport *record_transport, int x, int y);
126 int keypress_event();
128 RecordTransport *record_transport;
132 class RecordGUIPause : public BC_Button
135 RecordGUIPause(RecordTransport *record_transport, int x, int y);
139 int keypress_event();
141 RecordTransport *record_transport;
145 class RecordGUIBegin : public BC_Button
148 RecordGUIBegin(RecordTransport *record_transport, int x, int y);
152 int keypress_event();
154 RecordTransport *record_transport;
158 class RecordGUIBack : public BC_Button
161 RecordGUIBack(RecordTransport *record_transport, int x, int y);
166 int button_release();
168 int keypress_event();
173 RecordTransport *record_transport;
177 class RecordGUIHalt : public BC_Button
180 RecordGUIHalt(RecordTransport *record_transport, int x, int y);
184 int keypress_event();
187 RecordTransport *record_transport;
191 class RecordGUIPlay : public BC_Button
194 RecordGUIPlay(RecordTransport *record_transport, int x, int y);
198 int keypress_event();
201 RecordTransport *record_transport;
205 class RecordGUIFwd : public BC_Button
208 RecordGUIFwd(RecordTransport *record_transport, int x, int y);
213 int button_release();
215 int keypress_event();
221 RecordTransport *record_transport;
225 class RecordGUIEnd : public BC_Button
228 RecordGUIEnd(RecordTransport *record_transport, int x, int y);
232 int keypress_event();
235 RecordTransport *record_transport;