diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-10-21 16:32:46 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-10-21 16:32:46 -0400 |
commit | 6866359c4800a3443f218c8c3fcff08f83fea9da (patch) | |
tree | 0903b08e9d2edb80a98e295bc7e5b24f4ee89d5d /libs/ardour/ardour | |
parent | fb200cfbb9271433aba7355e29cf8dafc97552bf (diff) |
when fetching MIDI ports for bundles and auto-connection, ignore control-only (and "virtual") MIDI ports
"virtual" is a placeholder name for ALSA sequencer MIDI through ports
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/port_manager.h | 10 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 4 | ||||
-rw-r--r-- | libs/ardour/ardour/types.h | 1 |
3 files changed, 12 insertions, 3 deletions
diff --git a/libs/ardour/ardour/port_manager.h b/libs/ardour/ardour/port_manager.h index f7b0034890..4b95d2ca6e 100644 --- a/libs/ardour/ardour/port_manager.h +++ b/libs/ardour/ardour/port_manager.h @@ -89,8 +89,12 @@ class LIBARDOUR_API PortManager /* other Port management */ bool port_is_physical (const std::string&) const; - void get_physical_outputs (DataType type, std::vector<std::string>&); - void get_physical_inputs (DataType type, std::vector<std::string>&); + void get_physical_outputs (DataType type, std::vector<std::string>&, + MidiPortFlags include = MidiPortFlags (0), + MidiPortFlags exclude = MidiPortFlags (0)); + void get_physical_inputs (DataType type, std::vector<std::string>&, + MidiPortFlags include = MidiPortFlags (0), + MidiPortFlags exclude = MidiPortFlags (0)); ChanCount n_physical_outputs () const; ChanCount n_physical_inputs () const; @@ -204,6 +208,8 @@ class LIBARDOUR_API PortManager void save_midi_port_info (); void load_midi_port_info (); void fill_midi_port_info_locked (); + + void filter_midi_ports (std::vector<std::string>&, MidiPortFlags, MidiPortFlags); }; diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 6d05af8beb..f37746d6b2 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -1532,7 +1532,9 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop AutoConnectQueue _auto_connect_queue; guint _latency_recompute_pending; - void get_physical_ports (std::vector<std::string>& inputs, std::vector<std::string>& outputs, DataType type, bool excluding); + void get_physical_ports (std::vector<std::string>& inputs, std::vector<std::string>& outputs, DataType type, + MidiPortFlags include = MidiPortFlags (0), + MidiPortFlags exclude = MidiPortFlags (0)); void auto_connect (const AutoConnectRequest&); void queue_latency_recompute (); diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h index cf21e4c11b..612ca9aa3f 100644 --- a/libs/ardour/ardour/types.h +++ b/libs/ardour/ardour/types.h @@ -664,6 +664,7 @@ namespace ARDOUR { MidiPortMusic = 0x1, MidiPortControl = 0x2, MidiPortSelection = 0x4, + MidiPortVirtual = 0x8 }; struct LatencyRange { |