summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-10-21 16:32:46 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-10-21 16:32:46 -0400
commit6866359c4800a3443f218c8c3fcff08f83fea9da (patch)
tree0903b08e9d2edb80a98e295bc7e5b24f4ee89d5d /libs/ardour/ardour
parentfb200cfbb9271433aba7355e29cf8dafc97552bf (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.h10
-rw-r--r--libs/ardour/ardour/session.h4
-rw-r--r--libs/ardour/ardour/types.h1
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 {