feat: humanize MIDI timing and dynamics with reproducible seeded edits

This commit is contained in:
Johannes Findeisen 2026-11-06 00:39:19 +01:00
commit d034417c8c
9 changed files with 51 additions and 7 deletions

View file

@ -1385,6 +1385,9 @@ int main(int argc, char **argv)
CHECK(s->select(0,0));CHECK(s->duplicate_selection()==XTC_OK);s->select_all_clips();CHECK(s->merge_midi()==XTC_OK);
xtc_project_get_counts(s->project(),&tracks,&clips);CHECK(clips==1);
CHECK(window.undo()==XTC_OK);xtc_project_get_counts(s->project(),&tracks,&clips);CHECK(clips==2);
CHECK(s->select(0,0));CHECK(window.open_piano_roll()==XTC_OK);CHECK(window.piano_roll()->add_note(480,240,60)==XTC_OK);
xtc_midi_transform human{};human.type=XTC_MIDI_TRANSFORM_HUMANIZE;human.seed=42;human.timing_variation=12;human.velocity_variation=8;
CHECK(s->transform_midi(human)==XTC_OK);CHECK(window.undo()==XTC_OK);
window.do_callback();
}
if (failures != 0) return 1;