Ticket #6276: 00-6276-mythmusic-cddevices.patch
File 00-6276-mythmusic-cddevices.patch, 5.1 KB (added by , 15 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
15 15 #include "smartplaylist.h" 16 16 #include <mythtv/mythdb.h> 17 17 #include <mythtv/compat.h> 18 #include <mythtv/mythmediamonitor.h> 18 19 19 20 #include <qfileinfo.h> 20 21 #include <q3process.h> … … 1705 1706 return 1; 1706 1707 } 1707 1708 1708 QString scsidev = gContext->GetSetting("CDWriterDevice");1709 QString scsidev = MediaMonitor::defaultCDWriter(); 1709 1710 if (scsidev.isEmpty() || scsidev.isNull()) 1710 1711 { 1711 1712 VERBOSE(VB_GENERAL, "No CD Writer device defined."); -
mythplugins/mythmusic/mythmusic/databasebox.cpp
20 20 #include <mythtv/lcddevice.h> 21 21 #include <mythtv/uitypes.h> 22 22 #include <mythtv/uilistbtntype.h> 23 #include <mythtv/mythmediamonitor.h> 23 24 24 25 // mythmusic 25 26 #include "metadata.h" … … 422 423 return; 423 424 } 424 425 425 QString scsidev = gContext->GetSetting("CDWriterDevice");426 if (scsidev. length()==0)426 QString scsidev = MediaMonitor::defaultCDWriter(); 427 if (scsidev.isEmpty() || scsidev.isNull()) 427 428 { 428 VERBOSE(VB_GENERAL, " We don't have SCSI devices");429 VERBOSE(VB_GENERAL, "No CD Writer device defined."); 429 430 return; 430 431 } 432 431 433 // Begin Blanking 432 434 MythProgressDialog *record_progress; 433 435 record_progress = new MythProgressDialog(tr("CD-RW Blanking Progress"), 10); … … 866 868 867 869 if (gContext->GetNumSetting("CDWriterEnabled")) 868 870 { 869 QString scsidev = gContext->GetSetting("CDWriterDevice");871 QString scsidev = MediaMonitor::defaultCDWriter(); 870 872 if (!scsidev.isEmpty() && !scsidev.isNull()) 871 873 cdwriter = true; 872 874 }