Ticket #6276: 00-6276-mythmusic-cddevices.2.patch
| File 00-6276-mythmusic-cddevices.2.patch, 5.1 KB (added by , 17 years ago) |
|---|
-
mythplugins/mythmusic/mythmusic/globalsettings.cpp
67 67 return gc; 68 68 }; 69 69 70 static Host ComboBox*CDDevice()70 static HostLineEdit *CDDevice() 71 71 { 72 Host ComboBox *gc = new HostComboBox("CDDevice", true);72 HostLineEdit *gc = new HostLineEdit("CDDevice"); 73 73 gc->setLabel(QObject::tr("CD device")); 74 QDir dev("/dev", "cdrom*", QDir::Name, QDir::System); 75 gc->fillSelectionsFromDir(dev); 76 dev.setNameFilter("scd*"); 77 gc->fillSelectionsFromDir(dev); 78 dev.setNameFilter("hd*"); 79 gc->fillSelectionsFromDir(dev); 80 81 dev.setNameFilter("cdrom*"); 82 dev.setPath("/dev/cdroms"); 83 gc->fillSelectionsFromDir(dev); 74 gc->setValue("default"); 84 75 gc->setHelpText(QObject::tr("CDRom device used for ripping/playback.")); 85 76 return gc; 86 77 }; … … 492 483 return gc; 493 484 }; 494 485 495 static Host ComboBox*CDWriterDevice()486 static HostLineEdit *CDWriterDevice() 496 487 { 497 HostComboBox *gc = new HostComboBox("CDWriterDevice"); 498 499 typedef std::vector<std::pair<QString, QString> > search_cmd_list; 500 search_cmd_list search_types; 501 search_types.push_back(std::make_pair("", "")); 502 search_types.push_back(std::make_pair("-dev=ATA", "ATA:")); 503 search_types.push_back(std::make_pair("-dev=ATAPI", "ATAPI:")); 504 505 const QString scan_command("cdrecord"); 506 for (search_cmd_list::const_iterator p = search_types.begin(); 507 p != search_types.end(); ++p) 508 { 509 QStringList args; 510 args << "--scanbus"; 511 if (p->first.size()) 512 args << p->first; 513 514 QProcess proc; 515 516 proc.start(scan_command, args, QIODevice::ReadOnly); 517 if (proc.waitForStarted() && proc.waitForFinished(1500) && 518 proc.exitStatus() == QProcess::NormalExit) 519 { 520 QTextStream output(&proc); 521 522 QString line; 523 while (!(line = output.readLine()).isNull()) 524 { 525 if (line.length() > 12) 526 { 527 if (line[10] == ')' && line[12] != '*') 528 { 529 QString name = line.mid(24, 16); 530 QString dev = p->second + line.mid(1, 5); 531 532 gc->addSelection(name, dev); 533 VERBOSE(VB_GENERAL, 534 QString("MythMusic adding CD-Writer: %1 -- %2") 535 .arg(dev).arg(name)); 536 } 537 } 538 } 539 } 540 else 541 { 542 VERBOSE(VB_GENERAL, QString("Failed to run '%1 %2' " 543 "error code: %3").arg(scan_command) 544 .arg(args.join(" ")).arg(proc.error())); 545 } 546 } 547 488 HostLineEdit *gc = new HostLineEdit("CDWriterDevice"); 489 gc->setValue("default"); 548 490 gc->setLabel(QObject::tr("CD-Writer Device")); 549 491 gc->setHelpText(QObject::tr("Select the SCSI or IDE Device for CD Writing.")); 550 492 return gc; -
mythplugins/mythmusic/mythmusic/playlist.cpp
18 18 #include <mythcontext.h> 19 19 #include <mythdb.h> 20 20 #include <compat.h> 21 #include <mythmediamonitor.h> 21 22 22 23 const char *kID0err = "Song with ID of 0 in playlist, this shouldn't happen."; 23 24 … … 1180 1181 return 1; 1181 1182 } 1182 1183 1183 QString scsidev = gContext->GetSetting("CDWriterDevice");1184 QString scsidev = MediaMonitor::defaultCDWriter(); 1184 1185 if (scsidev.isEmpty() || scsidev.isNull()) 1185 1186 { 1186 1187 VERBOSE(VB_GENERAL, "No CD Writer device defined."); -
mythplugins/mythmusic/mythmusic/databasebox.cpp
18 18 #include <mythtv/lcddevice.h> 19 19 #include <mythtv/uitypes.h> 20 20 #include <mythtv/uilistbtntype.h> 21 #include <mythtv/mythmediamonitor.h> 21 22 22 23 // mythmusic 23 24 #include "metadata.h" … … 421 422 return; 422 423 } 423 424 424 QString scsidev = gContext->GetSetting("CDWriterDevice");425 if (scsidev. length()==0)425 QString scsidev = MediaMonitor::defaultCDWriter(); 426 if (scsidev.isEmpty() || scsidev.isNull()) 426 427 { 427 VERBOSE(VB_GENERAL, " We don't have SCSI devices");428 VERBOSE(VB_GENERAL, "No CD Writer device defined."); 428 429 return; 429 430 } 431 430 432 // Begin Blanking 431 433 MythProgressDialog *record_progress; 432 434 record_progress = new MythProgressDialog(tr("CD-RW Blanking Progress"), 10); … … 865 867 866 868 if (gContext->GetNumSetting("CDWriterEnabled")) 867 869 { 868 QString scsidev = gContext->GetSetting("CDWriterDevice");870 QString scsidev = MediaMonitor::defaultCDWriter(); 869 871 if (!scsidev.isEmpty() && !scsidev.isNull()) 870 872 cdwriter = true; 871 873 }
