X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvirtualaconsole.h;fp=cinelerra-5.1%2Fcinelerra%2Fvirtualaconsole.h;h=96c48cf7873fd62c29707c36b263bfd3214eb7e8;hb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;hp=0000000000000000000000000000000000000000;hpb=52fcc46226f9df46f9ce9d0566dc568455a7db0b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/virtualaconsole.h b/cinelerra-5.1/cinelerra/virtualaconsole.h new file mode 100644 index 00000000..96c48cf7 --- /dev/null +++ b/cinelerra-5.1/cinelerra/virtualaconsole.h @@ -0,0 +1,65 @@ + +/* + * CINELERRA + * Copyright (C) 2008 Adam Williams + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#ifndef ARENDERTHREAD_H +#define ARENDERTHREAD_H + + +#include "arender.inc" +#include "filethread.inc" // RING_BUFFERS +#include "samples.inc" +#include "virtualconsole.h" + +class VirtualAConsole : public VirtualConsole +{ +public: + VirtualAConsole(RenderEngine *renderengine, ARender *arender); + virtual ~VirtualAConsole(); + + int set_transport(int reverse, float speed); + void get_playable_tracks(); + +// process a buffer + int process_buffer(int64_t input_len, + int64_t input_position); + + void process_asynchronous(); + +// set up virtual console and buffers + int init_rendering(int duplicate); +// int build_virtual_console(int duplicate, int64_t current_position); + VirtualNode* new_entry_node(Track *track, + Module *module, + int track_number); + +// cause audio device to quit + int send_last_output_buffer(); + +// Temporary for audio rendering. This stores each track's output before it is +// mixed into the device buffer. + Samples *output_temp; + int output_allocation; + + ARender *arender; +}; + + +#endif