1 #ifndef ARENDERTHREAD_H
2 #define ARENDERTHREAD_H
6 #include "filethread.inc" // RING_BUFFERS
7 #include "virtualconsole.h"
9 class VirtualAConsole
: public VirtualConsole
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();
22 int process_buffer(int64_t input_len
,
23 int64_t input_position
,
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
);
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
];