]> gitweb @ CieloNegro.org - pkgsrc-cinelerra-cv.git/blobdiff - patches/patch-cdripper_C
Now it builds.
[pkgsrc-cinelerra-cv.git] / patches / patch-cdripper_C
diff --git a/patches/patch-cdripper_C b/patches/patch-cdripper_C
new file mode 100644 (file)
index 0000000..c34c454
--- /dev/null
@@ -0,0 +1,93 @@
+$NetBSD$
+
+--- plugins/cdripper/cdripper.C.orig   2010-01-29 09:03:11.000000000 +0000
++++ plugins/cdripper/cdripper.C
+@@ -19,6 +19,8 @@
+  * 
+  */
++#include "config.h"
++
+ #include "errorbox.h"
+ #include "bcdisplayinfo.h"
+ #include "cdripper.h"
+@@ -126,7 +128,9 @@ int CDRipMain::get_parameters()
+ int CDRipMain::open_drive()
+ {
++#if defined(HAVE_LINUX_CDROM_H)
+       if((cdrom = open(device, O_RDONLY)) < 0)
++#endif
+       {
+               BC_DisplayInfo info;
+               ErrorBox window(PROGRAM_NAME ": CD Ripper",
+@@ -137,17 +141,22 @@ int CDRipMain::open_drive()
+               return 1;
+       }
++#if defined(HAVE_LINUX_CDROM_H)
+       ioctl(cdrom, CDROMSTART);         // start motor
++#endif
+       return 0;
+ }
+ int CDRipMain::close_drive()
+ {
++#if defined(HAVE_LINUX_CDROM_H)
+       ioctl(cdrom, CDROMSTOP);
+       close(cdrom);
++#endif
+       return 0;
+ }
++#if defined(HAVE_LINUX_CDROM_H)
+ int CDRipMain::get_toc()
+ {
+ // test CD
+@@ -263,6 +272,17 @@ int CDRipMain::get_toc()
+       close_drive();
+       return result;
+ }
++#else
++int CDRipMain::get_toc() {
++    BC_DisplayInfo info;
++    ErrorBox window(PROGRAM_NAME ": CD Ripper",
++                    info.get_abs_cursor_x(), 
++                    info.get_abs_cursor_y());
++    window.create_objects(_("Can't get total from table of contents."));
++    window.run_window();
++    return 1;
++}
++#endif
+ int CDRipMain::start_loop()
+ {
+@@ -294,9 +314,11 @@ int CDRipMain::start_loop()
+       currentlength = 0;
+       startlba_fragment = startlba - fragment_length * previewing / FRAMESIZE;
+       buffer = new char[fragment_length];
++#if defined(HAVE_LINUX_CDROM_H)
+       arg.addr.lba = startlba_fragment;
+       arg.addr_format = CDROM_LBA;
+       arg.nframes = NFRAMES;
++#endif
+ //printf("CDRipMain::start_loop 2\n");
+       return result;
+@@ -316,6 +338,7 @@ int CDRipMain::stop_loop()
+       return 0;
+ }
++#if defined(HAVE_LINUX_CDROM_H)
+ int CDRipMain::process_loop(double **plugin_buffer, int64_t &write_length)
+ {
+       int result = 0;
+@@ -385,3 +408,8 @@ int CDRipMain::process_loop(double **plu
+ //printf("CDRipMain::process_loop 8 %d %d\n", endofselection, result);
+       return endofselection || result;
+ }
++#else
++int CDRipMain::process_loop(double **, int64_t &) {
++    return 0;
++}
++#endif