Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void CMainFrame::OnDuplicatePatterns()
- {
- // should add undo here? insert/duplicate frame don't
- CFamiTrackerDoc *pDoc = (CFamiTrackerDoc*)GetActiveDocument();
- CFamiTrackerView *pView = (CFamiTrackerView*)GetActiveView();
- unsigned int Frame = pView->GetSelectedFrame();
- unsigned int FrameCount = pDoc->GetFrameCount();
- unsigned int Channels = pDoc->GetAvailableChannels();
- if (FrameCount == MAX_FRAMES)
- return;
- // insert new frame with next free pattern numbers
- pView->OnModuleFrameInsert();
- // copy old patterns into new
- for (unsigned i = 0; i < Channels; ++i) {
- for(unsigned int j = 0; j < MAX_PATTERN_LENGTH; j++) {
- stChanNote note;
- pDoc->GetNoteData(Frame, i, j, ¬e);
- pDoc->SetNoteData(Frame + 1, i, j, ¬e);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment