r105: This commit was manufactured by cvs2svn to create tag
[cinelerra_cv/mob.git] / hvirtual / plugins / cdripper / cdripper.h
blob37eade00637353c40db53141a2f735c487ca0b5c
1 #ifndef CDRIPPER_H
2 #define CDRIPPER_H
4 #include "pluginaclient.h"
6 #include <linux/cdrom.h>
8 #define NFRAMES 2
9 #define FRAMESIZE 2352
12 class CDRipMain : public PluginAClient
14 public:
15 CDRipMain(PluginServer *server);
16 ~CDRipMain();
18 char* plugin_title();
19 int is_realtime();
20 int is_multichannel();
21 int get_parameters();
22 int start_loop();
23 int stop_loop();
24 int process_loop(double **plugin_buffer, int64_t &write_length);
25 int load_defaults();
26 int save_defaults();
28 Defaults *defaults;
30 // parameters needed
31 int track1, min1, sec1, track2, min2, sec2;
32 char device[BCTEXTLEN];
33 int64_t startlba, endlba;
34 int cdrom;
35 int get_toc();
36 int open_drive();
37 int close_drive();
39 // Current state of process_loop
40 struct cdrom_read_audio arg;
41 int FRAME; // 2 bytes 2 channels
42 int previewing; // defeat bug in hardware
43 int64_t fragment_length;
44 int64_t total_length;
45 int endofselection;
46 int i, j, k, l, attempts;
47 int64_t fragment_samples;
48 int64_t currentlength;
49 int64_t startlba_fragment;
50 char *buffer; // Temp buffer for int16 data
51 int16_t *buffer_channel;
52 double *output_buffer;
53 MainProgressBar *progress;
57 #endif