front_idill/extern/fajran-npTuioClient/TuioClient/oscpack/readme
changeset 30 45c889eae324
parent 29 fcf435874395
child 31 2c7fc855eba8
equal deleted inserted replaced
29:fcf435874395 30:45c889eae324
     1 oscpack -- Open Sound Control packet manipulation library
       
     2 http://www.audiomulch.com/~rossb/code/oscpack
       
     3 
       
     4 Copyright (c) 2004-2005 Ross Bencina <rossb@audiomulch.com>
       
     5 
       
     6 A simple C++ library for packing and unpacking OSC packets.
       
     7 
       
     8 
       
     9 Oscpack is simply a set of C++ classes for packing and unpacking OSC packets. 
       
    10 Oscpack includes a minimal set of UDP networking classes for windows and posix 
       
    11 which are sufficient for writing many OSC applications and servers, but you are 
       
    12 encouraged to use another networking framework if it better suits your needs. 
       
    13 Oscpack is not an OSC application framework, it doesn't include infrastructure for 
       
    14 constructing or routing OSC namespaces, just classes for easily constructing, 
       
    15 sending, receiving and parsing OSC packets. The library should also be easy to use 
       
    16 for other transport methods (eg serial).
       
    17 
       
    18 The key goals of the oscpack library are:
       
    19 
       
    20 	- to be a simple and complete implementation of OSC
       
    21 	- to be portable to a wide variety of platforms
       
    22 	- to allow easy development of robust OSC applications 
       
    23 		(for example it should be impossible to crash a server
       
    24 		 by sending it malformed packets, and difficult to 
       
    25 		 create malformed packets.)
       
    26 
       
    27 Here's a summary of the key files:
       
    28 
       
    29 osc/OscReceivedElements -- classes for parsing a packet
       
    30 osc/OscPrintRecievedElements -- iostream << operators for printing packet elements
       
    31 osc/OscOutboundPacket -- a class for packing messages into a packet
       
    32 osc/OscPacketListener -- base class for listening to OSC packets on a UdpSocket
       
    33 tests/OscUnitTests -- unit test program for the OSC modules
       
    34 tests/OscSendTests -- examples of how to send messages
       
    35 tests/OscReceiveTest -- example of how to receive the messages sent by OSCSendTests
       
    36 examples/OscDump -- a program that prints received OSC packets
       
    37 
       
    38 
       
    39 
       
    40 Building
       
    41 --------
       
    42 
       
    43 In general the idea is that you will embed this source code in your projects as you 
       
    44 see fit. The Makefile has an install rule for building a shared library and 
       
    45 installing headers in usr/local.
       
    46 
       
    47 The Makefile works for Linux and MaxOS X except that if you are on a big endian 
       
    48 machine such as PowerPC Macintosh you need to edit the line which sets the 
       
    49 endianness to OSC_HOST_BIG_ENDIAN (see the makefile comment for details) or it won't 
       
    50 work. If you want to build and install liboscpack as a library on OS X you also need 
       
    51 to edit the $(LIBFILENAME) rule by commenting out the Linux case and uncommenting 
       
    52 the OS X case since OS X uses different gcc flags for shared libraries.
       
    53 
       
    54 On Windows there is a batch file for doing a simple test build with MinGW gcc called 
       
    55 make.MinGW32.bat. This will build the test executables and oscdump in ./bin and run 
       
    56 the unit tests.
       
    57 
       
    58 --
       
    59 
       
    60 
       
    61 If you fix anything or write a set of TCP send/recieve classes 
       
    62 please consider sending me a patch. Thanks :)
       
    63 
       
    64 For more information about Open Sound Control, see:
       
    65 http://www.cnmat.berkeley.edu/OpenSoundControl/
       
    66 
       
    67 
       
    68 Thanks to Till Bovermann for helping with POSIX networking code and
       
    69 Mac compatibility, and to Martin Kaltenbrunner and the rest of the
       
    70 reacTable team for giving me a reason to finish this library. Thanks
       
    71 to Merlijn Blaauw for reviewing the interfaces. Thanks to Xavier Oliver
       
    72 for additional help with Linux builds and POSIX implementation details.
       
    73 
       
    74 Portions developed at the Music Technology Group, Audiovisual Institute, 
       
    75 University Pompeu Fabra, Barcelona, during my stay as a visiting
       
    76 researcher, November 2004 - September 2005. 
       
    77 
       
    78 See the file LICENSE for information about distributing and using this code.
       
    79 
       
    80