feat: copy and paste arrangement phrases with independent clip snapshots
This commit is contained in:
parent
7379545ced
commit
b60501f317
9 changed files with 110 additions and 4 deletions
|
|
@ -1320,6 +1320,9 @@ int main(int argc, char **argv)
|
|||
CHECK(s->duplicate_selection()==XTC_OK && s->selected_clips().size()==2);
|
||||
size_t tc=0,cc=0;xtc_project_get_counts(s->project(),&tc,&cc);CHECK(cc==4);
|
||||
CHECK(s->delete_selection()==XTC_OK);xtc_project_get_counts(s->project(),&tc,&cc);CHECK(cc==2);
|
||||
s->select_all_clips();CHECK(s->copy_selection()==XTC_OK);s->position(7680);
|
||||
CHECK(s->paste_selection()==XTC_OK && s->selected_clips().size()==2);
|
||||
xtc_project_get_counts(s->project(),&tc,&cc);CHECK(cc==4);
|
||||
window.do_callback();
|
||||
}
|
||||
if (failures != 0) return 1;
|
||||
|
|
|
|||
|
|
@ -24,5 +24,18 @@ int main(void)
|
|||
ids[1]=a;assert(xtc_project_transform_clips(p,ids,2,XTC_CLIPS_DELETE,0,NULL)==XTC_ERR_INVALID_ARGUMENT);
|
||||
ids[1]=UINT64_MAX;assert(xtc_project_transform_clips(p,ids,2,XTC_CLIPS_MOVE,1,NULL)==XTC_ERR_NOT_FOUND);
|
||||
assert(xtc_project_transform_clips(p,ids,0,XTC_CLIPS_MOVE,1,NULL)==XTC_ERR_INVALID_ARGUMENT);
|
||||
{
|
||||
xtc_clipboard *board=NULL;xtc_project *dest=NULL;uint64_t dt;
|
||||
ids[0]=a;ids[1]=b;assert(xtc_clipboard_create(p,ids,2,&board)==XTC_OK);
|
||||
assert(xtc_clipboard_count(board)==2);assert(xtc_project_create(&dest)==XTC_OK);
|
||||
assert(xtc_project_add_track(dest,"Destination",&dt)==XTC_OK);
|
||||
assert(xtc_project_remove_clip(p,a)==XTC_OK);
|
||||
assert(xtc_clipboard_paste(board,dest,dt,0,out)==XTC_OK);
|
||||
assert(xtc_project_find_clip(dest,out[0],&c)==XTC_OK && c.start_tick==0 && c.midi);
|
||||
assert(xtc_project_note_count(dest,¬es)==XTC_OK && notes==1);
|
||||
assert(xtc_clipboard_paste(board,dest,dt,XTC_PROJECT_MAX_TICK,out)==XTC_ERR_INVALID_ARGUMENT);
|
||||
assert(xtc_project_get_counts(dest,&tracks,&clips)==XTC_OK && clips==2);
|
||||
xtc_clipboard_destroy(board);xtc_project_destroy(dest);
|
||||
}
|
||||
xtc_project_destroy(p);puts("Modern editing tests passed.");return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue