summaryrefslogtreecommitdiff
path: root/libs/midi++2/port_request.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-07-20 16:05:00 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-07-20 16:05:00 +0000
commitab3020cee102913aa6399d6fb5535e7e55093120 (patch)
tree65d00ee6ff10dc58be876d541b51927481240758 /libs/midi++2/port_request.cc
parente644ddc4c8efa1b134a61b7a5a7f4112d2e90465 (diff)
permit MIDI port removal now, and save MIDI ports back to the ardour.rc file
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2163 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/midi++2/port_request.cc')
-rw-r--r--libs/midi++2/port_request.cc45
1 files changed, 3 insertions, 42 deletions
diff --git a/libs/midi++2/port_request.cc b/libs/midi++2/port_request.cc
index d081bdb570..352ed77fb7 100644
--- a/libs/midi++2/port_request.cc
+++ b/libs/midi++2/port_request.cc
@@ -18,10 +18,9 @@
$Id$
*/
-#include <fcntl.h>
-#include <string.h>
#include <midi++/port.h>
#include <midi++/port_request.h>
+#include <midi++/factory.h>
using namespace std;
using namespace MIDI;
@@ -36,45 +35,7 @@ PortRequest::PortRequest (const string &xdev,
devname = strdup (xdev.c_str());
tagname = strdup (xtag.c_str());
-
- if (xmode == "output" ||
- xmode == "out" ||
- xmode == "OUTPUT" ||
- xmode == "OUT") {
- mode = O_WRONLY;
-
- } else if (xmode == "input" ||
- xmode == "in" ||
- xmode == "INPUT" ||
- xmode == "IN") {
- mode = O_RDONLY;
-
- } else if (xmode == "duplex" ||
- xmode == "DUPLEX" ||
- xmode == "inout" ||
- xmode == "INOUT") {
- mode = O_RDWR;
- } else {
- status = Unknown;
- }
-
- if (xtype == "ALSA/RAW" ||
- xtype == "alsa/raw") {
- type = Port::ALSA_RawMidi;
- } else if (xtype == "ALSA/SEQUENCER" ||
- xtype == "alsa/sequencer") {
- type = Port::ALSA_Sequencer;
- } else if (xtype == "COREMIDI" ||
- xtype == "coremidi") {
- type = Port::CoreMidi_MidiPort;
- } else if (xtype == "NULL" ||
- xtype == "null") {
- type = Port::Null;
- } else if (xtype == "FIFO" ||
- xtype == "fifo") {
- type = Port::FIFO;
- } else {
- status = Unknown;
- }
+ mode = PortFactory::string_to_mode (xmode);
+ type = PortFactory::string_to_type (xtype);
}