mapmapteam / mapmap

Open source video mapping software
http://www.mapmap.info
GNU General Public License v3.0
428 stars 64 forks source link

OSC works only after opening the console #350

Open davideriboli opened 7 years ago

davideriboli commented 7 years ago

Hi, I'm running MapMap 0.5.0 on Ubuntu LTS 16.04 Xenial 64 bit.

Running "send_osc" and "dump_osc" on different terminal windows works, and even launching OSC messages from Android phone to terminal window works.

But MapMap is not listening on 12345 or any other port.

sofian commented 7 years ago

Just tried on my side and it works fine. Please provide more details. https://github.com/mapmapteam/mapmap/wiki/OSC

This is what I tried successfully:

  1. Created a paint
  2. Created a mapping with that paint

Try: osc-send -p 12345 /mapmap/paint/opacity ,if 1 0.5

Opacity of paint becomes 50%.

aalex commented 7 years ago

Did you build it yourself or used the Ubuntu package on the PPA? I might have forgotten to include liblo-dev in the build-deps.

aalex commented 7 years ago

It seems to be in the list of Build-Depends, though:

https://github.com/mapmapteam/ubuntu-mapmap/blob/master/debian/control#L14

aalex commented 7 years ago

What is the output of the following command?

netstat -ulnp

aalex commented 7 years ago

What is the output of the following command?

ldd /usr/bin/mapmap

davideriboli commented 7 years ago

Hi @aalex,

sorry to be so late, here's the ouput:

linux-vdso.so.1 =>  (0x00007ffdc3df5000)
    libgstapp-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstapp-1.0.so.0 (0x00007f3d45a47000)
    libgstpbutils-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstpbutils-1.0.so.0 (0x00007f3d45812000)
    libgstreamer-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f3d454e7000)
    libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f3d45294000)
    libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f3d44f83000)
    liblo.so.7 => /usr/lib/x86_64-linux-gnu/liblo.so.7 (0x00007f3d44d72000)
    libQt5OpenGL.so.5 => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 (0x00007f3d44d18000)
    libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007f3d4468b000)
    libQt5Multimedia.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Multimedia.so.5 (0x00007f3d445a4000)
    libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f3d4405c000)
    libQt5Xml.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5 (0x00007f3d44020000)
    libQt5Network.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 (0x00007f3d43ec5000)
    libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f3d439ef000)
    libGL.so.1 => /usr/lib/nvidia-375/libGL.so.1 (0x00007f3d4375f000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3d433dc000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3d430d3000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3d42ebd000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3d42af3000)
    libgstbase-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so.0 (0x00007f3d4288f000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3d42672000)
    libgstvideo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0 (0x00007f3d423eb000)
    libgstaudio-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0 (0x00007f3d4218e000)
    libgsttag-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgsttag-1.0.so.0 (0x00007f3d41f53000)
    libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f3d41d4e000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f3d41b46000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3d41942000)
    libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f3d41739000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f3d414c9000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f3d4118f000)
    libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f3d40f3e000)
    libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f3d40d19000)
    libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f3d40aba000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f3d408a0000)
    libproxy.so.1 => /usr/lib/x86_64-linux-gnu/libproxy.so.1 (0x00007f3d4067f000)
    libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007f3d4021c000)
    libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007f3d3fe88000)
    libpcre16.so.3 => /usr/lib/x86_64-linux-gnu/libpcre16.so.3 (0x00007f3d3fc22000)
    /lib64/ld-linux-x86-64.so.2 (0x0000557b560a9000)
    libGLX.so.0 => /usr/lib/nvidia-375/libGLX.so.0 (0x00007f3d3f9f1000)
    libGLdispatch.so.0 => /usr/lib/nvidia-375/libGLdispatch.so.0 (0x00007f3d3f708000)
    liborc-0.4.so.0 => /usr/lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f3d3f487000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f3d3f265000)
    libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007f3d3f059000)
    libpulsecommon-8.0.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so (0x00007f3d3edde000)
    libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f3d3eb92000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f3d3e8e7000)
    libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f3d3e6c2000)
    libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007f3d3cc0a000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f3d3c9f8000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f3d3c7f3000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f3d3c5ed000)
    libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f3d3c568000)
    libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f3d3c35d000)
    libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f3d3c0f4000)
    libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007f3d3beee000)
    libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f3d3bccb000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f3d3baa9000)
    libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f3d3b7c8000)
    libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f3d3b5ae000)
    libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f3d3b339000)
    libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f3d3b090000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f3d3ae74000)
    libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f3d3ac60000)
    libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f3d3aa56000)
    libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f3d3a82a000)
aalex commented 7 years ago

MapMap is linked to liblo.so.7, as expected. Can you give me the output of the following command? (while MapMap is running)

netstat -ulnp

davideriboli commented 7 years ago
Proto CodaRic CodaInv Indirizzo locale        Indirizzo remoto       Stato       PID/Program name
udp        0      0 0.0.0.0:631             0.0.0.0:*                           -               
udp        0      0 0.0.0.0:42421           0.0.0.0:*                           -               
udp        0      0 0.0.0.0:12346           0.0.0.0:*                           7299/mapmap     
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           3257/chrome     
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           -               
udp        0      0 0.0.0.0:47210           0.0.0.0:*                           -               
udp        0      0 127.0.1.1:53            0.0.0.0:*                           -               
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -               
udp6       0      0 :::59764                :::*                                -               
udp6       0      0 :::5353                 :::*                                3257/chrome     
udp6       0      0 :::5353                 :::*                                -               
udp6       0      0 :::38857                :::*                                - 
aalex commented 7 years ago

MapMap is listening on port 12346. Change the port number in your preferences, or with the tool you use to send OSC messages. (which currently sends to port 12345)

aalex commented 7 years ago

Had you changed the port number in MapMap's preferences? There might be a bug related to that. Maybe you pressed some up/down arrows and it changed it by mistake?

davideriboli commented 7 years ago

Hi,

switched MapMap listening to 12345 but it doesn't work.

No way sending OSC via terminal on the same computer running MapMap and even from external devices.

OSC is ok. I've tested sending signals from a smartphone to a Processing sketch listening on 12345 and it works.

MapMap was installed via repository.

aalex commented 7 years ago

Does netstat -ulnp lists MapMap as listening on port 12345? Everything should be fine. Did you try the sequence suggested by Sofian above?

aalex commented 7 years ago

There is an OSC monitor window in MapMap that could be handy, I believe.

davideriboli commented 7 years ago

BEFORE opening console window:

OSC Messages via terminal = not working OSC Messages via external app = not working

AFTER opening console window:

OSC Messages via terminal = working (yeah!) OSC Messages via external app = still not working

Console output on sending OSC message /mapmap/paint/opacity ,if 1 0.5 via external app:

apr 22 17 14:18 | Debug: Listening osc.udp://localhost: 12345 - OscInterface.cpp:50
apr 22 17 14:19 | Debug: "/mapmap/paint/opacity" - OscInterface.cpp:175
apr 22 17 14:19 | Debug: "ssif" - OscInterface.cpp:175
apr 22 17 14:19 | Debug: "," - OscInterface.cpp:175
apr 22 17 14:19 | Debug: "sf" - OscInterface.cpp:175
apr 22 17 14:19 | Debug: 1 - OscInterface.cpp:167
apr 22 17 14:19 | Debug: 0.5 - OscInterface.cpp:171
apr 22 17 14:19 | Debug: - OscInterface.cpp:182
apr 22 17 14:19 | Debug: Path could not be processed: "/mapmap/paint/opacity" - OscInterface.cpp:283
apr 22 17 14:19 | Debug: "/mapmap/paint/opacity" - OscInterface.cpp:175
apr 22 17 14:19 | Debug: "ssif" - OscInterface.cpp:175
apr 22 17 14:19 | Debug: "," - OscInterface.cpp:175
apr 22 17 14:19 | Debug: "sf" - OscInterface.cpp:175
apr 22 17 14:19 | Debug: 1 - OscInterface.cpp:167
apr 22 17 14:19 | Debug: 0.5 - OscInterface.cpp:171
apr 22 17 14:19 | Debug: - OscInterface.cpp:182

App used is QuickOSC, very well working with Processing, Pure Data and VVVV.

sofian commented 7 years ago

That's very strange. About Quick OSC, maybe there is a problem with types? Are you sure for example that it sends integers for the ID and floats (not integers or double) for the value?

aalex commented 7 years ago

We should probably support either int of float for any of these arguments, since many applications and tools only send floats for number. Example: Pure Data - at least a few years ago, it used to be that way.

Le 22 avr. 2017 10:12 AM, "Sofian Audry" notifications@github.com a écrit :

That's very strange. About Quick OSC, maybe there is a problem with types? Are you sure for example that it sends integers for the ID and floats (not integers or double) for the value?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mapmapteam/mapmap/issues/350#issuecomment-296375846, or mute the thread https://github.com/notifications/unsubscribe-auth/AAR7LWvlcumsIDh5YK3Mn2MQY0l9jeYjks5rygq9gaJpZM4MqZEI .