projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix crash on startup if an LV2 plugin has a bad .ttl file.
[ardour.git]
/
libs
/
midi++2
/
fd_midiport.cc
diff --git
a/libs/midi++2/fd_midiport.cc
b/libs/midi++2/fd_midiport.cc
index 81d81c8558cffe83c0343dde69ea158582b8fbd6..9736d2b4da11cec7f39b3395075bb1cef50e7019 100644
(file)
--- a/
libs/midi++2/fd_midiport.cc
+++ b/
libs/midi++2/fd_midiport.cc
@@
-20,12
+20,13
@@
#include <fcntl.h>
#include <cerrno>
#include <fcntl.h>
#include <cerrno>
+#include <cstring>
-#include
<pbd/error.h>
-#include
<pbd/pathscanner.h>
+#include
"pbd/error.h"
+#include
"pbd/pathscanner.h"
-#include
<midi++/types.h>
-#include
<midi++/fd_midiport.h>
+#include
"midi++/types.h"
+#include
"midi++/fd_midiport.h"
using namespace std;
using namespace MIDI;
using namespace std;
using namespace MIDI;
@@
-34,40
+35,38
@@
using namespace PBD;
string *FD_MidiPort::midi_dirpath = 0;
string *FD_MidiPort::midi_filename_pattern = 0;
string *FD_MidiPort::midi_dirpath = 0;
string *FD_MidiPort::midi_filename_pattern = 0;
-FD_MidiPort::FD_MidiPort (
PortRequest &req,
+FD_MidiPort::FD_MidiPort (
const XMLNode& node,
const string &dirpath,
const string &pattern)
const string &dirpath,
const string &pattern)
- : Port (
req
)
+ : Port (
node
)
{
{
- open (req);
+ Descriptor desc (node);
+
+ open (desc);
if (_fd < 0) {
switch (errno) {
case EBUSY:
error << "MIDI: port device in use" << endmsg;
if (_fd < 0) {
switch (errno) {
case EBUSY:
error << "MIDI: port device in use" << endmsg;
- req.status = PortRequest::Busy;
break;
case ENOENT:
error << "MIDI: no such port device" << endmsg;
break;
case ENOENT:
error << "MIDI: no such port device" << endmsg;
- req.status = PortRequest::NoSuchFile;
break;
case EACCES:
error << "MIDI: access to port denied" << endmsg;
break;
case EACCES:
error << "MIDI: access to port denied" << endmsg;
- req.status = PortRequest::NotAllowed;
break;
default:
break;
default:
-
req.status = PortRequest::Unknown
;
+
break
;
}
} else {
_ok = true;
}
} else {
_ok = true;
- req.status = PortRequest::OK;
if (midi_dirpath == 0) {
midi_dirpath = new string (dirpath);
midi_filename_pattern = new string (pattern);
}
if (midi_dirpath == 0) {
midi_dirpath = new string (dirpath);
midi_filename_pattern = new string (pattern);
}
- if (
req.mode & O_NONBLOCK
== 0) {
+ if (
(desc.mode & O_NONBLOCK)
== 0) {
/* we unconditionally set O_NONBLOCK during
open, but the request didn't ask for it,
so remove it.
/* we unconditionally set O_NONBLOCK during
open, but the request didn't ask for it,
so remove it.
@@
-80,11
+79,11
@@
FD_MidiPort::FD_MidiPort (PortRequest &req,
}
void
}
void
-FD_MidiPort::open (
PortRequest &req
)
+FD_MidiPort::open (
const Descriptor& desc
)
{
{
- int mode =
req
.mode | O_NONBLOCK;
- _fd = ::open (
req.devname
, mode);
+ int mode =
desc
.mode | O_NONBLOCK;
+ _fd = ::open (
desc.device.c_str()
, mode);
}
vector<string *> *
}
vector<string *> *
@@
-93,7
+92,7
@@
FD_MidiPort::list_devices ()
{
PathScanner scanner;
{
PathScanner scanner;
- return scanner (*midi_dirpath, *midi_filename_pattern, false, true);
+ return scanner (*midi_dirpath, *midi_filename_pattern, false, true
, false
);
}
int
}
int
@@
-136,7
+135,7
@@
FD_MidiPort::do_slow_write (byte *msg, unsigned int msglen)
}
bytes_written++;
}
bytes_written++;
- for (i = 0; i < slowdown * 10000; i++)
;
+ for (i = 0; i < slowdown * 10000; i++)
{}
}
}
@@
-152,7
+151,7
@@
FD_MidiPort::do_slow_write (byte *msg, unsigned int msglen)
}
int
}
int
-FD_MidiPort::read (byte* buf, size_t max
, timestamp_t timestamp
)
+FD_MidiPort::read (byte* buf, size_t max)
{
int nread;
{
int nread;