LiVES 1.3.11-svn
|
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