本文整理汇总了C++中TrackPointer::getTitle方法的典型用法代码示例。如果您正苦于以下问题:C++ TrackPointer::getTitle方法的具体用法?C++ TrackPointer::getTitle怎么用?C++ TrackPointer::getTitle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TrackPointer
的用法示例。
在下文中一共展示了TrackPointer::getTitle方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: populateFields
void DlgTrackInfo::populateFields(TrackPointer pTrack) {
setWindowTitle(pTrack->getTitle());
// Editable fields
txtTrackName->setText(pTrack->getTitle());
txtArtist->setText(pTrack->getArtist());
txtAlbum->setText(pTrack->getAlbum());
txtAlbumArtist->setText(pTrack->getAlbumArtist());
txtGenre->setText(pTrack->getGenre());
txtComposer->setText(pTrack->getComposer());
txtGrouping->setText(pTrack->getGrouping());
txtYear->setText(pTrack->getYear());
txtTrackNumber->setText(pTrack->getTrackNumber());
txtComment->setText(pTrack->getComment());
spinBpm->setValue(pTrack->getBpm());
// Non-editable fields
txtDuration->setText(pTrack->getDurationStr());
txtFilepath->setText(pTrack->getFilename());
txtLocation->setText(pTrack->getLocation());
txtType->setText(pTrack->getType());
txtBitrate->setText(QString(pTrack->getBitrateStr()) + (" ") + tr("kbps"));
txtBpm->setText(pTrack->getBpmStr());
txtKey->setText(pTrack->getKeyText());
BeatsPointer pBeats = pTrack->getBeats();
bool beatsSupportsSet = !pBeats || (pBeats->getCapabilities() & Beats::BEATSCAP_SET);
bool enableBpmEditing = !pTrack->hasBpmLock() && beatsSupportsSet;
spinBpm->setEnabled(enableBpmEditing);
bpmTap->setEnabled(enableBpmEditing);
bpmDouble->setEnabled(enableBpmEditing);
bpmHalve->setEnabled(enableBpmEditing);
bpmTwoThirds->setEnabled(enableBpmEditing);
bpmThreeFourth->setEnabled(enableBpmEditing);
}
示例2: metaDataHasChanged
bool EngineShoutcast::metaDataHasChanged() {
TrackPointer pTrack;
if (m_iMetaDataLife < 16) {
m_iMetaDataLife++;
return false;
}
m_iMetaDataLife = 0;
pTrack = PlayerInfo::Instance().getCurrentPlayingTrack();
if (!pTrack)
return false;
if (m_pMetaData) {
if ((pTrack->getId() == -1) || (m_pMetaData->getId() == -1)) {
if ((pTrack->getArtist() == m_pMetaData->getArtist()) &&
(pTrack->getTitle() == m_pMetaData->getArtist())) {
return false;
}
} else if (pTrack->getId() == m_pMetaData->getId()) {
return false;
}
}
m_pMetaData = pTrack;
return true;
}
示例3: metaDataHasChanged
bool EngineRecord::metaDataHasChanged()
{
if (m_iMetaDataLife < kMetaDataLifeTimeout) {
m_iMetaDataLife++;
return false;
}
m_iMetaDataLife = 0;
TrackPointer pTrack = PlayerInfo::instance().getCurrentPlayingTrack();
if ( !pTrack )
return false;
if ( m_pCurrentTrack ) {
if ((pTrack->getId() == -1) || (m_pCurrentTrack->getId() == -1)) {
if ((pTrack->getArtist() == m_pCurrentTrack->getArtist()) &&
(pTrack->getTitle() == m_pCurrentTrack->getArtist())) {
return false;
}
}
else if (pTrack->getId() == m_pCurrentTrack->getId()) {
return false;
}
}
m_pCurrentTrack = pTrack;
return true;
}
示例4: metaDataHasChanged
bool EngineShoutcast::metaDataHasChanged() {
TrackPointer pTrack;
// TODO(rryan): This is latency and buffer size dependent. Should be based
// on time.
if (m_iMetaDataLife < 16) {
m_iMetaDataLife++;
return false;
}
m_iMetaDataLife = 0;
pTrack = PlayerInfo::instance().getCurrentPlayingTrack();
if (!pTrack)
return false;
if (m_pMetaData) {
if ((pTrack->getId() == -1) || (m_pMetaData->getId() == -1)) {
if ((pTrack->getArtist() == m_pMetaData->getArtist()) &&
(pTrack->getTitle() == m_pMetaData->getArtist())) {
return false;
}
} else if (pTrack->getId() == m_pMetaData->getId()) {
return false;
}
}
m_pMetaData = pTrack;
return true;
}
示例5: addTrack
void DlgTagFetcher::addTrack(const TrackPointer track, int resultIndex,
QTreeWidget* parent) const {
QStringList values;
values << track->getTrackNumber() << track->getYear() << track->getTitle()
<< track->getArtist() << track->getAlbum();
QTreeWidgetItem* item = new QTreeWidgetItem(parent, values);
item->setData(0, Qt::UserRole, resultIndex);
item->setData(0, Qt::TextAlignmentRole, Qt::AlignRight);
}
示例6: dequeueNextBlocking
// This is called from the AnalyserQueue thread
TrackPointer AnalyserQueue::dequeueNextBlocking() {
m_qm.lock();
if (m_tioq.isEmpty()) {
Event::end("AnalyserQueue process");
m_qwait.wait(&m_qm);
Event::start("AnalyserQueue process");
if (m_exit) {
m_qm.unlock();
return TrackPointer();
}
}
const PlayerInfo& info = PlayerInfo::instance();
TrackPointer pLoadTrack;
QMutableListIterator<TrackPointer> it(m_tioq);
while (it.hasNext()) {
TrackPointer& pTrack = it.next();
if (!pTrack) {
it.remove();
continue;
}
// Prioritize tracks that are loaded.
if (info.isTrackLoaded(pTrack)) {
qDebug() << "Prioritizing" << pTrack->getTitle() << pTrack->getLocation();
pLoadTrack = pTrack;
it.remove();
break;
}
}
if (!pLoadTrack && !m_tioq.isEmpty()) {
pLoadTrack = m_tioq.dequeue();
}
m_qm.unlock();
if (pLoadTrack) {
qDebug() << "Analyzing" << pLoadTrack->getTitle() << pLoadTrack->getLocation();
}
// pTrack might be NULL, up to the caller to check.
return pLoadTrack;
}
示例7: metaDataHasChanged
bool EngineRecord::metaDataHasChanged()
{
//Originally, m_iMetaDataLife was used so that getCurrentPlayingTrack was called
//less often, because it was calculating it.
//Nowadays (since Mixxx 1.11), it just accesses a map on a thread safe method.
TrackPointer pTrack = PlayerInfo::instance().getCurrentPlayingTrack();
if (!pTrack) {
m_iMetaDataLife = kMetaDataLifeTimeout;
return false;
}
//The counter is kept so that changes back and forth with the faders/crossfader
//(like in scratching or other effects) are not counted as multiple track changes
//in the cue file. A better solution could consist of a signal from PlayerInfo and
//a slot that decides if the changes received are valid or are to be ignored once
//the next process call comes. This could also help improve the time written in the CUE.
if (m_iMetaDataLife < kMetaDataLifeTimeout) {
m_iMetaDataLife++;
return false;
}
m_iMetaDataLife = 0;
if (m_pCurrentTrack) {
if (!pTrack->getId().isValid() || !m_pCurrentTrack->getId().isValid()) {
if ((pTrack->getArtist() == m_pCurrentTrack->getArtist()) &&
(pTrack->getTitle() == m_pCurrentTrack->getArtist())) {
return false;
}
}
else if (pTrack->getId() == m_pCurrentTrack->getId()) {
return false;
}
}
m_pCurrentTrack = pTrack;
return true;
}
示例8: populateModel
void BrowseThread::populateModel() {
m_path_mutex.lock();
MDir thisPath = m_path;
BrowseTableModel* thisModelObserver = m_model_observer;
m_path_mutex.unlock();
// Refresh the name filters in case we loaded new SoundSource plugins.
QStringList nameFilters(SoundSourceProxy::getSupportedFileNamePatterns());
QDirIterator fileIt(thisPath.dir().absolutePath(), nameFilters,
QDir::Files | QDir::NoDotAndDotDot);
// remove all rows
// This is a blocking operation
// see signal/slot connection in BrowseTableModel
emit(clearModel(thisModelObserver));
QList< QList<QStandardItem*> > rows;
int row = 0;
// Iterate over the files
while (fileIt.hasNext()) {
// If a user quickly jumps through the folders
// the current task becomes "dirty"
m_path_mutex.lock();
MDir newPath = m_path;
m_path_mutex.unlock();
if (thisPath.dir() != newPath.dir()) {
qDebug() << "Abort populateModel()";
return populateModel();
}
QList<QStandardItem*> row_data;
QStandardItem* item = new QStandardItem("0");
item->setData("0", Qt::UserRole);
row_data.insert(COLUMN_PREVIEW, item);
const QString filepath = fileIt.next();
{
const TrackPointer pTrack =
SoundSourceProxy::importTemporaryTrack(
filepath,
thisPath.token());
item = new QStandardItem(pTrack->getFileName());
item->setToolTip(item->text());
item->setData(item->text(), Qt::UserRole);
row_data.insert(COLUMN_FILENAME, item);
item = new QStandardItem(pTrack->getArtist());
item->setToolTip(item->text());
item->setData(item->text(), Qt::UserRole);
row_data.insert(COLUMN_ARTIST, item);
item = new QStandardItem(pTrack->getTitle());
item->setToolTip(item->text());
item->setData(item->text(), Qt::UserRole);
row_data.insert(COLUMN_TITLE, item);
item = new QStandardItem(pTrack->getAlbum());
item->setToolTip(item->text());
item->setData(item->text(), Qt::UserRole);
row_data.insert(COLUMN_ALBUM, item);
item = new QStandardItem(pTrack->getAlbumArtist());
item->setToolTip(item->text());
item->setData(item->text(), Qt::UserRole);
row_data.insert(COLUMN_ALBUMARTIST, item);
item = new QStandardItem(pTrack->getTrackNumber());
item->setToolTip(item->text());
item->setData(item->text().toInt(), Qt::UserRole);
row_data.insert(COLUMN_TRACK_NUMBER, item);
const QString year(pTrack->getYear());
item = new YearItem(year);
item->setToolTip(year);
// The year column is sorted according to the numeric calendar year
item->setData(mixxx::TrackMetadata::parseCalendarYear(year), Qt::UserRole);
row_data.insert(COLUMN_YEAR, item);
item = new QStandardItem(pTrack->getGenre());
item->setToolTip(item->text());
item->setData(item->text(), Qt::UserRole);
row_data.insert(COLUMN_GENRE, item);
item = new QStandardItem(pTrack->getComposer());
item->setToolTip(item->text());
item->setData(item->text(), Qt::UserRole);
row_data.insert(COLUMN_COMPOSER, item);
item = new QStandardItem(pTrack->getGrouping());
item->setToolTip(item->text());
item->setData(item->text(), Qt::UserRole);
row_data.insert(COLUMN_GROUPING, item);
item = new QStandardItem(pTrack->getComment());
item->setToolTip(item->text());
//.........这里部分代码省略.........
示例9: getTrackValueForColumn
void BaseTrackCache::getTrackValueForColumn(TrackPointer pTrack,
int column,
QVariant& trackValue) const {
if (!pTrack || column < 0) {
return;
}
// TODO(XXX) Qt properties could really help here.
// TODO(rryan) this is all TrackDAO specific. What about iTunes/RB/etc.?
if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ARTIST) == column) {
trackValue.setValue(pTrack->getArtist());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_TITLE) == column) {
trackValue.setValue(pTrack->getTitle());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ALBUM) == column) {
trackValue.setValue(pTrack->getAlbum());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ALBUMARTIST) == column) {
trackValue.setValue(pTrack->getAlbumArtist());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_YEAR) == column) {
trackValue.setValue(pTrack->getYear());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_DATETIMEADDED) == column) {
trackValue.setValue(pTrack->getDateAdded());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_GENRE) == column) {
trackValue.setValue(pTrack->getGenre());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COMPOSER) == column) {
trackValue.setValue(pTrack->getComposer());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_GROUPING) == column) {
trackValue.setValue(pTrack->getGrouping());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_FILETYPE) == column) {
trackValue.setValue(pTrack->getType());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_TRACKNUMBER) == column) {
trackValue.setValue(pTrack->getTrackNumber());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_LOCATION) == column) {
trackValue.setValue(QDir::toNativeSeparators(pTrack->getLocation()));
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COMMENT) == column) {
trackValue.setValue(pTrack->getComment());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_DURATION) == column) {
trackValue.setValue(pTrack->getDuration());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_BITRATE) == column) {
trackValue.setValue(pTrack->getBitrate());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_BPM) == column) {
trackValue.setValue(pTrack->getBpm());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_REPLAYGAIN) == column) {
trackValue.setValue(pTrack->getReplayGain().getRatio());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_PLAYED) == column) {
trackValue.setValue(pTrack->getPlayCounter().isPlayed());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_TIMESPLAYED) == column) {
trackValue.setValue(pTrack->getPlayCounter().getTimesPlayed());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_RATING) == column) {
trackValue.setValue(pTrack->getRating());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_KEY) == column) {
trackValue.setValue(pTrack->getKeyText());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_KEY_ID) == column) {
trackValue.setValue(static_cast<int>(pTrack->getKey()));
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_BPM_LOCK) == column) {
trackValue.setValue(pTrack->isBpmLocked());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COVERART_LOCATION) == column) {
trackValue.setValue(pTrack->getCoverInfo().coverLocation);
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COVERART_HASH) == column ||
fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COVERART) == column) {
// For sorting, we give COLUMN_LIBRARYTABLE_COVERART the same value as
// the cover hash.
trackValue.setValue(pTrack->getCoverHash());
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COVERART_SOURCE) == column) {
trackValue.setValue(static_cast<int>(pTrack->getCoverInfo().source));
} else if (fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COVERART_TYPE) == column) {
trackValue.setValue(static_cast<int>(pTrack->getCoverInfo().type));
}
}