void eServiceWebTS::recv_event(int evt) { eDebug("eServiceWebTS::recv_event: %d", evt); switch (evt) { case eStreamThreadWeb::evtEOS: m_decodedemux->flush(); m_event((iPlayableService*)this, evEOF); break; case eStreamThreadWeb::evtReadError: case eStreamThreadWeb::evtWriteError: m_decoder->pause(); m_event((iPlayableService*)this, evEOF); break; case eStreamThreadWeb::evtSOS: m_event((iPlayableService*)this, evSOF); break; case eStreamThreadWeb::evtStreamInfo: if (VPID != 0 && PID_SET == 0 && APID != 0) { PID_SET = 1; m_decodedemux->flush(); if (H264) m_decoder->setVideoPID(VPID, eDVBVideo::MPEG4_H264); else m_decoder->setVideoPID(VPID, eDVBVideo::MPEG2); m_decoder->setAudioPID(APID, eDVBAudio::aMPEG); m_decoder->pause(); m_event(this, evStart); m_decoder->play(); } bool wasnull = !m_audioInfo; m_streamthread->getAudioInfo(m_audioInfo); //if (m_audioInfo) // eDebug("[ServiceWebTS] %d audiostreams found", m_audioInfo->audioStreams.size()); if (m_audioInfo && wasnull) { eDebug("[ServiceWebTS] %d audiostreams found", m_audioInfo->audioStreams.size()); int sel = getCurrentTrack(); if (sel < 0) selectTrack(0); else if (m_audioInfo->audioStreams[sel].type != eDVBAudio::aMPEG) selectTrack(sel); } break; } }
void MainWindow::actionOpen() { QString fileName = QFileDialog::getOpenFileName(this, tr("Open Video or Subtitle file"), QSettings().value("lastUsedDir", QDesktopServices::storageLocation(QDesktopServices::HomeLocation)).toString(), tr("Video and subtitle files (*.txt *.og?)")); if (!fileName.isEmpty()) { const QString basename = fileName.left(fileName.length() - 3); const QString oggfile = basename + "ogg"; const QString ogmfile = basename + "ogm"; const QString ogvfile = basename + "ogv"; const QString txtfile = basename + "txt"; const QString txafile = basename + "txa"; m_subtitles[0].clear(); m_subtitles[1].clear(); if (QFile::exists(oggfile)) { openMovie(oggfile); } if (QFile::exists(ogmfile)) { openMovie(ogmfile); } if (QFile::exists(ogvfile)) { openMovie(ogvfile); } if (QFile::exists(txtfile)) { openSubtitle(txtfile, 0); m_currentPath = fileName; } if (QFile::exists(txafile)) { openSubtitle(txafile, 1); m_currentPath = fileName; } selectTrack(0); QSettings().setValue("lastUsedDir", QFileInfo(fileName).dir().path()); } }
void EditViewBase::slotToggleSolo() { // Select the track for this segment. getDocument()->getComposition().setSelectedTrack( getCurrentSegment()->getTrack()); getDocument()->getComposition().notifyTrackSelectionChanged( getCurrentSegment()->getTrack()); // Old notification mechanism. emit selectTrack(getCurrentSegment()->getTrack()); // Toggle solo on the selected track. // The "false" is ignored. It was used for the checked state. emit toggleSolo(false); }
void Player::next(bool play_track) { if (titles_list->count() == 0) return; if (track_queue.count()) { int tid = track_queue.takeFirst(); selectTrack(tid); track_queue_info.remove(tid); titles_list->currentItem()->setIcon(dequeud); } else { if (shuffle_tracks) { char *query = sqlite3_mprintf("SELECT `tid` FROM `tracks` LIMIT 1 OFFSET %i", (qrand() % num_tracks) + 1); //NOTE: the lowest `tid` is '1' sqlite3_stmt *shuffleQuery = 0; prepare(query, &shuffleQuery, "Failed to Prepare shuffle query: "); bool done = false; int tid = 0; if (step(shuffleQuery, done, true, "Failed to Step shuffle in next(): ")) tid = sqlite3_column_int(shuffleQuery, 0); selectTrack(tid); } else { artist_list->setCurrentItem(cur_artist); if (++cur_title >= titles_list->count()) { cur_title = 0; if (cur_album == 0 || ++cur_album >= album_list->count()) { cur_album = 1; int next_artist = artist_list->row(cur_artist) + 1; cur_artist = artist_list->item(next_artist >= artist_list->count() ? 1 : next_artist); artist_list->setCurrentItem(cur_artist); } else album_list->setCurrentItem(album_list->item(cur_album)); } titles_list->setCurrentItem(titles_list->item(cur_title)); } } play(titles_list->currentItem()->data(Qt::UserRole).toInt(), play_track); }
int main(int argc, const char *argv[]) { uint8 i; uint8 track[4]; uint8 player[4]; // Init system clock & disable WDT // CLKPR = 0x80; CLKPR = 0x00; MCUSR &= ~(1 << WDRF); wdt_disable(); srand(12345); // Init LCD // lcdInit(); for ( ; ; ) { if ( PIND & 0x80 ) { initSelector(32); for ( i = 0; i < 4; i++ ) { track[i] = selectItem(); } initSelector(NUM_CHARACTERS); for ( i = 0; i < 4; i++ ) { player[i] = selectItem(); } lcdSetCursor(0,0); for ( i = 0; i < 4; i++ ) { lcdPrintFlashString(selectCharacter(player[i])); lcdPrintFlashString(selectTrack(track[i])); } while ( PIND & 0x80 ); } else { lcdClearScreen(); do { rand(); } while ( !(PIND & 0x80) ); } } }
void EditViewBase::slotToggleSolo() { QAction *toggleSoloAction = findAction("toggle_solo"); if (!toggleSoloAction) return; bool newSoloState = toggleSoloAction->isChecked(); //RG_DEBUG << "EditViewBase::slotToggleSolo() : solo action is " << (toggleSoloAction->isCheckable() ? "" : "NOT") << " checkable."; //RG_DEBUG << "EditViewBase::slotToggleSolo() : solo = " << newSoloState; emit toggleSolo(newSoloState); if (newSoloState) { getDocument()->getComposition().setSelectedTrack( getCurrentSegment()->getTrack()); getDocument()->getComposition().notifyTrackSelectionChanged( getCurrentSegment()->getTrack()); // Old notification mechanism. emit selectTrack(getCurrentSegment()->getTrack()); } }
void Bodyseq::update() { buttons.read(); keypads.read(); updatePosition(); pots.update(); switch(mode) { case 0: // NO_BUTTONS playTrack(); break; case 1: // BUTTON_1 selectNote(); break; case 2: // BUTTON_2 selectStep(); break; case 3: // BUTTON_1_2 selectOctave(); break; case 4: // BUTTON_3 selectTrack(); break; case 5: // BUTTON_1_3 chainTrack(); break; case 6: // BUTTON_2_3 copyTrack(); break; case 7: // BUTTON_1_2_3 clearTrack(); break; default: break; } leds.update(); }
// ---------------------------------------------------------------------------- // void TextUI::queueTrack(void) { selectTrack( true, false ); }
// ---------------------------------------------------------------------------- // void TextUI::playTrackSeek(void) { selectTrack( false, true ); }
// ---------------------------------------------------------------------------- // void TextUI::playTrack(void) { selectTrack( false, false ); }