本文整理汇总了C++中MusicMetadata::setHostname方法的典型用法代码示例。如果您正苦于以下问题:C++ MusicMetadata::setHostname方法的具体用法?C++ MusicMetadata::setHostname怎么用?C++ MusicMetadata::setHostname使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MusicMetadata
的用法示例。
在下文中一共展示了MusicMetadata::setHostname方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: run
//.........这里部分代码省略.........
m_parent,
new RipStatusEvent(RipStatusEvent::kTrackPercentEvent, 0));
// do we need to start a new file?
if (m_tracks->at(trackno)->active)
{
titleTrack = track;
titleTrack->setLength(m_tracks->at(trackno)->length);
if (m_quality < 3)
{
if (encodertype == "mp3")
{
outfile = QString("track%1.mp3").arg(trackno);
encoder.reset(new LameEncoder(saveDir + outfile, m_quality,
titleTrack, mp3usevbr));
}
else // ogg
{
outfile = QString("track%1.ogg").arg(trackno);
encoder.reset(new VorbisEncoder(saveDir + outfile, m_quality,
titleTrack));
}
}
else
{
outfile = QString("track%1.flac").arg(trackno);
encoder.reset(new FlacEncoder(saveDir + outfile, m_quality,
titleTrack));
}
if (!encoder->isValid())
{
QApplication::postEvent(
m_parent,
new RipStatusEvent(
RipStatusEvent::kEncoderErrorEvent,
"Encoder failed to open file for writing"));
LOG(VB_GENERAL, LOG_ERR, "MythMusic: Encoder failed"
" to open file for writing");
RunEpilog();
return;
}
}
if (!encoder.get())
{
// This should never happen.
QApplication::postEvent(
m_parent,
new RipStatusEvent(RipStatusEvent::kEncoderErrorEvent,
"Failed to create encoder"));
LOG(VB_GENERAL, LOG_ERR, "MythMusic: No encoder, failing");
RunEpilog();
return;
}
ripTrack(m_CDdevice, encoder.get(), trackno + 1);
if (isCancelled())
{
RunEpilog();
return;
}
if (m_tracks->at(trackno)->active)
{
QString ext = QFileInfo(outfile).suffix();
QString destFile = filenameFromMetadata(titleTrack) + '.' + ext;
QUrl url(m_musicStorageDir);
// save the metadata to the DB
titleTrack->setFilename(destFile);
titleTrack->setHostname(url.host());
titleTrack->setFileSize((quint64)QFileInfo(outfile).size());
titleTrack->dumpToDatabase();
// this will delete the encoder which will write the metadata in it's dtor
encoder.reset();
// copy track to the BE
destFile = gCoreContext->GenMythURL(url.host(), 0, destFile, "Music");
QApplication::postEvent(m_parent, new RipStatusEvent(RipStatusEvent::kCopyStartEvent, 0));
RemoteFile::CopyFile(saveDir + outfile, destFile, true);
QApplication::postEvent(m_parent, new RipStatusEvent(RipStatusEvent::kCopyEndEvent, 0));
}
}
}
QString PostRipCDScript = gCoreContext->GetSetting("PostCDRipScript");
if (!PostRipCDScript.isEmpty())
myth_system(PostRipCDScript);
QApplication::postEvent(
m_parent, new RipStatusEvent(RipStatusEvent::kFinishedEvent, ""));
RunEpilog();
}
示例2: AddFileToDB
/*!
* \brief Insert file details into database.
* If it is an audio file, read the metadata and insert
* that information at the same time.
*
* If it is an image file, just insert the filename and
* type.
*
* \param filename Full path to file.
*
* \returns Nothing.
*/
void MusicFileScanner::AddFileToDB(const QString &filename, const QString &startDir)
{
QString extension = filename.section( '.', -1 ) ;
QString directory = filename;
directory.remove(0, startDir.length());
directory = directory.section( '/', 0, -2);
QString nameFilter = gCoreContext->GetSetting("AlbumArtFilter", "*.png;*.jpg;*.jpeg;*.gif;*.bmp");
// If this file is an image, insert the details into the music_albumart table
if (nameFilter.indexOf(extension.toLower()) > -1)
{
QString name = filename.section( '/', -1);
MSqlQuery query(MSqlQuery::InitCon());
query.prepare("INSERT INTO music_albumart "
"SET filename = :FILE, directory_id = :DIRID, "
"imagetype = :TYPE, hostname = :HOSTNAME;");
query.bindValue(":FILE", name);
query.bindValue(":DIRID", m_directoryid[directory]);
query.bindValue(":TYPE", AlbumArtImages::guessImageType(name));
query.bindValue(":HOSTNAME", gCoreContext->GetHostName());
if (!query.exec() || query.numRowsAffected() <= 0)
{
MythDB::DBError("music insert artwork", query);
}
++m_coverartAdded;
return;
}
if (extension.isEmpty() || !MetaIO::ValidFileExtensions.contains(extension.toLower()))
{
LOG(VB_GENERAL, LOG_WARNING, QString("Ignoring filename with unsupported filename: '%1'").arg(filename));
return;
}
LOG(VB_FILE, LOG_INFO, QString("Reading metadata from %1").arg(filename));
MusicMetadata *data = MetaIO::readMetadata(filename);
if (data)
{
data->setFileSize((quint64)QFileInfo(filename).size());
data->setHostname(gCoreContext->GetHostName());
QString album_cache_string;
// Set values from cache
int did = m_directoryid[directory];
if (did > 0)
data->setDirectoryId(did);
int aid = m_artistid[data->Artist().toLower()];
if (aid > 0)
{
data->setArtistId(aid);
// The album cache depends on the artist id
album_cache_string = QString::number(data->getArtistId()) + "#"
+ data->Album().toLower();
if (m_albumid[album_cache_string] > 0)
data->setAlbumId(m_albumid[album_cache_string]);
}
int gid = m_genreid[data->Genre().toLower()];
if (gid > 0)
data->setGenreId(gid);
// Commit track info to database
data->dumpToDatabase();
// Update the cache
m_artistid[data->Artist().toLower()] =
data->getArtistId();
m_genreid[data->Genre().toLower()] =
data->getGenreId();
album_cache_string = QString::number(data->getArtistId()) + "#"
+ data->Album().toLower();
m_albumid[album_cache_string] = data->getAlbumId();
// read any embedded images from the tag
MetaIO *tagger = MetaIO::createTagger(filename);
//.........这里部分代码省略.........