Ticket #6276: 00-6276-mythmusic-cddevices.2.patch

File 00-6276-mythmusic-cddevices.2.patch, 5.1 KB (added by Matthew Wire <devel@…>, 17 years ago)

Refresh against 20301. Includes in playlist.cpp had been rearranged

  • mythplugins/mythmusic/mythmusic/globalsettings.cpp

     
    6767    return gc;
    6868};
    6969
    70 static HostComboBox *CDDevice()
     70static HostLineEdit *CDDevice()
    7171{
    72     HostComboBox *gc = new HostComboBox("CDDevice", true);
     72    HostLineEdit *gc = new HostLineEdit("CDDevice");
    7373    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");
    8475    gc->setHelpText(QObject::tr("CDRom device used for ripping/playback."));
    8576    return gc;
    8677};
     
    492483    return gc;
    493484};
    494485
    495 static HostComboBox *CDWriterDevice()
     486static HostLineEdit *CDWriterDevice()
    496487{
    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");
    548490    gc->setLabel(QObject::tr("CD-Writer Device"));
    549491    gc->setHelpText(QObject::tr("Select the SCSI or IDE Device for CD Writing."));
    550492    return gc;
  • mythplugins/mythmusic/mythmusic/playlist.cpp

     
    1818#include <mythcontext.h>
    1919#include <mythdb.h>
    2020#include <compat.h>
     21#include <mythmediamonitor.h>
    2122
    2223const char *kID0err = "Song with ID of 0 in playlist, this shouldn't happen.";
    2324
     
    11801181        return 1;
    11811182    }
    11821183
    1183     QString scsidev = gContext->GetSetting("CDWriterDevice");
     1184    QString scsidev = MediaMonitor::defaultCDWriter();
    11841185    if (scsidev.isEmpty() || scsidev.isNull())
    11851186    {
    11861187        VERBOSE(VB_GENERAL, "No CD Writer device defined.");
  • mythplugins/mythmusic/mythmusic/databasebox.cpp

     
    1818#include <mythtv/lcddevice.h>
    1919#include <mythtv/uitypes.h>
    2020#include <mythtv/uilistbtntype.h>
     21#include <mythtv/mythmediamonitor.h>
    2122
    2223// mythmusic
    2324#include "metadata.h"
     
    421422        return;
    422423    }
    423424
    424     QString scsidev = gContext->GetSetting("CDWriterDevice");
    425     if (scsidev.length()==0)
     425    QString scsidev = MediaMonitor::defaultCDWriter();
     426    if (scsidev.isEmpty() || scsidev.isNull())
    426427    {
    427         VERBOSE(VB_GENERAL, "We don't have SCSI devices");
     428        VERBOSE(VB_GENERAL, "No CD Writer device defined.");
    428429        return;
    429430    }
     431
    430432    // Begin Blanking
    431433    MythProgressDialog *record_progress;
    432434    record_progress = new MythProgressDialog(tr("CD-RW Blanking Progress"), 10);
     
    865867
    866868    if (gContext->GetNumSetting("CDWriterEnabled"))
    867869    {
    868         QString scsidev = gContext->GetSetting("CDWriterDevice");
     870        QString scsidev = MediaMonitor::defaultCDWriter();
    869871        if (!scsidev.isEmpty() && !scsidev.isNull())
    870872            cdwriter = true;
    871873    }