void Arranger::showTrackInfo(bool flag) { showTrackinfoFlag = flag; trackInfo->setVisible(flag); infoScroll->setVisible(flag); updateTrackInfo(-1); }
void RecurseWorker::workDir( const QString &dir ) { QFileInfoList files( QDir(dir).entryInfoList() ); emit currentPath( dir ); foreach( const QFileInfo &fileInfo, files ) { if( mCancel ) { break; } if( fileInfo.fileName().left(1) == "." ) { continue; } if( fileInfo.isDir() ) { workDir( fileInfo.absoluteFilePath() ); } if( fileInfo.isFile() ) { mpDatabase->getTrackInfo( this, SLOT(updateTrackInfo(TrackInfo)), fileInfo.absoluteFilePath() ); } } }
void Arranger::trackSelectionChanged() { MusECore::TrackList* tracks = MusEGlobal::song->tracks(); MusECore::Track* track = 0; for (MusECore::iTrack t = tracks->begin(); t != tracks->end(); ++t) { if ((*t)->selected()) { track = *t; break; } } if (track == selected) return; selected = track; updateTrackInfo(-1); }
void Arranger::trackSelectionChanged() { // REMOVE Tim. Trackinfo. Removed // MusECore::TrackList* tracks = MusEGlobal::song->tracks(); // MusECore::Track* track = 0; // for (MusECore::iTrack t = tracks->begin(); t != tracks->end(); ++t) { // if ((*t)->selected()) { // track = *t; // break; // } // } MusECore::Track* track = MusEGlobal::song->tracks()->currentSelection(); if (track == selected) return; selected = track; updateTrackInfo(-1); }
void Arranger::songChanged(MusECore::SongChangedFlags_t type) { // Is it simply a midi controller value adjustment? Forget it. if(type != SC_MIDI_CONTROLLER) { // Try these, may need more/less. if(type & ( SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED | SC_PART_INSERTED | SC_PART_REMOVED | SC_PART_MODIFIED)) { unsigned endTick = MusEGlobal::song->len(); int offset = AL::sigmap.ticksMeasure(endTick); hscroll->setRange(-offset, endTick + offset); //DEBUG canvas->setOrigin(-offset, 0); time->setOrigin(-offset, 0); int bar, beat; unsigned tick; AL::sigmap.tickValues(endTick, &bar, &beat, &tick); if (tick || beat) ++bar; lenEntry->blockSignals(true); lenEntry->setValue(bar); lenEntry->blockSignals(false); } if(type & (SC_TRACK_SELECTION | SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED)) trackSelectionChanged(); // Keep this light, partsChanged is a heavy move! Try these, may need more. Maybe sig. Requires tempo. if(type & (SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED | SC_PART_INSERTED | SC_PART_REMOVED | SC_PART_MODIFIED | SC_SIG | SC_TEMPO | SC_MASTER)) canvas->partsChanged(); if (type & SC_SIG) time->redraw(); if (type & SC_TEMPO) setGlobalTempo(MusEGlobal::tempomap.globalTempo()); if(type & SC_TRACK_REMOVED) { AudioStrip* w = (AudioStrip*)(trackInfo->getWidget(2)); if(w) { MusECore::Track* t = w->getTrack(); if(t) { MusECore::TrackList* tl = MusEGlobal::song->tracks(); MusECore::iTrack it = tl->find(t); if(it == tl->end()) { delete w; trackInfo->addWidget(0, 2); //trackInfo->insertWidget(2, 0); selected = 0; } } } } // Try these: if(type & (SC_PART_INSERTED | SC_PART_REMOVED | SC_PART_MODIFIED | SC_EVENT_INSERTED | SC_EVENT_REMOVED | SC_EVENT_MODIFIED | SC_CLIP_MODIFIED)) canvas->redraw(); } updateTrackInfo(type); }