LiVES 1.4.9

src/osc.h

Go to the documentation of this file.
00001 // osc.h
00002 // LiVES (lives-exe)
00003 // (c) G. Finch 2003 - 2008
00004 // Released under the GPL 3 or later
00005 // see file ../COPYING for licensing details
00006 
00007 
00008 /* some portions of this file based on libOSC
00009 Written by Adrian Freed, The Center for New Music and Audio Technologies,
00010 University of California, Berkeley.  Copyright (c) 1992,93,94,95,96,97,98,99,2000,01,02,03,04
00011 The Regents of the University of California (Regents).  
00012 
00013 Permission to use, copy, modify, distribute, and distribute modified versions
00014 of this software and its documentation without fee and without a signed
00015 licensing agreement, is hereby granted, provided that the above copyright
00016 notice, this paragraph and the following two paragraphs appear in all copies,
00017 modifications, and distributions.
00018 
00019 IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
00020 SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING
00021 OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS
00022 BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00023 
00024 REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00025 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00026 PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED
00027 HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE
00028 MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
00029 
00030 
00031 The OSC webpage is http://cnmat.cnmat.berkeley.edu/OpenSoundControl 
00032 */
00033 
00034 #ifdef ENABLE_OSC
00035 #ifndef _HAS_OSC_H
00036 #define _HAS_OSC_H
00037 
00038 #ifndef Boolean
00039 #define Boolean gboolean
00040 #endif
00041 
00042 #include <libOSC/libosc.h>
00043 #include <libOSC/OSC-client.h>
00044 
00045 typedef struct osc_arg_t {
00046     int a;
00047     int b;
00048     int c;
00049 } osc_arg;
00050 
00051 typedef struct lives_osc_t {
00052   struct OSCAddressSpaceMemoryTuner t;
00053   struct OSCReceiveMemoryTuner rt;
00054   struct OSCContainerQueryResponseInfoStruct cqinfo;
00055   struct OSCMethodQueryResponseInfoStruct ris;
00056   struct sockaddr_in cl_addr;
00057   int sockfd;
00058   int clilen;
00059   fd_set readfds;
00060   OSCcontainer container;
00061   OSCcontainer *leaves;
00062   OSCPacketBuffer packet;
00063   osc_arg *osc_args;
00064 } lives_osc;
00065 
00066 void lives_osc_free(lives_osc *o);
00067 void lives_osc_dump();
00068 
00069 
00070 gboolean lives_osc_act(OSCbuf *msg);
00071 
00072 
00073 #endif //_HAS_OSC_H
00074 #endif //ENABLE_OSC
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines