feat(midi): export selected clip as an atomic Standard MIDI File (phase 103)
This commit is contained in:
parent
e9d0c62fd6
commit
02ee1818a3
9 changed files with 178 additions and 5 deletions
|
|
@ -6,6 +6,7 @@
|
|||
#include "../../src/gui/mixer_widget.hpp"
|
||||
#include "../../src/gui/plugin_dialog.hpp"
|
||||
#include "../../src/gui/preferences_dialog.hpp"
|
||||
#include "xtc/xtc_midi_file.h"
|
||||
#include "../../src/gui/command_palette.hpp"
|
||||
#include <FL/Fl_Value_Input.H>
|
||||
#include "../../src/gui/plugin_library.hpp"
|
||||
|
|
@ -366,6 +367,12 @@ int midi_workflow_tests()
|
|||
CHECK(window.settings().midi_output_channel==4);
|
||||
auto missing=settings;strcpy(missing.midi_input_port,"missing:port");CHECK(window.apply_preferences(missing)==XTC_OK);
|
||||
CHECK(window.start_configured_backend()==XTC_ERR_NOT_FOUND && !handle.running);CHECK(window.apply_preferences(settings)==XTC_OK);
|
||||
CHECK(window.create_track(true)==XTC_OK && window.open_piano_roll()==XTC_OK);
|
||||
CHECK(window.piano_roll()->add_note(0,240,64,90,2)==XTC_OK);
|
||||
std::string midi=std::string(dir)+"/clip.mid";auto *original=s->project();
|
||||
CHECK(window.export_midi_clip(midi.c_str())==XTC_OK && s->project()==original);
|
||||
{char signature[4];FILE *f=fopen(midi.c_str(),"rb");CHECK(f && fread(signature,1,4,f)==4 && !memcmp(signature,"MThd",4));if(f)fclose(f);}
|
||||
unlink(midi.c_str());window.detach_piano(false);
|
||||
s->grid(480);window.show_track_inspector(true);window.resize(20,30,1300,820);
|
||||
CHECK(window.set_loop(960,3840,true)==XTC_OK);window.do_callback();CHECK(!window.shown());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue