Coder Social home page Coder Social logo

cdrdao's People

Contributors

alex-free avatar carlosuema avatar denisleroy avatar jjsimpso avatar stefanroellin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cdrdao's Issues

Port gcdmaster to Gnome 3

In my gentoo system, configuring cdrdao give:

checking for sigc++-2.0 >= 2.0.0... yes
checking for gtkmm-2.4 >= 2.4.0... yes
checking for libgnomeuimm-2.6 >= 2.6.0... no
<snip>
  Building gcdmaster : no

dev-cpp/libgnomeuimm disappeared from gentoo several years ago, and I guess from other distributions as well. It is provided by gnome-base/libgnomeui (2.24.5 installed) and I don't even know if it is a trivial fix for that issue.

cat /usr/lib64/pkgconfig/libgnomeui-2.0.pc
prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib64
includedir=${prefix}/include
libgnomeui_serverdir=${exec_prefix}/libexec

Name: libgnomeui
Description: libgnomeui
Requires: libgnome-2.0 libbonoboui-2.0 libgnomecanvas-2.0 gtk+-2.0 gdk-pixbuf-2.0 gnome-vfs-2.0
Requires.private: libart-2.0 gconf-2.0 gnome-keyring-1 
Version: 2.24.5
Libs: -L${libdir} -lgnomeui-2 -lSM -lICE
Cflags: -I${includedir}/libgnomeui-2.0

Garbage in FILE rows of TOC without --datafile

On version 1.2.5, there is an issue with the FILE rows of the read-toc output. I would guess it's caused by a use-after-free, but it must happen via libstdc++ because AddressSanitizer isn't catching it.

The command I am running:

dao/cdrdao read-toc --fast-toc --driver generic-mmc toc.txt

Expected output, on version 1.2.4 and commit 85d0ac5:

CD_DA


// Track 1
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "GARKS1500214"
FILE "data.wav" 0 04:55:37

Actual output, on version 1.2.5 (tip of master as of this writing) and commit a5ea098:

CD_DA


// Track 1
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "GARKS1500214"
FILE "/usr/lib/ao/plugins-4/libpulse.so" 0 04:55:37

Sometimes the FILE rows look like the above, sometimes they are empty (FILE ""), and other times they look like this instead (decoded as latin-1):

FILE "H�Ä�H�s,º�" 0 04:55:37

Which is complete garbage and tends to crash programs such as whipper which parse the output of read-toc and expect valid UTF-8.

If I pass --datafile foo.wav, the issue goes away. According to valgrind, dataFilename is uninitialized at the time of the NULL check here:

cdrdao/dao/main.cc

Lines 2786 to 2788 in c2b0ff2

cdr->readDiskToc(options.session,
(options.dataFilename == NULL) ?
"data.wav" : options.dataFilename)) == NULL) {

How to run on Windows?

According to the README.Win32 file, The Win32 port of cdrdao is based on the Cygwin Unix environment for Windows. This package comes with the binary version of the cygwin1.dll. You can download the corresponding source code from http://sourceforge.net/projects/cdrdao in the download section or via www.cygwin.com.

However, I can't seem to figure out what package I need to install from cygwin in order to get cdrdao. Internet searches come up fruitless. Anybody able to shed some light on this?

Special Characters in cddb data toc file

When creating a toc file with:

cdrdao read-toc --with-cddb --cddb-servers cddb.retrobridge.org:80:/~cddb/cddb.cgi --datafile data.wav ./debut.toc

The Performer is incorrectly listed as "Bj\366rk".

In the cue file created by cyanrip the Performer is correctly listed as Björk

hypen and apostrophe in the TITLE are changed to ? So Fu-Gee-La is found as Fu?Gee?La and Burnin' is Burnin?

All the above was with 1.2.4...

I have now installed 1.2.5 and Björk now displays in the toc file in terminal as Bj�rk, and Fu-Gee-La is still Fu?Gee?La

Add support for SafeDisc and other copy protection

I've been looking for an alternative to Alcohol 120% for Linux, and this is the closest I can find, but cdrdao fails to properly read and copy the Safedisc copy protection and probably other kinds as well. This makes it useless as an alternative to Alcohol 120%. It would be really great if this feature could be added. It would also be great to port cdrdao to Windows natively, and/or support .mdf disc images. But that's another thing.

Stuck after "Flushing Cache..."

Hello, I filed this bug on the sourceforge bugtracker, but it seems like here might be a more appropriate place. I'm having some issues with sdrdao writing a CD. It gets stuck after the "Flushing Cache..." step:

$ strace -o strace.log cdrdao write --eject cd.toc
Cdrdao version 1.2.4 - (C) Andreas Mueller <[email protected]>
/dev/sr0: PLDS DVDRWBD DH-12E3S Rev: MD11
Using driver: Generic SCSI-3/MMC (raw writing) - Version 2.0 (options 0x0000)

Starting write at speed 48...
Pausing 10 seconds - hit CTRL-C to abort.
Process can be aborted with QUIT signal (usually CTRL-\).
Turning BURN-Proof on
Using 96 byte raw P-W sub-channel data mode for CD-TEXT.
Executing power calibration...
Power calibration successful.
WARNING: No super user permission to setup real time scheduling.
Writing lead-in and gap...
Writing track 01 (mode AUDIO/AUDIO )...
Writing track 02 (mode AUDIO/AUDIO )...
Writing track 03 (mode AUDIO/AUDIO )....
Writing track 04 (mode AUDIO/AUDIO )....
Writing track 05 (mode AUDIO/AUDIO )....
Writing track 06 (mode AUDIO/AUDIO )....
Writing track 07 (mode AUDIO/AUDIO )....
Writing track 08 (mode AUDIO/AUDIO )....
Wrote 633 of 633 MB (Buffers 100%  98%).
Wrote 282528 blocks. Buffer fill min 93%/max 100%.
Writing lead-out...
Wrote 15 of 15 MB.
Flushing cache...

When I strace it I see this repeated over and over at the end (FD 3 is my drive):

ioctl(3, SG_IO, {interface_id='S', dxfer_direction=0 /* SG_DXFER_??? */, cmd_len=6, cmdp="\x00\x00\x00\x00\x00\x00", mx_sb_len=16, iovec_count=0, dxfer_len=0, timeout=30000, flags=SG_FLAG_DIRECT_IO, status=0x2, masked_status=0x1, msg_status=0, sb_len_wr=16, sbp="\x70\x00\x02\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x3a\x01\x00\x00", host_status=0, driver_status=0x8, resid=0, duration=34, info=SG_INFO_CHECK}) = 0

Is there something wrong with my CD writer, or is there anything I can tweak to fix this? Let me know if there's any other information I can provide.

Does not build under cygwin on Windows

Maybe I'm just doing something wrong, but I'm at a point I can no longer make progress from.
After autoconf and ./configure, during make while building cdrdao.exe I get these errors. I can't find these functions defined in ScsiIf-win.cc, so I completely understand why it doesn't know what to do. How was this supposed to work?

undefined reference to 'ScsiIf::bus()'
undefined reference to 'ScsiIf::scan(int*, char*)'
undefined reference to 'ScsiIf::id()'
undefined reference to 'ScsiIf::lun()'
undefined reference to 'ScsiIf::checkMmc(bool*, bool*, bool*, bool*)'

[toc2mp3] The title name will be lost

If the title name contains multibyte characters, non-ASCII characters (e.g. Japanese) are removed by clean_string().

example:

TITLE "(\343\201\202\343\201\204\343\201\206)_\343\201\210\343\201\212? " // (あいう)_えお?
→ "() ?"

I want to exclude only control characters or switch for this function.

All CD-Text appears in single (last) track

First, thanks so much for cdrdao! As someone that still rips CDs to our cars' "jukebox"/hard drives, I am super-interested in writing audio CDs that include CD-Text and keeping albums out of the "Unknown/No Name" artist bucket. The cloud dbs the cars connect to, often don't have album info.

I used the article @ https://apocalyptech.com/linux/cdtext/ as my starting point.

I ended up installing the most-recent version from sourgeforce. I have tried many, many iterations of trying to get this to work, with different command options, toc files, etc. It is entirely possible I've JUSTMISSED getting this right, or only ran the simulate, didn't run the real write (I am down about 20 discs at this point :) ) and missed the right mix of options.

Basically, I can get all my CD-TEXT info onto the disc, BUT, it's crammed into the last track.

Burner is ASUS DRW-24B1ST.

Command:

$ cdrdao write --device /dev/sr0 --driver generic-mmc:0x10 -v 3 --eject cd-toc00
Detected SG driver version: 3.5.27
/dev/sr0: ASUS DRW-24B1ST   a   Rev: 1.04
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0010)

[SCSI] Rezero Unit (0x01) failed: Operation not permitted.
[SCSI] Rezero Unit (0x01) failed: Operation not permitted.
Starting write CD-TEXT writing is supported.
at speed 48...
Pausing 10 seconds - hit CTRL-C to abort.
Process can be aborted with QUIT signal (usually CTRL-\).
WARNING: No super user permission to setup real time scheduling.
Waiting for reader process
Buffer filled
Awaken, will start writing
Turning BURN-Proof on
Enabling JustSpeed.
Session format: 0
Drive accepted write parameter mode page variant 0.
Executing power calibration...
Power calibration successful.

Cue Sheet (variant 0):
CTL/  TNO  INDEX  DATA  SCMS  MIN  SEC  FRAME
ADR               FORM
01    00    00     41    00   97   26   66
01    01    00     00    00   00   00   00
01    01    01     00    00   00   02   00
01    02    01     00    00   07   35   72
01    aa    01     01    00   13   19   56
Drive accepted cue sheet variant 0.
Writing CD-TEXT lead-in...
Writing track 01 (mode AUDIO/AUDIO )...
Writing track 02 (mode AUDIO/AUDIO )...
Wrote 134 of 134 MB (Buffers 100%  99%).
Wrote 59831 blocks. Buffer fill min 100%/max 100%.
Flushing cache...
Writing finished successfully.
[SCSI] Rezero Unit (0x01) failed: Operation not permitted.

cd-toc00:

CD_DA

CD_TEXT {
  LANGUAGE_MAP {
    0: 9
  }

  LANGUAGE 0 {
    TITLE "Reflektor"
    PERFORMER "Arcade Fire"
  }
}

TRACK AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "Reflektor"
    PERFORMER "Arcade Fire"
  }
}
FILE "01-01-Reflektor.wav" 0

TRACK AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "We Exist"
    PERFORMER "Arcade Fire"
  }
}
FILE "01-02-We_Exist.wav" 0

The disc is created and plays, but cd-info shows:

Disc mode is listed as: CD-DA
CD-ROM Track List (1 - 2)
  #: MSF       LSN    Type   Green? Copy? Channels Premphasis?
  1: 00:02:00  000000 audio  false  no    2        no
  2: 07:35:72  034047 audio  false  no    2        no
170: 13:19:56  059831 leadout (134 MB raw, 134 MB formatted)
Media Catalog Number (MCN):
TRACK  1 ISRC: 000000000000
TRACK  2 ISRC: 000000000000
Last CD Session LSN: 0
audio status: invalid
__________________________________
CD Analysis Report

Language 0 'English':
CD-TEXT for Disc:
CD-TEXT for Track  1:
CD-TEXT for Track  2:
        TITLE: ReflektorReflektorWe Exist
        PERFORMER: Arcade FireArcade FireArcade Fire

It may be my burner as show-toc simulate shows proper cd-text:

$ cdrdao show-toc --simulate --device /dev/sr0 --driver generic-mmc:0x10 -v 3 --eject cd-toc00
TOC TYPE: CD_DA
          TITLE "Reflektor"
          PERFORMER "Arcade Fire"
TRACK  1  Mode AUDIO:
          COPY NOT PERMITTED
          NO PRE-EMPHASIS
          TWO CHANNEL AUDIO
          START  00:00:00(     0)
          END*   07:33:72( 34047)
          TITLE "Reflektor"
          PERFORMER "Arcade Fire"

TRACK  2  Mode AUDIO:
          COPY NOT PERMITTED
          NO PRE-EMPHASIS
          TWO CHANNEL AUDIO
          START  07:33:72( 34047)
          END*   13:17:56( 59831)
          TITLE "We Exist"
          PERFORMER "Arcade Fire"

Finally, generic-mmc-raw versions fail before writing:

$ cdrdao write --simulate --device /dev/sr0 --driver generic-mmc-raw:0x10 -v 3 --eject cd-toc00
Detected SG driver version: 3.5.27
/dev/sr0: ASUS DRW-24B1ST   a   Rev: 1.04
Using driver: Generic SCSI-3/MMC (raw writing) - Version 2.0 (options 0x0010)

[snip . . .]
ERROR: Write data failed.
ERROR: Simulation failed.
[SCSI] Rezero Unit (0x01) failed: Operation not permitted.

$ cdrdao write --simulate --device /dev/sr0 --driver generic-mmc-raw -v 3 --eject cd-toc00
[snip . . .]
ERROR: Write data failed.
ERROR: Simulation failed.
[SCSI] Rezero Unit (0x01) failed: Operation not permitted.

Thanks for having a look!

CUE to TOC bug conversion due to cue2toc utility

The cue2toc utility used in cdrdao is buggy because in presence of INDEX 02 03 etc... a wrong timestamps conversion is made, so the burning get stuck with an error. Please migrate to cueconvert ! This piece of software returns a correctly formatted and calculated timestamps for TOC

cdrdao 1.2.5 breaks "version" command

Commit 3a3c0ec with title "Toning down some logs" removes the printVersion(); command from main.cc and, hence, breaks the "cdrdao version" prompt. This in turn breaks external tools like gnome brasero who rely on version checking of cdrdao for usage.

with version 1.2.4 we get:
$ cdrdao version
Cdrdao version 1.2.4 - (C) Andreas Mueller [email protected]
$

with version 1.2.5 we get:
$ cdrdao version
$

Tested on Archlinux, who just introduced the new 1.2.5 version.

--swap argument with generic-mmc-raw driver does not fix CD audio playback

I can't seem to figure out why this occurs. The --swap argument is needed for some disc images, or else loud static will play when burning said disc image and playing it back. The --swap argument does not fix the audio in combination with the generic-mmc-raw driver, but does in combination with the generic-mmc driver.

Readiness of release 1.2.5

Multiple "tiny" things related to this query which I am raising...

I am interested in gcdmaster. As per Issue #3 I assume that it is now only compilable with GTK3? (Note: I am aware of at least one or two GTK apps which still need GTK2). If GTK3 is necessary, then it looks like release 1.2.5 is needed.

How quickly can 1.2.5 be made OPENLY available as a compressed tar file? This is currently the situation with 1.2.4.

Is there currently stuff left to do before 1.2.5 is released? If so, what?

Ideally, I would like to have a workable gcdmaster in the next version of Debian Linux 12 (Bookworm). However, given how cdrdao is "used" in Debian, the deadline is either in 1 to 3 weeks time or the deadline has been missed.

Sorry for the vagueness of the query which I am raising. I have only really just started learning about the Debian package creation process together with Debian's strict deadlines. Therefore, the questions I have or will ask may have a lot of flex in them.

cdrdao copy fails with version 1.2.5 + PR #21 applied

cdrdao copy fails with cdrdaw version 1.2.5 + patch applied from #21
it doesnt segfault anymore, but it still doesnt copy an audio cd, that cdrdao 1.2.4 copies flawlessly, when i downgrade to that version. i never had this problem with version 1.2.4 and below.

$ cdrdao copy --device /dev/sr1
/dev/sr1: ATAPI iHAS324   F	Rev: CL8F
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)
[...]
Track 15...
Found ISRC code.
Found 2315 Q sub-channels with CRC errors.
Found CD-TEXT data.
Found disk catalogue number.
ERROR: CD-TEXT: Language 0: PERFORMER field not defined for all tracks or disk.
ERROR: The toc extracted from the source CD is not suitable for this drive.
ERROR: CD copying failed.

cdrdao (1.2.4-1) breaks dependency

Arch Linux 64 Bit installation:
"installing cdrdao (1.2.4-1) breaks dependency 'cdrdao=1.2.3' required by gcdmaster"

Apologies if this is in the wrong place, just wondering if it's the update or Arch itself that's causing the problem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.