[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30483] trunk/lib/windows/jack: Update to Jack 1.9.5 (still doesn't properly link though, so no use in enabling in configs yet).

Nathan Letwory nathan at letworyinteractive.com
Mon Jul 19 09:08:05 CEST 2010


Revision: 30483
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30483
Author:   jesterking
Date:     2010-07-19 09:08:05 +0200 (Mon, 19 Jul 2010)

Log Message:
-----------
Update to Jack 1.9.5 (still doesn't properly link though, so no use in enabling in configs yet).

Modified Paths:
--------------
    trunk/lib/windows/jack/include/control.h
    trunk/lib/windows/jack/include/jack/systemdeps.h
    trunk/lib/windows/jack/include/jack/transport.h
    trunk/lib/windows/jack/include/jack/types.h
    trunk/lib/windows/jack/include/jack.h
    trunk/lib/windows/jack/include/jslist.h
    trunk/lib/windows/jack/include/midiport.h
    trunk/lib/windows/jack/include/thread.h
    trunk/lib/windows/jack/lib/libjack.a
    trunk/lib/windows/jack/lib/libjack.dll
    trunk/lib/windows/jack/lib/libjack.lib

Added Paths:
-----------
    trunk/lib/windows/jack/include/jack/weakmacros.h
    trunk/lib/windows/jack/include/weakjack.h

Modified: trunk/lib/windows/jack/include/control.h
===================================================================
--- trunk/lib/windows/jack/include/control.h	2010-07-19 06:56:08 UTC (rev 30482)
+++ trunk/lib/windows/jack/include/control.h	2010-07-19 07:08:05 UTC (rev 30483)
@@ -31,7 +31,9 @@
 
 #include <jack/jslist.h>
 #include <jack/systemdeps.h>
+#if !defined (__sun__)
 #include <stdbool.h>
+#endif
 
 /** Parameter types, intentionally similar to jack_driver_param_type_t */
 typedef enum

Modified: trunk/lib/windows/jack/include/jack/systemdeps.h
===================================================================
--- trunk/lib/windows/jack/include/jack/systemdeps.h	2010-07-19 06:56:08 UTC (rev 30482)
+++ trunk/lib/windows/jack/include/jack/systemdeps.h	2010-07-19 07:08:05 UTC (rev 30483)
@@ -42,7 +42,7 @@
 #elif __MINGW32__   /* MINGW */
     #include <stdint.h>
     #include <sys/types.h>
-    /*#ifndef pthread_t
+/*    #ifndef pthread_t
         typedef HANDLE pthread_t;
     #endif*/
 #else               /* other compilers ...*/

Modified: trunk/lib/windows/jack/include/jack/transport.h
===================================================================
--- trunk/lib/windows/jack/include/jack/transport.h	2010-07-19 06:56:08 UTC (rev 30482)
+++ trunk/lib/windows/jack/include/jack/transport.h	2010-07-19 07:08:05 UTC (rev 30483)
@@ -26,6 +26,7 @@
 #endif
 
 #include <jack/types.h>
+#include <jack/weakmacros.h>
 
 /**
  * @defgroup TransportControl Transport and Timebase control
@@ -48,7 +49,7 @@
  *
  * @return 0 on success, otherwise a non-zero error code.
  */
-int  jack_release_timebase (jack_client_t *client);
+int  jack_release_timebase (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
 
 /**
  * Register (or unregister) as a slow-sync client, one that cannot
@@ -72,7 +73,7 @@
  */
 int  jack_set_sync_callback (jack_client_t *client,
 			     JackSyncCallback sync_callback,
-			     void *arg);
+			     void *arg) JACK_OPTIONAL_WEAK_EXPORT;
 
 /**
  * Set the timeout value for slow-sync clients.
@@ -92,7 +93,7 @@
  * @return 0 on success, otherwise a non-zero error code.
  */
 int  jack_set_sync_timeout (jack_client_t *client,
-			    jack_time_t timeout);
+			    jack_time_t timeout) JACK_OPTIONAL_WEAK_EXPORT;
 
 /**
  * Register as timebase master for the JACK subsystem.
@@ -122,7 +123,7 @@
 int  jack_set_timebase_callback (jack_client_t *client,
 				 int conditional,
 				 JackTimebaseCallback timebase_callback,
-				 void *arg);
+				 void *arg) JACK_OPTIONAL_WEAK_EXPORT;
 
 /**
  * Reposition the transport to a new frame number.
@@ -141,7 +142,7 @@
  * @return 0 if valid request, non-zero otherwise.
  */
 int  jack_transport_locate (jack_client_t *client,
-			    jack_nframes_t frame);
+			    jack_nframes_t frame) JACK_OPTIONAL_WEAK_EXPORT;
 
 /**
  * Query the current transport state and position.
@@ -159,7 +160,7 @@
  * @return Current transport state.
  */
 jack_transport_state_t jack_transport_query (const jack_client_t *client,
-					     jack_position_t *pos);
+					     jack_position_t *pos) JACK_OPTIONAL_WEAK_EXPORT;
 
 /**
  * Return an estimate of the current transport frame,
@@ -168,7 +169,7 @@
  *
  * @param client the JACK client structure
  */
-jack_nframes_t jack_get_current_transport_frame (const jack_client_t *client);
+jack_nframes_t jack_get_current_transport_frame (const jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
 						 
 /**
  * Request a new transport position.
@@ -187,7 +188,7 @@
  * @return 0 if valid request, EINVAL if position structure rejected.
  */
 int  jack_transport_reposition (jack_client_t *client,
-				jack_position_t *pos);
+				jack_position_t *pos) JACK_OPTIONAL_WEAK_EXPORT;
 
 /**
  * Start the JACK transport rolling.
@@ -200,7 +201,7 @@
  *
  * @param client the JACK client structure.
  */
-void jack_transport_start (jack_client_t *client);
+void jack_transport_start (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
 
 /**
  * Stop the JACK transport.
@@ -210,7 +211,7 @@
  *
  * @param client the JACK client structure.
  */
-void jack_transport_stop (jack_client_t *client);
+void jack_transport_stop (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
 
 /**
  * Gets the current transport info structure (deprecated).
@@ -225,7 +226,7 @@
  * @pre Must be called from the process thread.
  */
 void jack_get_transport_info (jack_client_t *client,
-			      jack_transport_info_t *tinfo);
+			      jack_transport_info_t *tinfo) JACK_OPTIONAL_WEAK_EXPORT;
 
 /**
  * Set the transport info structure (deprecated).
@@ -235,7 +236,7 @@
  * a ::JackTimebaseCallback.
  */
 void jack_set_transport_info (jack_client_t *client,
-			      jack_transport_info_t *tinfo);
+			      jack_transport_info_t *tinfo) JACK_OPTIONAL_WEAK_EXPORT;
 
 /*@}*/
 	

Modified: trunk/lib/windows/jack/include/jack/types.h
===================================================================
--- trunk/lib/windows/jack/include/jack/types.h	2010-07-19 06:56:08 UTC (rev 30482)
+++ trunk/lib/windows/jack/include/jack/types.h	2010-07-19 07:08:05 UTC (rev 30483)
@@ -202,7 +202,7 @@
  *
  * @return zero on success, non-zero on error
  */
-typedef int (*JackPortRenameCallback)(jack_port_id_t port, const char* new_name, void *arg);
+typedef int (*JackPortRenameCallback)(jack_port_id_t port, const char* old_name, const char* new_name, void *arg);
 
 /**
  * Prototype for the client supplied function that is called
@@ -295,7 +295,15 @@
      * systems are examples of clients that would set this flag for
      * their ports.
      */
-    JackPortIsTerminal = 0x10
+    JackPortIsTerminal = 0x10,
+    
+    /**
+     * JackPortIsActive means the port has been registered and the 
+     * client is "active", that is jack_activate has been called
+     * 
+     * JackPortIsActive is on between jack_activate and jack_deactivate.
+     */
+    JackPortIsActive = 0x20
 };
 
 /**
@@ -419,7 +427,17 @@
     /**
      * Client's protocol version does not match
      */
-    JackVersionError = 0x400
+    JackVersionError = 0x400,
+    
+    /**
+     * Backend error
+     */
+    JackBackendError = 0x800,
+    
+    /**
+     * Client zombified failure
+     */
+    JackClientZombie = 0x1000
 };
 
 /**
@@ -644,4 +662,19 @@
 
 } jack_transport_info_t;
 
+/**
+ * Prototype for the client supplied function that is called
+ * whenever jackd is shutdown. Note that after server shutdown, 
+ * the client pointer is *not* deallocated by libjack,
+ * the application is responsible to properly use jack_client_close()
+ * to release client ressources. Warning: jack_client_close() cannot be
+ * safely used inside the shutdown callback and has to be called outside of
+ * the callback context.
+ 
+ * @param code a status word, formed by OR-ing together the relevant @ref JackStatus bits.
+ * @param reason a string describing the shutdown reason (backend failure, server crash... etc...)
+ * @param arg pointer to a client supplied structure
+ */
+typedef void (*JackInfoShutdownCallback)(jack_status_t code, const char* reason, void *arg);
+
 #endif /* __jack_types_h__ */

Added: trunk/lib/windows/jack/include/jack/weakmacros.h
===================================================================
--- trunk/lib/windows/jack/include/jack/weakmacros.h	                        (rev 0)
+++ trunk/lib/windows/jack/include/jack/weakmacros.h	2010-07-19 07:08:05 UTC (rev 30483)
@@ -0,0 +1,63 @@
+/*
+    Copyright (C) 2010 Paul Davis
+    
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU Lesser General Public License as published by
+    the Free Software Foundation; either version 2.1 of the License, or
+    (at your option) any later version.
+    
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU Lesser General Public License for more details.
+    
+    You should have received a copy of the GNU Lesser General Public License
+    along with this program; if not, write to the Free Software 
+    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+*/
+
+#ifndef __weakmacros_h__
+#define __weakmacros_h__
+
+/*************************************************************
+ * NOTE: JACK_WEAK_EXPORT ***MUST*** be used on every function
+ * added to the JACK API after the 0.116.2 release.
+ * 
+ * Functions that predate this release are marked with 
+ * JACK_WEAK_OPTIONAL_EXPORT which can be defined at compile
+ * time in a variety of ways. The default definition is empty,
+ * so that these symbols get normal linkage. If you wish to
+ * use all JACK symbols with weak linkage, include 
+ * <jack/weakjack.h> before jack.h.
+ *************************************************************/
+
+#ifndef JACK_WEAK_EXPORT
+#ifdef __GNUC__
+/* JACK_WEAK_EXPORT needs to be a macro which
+   expands into a compiler directive. If non-null, the directive 
+   must tell the compiler to arrange for weak linkage of 
+   the symbol it used with. For this to work full may
+   require linker arguments in the client as well.
+*/
+#define JACK_WEAK_EXPORT __attribute__((weak))
+#else
+/* Add other things here for non-gcc platforms */
+#define JACK_WEAK_EXPORT
+#endif
+#endif
+
+#ifndef JACK_OPTIONAL_WEAK_EXPORT
+#define JACK_OPTIONAL_WEAK_EXPORT
+#endif
+
+#ifndef JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT
+#ifdef __GNUC__
+#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__deprecated__))
+#else
+/* Add other things here for non-gcc platforms */
+#define  JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT
+#endif /* __GNUC__ */
+#endif
+
+#endif /* __weakmacros_h__ */

Modified: trunk/lib/windows/jack/include/jack.h
===================================================================
--- trunk/lib/windows/jack/include/jack.h	2010-07-19 06:56:08 UTC (rev 30482)
+++ trunk/lib/windows/jack/include/jack.h	2010-07-19 07:08:05 UTC (rev 30483)
@@ -34,12 +34,21 @@
  * Note: More documentation can be found in jack/types.h.
  */
  
+    /*************************************************************
+     * NOTE: JACK_WEAK_EXPORT ***MUST*** be used on every function
+     * added to the JACK API after the 0.116.2 release.
+     * 
+     * Functions that predate this release are marked with 
+     * JACK_WEAK_OPTIONAL_EXPORT which can be defined at compile
+     * time in a variety of ways. The default definition is empty,

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list