Ticket #4430: mythmusic_rip_directory_v1_r15332.diff

File mythmusic_rip_directory_v1_r15332.diff, 4.8 KB (added by Roo <roo.watt@…>, 16 years ago)
  • mythplugins/mythmusic/mythmusic/globalsettings.cpp

     
    3434    gc->setValue("/mnt/store/music/");
    3535#endif
    3636    gc->setHelpText(QObject::tr("This directory must exist, and the user "
     37                    "running MythMusic needs to have read permission "
     38                    "to the directory."));
     39    return gc;
     40};
     41
     42static HostLineEdit *SetMusicRipDirectory()
     43{
     44    HostLineEdit *gc = new HostLineEdit("MusicRipLocation");
     45    gc->setLabel(QObject::tr("Directory to rip music to"));
     46#ifdef Q_WS_MACX
     47    gc->setValue(QDir::homeDirPath() + "/Music");
     48#else
     49    gc->setValue("/mnt/store/music/");
     50#endif
     51    gc->setHelpText(QObject::tr("This directory must exist, and the user "
    3752                    "running MythMusic needs to have write permission "
    3853                    "to the directory."));
    3954    return gc;
     
    685700{
    686701    VerticalConfigurationGroup* rippersettings = new VerticalConfigurationGroup(false);
    687702    rippersettings->setLabel(QObject::tr("CD Ripper Settings"));
     703    rippersettings->addChild(SetMusicRipDirectory());
    688704    rippersettings->addChild(ParanoiaLevel());
    689705    rippersettings->addChild(FilenameTemplate());
    690706    rippersettings->addChild(NoWhitespace());
  • mythplugins/mythmusic/mythmusic/cdrip.cpp

     
    925925// if createDir is true then the directory structure will be created
    926926QString Ripper::filenameFromMetadata(Metadata *track, bool createDir)
    927927{
    928     QString musicdir = gContext->GetSetting("MusicLocation");
    929     musicdir = QDir::cleanDirPath(musicdir);
    930     if (!musicdir.endsWith("/"))
    931         musicdir += "/";
     928    // Fetch and cleanup the ripper directory setting
     929    QString musicripdir = gContext->GetSetting("MusicRipLocation");
     930    musicripdir = QDir::cleanDirPath(musicripdir);
     931    if (!musicripdir.endsWith("/"))
     932        musicripdir += "/";
    932933
    933     QDir directoryQD(musicdir);
     934    QDir directoryQD(musicripdir);
    934935    QString filename = "";
    935936    QString fntempl = gContext->GetSetting("FilenameTemplate");
    936937    bool no_ws = gContext->GetNumSetting("NoWhitespace", 0);
     
    977978    if (no_ws)
    978979        filename.replace(rx_ws, "_");
    979980
    980     if (filename == musicdir || filename.length() > FILENAME_MAX)
     981    if (filename == musicripdir || filename.length() > FILENAME_MAX)
    981982    {
    982983        QString tempstr = QString::number(track->Track(), 10);
    983984        tempstr += " - " + track->FormatTitle();
    984         filename = musicdir + fixFileToken(tempstr);
     985        filename = musicripdir + fixFileToken(tempstr);
    985986        VERBOSE(VB_GENERAL, QString("Invalid file storage definition."));
    986987    }
    987988
     
    990991    QStringList directoryList = QStringList::split("/", filename);
    991992    for (unsigned i = 0; i < (directoryList.size() - 1); i++)
    992993    {
    993         musicdir += "/" + directoryList[i];
     994        musicripdir += "/" + directoryList[i];
    994995        if (createDir)
    995996        {
    996997            umask(022);
    997             directoryQD.mkdir(musicdir, true);
    998             directoryQD.cd(musicdir, true);
     998            directoryQD.mkdir(musicripdir, true);
     999            directoryQD.cd(musicripdir, true);
    9991000        }
    10001001    }
    10011002
    1002     filename = QDir::cleanDirPath(musicdir) + "/" + directoryList.last();
     1003    filename = QDir::cleanDirPath(musicripdir) + "/" + directoryList.last();
    10031004
    10041005    return filename;
    10051006}
  • mythtv/libs/libmythtv/dbcheck.cpp

     
    1111#include "datadirect.h" // for DataDirectProcessor::FixProgramIDs
    1212
    1313/// This is the DB schema version expected by the running MythTV instance.
    14 const QString currentDatabaseVersion = "1205";
     14const QString currentDatabaseVersion = "1206";
    1515
    1616static bool UpdateDBVersionNumber(const QString &newnumber);
    1717static bool performActualUpdate(const QString updates[], QString version,
     
    33513351            return false;
    33523352    }
    33533353
     3354    if (dbver == "1205")
     3355    {
     3356        const QString updates[] = {
     3357"INSERT INTO settings (value,data,hostname)"
     3358"SELECT 'MusicRipLocation', data, hostname FROM settings "
     3359"WHERE value='MusicLocation'; ",
     3360""
     3361};
     3362    if (!performActualUpdate(updates, "1206", dbver))
     3363            return false;
     3364    }
    33543365
     3366
    33553367//"ALTER TABLE cardinput DROP COLUMN preference;" in 0.22
    33563368//"ALTER TABLE channel DROP COLUMN atscsrcid;" in 0.22
    33573369//"ALTER TABLE recordedmarkup DROP COLUMN offset;" in 0.22