+ void configure_midi_devices ();
+
+ struct MidiDeviceSetting {
+ std::string name;
+ bool enabled;
+ uint32_t input_latency;
+ uint32_t output_latency;
+
+ MidiDeviceSetting (std::string n, bool en = true, uint32_t inl = 0, uint32_t oul = 0)
+ : name (n)
+ , enabled (en)
+ , input_latency (inl)
+ , output_latency (oul)
+ {}
+ };
+
+ typedef boost::shared_ptr<MidiDeviceSetting> MidiDeviceSettings;
+ bool _can_set_midi_latencies;
+ std::vector<MidiDeviceSettings> _midi_devices;
+
+ MidiDeviceSettings find_midi_device(std::string devicename) const {
+ for (std::vector<MidiDeviceSettings>::const_iterator p = _midi_devices.begin(); p != _midi_devices.end(); ++p) {
+ if ((*p)->name == devicename) {
+ return *p;
+ }
+ }
+ return MidiDeviceSettings();
+ }
+
+ struct StateStruct {