summaryrefslogtreecommitdiff
path: root/libs/midi++2
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-01-18 17:57:06 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-01-18 17:57:06 -0500
commitcd27f742d460a99f388478e88f5d19f5cc1a096e (patch)
tree149027655b970c1039876cb23081e018ed60521a /libs/midi++2
parentb520db4687f35692c071f6b2c37473280fb81f90 (diff)
momo ip midi debugging
Diffstat (limited to 'libs/midi++2')
-rw-r--r--libs/midi++2/ipmidi_port.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/libs/midi++2/ipmidi_port.cc b/libs/midi++2/ipmidi_port.cc
index 848276b220..139c799c0a 100644
--- a/libs/midi++2/ipmidi_port.cc
+++ b/libs/midi++2/ipmidi_port.cc
@@ -231,6 +231,18 @@ IPMIDIPort::open_sockets (int base_port, const string& ifname)
addrout.sin_addr.s_addr = ::inet_addr("225.0.0.37");
addrout.sin_port = htons (base_port);
+ struct sockaddr_in any;
+ ::memset(&any, 0, sizeof(struct sockaddr_in));
+ addrout.sin_family = AF_INET;
+ addrout.sin_addr.s_addr = INADDR_ANY;
+ addrout.sin_port = htons (base_port);
+
+ if (::bind(sockout, (struct sockaddr *) (&any), sizeof(any)) < 0) {
+ ::perror("bind");
+ cout << "ipmidi bind error\n";
+ return false;
+ }
+
#ifndef PLATFORM_WINDOWS
int loop;
socklen_t size;
@@ -239,7 +251,7 @@ IPMIDIPort::open_sockets (int base_port, const string& ifname)
int size;
#endif
- if (::getsockopt (sockin, IPPROTO_IP, IP_MULTICAST_LOOP, (char *) &loop, &size)) {
+ if (::getsockopt (sockout, IPPROTO_IP, IP_MULTICAST_LOOP, (char *) &loop, &size)) {
// ::perror ("getsockopt(IP_MULTICAST_LOOP)");
cout << "Cannot get loopback status\n";
} else {
@@ -254,7 +266,7 @@ IPMIDIPort::open_sockets (int base_port, const string& ifname)
return false;
}
- if (::getsockopt (sockin, IPPROTO_IP, IP_MULTICAST_LOOP, (char *) &loop, &size)) {
+ if (::getsockopt (sockout, IPPROTO_IP, IP_MULTICAST_LOOP, (char *) &loop, &size)) {
// ::perror ("getsockopt(IP_MULTICAST_LOOP)");
cout << "Cannot Get loopback status 2\n";
} else {