View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004649 | ardour | bugs | public | 2012-01-21 23:44 | 2020-04-19 20:16 |
Reporter | anrug | Assigned To | paul | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Target Version | 2.8.13 | ||||
Summary | 0004649: TOC export writes PERFORMER field only when present | ||||
Description | Ardour (2.0 and 3.0) does write the CD text field "PERFORMER" only when it's actually actually present. This may sound reasonable, and for cue sheets it probably is, but for reasons I'm not familiar with, the cdrdao source code wants this field filled in for all tracks and in the global section, so Ardour should probably adjust here, because cdrdao will refuse to burn a CD otherwise. The same is actually true for the TITLE field, cdrdao handles those two fields differently then any other CD text field. But with TITLE it's not an issue because that will always be filled in by Ardour at the moment. I've included a patch for review. | ||||
Additional Information | The way CD text fields are written into the R-W subcode streams in the lead-in area of an audio CD requires that each CD text field (TITLE, PERFORMER, SONGWRITER, etc.) is present for all tracks and globally if it's used in at least one track or globally. So in many cases zero-length strings will be stored (a single terminating zero that is), that's how CD text works. And cdrdao hands over that restriction over to it's users. But CD text *does not* require a specific field like PERFORMER to be present at all, that restriction comes from cdrdao. | ||||
Tags | No tags attached. | ||||
2012-01-21 23:44
|
toc_performer.patch (1,296 bytes)
Index: libs/ardour/export_handler.cc =================================================================== --- libs/ardour/export_handler.cc (Revision 11297) +++ libs/ardour/export_handler.cc (Arbeitskopie) @@ -431,7 +431,8 @@ status.out << "CD_DA" << endl; status.out << "CD_TEXT {" << endl << " LANGUAGE_MAP {" << endl << " 0 : EN" << endl << " }" << endl; - status.out << " LANGUAGE 0 {" << endl << " TITLE \"" << title << "\"" << endl << " }" << endl << "}" << endl; + status.out << " LANGUAGE 0 {" << endl << " TITLE \"" << title << "\"" << endl ; + status.out << " PERFORMER \"\"" << endl << " }" << endl << "}" << endl; } void @@ -505,9 +506,13 @@ } status.out << "CD_TEXT {" << endl << " LANGUAGE 0 {" << endl << " TITLE \"" << status.marker->name() << "\"" << endl; + + status.out << " PERFORMER \""; if (status.marker->cd_info.find("performer") != status.marker->cd_info.end()) { - status.out << " PERFORMER \"" << status.marker->cd_info["performer"] << "\"" << endl; + status.out << status.marker->cd_info["performer"]; } + status.out << "\"" << endl; + if (status.marker->cd_info.find("composer") != status.marker->cd_info.end()) { status.out << " COMPOSER \"" << status.marker->cd_info["composer"] << "\"" << endl; } |
|
Applied to 3.0 SVN 11299. Thanks! |
|
i believe that this is no longer an issue for either TOC or CUE. |
|
Issue has been closed automatically, by Trigger Close Plugin. Feel free to re-open with additional information if you think the issue is not resolved. |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-01-21 23:44 | anrug | New Issue | |
2012-01-21 23:44 | anrug | File Added: toc_performer.patch | |
2012-01-22 10:20 | cth103 | cost | => 0.00 |
2012-01-22 10:20 | cth103 | Target Version | => 3.0-beta3 |
2012-01-22 10:43 | cth103 | Note Added: 0012612 | |
2012-01-22 10:43 | cth103 | Target Version | 3.0-beta3 => 2.8.13 |
2012-01-24 16:18 | paul | Note Added: 0012639 | |
2012-01-24 16:18 | paul | Status | new => resolved |
2012-01-24 16:18 | paul | Resolution | open => fixed |
2012-01-24 16:18 | paul | Assigned To | => paul |
2020-04-19 20:16 | system | Note Added: 0022941 | |
2020-04-19 20:16 | system | Status | resolved => closed |