X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=pkgsrc-cinelerra-cv.git;a=blobdiff_plain;f=patches%2Fpatch-cdripper_C;fp=patches%2Fpatch-cdripper_C;h=c34c454eaaa29dedc2701e031d83bb3aabc034c5;hp=0000000000000000000000000000000000000000;hb=8b050a68db48f7b9e6402a9a19c4898ef636ab83;hpb=eb36dc125c0fbb36e7b01e18a64f8b1eed4bd8b2 diff --git a/patches/patch-cdripper_C b/patches/patch-cdripper_C new file mode 100644 index 0000000..c34c454 --- /dev/null +++ b/patches/patch-cdripper_C @@ -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