Guest User

Untitled

a guest
Oct 2nd, 2011
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. void CMainFrame::OnDuplicatePatterns()
  2. {
  3.     // should add undo here? insert/duplicate frame don't
  4.  
  5.     CFamiTrackerDoc *pDoc = (CFamiTrackerDoc*)GetActiveDocument();
  6.     CFamiTrackerView *pView = (CFamiTrackerView*)GetActiveView();
  7.  
  8.     unsigned int Frame = pView->GetSelectedFrame();
  9.     unsigned int FrameCount = pDoc->GetFrameCount();
  10.     unsigned int Channels = pDoc->GetAvailableChannels();
  11.  
  12.     if (FrameCount == MAX_FRAMES)
  13.         return;
  14.  
  15.     // insert new frame with next free pattern numbers
  16.     pView->OnModuleFrameInsert();
  17.  
  18.  
  19.     // copy old patterns into new
  20.     for (unsigned i = 0; i < Channels; ++i) {
  21.         for(unsigned int j = 0; j < MAX_PATTERN_LENGTH; j++) {
  22.             stChanNote note;
  23.             pDoc->GetNoteData(Frame, i, j, ¬e);
  24.             pDoc->SetNoteData(Frame + 1, i, j, ¬e);
  25.         }
  26.     }
  27. }
  28.  
Advertisement
Add Comment
Please, Sign In to add comment