void MediaStreamPrivate::removeRemoteTrack(MediaStreamTrackPrivate* track) { if (m_client) m_client->removeRemoteTrack(track); else removeTrack(track); }
void SequenceCursor::removeTrack (const SequencerTrack* track) { const int index = track->index(); if (index >= 0 && uint32_t (index) < numTracks()) removeTrack ((uint32_t) index); }
void QTGTrackListModel::removeTrack(QAbstractRangeModel *track){ if ( !track ) return; int index = m_items.indexOf(track); if ( index == -1 ) return; removeTrack(index); }
void MediaStream::removeRemoteTrack(MediaStreamTrackPrivate* privateTrack) { ASSERT(privateTrack); if (!active()) return; RefPtr<MediaStreamTrack> track = getTrackById(privateTrack->id()); if (removeTrack(track)) scheduleDispatchEvent(MediaStreamTrackEvent::create(eventNames().removetrackEvent, false, false, track.release())); }
void MediaStream::removeTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionCode& ec) { if (!active()) { ec = INVALID_STATE_ERR; return; } if (!prpTrack) { ec = TYPE_MISMATCH_ERR; return; } if (removeTrack(prpTrack)) { for (auto observer = m_observers.begin(), end = m_observers.end(); observer != end; ++observer) (*observer)->didAddOrRemoveTrack(); } }
void Playlist::createMenus() { m_localsMenu = new QMenu(tr("Add to list")); m_listMenu = new QMenu(m_listWidget); /* Popup Track actions */ // Add to Queue QAction *toQueueA = new QAction(tr("Add to queue"), this); toQueueA->setShortcut(QKeySequence("Q")); m_listMenu->addAction(toQueueA); connect(toQueueA, SIGNAL(triggered()), this, SLOT(addToQueue())); // Add to library m_toLibraryA = new QAction(tr("Add to Library"), this); m_listMenu->addAction(m_toLibraryA); connect(m_toLibraryA, SIGNAL(triggered()), this, SLOT(addToLibrary())); // Download track QAction *downloadA = new QAction(tr("Download"), this);; // downloadA->setShortcut(QKeySequence("D")); m_listMenu->addAction(downloadA); connect(downloadA, SIGNAL(triggered()), this, SLOT(downloadTrack())); // Remove track QAction *removeA = new QAction(tr("Remove"), this);; removeA->setShortcut(QKeySequence::Delete); m_listMenu->addAction(removeA); connect(removeA, SIGNAL(triggered()), this, SLOT(removeTrack())); // Set 'add to local list' menu for all lists except local list if(m_listType != PlaylistWidget::LocalList) m_listMenu->addMenu(m_localsMenu); m_listWidget->setMenu(m_listMenu); }
Playlist::Playlist(PlaylistWidget::ListTypes listType, QString title, quint64 hash, QObject *parent) : QObject(parent) { m_listType = listType; m_sTitle = title; m_bCustomTitle = false; m_Settings = Settings::instance(); connect(m_Settings, SIGNAL(changed()), SLOT(onSettingsChanged())); m_bLoadingState = false; m_bShuffleList = m_Settings->getValue("player/shuffle").toInt() > 1 ? true : false; m_LastTrack = 0; m_bLoadMeta = false; m_bUseMeta = false; m_bTitleByContent = m_Settings->getValue("playlist/tabs_by_content").toBool(); m_Auth = Auth::instance(); connect(m_Auth, SIGNAL(authComplete()), SLOT(update())); // Set hash if(hash == 0) { QDateTime *time = new QDateTime(QDateTime::currentDateTime()); m_Hash = time->toMSecsSinceEpoch(); m_bNewly = true; } else { m_Hash = hash; m_bNewly = false; } // Create playlist widget m_listWidget = new PlaylistWidget(m_listType); connect(this, SIGNAL(trackAdded()), m_listWidget, SLOT(trackAdded())); connect(m_listWidget, SIGNAL(trackActivate(Track*)), SLOT(trackActivate(Track*))); // Connect key events connect(m_listWidget, SIGNAL(skQueue()), SLOT(addToQueue())); connect(m_listWidget, SIGNAL(skRemove()), SLOT(removeTrack())); connect(m_listWidget, SIGNAL(skDownload()), SLOT(downloadTrack())); // Create object of parser m_Parser = new Parser(this); connect(m_Parser, SIGNAL(newTrack(Track*)), SLOT(addTrack(Track*))); connect(m_Parser, SIGNAL(busy()), SLOT(parserBusy())); connect(m_Parser, SIGNAL(free()), SLOT(parserFree())); connect(m_Parser, SIGNAL(savePlaylist()), SLOT(save())); connect(m_Parser, SIGNAL(busy()), m_listWidget, SLOT(showLoading())); connect(m_Parser, SIGNAL(free()), m_listWidget, SLOT(hideLoading())); // Create actions parser m_vkActions = VkActions::instance(); connect(m_vkActions, SIGNAL(message(QString,QString)), SIGNAL(message(QString,QString))); switch(m_listType) { case PlaylistWidget::Search: connect(m_listWidget, SIGNAL(searchChanged(QString)), SLOT(searchChanged(QString))); connect(m_listWidget, SIGNAL(loadMore()), m_Parser, SLOT(loadMoreResults())); break; case PlaylistWidget::AudioLib: connect(m_listWidget->friendsList(), SIGNAL(friendSelected(QString,QString,QString)), SLOT(librarySelected(QString,QString,QString))); connect(m_listWidget, SIGNAL(refresh()), SLOT(refresh())); break; case PlaylistWidget::Suggestions: connect(m_listWidget, SIGNAL(loadMore()), m_Parser, SLOT(loadMoreResults())); connect(m_listWidget, SIGNAL(refresh()), SLOT(refresh())); break; case PlaylistWidget::DbSearch: connect(m_listWidget, SIGNAL(searchChanged(QString)), SLOT(searchChanged(QString))); connect(m_listWidget, SIGNAL(newTrack(Track*)), SLOT(addTrack(Track*))); connect(m_listWidget, SIGNAL(clearList()), SLOT(clearList())); break; } m_Model = new QStandardItemModel(this); m_ProxyModel = new QSortFilterProxyModel(this); m_ProxyModel->setSourceModel(m_Model); m_ProxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); m_ProxyModel->setFilterKeyColumn(2); m_listWidget->setModel(m_ProxyModel); connect(m_listWidget, SIGNAL(listSearchChanged(QString)), SLOT(setListSearch(QString))); createMenus(); load(); if(type() == PlaylistWidget::AudioLib && m_bNewly && m_Settings->getValue("playlist/autoload_library").toBool() ) librarySelected(m_Auth->vkId(), "0", tr("My Library")); // Actions on newly created plalylists if(m_bNewly) { switch(m_listType) { case PlaylistWidget::Search: m_listWidget->focusOnSearch(); break; case PlaylistWidget::AudioLib: if(m_Settings->getValue("playlist/autoload_library").toBool()) librarySelected(m_Auth->vkId(), "0", tr("My Library")); break; case PlaylistWidget::Suggestions: refresh(); break; case PlaylistWidget::DbSearch: // Unused break; } } }
// Track-removal command methods. bool qtractorRemoveTrackCommand::redo (void) { return removeTrack(); }
bool qtractorAddTrackCommand::undo (void) { return removeTrack(); }