Ejemplo n.º 1
0
void Arranger::showTrackInfo(bool flag)
      {
      showTrackinfoFlag = flag;
      trackInfo->setVisible(flag);
      infoScroll->setVisible(flag);
      updateTrackInfo(-1);
      }
Ejemplo n.º 2
0
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() );
      }
   }
}
Ejemplo n.º 3
0
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);
      }
Ejemplo n.º 4
0
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);
      }
Ejemplo n.º 5
0
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);
    }