Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2010-08-01 00:54:44 OSC/C++

artflx
membre
Lieu: Montréal
Date d'inscription: 2009-10-19
Messages: 25
Site web

OSC/C++



Bonjour,

Je cherche à envoyer des données via OSC depuis un programme écrit en C++ vers SuperCollider. Côté SuperCollider, tout va bien puisque je déjà transférais des données entre ce dernier et PD ou P5. Par contre, je commence à travailler de plus en plus avec OpenCV depuis des programmes que j'écris en C++ et j'aimerais bien exploiter certaines données dans dans SuperCollider, mais je ne trouve pas de librairie OSC pour le C++ (je débute dans ce langage). Alors, si quelqu'un à déjà transféré des données de cette façcon, je serais bien heureux de savoir comment on s'y prend  smile

Merci

Hors ligne

 

#2 2010-08-01 01:58:24 Re : OSC/C++

rep
modérateur
Lieu: Toulouse
Date d'inscription: 2008-02-27
Messages: 1444
Site web

Hors ligne

 

#3 2010-08-01 02:12:36 Re : OSC/C++

artflx
membre
Lieu: Montréal
Date d'inscription: 2009-10-19
Messages: 25
Site web

Re: OSC/C++



Oui, j'ai regardé "oscpack", mais ça fais 4 ans que rien n'a été mis à jour sur cette page et plusieurs liens ne fonctionnent malheureusement plus (http://ross.smartelectronix.com/index.c … ase_1_0_2/). J'ai récupéré le dernier snapshot, mais je n'arrive pas faire marcher le "test" qui est fournis sad

En gros, peux-être que je ne place juste pas les fichier .cpp et les header à la bonne place. J'ai mis les fichiers à côté de mon "main.cpp" pour commencé et les ai inclus simplement (add... + #include "osc/....h"), mais je n'arrive pas faire fonctionné le tout, alors je me suis dis que c'était peux-être désuet à l'heure actuelle? Enfin, j'ai utilisé jusqu'à maintenant des librairies fournis en framework (qt, opencv, etc) et je n'ai pas beaucoup d'expérience encore en C++. As-tu une idée de l'endroit où je dois déposer la librairie pour qu'elle soit reconnue?

Merci pour l'info

Hors ligne

 

#4 2010-08-01 05:12:54 Re : OSC/C++

artflx
membre
Lieu: Montréal
Date d'inscription: 2009-10-19
Messages: 25
Site web

Re: OSC/C++



Tiens, j'ai trouvé WOscLib qui semble très bien.

http://wosclib.sourceforge.net/

De plus, tous mes fichiers sont reconnus sans problème  big_smile

Hors ligne

 

#5 2010-08-01 13:55:23 Re : OSC/C++

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: OSC/C++



J'y connais rien en C comme en C++ mais je connais juste ce projet nommé Liblo http://liblo.sourceforge.net/

avec des wrappers perl et python , j'ai déjà utilisé celui du python, plutôt bien, je ne sais pas si c'est compliqué de wrapper du C pour C++ ??


La route est longue mais la voie est libre

Hors ligne

 

#6 2010-08-01 14:30:00 Re : OSC/C++

artflx
membre
Lieu: Montréal
Date d'inscription: 2009-10-19
Messages: 25
Site web

Re: OSC/C++



Merci pour l'info Oli44

Liblo semble effectivement bien, mais est en C. Quant à WOscLib, tout est prêt pour le C++. Il ne me reste donc qu'à comprendre comment bien l'utiliser et envoyer les valeurs issues d'une cam (OpenCV) vers SC.

Je garde tout de même Liblo en tête, au cas ou j'aurais un projet ultérieur en C.

Hors ligne

 

#7 2010-08-01 14:39:35 Re : OSC/C++

artflx
membre
Lieu: Montréal
Date d'inscription: 2009-10-19
Messages: 25
Site web

Re: OSC/C++



En fait, je suis tombé aussi sur un message (sur le forum de PD) où j'ai trouvé ce code C++ qui n'emploie que les librairies standard (si je ne me trompe pas, voir ci-dessous). Enfin, je lance le programme et aucun message d'erreur... Je vais donc regarder aussi vers cette direction.

#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>

#define SOCKET_ERROR -1
#define BUFSIZE 4096

int main(int argc, char **argv){
   
    int sockfd, portno=3000, protocol;
    struct sockaddr_in server;
    struct hostent *hp;
    char *hostname;
   
    hostname = "127.0.0.1";//localhost="127.0.0.1"
    protocol = SOCK_STREAM;
    sockfd = socket(AF_INET, protocol, 0);
   
    if (sockfd < 0){
        exit(1);
    }
   
    server.sin_family = AF_INET;//connect socket using hostname
    hp = gethostbyname(hostname);
   
    if (hp == 0){
        exit(1);
    }
   
    memcpy((char *)&server.sin_addr, (char *)hp->h_addr, hp->h_length);
    server.sin_port = htons((unsigned short)portno); //assign client port number
    connect(sockfd,(struct sockaddr *) &server, sizeof (server));//connect   

    //now loop reading stdin and sending it to socket
    while (1){
        char buf[BUFSIZE], *bp, nsent, nsend;
        fgets(buf, BUFSIZE, stdin);
        nsend = strlen(buf);
        for (bp = buf, nsent = 0; nsent < nsend;){
            int res = send(sockfd, buf, nsend-nsent, 0);
            if (res < 0){
                exit(1);
            }
            send(sockfd, ";", 1, 0);
            nsent += res;
            bp += res;
        }
    }
}

Hors ligne

 

#8 2010-08-01 14:46:24 Re : OSC/C++

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: OSC/C++



le grand spécialiste de l'OSC avec PD, c'est Martin Peach, il sera sans doute prêt à te donner un coup de main si il connait le C++


La route est longue mais la voie est libre

Hors ligne

 

#9 2010-08-01 16:56:09 Re : OSC/C++

artflx
membre
Lieu: Montréal
Date d'inscription: 2009-10-19
Messages: 25
Site web

Re: OSC/C++



C'est d'ailleurs sa librairie que j'emploie je crois (mrpeach) pour envoyer mes données de PD vers SC en OSC  smile

Je communiquerai avec lui si je ne parviens pas à passer mes donner avec la WOscLib.

Merci pour l'info.

Hors ligne

 

#10 2010-08-01 17:12:54 Re : OSC/C++

artflx
membre
Lieu: Montréal
Date d'inscription: 2009-10-19
Messages: 25
Site web

Re: OSC/C++



Ok, bon, j'ai trouvé la voie la plus simple je crois pour commencer: utiliser OpenFrameworks avec son addons "ofxOsc" qui emploi, finalement, "oscpack"...  cool

Hors ligne

 

#11 2010-08-02 12:12:01 Re : OSC/C++

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: OSC/C++



nice!


La route est longue mais la voie est libre

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024