r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / cinelerra / virtualaconsole.h
blobf30e5b30721e7d9f96e201ed533f4f99a1df3aae
1 #ifndef ARENDERTHREAD_H
2 #define ARENDERTHREAD_H
5 #include "arender.inc"
6 #include "filethread.inc" // RING_BUFFERS
7 #include "virtualconsole.h"
9 class VirtualAConsole : public VirtualConsole
11 public:
12 VirtualAConsole(RenderEngine *renderengine, ARender *arender);
13 virtual ~VirtualAConsole();
15 void new_input_buffer(int ring_buffer);
16 void delete_input_buffer(int ring_buffer);
17 int set_transport(int reverse, float speed);
18 int total_ring_buffers();
19 void get_playable_tracks();
20 void run();
22 int process_buffer(int64_t input_len,
23 int64_t input_position,
24 int last_buffer,
25 int64_t absolute_position);
26 void process_console();
28 // set up virtual console and buffers
29 int init_rendering(int duplicate);
30 // int build_virtual_console(int duplicate, int64_t current_position);
31 VirtualNode* new_toplevel_node(Track *track, Module *module, int track_number);
33 // delete buffers, tables, and mutexes
34 int stop_rendering(int duplicate);
36 // process a buffer
37 int process_buffer(int buffer, int64_t input_len, int64_t input_position, int64_t absolute_position);
38 int send_last_output_buffer(); // cause audio device to quit
40 // pointers to audio to read from disk
41 // (float*)(Track*)[Ring buffer]
42 double **buffer_in[RING_BUFFERS];
43 ARender *arender;
47 #endif