00001 /* 00002 Copyright © 1998. The Regents of the University of California (Regents). 00003 All Rights Reserved. 00004 00005 Written by Matt Wright, The Center for New Music and Audio Technologies, 00006 University of California, Berkeley. 00007 00008 Permission to use, copy, modify, distribute, and distribute modified versions 00009 of this software and its documentation without fee and without a signed 00010 licensing agreement, is hereby granted, provided that the above copyright 00011 notice, this paragraph and the following two paragraphs appear in all copies, 00012 modifications, and distributions. 00013 00014 IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, 00015 SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING 00016 OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS 00017 BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00018 00019 REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 00020 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00021 PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 00022 HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 00023 MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 00024 00025 The OpenSound Control WWW page is 00026 http://www.cnmat.berkeley.edu/OpenSoundControl 00027 */ 00028 00029 00030 /* OSC-internal-messages.h 00031 00032 Interface for having an application send OSC messages to itself 00033 internally. 00034 00035 All these procedures return FALSE if unable to deliver the message. 00036 00037 Matt Wright, 3/17/98 00038 00039 */ 00040 00041 /* Send a message immediately, with no return address. This procedure 00042 returns after the message has been sent (or has failed to be sent), 00043 so the memory for address and args can be on the stack. Returns FALSE 00044 if there's a problem; TRUE otherwise. */ 00045 Boolean OSCSendInternalMessage(char *address, int arglen, void *args); 00046 00047 00048 /* Same thing, but with a return address supplied. */ 00049 Boolean OSCSendInternalMessageWithRSVP(char *address, int arglen, void *args, 00050 NetworkReturnAddressPtr returnAddr); 00051 00052 00053 /* Schedule some messages to occur at a given time. This allocates one of the 00054 OSCPacketBuffer structures (see OSC-receive.h) to hold the addresses and argument 00055 data until the messages take effect, so if you're going to call this, you 00056 should take this use of packets into account in setting the 00057 numReceiveBuffers argument to OSCInitReceive(). 00058 00059 This provides an less general interface than OSC's bundle mechanism, because 00060 the bundle of messages you provide cannot include subbundles. 00061 00062 The addresses, arglens, and args arguments are arrays of size numMessages. 00063 00064 There's no return address argument because you're not allowed to save a network 00065 return address for later use. 00066 */ 00067 00068 Boolean OSCScheduleInternalMessages(OSCTimeTag when, int numMessages, 00069 char **addresses, int *arglens, 00070 void **args);
1.5.8