This is not a Haskell question; it is entirely about the serialosc protocol. (I say that to avoid losing the interest of any serialosc whiz who does not use Haskell.) However, it is motivated by some Haskell code, which is the subject of this thread.
Question 1: What are these symbols?
The serialosc protocol includes some mysterious symbols.
For instance, in /serialosc/list si <host> <port>
, what does si
represent? Is it even sent? (I ask because pymonome includes the line self.send('/serialosc/list', self.host, self.port)
, which makes no mention of si
.)
What about the i
in /sys/port i <port>
? The s
in /sys/host s <host>
? The ssi
in /serialosc/device ssi <id> <type> <port>
? The ii
in /sys/size ii report grid device size
?
Question 2: Am I trying to do the right thing?
Based on my interpretation of the serialosc protocol, this program seems like it ought to work. The function monomeMailbox
starts a process listening on localhost port 0 which simply prints to screen any OSC messages it receives. requestMonomeInfo
sends (when the user chooses, from a separate interpreter) the OSC message /sys/info localhost 0
(where “localhost” is a four-number address, not the word “localhost”) to localhost port 12002. If I understand the serialosc protocol correctly, that message should cause serialosc to send some data describing connected devices to localhost port 0.
I know serialosc is running, because I can run the first program in the monome Python tutorial. And I know the mailbox is working, because I can send to it with the function testMailbox
.
For the port number in the /sys/info
message I’ve tried sending both a string and an int.
pymonome uses aiosc, which sends OSC over UDP. And Wikipedia indicates that OSC uses UDP. So it seems clear that I should be using UDP, not TCPIP.
Running ifconfig
from Bash indicates that the only other network address in use on my system is 192.168.0.15
. So for localhost
I’ve tried using both 127.0.0.1
and 192.168.0.15
. (If I’m reading the pymonome code correctly, 127.0.0.1
is the one to use.)
I can’t think of any other variations to try. In all cases the mailbox reports nothing.