summaryrefslogtreecommitdiff
path: root/libs/midi++2/midifactory.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/midi++2/midifactory.cc')
-rw-r--r--libs/midi++2/midifactory.cc30
1 files changed, 19 insertions, 11 deletions
diff --git a/libs/midi++2/midifactory.cc b/libs/midi++2/midifactory.cc
index d8119e362e..de4a246bcf 100644
--- a/libs/midi++2/midifactory.cc
+++ b/libs/midi++2/midifactory.cc
@@ -89,20 +89,28 @@ PortFactory::create_port (PortRequest &req, void* data)
return port;
}
-void
-PortFactory::add_port_request (vector<PortRequest *> &reqs,
- const string &str)
-
+bool
+PortFactory::ignore_duplicate_devices (Port::Type type)
{
- PortRequest *req;
+ bool ret = false;
- req = new PortRequest;
- req->devname = strdup (str.c_str());
- req->tagname = strdup (str.c_str());
+ switch (type) {
+#ifdef WITH_ALSA
+ case Port::ALSA_Sequencer:
+ ret = true;
+ break;
+#endif // WITH_ALSA
- req->mode = O_RDWR;
- req->type = Port::ALSA_RawMidi;
+#if WITH_COREMIDI
+ case Port::CoreMidi_MidiPort:
+ ret = true;
+ break;
+#endif // WITH_COREMIDI
+
+ default:
+ break;
+ }
- reqs.push_back (req);
+ return ret;
}