[Demudi-commits] r982 - in jack-audio-connection-kit/trunk: . debian debian/patches

Free Ekanayaka free-guest at alioth.debian.org
Thu Nov 2 14:39:11 CET 2006


Author: free-guest
Date: 2006-11-02 14:39:07 +0100 (Thu, 02 Nov 2006)
New Revision: 982

Added:
   jack-audio-connection-kit/trunk/debian/patches/11_configure.ac.patch
   jack-audio-connection-kit/trunk/jack-audio-connection-kit-0.102.20.tar.gz.cdbs-config_list
Removed:
   jack-audio-connection-kit/trunk/debian/patches/09_jack-ia64.diff
   jack-audio-connection-kit/trunk/debian/patches/10_freebob.patch
Modified:
   jack-audio-connection-kit/trunk/debian/changelog
   jack-audio-connection-kit/trunk/debian/libjack0.100.0-0.install
   jack-audio-connection-kit/trunk/debian/patches/02_release-in-libjack-name.patch
   jack-audio-connection-kit/trunk/debian/patches/04_configure_in_jack_version.patch
   jack-audio-connection-kit/trunk/debian/rules
Log:
* New upstream release
* Deleted patches 10_freebob.patch and 09_jack-ia64.diff, as
  they are part of the new upstream

Modified: jack-audio-connection-kit/trunk/debian/changelog
===================================================================
--- jack-audio-connection-kit/trunk/debian/changelog	2006-11-02 13:11:59 UTC (rev 981)
+++ jack-audio-connection-kit/trunk/debian/changelog	2006-11-02 13:39:07 UTC (rev 982)
@@ -1,3 +1,11 @@
+jack-audio-connection-kit (0.102.20-1) UNRELEASED; urgency=low
+
+  * New upstream release
+  * Deleted patches 10_freebob.patch and 09_jack-ia64.diff, as
+    they are part of the new upstream
+
+ -- Free Ekanayaka <freee at debian.org>  Thu,  2 Nov 2006 13:37:15 +0100
+
 jack-audio-connection-kit (0.101.1-2) unstable; urgency=low
 
   * incorporated patch to fix ia64 atomic operations (closes: #394021)

Modified: jack-audio-connection-kit/trunk/debian/libjack0.100.0-0.install
===================================================================
--- jack-audio-connection-kit/trunk/debian/libjack0.100.0-0.install	2006-11-02 13:11:59 UTC (rev 981)
+++ jack-audio-connection-kit/trunk/debian/libjack0.100.0-0.install	2006-11-02 13:39:07 UTC (rev 982)
@@ -1,2 +1,2 @@
 debian/tmp/usr/lib/lib*.so.*
-debian/tmp/usr/lib/libjack*/*.so
+debian/tmp/usr/lib/jack/*.so

Modified: jack-audio-connection-kit/trunk/debian/patches/02_release-in-libjack-name.patch
===================================================================
--- jack-audio-connection-kit/trunk/debian/patches/02_release-in-libjack-name.patch	2006-11-02 13:11:59 UTC (rev 981)
+++ jack-audio-connection-kit/trunk/debian/patches/02_release-in-libjack-name.patch	2006-11-02 13:39:07 UTC (rev 982)
@@ -1,10 +1,10 @@
-diff -Naur jack-audio-connection-kit-0.98.1.orig/libjack/Makefile.am jack-audio-connection-kit-0.98.1/libjack/Makefile.am
---- jack-audio-connection-kit-0.98.1.orig/libjack/Makefile.am	2004-04-14 04:06:42.000000000 +0200
-+++ jack-audio-connection-kit-0.98.1/libjack/Makefile.am	2004-05-06 23:04:22.795597192 +0200
-@@ -21,5 +21,5 @@
+diff -Naur jack-audio-connection-kit-0.102.20.orig/libjack/Makefile.am jack-audio-connection-kit-0.102.20/libjack/Makefile.am
+--- jack-audio-connection-kit-0.102.20.orig/libjack/Makefile.am	2006-11-02 13:56:14.000000000 +0100
++++ jack-audio-connection-kit-0.102.20/libjack/Makefile.am	2006-11-02 13:57:03.000000000 +0100
+@@ -36,5 +36,4 @@
  
  libjack_la_SOURCES = $(SOURCE_FILES)
  libjack_la_LIBADD  = @OS_LDFLAGS@
 -libjack_la_LDFLAGS  = -export-dynamic -version-info @JACK_SO_VERSION@
+-
 +libjack_la_LDFLAGS  = -export-dynamic -release 0.100.0 -version-info @JACK_SO_VERSION@
- 

Modified: jack-audio-connection-kit/trunk/debian/patches/04_configure_in_jack_version.patch
===================================================================
--- jack-audio-connection-kit/trunk/debian/patches/04_configure_in_jack_version.patch	2006-11-02 13:11:59 UTC (rev 981)
+++ jack-audio-connection-kit/trunk/debian/patches/04_configure_in_jack_version.patch	2006-11-02 13:39:07 UTC (rev 982)
@@ -1,11 +1,11 @@
---- jack-audio-connection-kit-0.50.0.orig/configure.ac
-+++ jack-audio-connection-kit-0.50.0/configure.ac
-@@ -141,7 +141,7 @@
+--- jack-audio-connection-kit-0.102.20.orig/configure.ac	2006-10-23 14:16:24.000000000 +0200
++++ jack-audio-connection-kit-0.102.20/configure.ac	2006-10-23 14:18:30.000000000 +0200
+@@ -495,7 +495,7 @@
  
- # plugins go in the addon dir.
- 
--AS_AC_EXPAND(ADDON_DIR,${libdir}/jack)
-+AS_AC_EXPAND(ADDON_DIR,${libdir}/libjack0.100.0-0)
+ ADDON_DIR='${libdir}/jack'
  AC_SUBST(ADDON_DIR)
- AC_DEFINE_UNQUOTED(ADDON_DIR,"$ADDON_DIR",[Directory for plugins])
+-AS_AC_EXPAND(ADDON_DIR_EXPANDED,${libdir}/jack)
++AS_AC_EXPAND(ADDON_DIR_EXPANDED,${libdir}/libjack0.100.0)
+ AC_DEFINE_UNQUOTED(ADDON_DIR,"$ADDON_DIR_EXPANDED",[Directory for plugins])
  
+ AC_ARG_WITH(html-dir,

Deleted: jack-audio-connection-kit/trunk/debian/patches/09_jack-ia64.diff
===================================================================
--- jack-audio-connection-kit/trunk/debian/patches/09_jack-ia64.diff	2006-11-02 13:11:59 UTC (rev 981)
+++ jack-audio-connection-kit/trunk/debian/patches/09_jack-ia64.diff	2006-11-02 13:39:07 UTC (rev 982)
@@ -1,244 +0,0 @@
-diff -uN jack-audio-connection-kit-0.101.1/config/cpu/ia64/atomicity.h /tmp/jack-audio-connection-kit-0.101.1-new/build-tree/jack-audio-connection-kit-0.101.1/config/cpu/ia64/atomicity.h
---- jack-audio-connection-kit-0.101.1/config/cpu/ia64/atomicity.h	2004-03-26 06:31:43.000000000 +1100
-+++ /tmp/jack-audio-connection-kit-0.101.1-new/build-tree/jack-audio-connection-kit-0.101.1/config/cpu/ia64/atomicity.h	2006-10-19 13:20:32.000000000 +1000
-@@ -1,51 +1,20 @@
--// Low-level functions for atomic operations: IA64 version  -*- C++ -*-
-+/*
-+ * IA64 atomicity functions for jack.
-+ * Mostly clagged from glibc by Ian Wienand <ianw at gelato.unsw.edu.au>
-+ */
- 
--// Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
--//
--// This file is part of the GNU ISO C++ Library.  This library is free
--// software; you can redistribute it and/or modify it under the
--// terms of the GNU General Public License as published by the
--// Free Software Foundation; either version 2, or (at your option)
--// any later version.
--
--// This library 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 General Public License for more details.
--
--// You should have received a copy of the GNU General Public License along
--// with this library; see the file COPYING.  If not, write to the Free
--// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
--// USA.
--
--// As a special exception, you may use this file as part of a free software
--// library without restriction.  Specifically, if other files instantiate
--// templates or use macros or inline functions from this file, or you compile
--// this file and link it with other files to produce an executable, this
--// file does not by itself cause the resulting executable to be covered by
--// the GNU General Public License.  This exception does not however
--// invalidate any other reasons why the executable file might be covered by
--// the GNU General Public License.
-+#ifndef _IA64_ATOMICITY_H
-+#define _IA64_ATOMICITY_H
- 
--#ifndef _GLIBCXX_ATOMICITY_H
--#define _GLIBCXX_ATOMICITY_H       1
--
--#include <sysdeps/ia64intrin.h>
-+#include <ia64intrin.h>
- 
- typedef int _Atomic_word;
- 
--static inline _Atomic_word 
--__attribute__ ((__unused__))
--__exchange_and_add(volatile _Atomic_word* __mem, int __val)
--{
--  return __sync_fetch_and_add(__mem, __val);
--}
--
--static inline void
--__attribute__ ((__unused__))
--__atomic_add(volatile _Atomic_word* __mem, int __val)
--{
--  __sync_fetch_and_add(__mem, __val);
--}
-+#define __exchange_and_add(mem, value) \
-+  ({ __typeof (*mem) __result;                                                \
-+     __result = __sync_fetch_and_add ((mem), (int) (value));                  \
-+     __result; })
-+
-+# define __atomic_add(mem, value) (void) __exchange_and_add ((mem), (value))
- 
--#endif /* atomicity.h */
-+#endif
-Common subdirectories: jack-audio-connection-kit-0.101.1/config/cpu/ia64/CVS and /tmp/jack-audio-connection-kit-0.101.1-new/build-tree/jack-audio-connection-kit-0.101.1/config/cpu/ia64/CVS
-diff -uN jack-audio-connection-kit-0.101.1/config/cpu/ia64/cycles.h /tmp/jack-audio-connection-kit-0.101.1-new/build-tree/jack-audio-connection-kit-0.101.1/config/cpu/ia64/cycles.h
---- jack-audio-connection-kit-0.101.1/config/cpu/ia64/cycles.h	2004-03-26 06:31:44.000000000 +1100
-+++ /tmp/jack-audio-connection-kit-0.101.1-new/build-tree/jack-audio-connection-kit-0.101.1/config/cpu/ia64/cycles.h	1970-01-01 10:00:00.000000000 +1000
-@@ -1,36 +0,0 @@
--/*
--    Copyright (C) 2001 Paul Davis
--    Code derived from various headers from the Linux kernel
--    
--    This program is free software; you can redistribute it and/or modify
--    it under the terms of the GNU General Public License as published by
--    the Free Software Foundation; either version 2 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 General Public License for more details.
--
--    You should have received a copy of the GNU General Public License
--    along with this program; if not, write to the Free Software
--    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
--
--    $Id: cycles.h,v 1.2 2004/03/25 19:31:44 joq Exp $
--*/
--
--#ifndef __jack_cycles_h__
--#define __jack_cycles_h__
--
--/* ia64 */
--
--typedef unsigned long cycles_t;
--static inline cycles_t
--get_cycles (void)
--{
--	cycles_t ret;
--	__asm__ __volatile__ ("mov %0=ar.itc" : "=r"(ret));
--	return ret;
--}
--
--#endif /* __jack_cycles_h__ */
-diff -uN jack-audio-connection-kit-0.101.1/config/cpu/ia64/ia64intrin.h /tmp/jack-audio-connection-kit-0.101.1-new/build-tree/jack-audio-connection-kit-0.101.1/config/cpu/ia64/ia64intrin.h
---- jack-audio-connection-kit-0.101.1/config/cpu/ia64/ia64intrin.h	2004-03-26 06:31:44.000000000 +1100
-+++ /tmp/jack-audio-connection-kit-0.101.1-new/build-tree/jack-audio-connection-kit-0.101.1/config/cpu/ia64/ia64intrin.h	1970-01-01 10:00:00.000000000 +1000
-@@ -1,130 +0,0 @@
--#ifndef _IA64INTRIN_H_INCLUDED
--#define _IA64INTRIN_H_INCLUDED
--
--/* Actually, everything is a compiler builtin, but just so
--   there's no confusion...  */
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--extern void __sync_synchronize (void);
--
--extern int __sync_val_compare_and_swap_si (int *, int, int);
--extern long __sync_val_compare_and_swap_di (long *, long, long);
--#define __sync_val_compare_and_swap(PTR, OLD, NEW)			\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR)))						\
--    __sync_val_compare_and_swap_si((int *)(PTR),(int)(OLD),(int)(NEW))	\
--  : (__typeof__(*(PTR)))						\
--    __sync_val_compare_and_swap_di((long *)(PTR),(long)(OLD),(long)(NEW)))
--
--extern int __sync_bool_compare_and_swap_si (int *, int, int);
--extern int __sync_bool_compare_and_swap_di (long *, long, long);
--#define __sync_bool_compare_and_swap(PTR, OLD, NEW)			\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? __sync_bool_compare_and_swap_si((int *)(PTR),(int)(OLD),(int)(NEW))	\
--  : __sync_bool_compare_and_swap_di((long *)(PTR),(long)(OLD),(long)(NEW)))
--
--extern void __sync_lock_release_si (int *);
--extern void __sync_lock_release_di (long *);
--#define __sync_lock_release(PTR)		\
--  ((sizeof (*(PTR)) == sizeof(int))		\
--   ? __sync_lock_release_si((int *)(PTR))	\
--   : __sync_lock_release_di((long *)(PTR)))
--
--extern int __sync_lock_test_and_set_si (int *, int);
--extern long __sync_lock_test_and_set_di (long *, long);
--#define __sync_lock_test_and_set(PTR,VAL)				\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_lock_test_and_set_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_lock_test_and_set_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_fetch_and_add_si (int *, int);
--extern long __sync_fetch_and_add_di (long *, long);
--#define __sync_fetch_and_add(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_fetch_and_add_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_fetch_and_add_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_fetch_and_sub_si (int *, int);
--extern long __sync_fetch_and_sub_di (long *, long);
--#define __sync_fetch_and_sub(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_fetch_and_sub_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_fetch_and_sub_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_fetch_and_and_si (int *, int);
--extern long __sync_fetch_and_and_di (long *, long);
--#define __sync_fetch_and_and(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_fetch_and_and_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_fetch_and_and_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_fetch_and_or_si (int *, int);
--extern long __sync_fetch_and_or_di (long *, long);
--#define __sync_fetch_and_or(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_fetch_and_or_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_fetch_and_or_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_fetch_and_xor_si (int *, int);
--extern long __sync_fetch_and_xor_di (long *, long);
--#define __sync_fetch_and_xor(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_fetch_and_xor_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_fetch_and_xor_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_fetch_and_nand_si (int *, int);
--extern long __sync_fetch_and_nand_di (long *, long);
--#define __sync_fetch_and_nand(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_fetch_and_nand_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_fetch_and_nand_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_add_and_fetch_si (int *, int);
--extern long __sync_add_and_fetch_di (long *, long);
--#define __sync_add_and_fetch(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_add_and_fetch_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_add_and_fetch_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_sub_and_fetch_si (int *, int);
--extern long __sync_sub_and_fetch_di (long *, long);
--#define __sync_sub_and_fetch(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_sub_and_fetch_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_sub_and_fetch_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_and_and_fetch_si (int *, int);
--extern long __sync_and_and_fetch_di (long *, long);
--#define __sync_and_and_fetch(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_and_and_fetch_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_and_and_fetch_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_or_and_fetch_si (int *, int);
--extern long __sync_or_and_fetch_di (long *, long);
--#define __sync_or_and_fetch(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_or_and_fetch_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_or_and_fetch_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_xor_and_fetch_si (int *, int);
--extern long __sync_xor_and_fetch_di (long *, long);
--#define __sync_xor_and_fetch(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_xor_and_fetch_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_xor_and_fetch_di((long *)(PTR),(long)(VAL)))
--
--extern int __sync_nand_and_fetch_si (int *, int);
--extern long __sync_nand_and_fetch_di (long *, long);
--#define __sync_nand_and_fetch(PTR,VAL)					\
-- ((sizeof (*(PTR)) == sizeof(int))					\
--  ? (__typeof__(*(PTR))) __sync_nand_and_fetch_si((int *)(PTR),(int)(VAL)) \
--  : (__typeof__(*(PTR))) __sync_nand_and_fetch_di((long *)(PTR),(long)(VAL)))
--
--#ifdef __cplusplus
--}
--#endif
--
--#endif

Deleted: jack-audio-connection-kit/trunk/debian/patches/10_freebob.patch
===================================================================
--- jack-audio-connection-kit/trunk/debian/patches/10_freebob.patch	2006-11-02 13:11:59 UTC (rev 981)
+++ jack-audio-connection-kit/trunk/debian/patches/10_freebob.patch	2006-11-02 13:39:07 UTC (rev 982)
@@ -1,1335 +0,0 @@
-diff -rc jack-audio-connection-kit-0.101.1/drivers/freebob/freebob_driver.c jack-audio-connection-kit-0.101.1.new/drivers/freebob/freebob_driver.c
-*** jack-audio-connection-kit-0.101.1/drivers/freebob/freebob_driver.c	2006-03-19 13:34:20.000000000 +0100
---- jack-audio-connection-kit-0.101.1.new/drivers/freebob/freebob_driver.c	2006-10-19 12:22:44.000000000 +0200
-***************
-*** 51,58 ****
---- 51,63 ----
-  #ifdef FREEBOB_DRIVER_WITH_MIDI
-  	static freebob_driver_midi_handle_t *freebob_driver_midi_init(freebob_driver_t *driver);
-  	static void freebob_driver_midi_finish (freebob_driver_midi_handle_t *m);
-+ 	static int freebob_driver_midi_start (freebob_driver_midi_handle_t *m);
-+ 	static int freebob_driver_midi_stop (freebob_driver_midi_handle_t *m);
-  #endif
-  
-+ // enable verbose messages
-+ static int g_verbose=0;
-+ 
-  static int
-  freebob_driver_attach (freebob_driver_t *driver)
-  {
-***************
-*** 61,69 ****
---- 66,112 ----
-  	jack_port_t *port;
-  	int port_flags;
-  
-+ 	g_verbose=driver->engine->verbose;
-+ 	driver->device_options.verbose=g_verbose;
-+ 
-  	driver->engine->set_buffer_size (driver->engine, driver->period_size);
-  	driver->engine->set_sample_rate (driver->engine, driver->sample_rate);
-  
-+ 	/* packetizer thread options */
-+ 	driver->device_options.realtime=(driver->engine->control->real_time? 1 : 0);
-+ 	
-+ 	driver->device_options.packetizer_priority=driver->engine->control->client_priority +
-+ 		FREEBOB_RT_PRIORITY_PACKETIZER_RELATIVE;
-+ 	if (driver->device_options.packetizer_priority>98) {
-+ 		driver->device_options.packetizer_priority=98;
-+ 	}
-+ 
-+ 	driver->dev=freebob_streaming_init(&driver->device_info,driver->device_options);
-+ 
-+ 	if(!driver->dev) {
-+ 		printError("FREEBOB: Error creating virtual device");
-+ 		return -1;
-+ 	}
-+ 
-+ #ifdef FREEBOB_DRIVER_WITH_MIDI
-+ 	driver->midi_handle=freebob_driver_midi_init(driver);
-+ 	if(!driver->midi_handle) {
-+ 		printError("-----------------------------------------------------------");
-+ 		printError("Error creating midi device!");
-+ 		printError("FreeBob will run without MIDI support.");
-+ 		printError("Consult the above error messages to solve the problem. ");
-+ 		printError("-----------------------------------------------------------\n\n");
-+ 	}
-+ #endif
-+ 
-+ 	if (driver->device_options.realtime) {
-+ 		printMessage("Streaming thread running with Realtime scheduling, priority %d",
-+ 		           driver->device_options.packetizer_priority);
-+ 	} else {
-+ 		printMessage("Streaming thread running without Realtime scheduling");
-+ 	}
-+ 
-+ 	/* ports */
-  	port_flags = JackPortIsOutput|JackPortIsPhysical|JackPortIsTerminal;
-  
-  	driver->capture_nchannels=freebob_streaming_get_nb_capture_streams(driver->dev);
-***************
-*** 73,89 ****
-  		freebob_streaming_get_capture_stream_name(driver->dev, chn, buf, sizeof(buf) - 1);
-  		
-  		if(freebob_streaming_get_capture_stream_type(driver->dev, chn) != freebob_stream_type_audio) {
-! 			printMessage ("Don't register capture port %s\n", buf);
-  // 			continue;
-  			// we have to add a NULL entry in the list to be able to loop over the channels in the read/write routines
-  			driver->capture_ports =
-  				jack_slist_append (driver->capture_ports, NULL);
-  		} else {
-! 			printMessage ("Registering capture port %s\n", buf);
-  			if ((port = jack_port_register (driver->client, buf,
-  							JACK_DEFAULT_AUDIO_TYPE,
-  							port_flags, 0)) == NULL) {
-! 				jack_error ("FREEBOB: cannot register port for %s", buf);
-  				break;
-  			}
-  			driver->capture_ports =
---- 116,132 ----
-  		freebob_streaming_get_capture_stream_name(driver->dev, chn, buf, sizeof(buf) - 1);
-  		
-  		if(freebob_streaming_get_capture_stream_type(driver->dev, chn) != freebob_stream_type_audio) {
-! 			printMessage ("Don't register capture port %s", buf);
-  // 			continue;
-  			// we have to add a NULL entry in the list to be able to loop over the channels in the read/write routines
-  			driver->capture_ports =
-  				jack_slist_append (driver->capture_ports, NULL);
-  		} else {
-! 			printMessage ("Registering capture port %s", buf);
-  			if ((port = jack_port_register (driver->client, buf,
-  							JACK_DEFAULT_AUDIO_TYPE,
-  							port_flags, 0)) == NULL) {
-! 				printError (" cannot register port for %s", buf);
-  				break;
-  			}
-  			driver->capture_ports =
-***************
-*** 104,120 ****
-  		freebob_streaming_get_playback_stream_name(driver->dev, chn, buf, sizeof(buf) - 1);
-  		
-  		if(freebob_streaming_get_playback_stream_type(driver->dev, chn) != freebob_stream_type_audio) {
-! 			printMessage ("Don't register playback port %s\n", buf);
-  // 			continue;
-  			// we have to add a NULL entry in the list to be able to loop over the channels in the read/write routines
-  			driver->playback_ports =
-  				jack_slist_append (driver->playback_ports, NULL);
-  		} else {
-! 			printMessage ("Registering playback port %s\n", buf);
-  			if ((port = jack_port_register (driver->client, buf,
-  							JACK_DEFAULT_AUDIO_TYPE,
-  							port_flags, 0)) == NULL) {
-! 				jack_error ("FREEBOB: cannot register port for %s", buf);
-  				break;
-  			}
-  			driver->playback_ports =
---- 147,163 ----
-  		freebob_streaming_get_playback_stream_name(driver->dev, chn, buf, sizeof(buf) - 1);
-  		
-  		if(freebob_streaming_get_playback_stream_type(driver->dev, chn) != freebob_stream_type_audio) {
-! 			printMessage ("Don't register playback port %s", buf);
-  // 			continue;
-  			// we have to add a NULL entry in the list to be able to loop over the channels in the read/write routines
-  			driver->playback_ports =
-  				jack_slist_append (driver->playback_ports, NULL);
-  		} else {
-! 			printMessage ("Registering playback port %s", buf);
-  			if ((port = jack_port_register (driver->client, buf,
-  							JACK_DEFAULT_AUDIO_TYPE,
-  							port_flags, 0)) == NULL) {
-! 				printError(" cannot register port for %s", buf);
-  				break;
-  			}
-  			driver->playback_ports =
-***************
-*** 154,159 ****
---- 197,212 ----
-  	jack_slist_free (driver->playback_ports);
-  	driver->playback_ports = 0;
-  
-+ 	freebob_streaming_finish(driver->dev);
-+ 	driver->dev=NULL;
-+ 
-+ #ifdef FREEBOB_DRIVER_WITH_MIDI
-+ 	if(driver->midi_handle) {
-+ 		freebob_driver_midi_finish(driver->midi_handle);	
-+ 	}
-+ #endif	
-+ 	driver->midi_handle=NULL;
-+ 
-  	return 0;
-  
-  }
-***************
-*** 170,193 ****
-  	
-  	freebob_streaming_read(driver->dev, channel, buffer, nsamples);
-  	
-- #if 0
-- 	int i=0;
-- 	if(channel==0) {
-- 		jack_error("Read for channel %d",channel);
-- 		for (i=0;i<nsamples;i+=8) {
-- 			fprintf(stderr," %08X %08X %08X %08X %08X %08X %08X %08X\n",
-- 				buffer[i],
-- 				buffer[i+1],
-- 				buffer[i+2],
-- 				buffer[i+3],
-- 				buffer[i+4],
-- 				buffer[i+5],
-- 				buffer[i+6],
-- 				buffer[i+7]
-- 				);	
-- 		}
-- 	}	
-- #endif
-  	/* ALERT: signed sign-extension portability !!! */
-  
-  	while (nsamples--) {
---- 223,228 ----
-***************
-*** 399,412 ****
-  						   &delayed_usecs);
-  	
-  	if ((wait_status < 0)) {
-! 		jack_error( "wait status < 0! (= %d)\n",wait_status);
-  		return -1;
-  	}
-  		
-  	if ((nframes == 0)) {
-  		/* we detected an xrun and restarted: notify
-  		 * clients about the delay. */
-! 		jack_error( "xrun detected\n");
-  		engine->delay (engine, delayed_usecs);
-  		return 0;
-  	} 
---- 434,447 ----
-  						   &delayed_usecs);
-  	
-  	if ((wait_status < 0)) {
-! 		printError( "wait status < 0! (= %d)",wait_status);
-  		return -1;
-  	}
-  		
-  	if ((nframes == 0)) {
-  		/* we detected an xrun and restarted: notify
-  		 * clients about the delay. */
-! 		printMessage("xrun detected");
-  		engine->delay (engine, delayed_usecs);
-  		return 0;
-  	} 
-***************
-*** 420,426 ****
-  static int
-  freebob_driver_null_cycle (freebob_driver_t* driver, jack_nframes_t nframes)
-  {
-- 	jack_error("Null cycle...\n");
-  	channel_t chn;
-  	JSList *node;
-  	snd_pcm_sframes_t nwritten;
---- 455,460 ----
-***************
-*** 481,504 ****
-  static int
-  freebob_driver_start (freebob_driver_t *driver)
-  {
-! 	jack_error("Driver start...\n");
-! 	return freebob_streaming_start(driver->dev);
-  
-  }
-  
-  static int
-  freebob_driver_stop (freebob_driver_t *driver)
-  {
-! 	jack_error("Driver stop...\n");
-  	
-! 	return freebob_streaming_stop(driver->dev);
-  }
-  
-  
-  static int
-  freebob_driver_bufsize (freebob_driver_t* driver, jack_nframes_t nframes)
-  {
-! 	jack_error("Buffer size change requested!!!\n");
-  
-  	/*
-  	 driver->period_size = nframes;  
---- 515,571 ----
-  static int
-  freebob_driver_start (freebob_driver_t *driver)
-  {
-! 	int retval=0;
-! 
-! #ifdef FREEBOB_DRIVER_WITH_MIDI
-! 	if(driver->midi_handle) {
-! 		if((retval=freebob_driver_midi_start(driver->midi_handle))) {
-! 			printError("Could not start MIDI threads");
-! 			return retval;
-! 		}
-! 	}
-! #endif	
-! 
-! 	if((retval=freebob_streaming_start(driver->dev))) {
-! 		printError("Could not start streaming threads");
-! #ifdef FREEBOB_DRIVER_WITH_MIDI
-! 		if(driver->midi_handle) {
-! 			freebob_driver_midi_stop(driver->midi_handle);
-! 		}
-! #endif	
-! 		return retval;
-! 	}
-! 
-! 	return 0;
-  
-  }
-  
-  static int
-  freebob_driver_stop (freebob_driver_t *driver)
-  {
-! 	int retval=0;
-  	
-! #ifdef FREEBOB_DRIVER_WITH_MIDI
-! 	if(driver->midi_handle) {
-! 		if((retval=freebob_driver_midi_stop(driver->midi_handle))) {
-! 			printError("Could not stop MIDI threads");
-! 			return retval;
-! 		}
-! 	}
-! #endif	
-! 	if((retval=freebob_streaming_stop(driver->dev))) {
-! 		printError("Could not stop streaming threads");
-! 		return retval;
-! 	}
-! 
-! 	return 0;
-  }
-  
-  
-  static int
-  freebob_driver_bufsize (freebob_driver_t* driver, jack_nframes_t nframes)
-  {
-! 	printError("Buffer size change requested but not supported!!!");
-  
-  	/*
-  	 driver->period_size = nframes;  
-***************
-*** 521,532 ****
-  		  freebob_jack_settings_t *params)
-  {
-  	freebob_driver_t *driver;
-- 	freebob_device_info_t device_info;
-- 	freebob_options_t device_options;
-  
-  	assert(params);
-  
-! 	jack_error("Starting Freebob backend (%s)", freebob_get_version());
-  
-  	driver = calloc (1, sizeof (freebob_driver_t));
-  
---- 588,602 ----
-  		  freebob_jack_settings_t *params)
-  {
-  	freebob_driver_t *driver;
-  
-  	assert(params);
-  
-! 	if(freebob_get_api_version() != 1) {
-! 		printMessage("Incompatible libfreebob version! (%s)", freebob_get_version());
-! 		return NULL;
-! 	}
-! 
-! 	printMessage("Starting Freebob backend (%s)", freebob_get_version());
-  
-  	driver = calloc (1, sizeof (freebob_driver_t));
-  
-***************
-*** 556,607 ****
-  
-  	driver->client = client;
-  	driver->engine = NULL;
-- 	
-- 	device_options.sample_rate=params->sample_rate;
-- 	device_options.period_size=params->period_size;
-- 	device_options.nb_buffers=params->buffer_size;
-- 	device_options.iso_buffers=params->iso_buffers;
-- 	device_options.iso_prebuffers=params->iso_prebuffers;
-- 	device_options.iso_irq_interval=params->iso_irq_interval;
-- 	device_options.node_id=params->node_id;
-- 	device_options.port=params->port;
-- 
-- 	/* packetizer thread options */
-- 
-- 	device_options.realtime=FREEBOB_USE_RT;
-- 	device_options.packetizer_priority=FREEBOB_RT_PRIORITY_PACKETIZER;
-- 	
-- 	driver->dev=freebob_streaming_init(&device_info,device_options);
-- 
-- 	if(!driver->dev) {
-- 		jack_error("FREEBOB: Error creating virtual device");
-- 		jack_driver_nt_finish ((jack_driver_nt_t *) driver);
-- 		free (driver);
-- 		return NULL;
-- 	}
-- 
-- #ifdef FREEBOB_DRIVER_WITH_MIDI
-- 	driver->midi_handle=freebob_driver_midi_init(driver);
-- 	if(!driver->midi_handle) {
-- 		jack_error("FREEBOB: Error creating midi device");
-- 		jack_driver_nt_finish ((jack_driver_nt_t *) driver);
-- 		free (driver);
-- 		return NULL;
-- 	}
-- #endif
-- 
-- 	jack_error("FREEBOB: Driver compiled on %s %s", __DATE__, __TIME__);
-- 	jack_error("FREEBOB: Created driver %s", name);
-- 	jack_error("            period_size: %d", driver->period_size);
-- 	jack_error("            period_usecs: %d", driver->period_usecs);
-- 	jack_error("            sample rate: %d", driver->sample_rate);
-- 	if (device_options.realtime) {
-- 		jack_error("            running with Realtime scheduling, priority %d", device_options.packetizer_priority);
-- 	} else {
-- 		jack_error("            running without Realtime scheduling");
-- 	}
-- 
-  
-  
-  	return (freebob_driver_t *) driver;
-  
---- 626,652 ----
-  
-  	driver->client = client;
-  	driver->engine = NULL;
-  
-+ 	memset(&driver->device_options,0,sizeof(driver->device_options));	
-+ 	driver->device_options.sample_rate=params->sample_rate;
-+ 	driver->device_options.period_size=params->period_size;
-+ 	driver->device_options.nb_buffers=params->buffer_size;
-+ 	driver->device_options.node_id=params->node_id;
-+ 	driver->device_options.port=params->port;
-+ 
-+ 	if(!params->capture_ports) {
-+ 		driver->device_options.directions |= FREEBOB_IGNORE_CAPTURE;
-+ 	}
-+ 
-+ 	if(!params->playback_ports) {
-+ 		driver->device_options.directions |= FREEBOB_IGNORE_PLAYBACK;
-+ 	}
-+ 
-+ 	debugPrint(DEBUG_LEVEL_STARTUP, " Driver compiled on %s %s", __DATE__, __TIME__);
-+ 	debugPrint(DEBUG_LEVEL_STARTUP, " Created driver %s", name);
-+ 	debugPrint(DEBUG_LEVEL_STARTUP, "            period_size: %d", driver->period_size);
-+ 	debugPrint(DEBUG_LEVEL_STARTUP, "            period_usecs: %d", driver->period_usecs);
-+ 	debugPrint(DEBUG_LEVEL_STARTUP, "            sample rate: %d", driver->sample_rate);
-  
-  	return (freebob_driver_t *) driver;
-  
-***************
-*** 610,622 ****
-  static void
-  freebob_driver_delete (freebob_driver_t *driver)
-  {
-- 
-- 	freebob_streaming_finish(driver->dev);
-- 
-- #ifdef FREEBOB_DRIVER_WITH_MIDI
-- 	freebob_driver_midi_finish(driver->midi_handle);	
-- #endif	
-- 
-  	jack_driver_nt_finish ((jack_driver_nt_t *) driver);
-  	free (driver);
-  }
---- 655,660 ----
-***************
-*** 638,644 ****
-  	int b;
-  	int i;
-  
-! 	jack_error ("FREEBOB: MIDI queue thread started");
-  
-  	while(1) {
-  		// get next event, if one is present
---- 676,682 ----
-  	int b;
-  	int i;
-  
-! 	printMessage("MIDI queue thread started");
-  
-  	while(1) {
-  		// get next event, if one is present
-***************
-*** 653,659 ****
-  			}
-  	
-  			if(!port) {
-! 				jack_error ("FREEBOB: Could not find target port for event: dst=%d src=%d\n", ev->dest.port, ev->source.port);
-  
-  				break;
-  			}
---- 691,697 ----
-  			}
-  	
-  			if(!port) {
-! 				printError(" Could not find target port for event: dst=%d src=%d", ev->dest.port, ev->source.port);
-  
-  				break;
-  			}
-***************
-*** 664,670 ****
-  				MIDI_TRANSMIT_BUFFER_SIZE, 
-  				ev))<0) 
-  			{ // failed
-! 				jack_error ("FREEBOB: Error decoding event for port %d (errcode=%d)\n", port->seq_port_nr,bytes_to_send);
-  				bytes_to_send=0;
-  				//return -1;
-  			}
---- 702,708 ----
-  				MIDI_TRANSMIT_BUFFER_SIZE, 
-  				ev))<0) 
-  			{ // failed
-! 				printError(" Error decoding event for port %d (errcode=%d)", port->seq_port_nr,bytes_to_send);
-  				bytes_to_send=0;
-  				//return -1;
-  			}
-***************
-*** 672,678 ****
-  			for(b=0;b<bytes_to_send;b++) {
-  				freebob_sample_t tmp_event=work_buffer[b];
-  				if(freebob_streaming_write(m->dev, port->stream_nr, &tmp_event, 1)<1) {
-! 					jack_error ("FREEBOB: Midi send buffer overrun\n");
-  				}
-  			}
-  	
---- 710,716 ----
-  			for(b=0;b<bytes_to_send;b++) {
-  				freebob_sample_t tmp_event=work_buffer[b];
-  				if(freebob_streaming_write(m->dev, port->stream_nr, &tmp_event, 1)<1) {
-! 					printError(" Midi send buffer overrun");
-  				}
-  			}
-  	
-***************
-*** 704,710 ****
-  			freebob_midi_port_t *port=m->input_ports[i];
-  		
-  			if(!port) {
-! 				jack_error("FREEBOB: something went wrong when setting up the midi input port map (%d)",i);
-  			}
-  		
-  			do {
---- 742,748 ----
-  			freebob_midi_port_t *port=m->input_ports[i];
-  		
-  			if(!port) {
-! 				printError(" something went wrong when setting up the midi input port map (%d)",i);
-  			}
-  		
-  			do {
-***************
-*** 744,755 ****
-  
-  	freebob_driver_midi_handle_t *m=calloc(1,sizeof(freebob_driver_midi_handle_t));
-  	if (!m) {
-! 		jack_error("FREEBOB: not enough memory to create midi structure");
-  		return NULL;
-  	}
-  
-  	if (snd_seq_open(&m->seq_handle, "default", SND_SEQ_OPEN_DUPLEX, SND_SEQ_NONBLOCK) < 0) {
-! 		jack_error("FREEBOB: Error opening ALSA sequencer.");
-  		free(m);
-  		return NULL;
-  	}
---- 782,793 ----
-  
-  	freebob_driver_midi_handle_t *m=calloc(1,sizeof(freebob_driver_midi_handle_t));
-  	if (!m) {
-! 		printError("not enough memory to create midi structure");
-  		return NULL;
-  	}
-  
-  	if (snd_seq_open(&m->seq_handle, "default", SND_SEQ_OPEN_DUPLEX, SND_SEQ_NONBLOCK) < 0) {
-! 		printError("Error opening ALSA sequencer.");
-  		free(m);
-  		return NULL;
-  	}
-***************
-*** 769,775 ****
-  
-  	m->input_ports=calloc(m->nb_input_ports,sizeof(freebob_midi_port_t *));
-  	if(!m->input_ports) {
-! 		jack_error("FREEBOB: not enough memory to create midi structure");
-  		free(m);
-  		return NULL;
-  	}
---- 807,813 ----
-  
-  	m->input_ports=calloc(m->nb_input_ports,sizeof(freebob_midi_port_t *));
-  	if(!m->input_ports) {
-! 		printError("not enough memory to create midi structure");
-  		free(m);
-  		return NULL;
-  	}
-***************
-*** 780,805 ****
-  			m->input_ports[i]=calloc(1,sizeof(freebob_midi_port_t));
-  			if(!m->input_ports[i]) {
-  				// fixme
-! 				jack_error("FREEBOB: Could not allocate memory for seq port");
-  				continue;
-  			}
-  
-  	 		freebob_streaming_get_capture_stream_name(dev, chn, buf, sizeof(buf) - 1);
-! 			jack_error("FREEBOB: Register MIDI IN port %s\n", buf);
-  
-  			m->input_ports[i]->seq_port_nr=snd_seq_create_simple_port(m->seq_handle, buf,
-  				SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,
-  				SND_SEQ_PORT_TYPE_MIDI_GENERIC);
-  
-  			if(m->input_ports[i]->seq_port_nr<0) {
-! 				jack_error("FREEBOB: Could not create seq port");
-  				m->input_ports[i]->stream_nr=-1;
-  				m->input_ports[i]->seq_port_nr=-1;
-  			} else {
-  				m->input_ports[i]->stream_nr=chn;
-  				m->input_ports[i]->seq_handle=m->seq_handle;
-  				if (snd_midi_event_new  ( ALSA_SEQ_BUFF_SIZE, &(m->input_ports[i]->parser)) < 0) {
-! 					fprintf(stderr, "FREEBOB: could not init parser for MIDI IN port %d\n",i);
-  					m->input_ports[i]->stream_nr=-1;
-  					m->input_ports[i]->seq_port_nr=-1;
-  				}
---- 818,843 ----
-  			m->input_ports[i]=calloc(1,sizeof(freebob_midi_port_t));
-  			if(!m->input_ports[i]) {
-  				// fixme
-! 				printError("Could not allocate memory for seq port");
-  				continue;
-  			}
-  
-  	 		freebob_streaming_get_capture_stream_name(dev, chn, buf, sizeof(buf) - 1);
-! 			printMessage("Register MIDI IN port %s", buf);
-  
-  			m->input_ports[i]->seq_port_nr=snd_seq_create_simple_port(m->seq_handle, buf,
-  				SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,
-  				SND_SEQ_PORT_TYPE_MIDI_GENERIC);
-  
-  			if(m->input_ports[i]->seq_port_nr<0) {
-! 				printError("Could not create seq port");
-  				m->input_ports[i]->stream_nr=-1;
-  				m->input_ports[i]->seq_port_nr=-1;
-  			} else {
-  				m->input_ports[i]->stream_nr=chn;
-  				m->input_ports[i]->seq_handle=m->seq_handle;
-  				if (snd_midi_event_new  ( ALSA_SEQ_BUFF_SIZE, &(m->input_ports[i]->parser)) < 0) {
-! 					printError("could not init parser for MIDI IN port %d",i);
-  					m->input_ports[i]->stream_nr=-1;
-  					m->input_ports[i]->seq_port_nr=-1;
-  				}
-***************
-*** 822,828 ****
-  
-  	m->output_ports=calloc(m->nb_output_ports,sizeof(freebob_midi_port_t *));
-  	if(!m->output_ports) {
-! 		jack_error("FREEBOB: not enough memory to create midi structure");
-  		for (i = 0; i < m->nb_input_ports; i++) {	
-  			free(m->input_ports[i]);
-  		}
---- 860,866 ----
-  
-  	m->output_ports=calloc(m->nb_output_ports,sizeof(freebob_midi_port_t *));
-  	if(!m->output_ports) {
-! 		printError("not enough memory to create midi structure");
-  		for (i = 0; i < m->nb_input_ports; i++) {	
-  			free(m->input_ports[i]);
-  		}
-***************
-*** 837,848 ****
-  			m->output_ports[i]=calloc(1,sizeof(freebob_midi_port_t));
-  			if(!m->output_ports[i]) {
-  				// fixme
-! 				jack_error("FREEBOB: Could not allocate memory for seq port");
-  				continue;
-  			}
-  
-  	 		freebob_streaming_get_playback_stream_name(dev, chn, buf, sizeof(buf) - 1);
-! 			jack_error("FREEBOB: Register MIDI OUT port %s\n", buf);
-  
-  			m->output_ports[i]->seq_port_nr=snd_seq_create_simple_port(m->seq_handle, buf,
-  				SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,
---- 875,886 ----
-  			m->output_ports[i]=calloc(1,sizeof(freebob_midi_port_t));
-  			if(!m->output_ports[i]) {
-  				// fixme
-! 				printError("Could not allocate memory for seq port");
-  				continue;
-  			}
-  
-  	 		freebob_streaming_get_playback_stream_name(dev, chn, buf, sizeof(buf) - 1);
-! 			printMessage("Register MIDI OUT port %s", buf);
-  
-  			m->output_ports[i]->seq_port_nr=snd_seq_create_simple_port(m->seq_handle, buf,
-  				SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,
-***************
-*** 850,863 ****
-  
-  
-  			if(m->output_ports[i]->seq_port_nr<0) {
-! 				jack_error("FREEBOB: Could not create seq port");
-  				m->output_ports[i]->stream_nr=-1;
-  				m->output_ports[i]->seq_port_nr=-1;
-  			} else {
-  				m->output_ports[i]->stream_nr=chn;
-  				m->output_ports[i]->seq_handle=m->seq_handle;
-  				if (snd_midi_event_new  ( ALSA_SEQ_BUFF_SIZE, &(m->output_ports[i]->parser)) < 0) {
-! 					fprintf(stderr, "FREEBOB: could not init parser for MIDI OUT port %d\n",i);
-  					m->output_ports[i]->stream_nr=-1;
-  					m->output_ports[i]->seq_port_nr=-1;
-  				}
---- 888,901 ----
-  
-  
-  			if(m->output_ports[i]->seq_port_nr<0) {
-! 				printError("Could not create seq port");
-  				m->output_ports[i]->stream_nr=-1;
-  				m->output_ports[i]->seq_port_nr=-1;
-  			} else {
-  				m->output_ports[i]->stream_nr=chn;
-  				m->output_ports[i]->seq_handle=m->seq_handle;
-  				if (snd_midi_event_new  ( ALSA_SEQ_BUFF_SIZE, &(m->output_ports[i]->parser)) < 0) {
-! 					printError("could not init parser for MIDI OUT port %d",i);
-  					m->output_ports[i]->stream_nr=-1;
-  					m->output_ports[i]->seq_port_nr=-1;
-  				}
-***************
-*** 867,906 ****
-  		}
-  	}
-  
-  
-  	// start threads
-- 	m->dev=dev;
-  
-!  	m->queue_thread_priority=FREEBOB_RT_PRIORITY_MIDI;
-! 	m->queue_thread_realtime=FREEBOB_USE_RT;
-  
-  	if (jack_client_create_thread(NULL, &m->queue_thread, m->queue_thread_priority, m->queue_thread_realtime, freebob_driver_midi_queue_thread, (void *)m)) {
-! 		jack_error("FREEBOB: cannot create midi queueing thread");
-! 		free(m);
-! 		return NULL;
-  	}
-  
-  	if (jack_client_create_thread(NULL, &m->dequeue_thread, m->queue_thread_priority, m->queue_thread_realtime, freebob_driver_midi_dequeue_thread, (void *)m)) {
-! 		jack_error("FREEBOB: cannot create midi dequeueing thread");
-! 		free(m);
-! 		return NULL;
-  	}
-! 	return m;
-  }
-  
-! static void
-! freebob_driver_midi_finish (freebob_driver_midi_handle_t *m)
-  {
-  	assert(m);
-  
-- 	int i;
-- 
-  	pthread_cancel (m->queue_thread);
-  	pthread_join (m->queue_thread, NULL);
-  
-  	pthread_cancel (m->dequeue_thread);
-  	pthread_join (m->dequeue_thread, NULL);
-  
-  
-  	for (i=0;i<m->nb_input_ports;i++) {
-  		free(m->input_ports[i]);
---- 905,970 ----
-  		}
-  	}
-  
-+ 	m->dev=dev;
-+ 	m->driver=driver;
-+ 
-+ 	return m;
-+ }
-  
-+ static int
-+ freebob_driver_midi_start (freebob_driver_midi_handle_t *m)
-+ {
-+ 	assert(m);
-  	// start threads
-  
-! 	m->queue_thread_realtime=(m->driver->engine->control->real_time? 1 : 0);
-!  	m->queue_thread_priority=
-! 		m->driver->engine->control->client_priority +
-! 		FREEBOB_RT_PRIORITY_MIDI_RELATIVE;
-! 
-! 	if (m->queue_thread_priority>98) {
-! 		m->queue_thread_priority=98;
-! 	}
-! 	if (m->queue_thread_realtime) {
-! 		printMessage("MIDI threads running with Realtime scheduling, priority %d",
-! 		           m->queue_thread_priority);
-! 	} else {
-! 		printMessage("MIDI threads running without Realtime scheduling");
-! 	}
-  
-  	if (jack_client_create_thread(NULL, &m->queue_thread, m->queue_thread_priority, m->queue_thread_realtime, freebob_driver_midi_queue_thread, (void *)m)) {
-! 		printError(" cannot create midi queueing thread");
-! 		return -1;
-  	}
-  
-  	if (jack_client_create_thread(NULL, &m->dequeue_thread, m->queue_thread_priority, m->queue_thread_realtime, freebob_driver_midi_dequeue_thread, (void *)m)) {
-! 		printError(" cannot create midi dequeueing thread");
-! 		return -1;
-  	}
-! 	return 0;
-  }
-  
-! static int
-! freebob_driver_midi_stop (freebob_driver_midi_handle_t *m)
-  {
-  	assert(m);
-  
-  	pthread_cancel (m->queue_thread);
-  	pthread_join (m->queue_thread, NULL);
-  
-  	pthread_cancel (m->dequeue_thread);
-  	pthread_join (m->dequeue_thread, NULL);
-+ 	return 0;
-+ 
-+ }
-  
-+ static void
-+ freebob_driver_midi_finish (freebob_driver_midi_handle_t *m)
-+ {
-+ 	assert(m);
-+ 
-+ 	int i;
-+ 	// TODO: add state info here, if not stopped then stop
-  
-  	for (i=0;i<m->nb_input_ports;i++) {
-  		free(m->input_ports[i]);
-***************
-*** 932,1006 ****
-  	desc = calloc (1, sizeof (jack_driver_desc_t));
-  
-  	strcpy (desc->name, "freebob");
-! 	desc->nparams = 8;
-    
-  	params = calloc (desc->nparams, sizeof (jack_driver_param_desc_t));
-  	desc->params = params;
-  
-  	i = 0;
-! 	strcpy (params[i].name, "port");
-  	params[i].character  = 'd';
-! 	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = 0;
-! 	strcpy (params[i].short_desc, "The FireWire port to use");
-! 	strcpy (params[i].long_desc, params[i].short_desc);
-  	
-  	i++;
-! 	strcpy (params[i].name, "node");
-! 	params[i].character  = 'n';
-! 	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = -1;
-! 	strcpy (params[i].short_desc, "Node id of the BeBoB device");
-! 	strcpy (params[i].long_desc, "The node id of the BeBoB device on the FireWire bus\n"
-!                                       "(use -1 to use scan all devices on the bus)");
-! 	i++;
-! 	strcpy (params[i].name, "period-size");
-  	params[i].character  = 'p';
-  	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = 512;
-! 	strcpy (params[i].short_desc, "Period size");
-  	strcpy (params[i].long_desc, params[i].short_desc);
-  	
-  	i++;
-! 	strcpy (params[i].name, "nb-buffers");
-! 	params[i].character  = 'r';
-  	params[i].type       = JackDriverParamUInt;
-  	params[i].value.ui   = 3;
-! 	strcpy (params[i].short_desc, "Number of periods to buffer");
-  	strcpy (params[i].long_desc, params[i].short_desc);
-  
-  	i++;
-! 	strcpy (params[i].name, "buffer-size");
-! 	params[i].character  = 'b';
-! 	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = 100U;
-! 	strcpy (params[i].short_desc, "The RAW1394 buffer size to use (in frames)");
-! 	strcpy (params[i].long_desc, params[i].short_desc);
-! 	
-! 	i++;
-! 	strcpy (params[i].name, "prebuffer-size");
-! 	params[i].character  = 's';
-  	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = 0U;
-! 	strcpy (params[i].short_desc, "The RAW1394 pre-buffer size to use (in frames)");
-  	strcpy (params[i].long_desc, params[i].short_desc);
-  
-  	i++;
-! 	strcpy (params[i].name, "irq-interval");
-  	params[i].character  = 'i';
-  	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = 4U;
-! 	strcpy (params[i].short_desc, "The interrupt interval to use (in packets)");
-  	strcpy (params[i].long_desc, params[i].short_desc);
-  
-  	i++;
-! 	strcpy (params[i].name, "samplerate");
-! 	params[i].character  = 'a';
-  	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = 44100U;
-! 	strcpy (params[i].short_desc, "The sample rate");
-  	strcpy (params[i].long_desc, params[i].short_desc);
-! 	
-  	return desc;
-  }
-  
---- 996,1054 ----
-  	desc = calloc (1, sizeof (jack_driver_desc_t));
-  
-  	strcpy (desc->name, "freebob");
-! 	desc->nparams = 6;
-    
-  	params = calloc (desc->nparams, sizeof (jack_driver_param_desc_t));
-  	desc->params = params;
-  
-  	i = 0;
-! 	strcpy (params[i].name, "device");
-  	params[i].character  = 'd';
-! 	params[i].type       = JackDriverParamString;
-! 	strcpy (params[i].value.str,  "hw:0");
-! 	strcpy (params[i].short_desc, "The FireWire device to use. Format is: 'hw:port[,node]'.");
-! 	strcpy (params[i].long_desc,  params[i].short_desc);
-  	
-  	i++;
-! 	strcpy (params[i].name, "period");
-  	params[i].character  = 'p';
-  	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = 1024;
-! 	strcpy (params[i].short_desc, "Frames per period");
-  	strcpy (params[i].long_desc, params[i].short_desc);
-  	
-  	i++;
-! 	strcpy (params[i].name, "nperiods");
-! 	params[i].character  = 'n';
-  	params[i].type       = JackDriverParamUInt;
-  	params[i].value.ui   = 3;
-! 	strcpy (params[i].short_desc, "Number of periods of playback latency");
-  	strcpy (params[i].long_desc, params[i].short_desc);
-  
-  	i++;
-! 	strcpy (params[i].name, "rate");
-! 	params[i].character  = 'r';
-  	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = 48000U;
-! 	strcpy (params[i].short_desc, "Sample rate");
-  	strcpy (params[i].long_desc, params[i].short_desc);
-  
-  	i++;
-! 	strcpy (params[i].name, "capture");
-  	params[i].character  = 'i';
-  	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = 1U;
-! 	strcpy (params[i].short_desc, "Provide capture ports.");
-  	strcpy (params[i].long_desc, params[i].short_desc);
-  
-  	i++;
-! 	strcpy (params[i].name, "playback");
-! 	params[i].character  = 'o';
-  	params[i].type       = JackDriverParamUInt;
-! 	params[i].value.ui   = 1U;
-! 	strcpy (params[i].short_desc, "Provide playback ports.");
-  	strcpy (params[i].long_desc, params[i].short_desc);
-! 
-  	return desc;
-  }
-  
-***************
-*** 1010,1041 ****
-  {
-  	jack_driver_t *driver;
-  
-  	const JSList * node;
-  	const jack_driver_param_t * param;
-! 			
-  	freebob_jack_settings_t cmlparams;
-  	
-!        
-  	cmlparams.period_size_set=0;
-  	cmlparams.sample_rate_set=0;
-- 	cmlparams.fifo_size_set=0;
-- 	cmlparams.table_size_set=0;
-- 	cmlparams.iso_buffers_set=0;
-- 	cmlparams.iso_prebuffers_set=0;
-- 	cmlparams.iso_irq_interval_set=0;
-  	cmlparams.buffer_size_set=0;
-  	cmlparams.port_set=0;
-  	cmlparams.node_id_set=0;
-  
-  	/* default values */
-! 	cmlparams.period_size=512;
-! 	cmlparams.sample_rate=44100;
-! 	cmlparams.iso_buffers=100;
-! 	cmlparams.iso_prebuffers=0;
-! 	cmlparams.iso_irq_interval=4;
-  	cmlparams.buffer_size=3;
-  	cmlparams.port=0;
-  	cmlparams.node_id=-1;
-  	
-  	for (node = params; node; node = jack_slist_next (node))
-  	{
---- 1058,1088 ----
-  {
-  	jack_driver_t *driver;
-  
-+     unsigned int port=0;
-+     unsigned int node_id=-1;
-+     int nbitems;
-+       
-  	const JSList * node;
-  	const jack_driver_param_t * param;
-! 
-  	freebob_jack_settings_t cmlparams;
-  	
-!     char *device_name="hw:0"; 
-!       
-  	cmlparams.period_size_set=0;
-  	cmlparams.sample_rate_set=0;
-  	cmlparams.buffer_size_set=0;
-  	cmlparams.port_set=0;
-  	cmlparams.node_id_set=0;
-  
-  	/* default values */
-! 	cmlparams.period_size=1024;
-! 	cmlparams.sample_rate=48000;
-  	cmlparams.buffer_size=3;
-  	cmlparams.port=0;
-  	cmlparams.node_id=-1;
-+ 	cmlparams.playback_ports=1;
-+ 	cmlparams.capture_ports=1;
-  	
-  	for (node = params; node; node = jack_slist_next (node))
-  	{
-***************
-*** 1044,1083 ****
-  		switch (param->character)
-  		{
-  		case 'd':
-! 			cmlparams.port = param->value.ui;
-! 			cmlparams.port_set=1;
-! 			break;
-! 		case 'n':
-! 			cmlparams.node_id = param->value.ui;
-! 			cmlparams.node_id_set=1;
-  			break;
-  		case 'p':
-  			cmlparams.period_size = param->value.ui;
-  			cmlparams.period_size_set = 1;
-  			break;
-! 		case 'b':
-! 			cmlparams.iso_buffers = param->value.ui;
-! 			cmlparams.iso_buffers_set = 1;
-! 			break;
-! 		case 'r':
-  			cmlparams.buffer_size = param->value.ui;
-  			cmlparams.buffer_size_set = 1;
-  			break;        
-! 		case 's':
-! 			cmlparams.iso_prebuffers = param->value.ui;
-! 			cmlparams.iso_prebuffers_set = 1;
-  			break;
-  		case 'i':
-! 			cmlparams.iso_irq_interval = param->value.ui;
-! 			cmlparams.iso_irq_interval_set = 1;
-  			break;
-! 		case 'a':
-! 			cmlparams.sample_rate = param->value.ui;
-! 			cmlparams.sample_rate_set = 1;
-  			break;
-  		}
-  	}
-  	
-  	driver=(jack_driver_t *)freebob_driver_new (client, "freebob_pcm", &cmlparams);
-  
-  	return driver;
---- 1091,1144 ----
-  		switch (param->character)
-  		{
-  		case 'd':
-! 			device_name = strdup (param->value.str);
-  			break;
-  		case 'p':
-  			cmlparams.period_size = param->value.ui;
-  			cmlparams.period_size_set = 1;
-  			break;
-! 		case 'n':
-  			cmlparams.buffer_size = param->value.ui;
-  			cmlparams.buffer_size_set = 1;
-  			break;        
-! 		case 'r':
-! 			cmlparams.sample_rate = param->value.ui;
-! 			cmlparams.sample_rate_set = 1;
-  			break;
-  		case 'i':
-! 			cmlparams.capture_ports = param->value.ui;
-  			break;
-! 		case 'o':
-! 			cmlparams.playback_ports = param->value.ui;
-  			break;
-  		}
-  	}
-  	
-+     nbitems=sscanf(device_name,"hw:%u,%u",&port,&node_id);
-+     if (nbitems<2) {
-+         nbitems=sscanf(device_name,"hw:%u",&port);
-+       
-+         if(nbitems < 1) {
-+             free(device_name);
-+             printError("device (-d) argument not valid\n");
-+             return NULL;
-+         } else {
-+             cmlparams.port = port;
-+             cmlparams.port_set=1;
-+             
-+             cmlparams.node_id = -1;
-+             cmlparams.node_id_set=0;
-+         }
-+      } else {
-+         cmlparams.port = port;
-+         cmlparams.port_set=1;
-+         
-+         cmlparams.node_id = node_id;
-+         cmlparams.node_id_set=1;
-+      }
-+ 
-+     jack_error("Freebob using Firewire port %d, node %d",cmlparams.port,cmlparams.node_id);
-+     
-  	driver=(jack_driver_t *)freebob_driver_new (client, "freebob_pcm", &cmlparams);
-  
-  	return driver;
-diff -rc jack-audio-connection-kit-0.101.1/drivers/freebob/freebob_driver.h jack-audio-connection-kit-0.101.1.new/drivers/freebob/freebob_driver.h
-*** jack-audio-connection-kit-0.101.1/drivers/freebob/freebob_driver.h	2006-03-19 13:34:20.000000000 +0100
---- jack-audio-connection-kit-0.101.1.new/drivers/freebob/freebob_driver.h	2006-10-19 12:22:48.000000000 +0200
-***************
-*** 62,79 ****
-  
-  #include <alsa/asoundlib.h>
-  
-- #ifndef DEBUG
-- //#define DEBUG
-- #endif
-- 
-- #define FREEBOB_USE_RT 			1
-- #define FREEBOB_RT_PRIORITY_PACKETIZER 	60
-- // midi priority should be higher than the audio priority in order to
-- // make sure events are not only delivered on period boundarys
-- // but I think it should be smaller than the packetizer thread in order not 
-- // to lose any packets
-- #define FREEBOB_RT_PRIORITY_MIDI 	59
-- 
-  // debug print control flags
-  #define DEBUG_LEVEL_BUFFERS           	(1<<0)
-  #define DEBUG_LEVEL_HANDLERS			(1<<1)
---- 62,67 ----
-***************
-*** 86,113 ****
-  #define DEBUG_LEVEL_STARTUP				(1<<17)
-  #define DEBUG_LEVEL_THREADS				(1<<18)
-  
-- // default debug level
-- #define DEBUG_LEVEL (  DEBUG_LEVEL_RUN_CYCLE | (DEBUG_LEVEL_XRUN_RECOVERY)| DEBUG_LEVEL_STARTUP | DEBUG_LEVEL_WAIT | DEBUG_LEVEL_PACKETCOUNTER)
-  
-! #ifdef DEBUG
-! 	#define printMessage(format, args...) fprintf( stderr, "FBDRV MSG: %s:%d (%s): " format,  __FILE__, __LINE__, __FUNCTION__, ##args )
-! 	#define printError(format, args...) fprintf( stderr, "FBDRV ERR: %s:%d (%s): " format,  __FILE__, __LINE__, __FUNCTION__, ##args )
-  	
-! 	//#define printEnter() fprintf( stderr, "FBDRV ENTERS: %s (%s)\n", __FUNCTION__,  __FILE__)
-! 	//#define printExit() fprintf( stderr, "FBDRV EXITS: %s (%s)\n", __FUNCTION__,  __FILE__)
-  	#define printEnter() 
-  	#define printExit() 
-  	
-! 	#define debugError(format, args...) fprintf( stderr, "FREEBOB ERR: %s:%d (%s): " format,  __FILE__, __LINE__, __FUNCTION__, ##args )
-! 	#define debugPrint(Level, format, args...) if(DEBUG_LEVEL & (Level))  fprintf( stderr,"DEBUG %s:%d (%s) :"  format, __FILE__, __LINE__, __FUNCTION__, ##args );
-! 	#define debugPrintShort(Level, format, args...) if(DEBUG_LEVEL & (Level))  fprintf( stderr, format,##args );
-! 	#define debugPrintWithTimeStamp(Level, format, args...) if(DEBUG_LEVEL & (Level)) fprintf( stderr, "%16lu: "format, debugGetCurrentUTime(),##args );
-  	#define SEGFAULT int *test=NULL;	*test=1;
-  #else
-  	#define DEBUG_LEVEL
-  	
-! 	#define printMessage(format, args...) fprintf( stderr, "FBDRV MSG: " format, ##args )
-! 	#define printError(format, args...)   fprintf( stderr, "FBDRV ERR: " format, ##args )
-  	
-  	#define printEnter() 
-  	#define printExit() 
---- 74,107 ----
-  #define DEBUG_LEVEL_STARTUP				(1<<17)
-  #define DEBUG_LEVEL_THREADS				(1<<18)
-  
-  
-! #ifdef DEBUG_ENABLED
-! 
-! 	// default debug level
-! 	#define DEBUG_LEVEL (  DEBUG_LEVEL_RUN_CYCLE | \
-! 	(DEBUG_LEVEL_XRUN_RECOVERY)| DEBUG_LEVEL_STARTUP | DEBUG_LEVEL_WAIT | DEBUG_LEVEL_PACKETCOUNTER)
-! 
-! 	#warning Building debug build!
-! 
-! 	#define printMessage(format, args...) jack_error( "FreeBoB MSG: %s:%d (%s): " format,  __FILE__, __LINE__, __FUNCTION__, ##args )
-! 	#define printError(format, args...) jack_error( "FreeBoB ERR: %s:%d (%s): " format,  __FILE__, __LINE__, __FUNCTION__, ##args )
-  	
-! 	//#define printEnter() jack_error( "FBDRV ENTERS: %s (%s)\n", __FUNCTION__,  __FILE__)
-! 	//#define printExit() jack_error( "FBDRV EXITS: %s (%s)\n", __FUNCTION__,  __FILE__)
-  	#define printEnter() 
-  	#define printExit() 
-  	
-! 	#define debugError(format, args...) jack_error( "FREEBOB ERR: %s:%d (%s): " format,  __FILE__, __LINE__, __FUNCTION__, ##args )
-! 	#define debugPrint(Level, format, args...) if(DEBUG_LEVEL & (Level))  jack_error("DEBUG %s:%d (%s) :"  format, __FILE__, __LINE__, __FUNCTION__, ##args );
-! 	#define debugPrintShort(Level, format, args...) if(DEBUG_LEVEL & (Level))  jack_error( format,##args );
-! 	#define debugPrintWithTimeStamp(Level, format, args...) if(DEBUG_LEVEL & (Level)) jack_error( "%16lu: "format, debugGetCurrentUTime(),##args );
-  	#define SEGFAULT int *test=NULL;	*test=1;
-  #else
-  	#define DEBUG_LEVEL
-  	
-! 	#define printMessage(format, args...) if(g_verbose) \
-! 	                                         jack_error("FreeBoB MSG: " format, ##args )
-! 	#define printError(format, args...)   jack_error("FreeBoB ERR: " format, ##args )
-  	
-  	#define printEnter() 
-  	#define printExit() 
-***************
-*** 118,128 ****
-  	#define debugPrintWithTimeStamp(Level, format, args...)
-  #endif
-  
-  
-  /*
-   * Jack Driver command line parameters
-   */
-!  
-  typedef struct _freebob_jack_settings freebob_jack_settings_t;
-  struct _freebob_jack_settings {
-  	int period_size_set;
---- 112,139 ----
-  	#define debugPrintWithTimeStamp(Level, format, args...)
-  #endif
-  
-+ // thread priority setup
-+ #define FREEBOB_RT_PRIORITY_PACKETIZER_RELATIVE	5
-+ 
-+ #ifdef FREEBOB_DRIVER_WITH_MIDI
-+ 
-+ 	#define ALSA_SEQ_BUFF_SIZE 1024
-+ 	#define MIDI_TRANSMIT_BUFFER_SIZE 1024
-+ 	#define MIDI_THREAD_SLEEP_TIME_USECS 100
-+ 	// midi priority should be higher than the audio priority in order to
-+ 	// make sure events are not only delivered on period boundarys
-+ 	// but I think it should be smaller than the packetizer thread in order not 
-+ 	// to lose any packets
-+ 	#define FREEBOB_RT_PRIORITY_MIDI_RELATIVE 	4
-+ 
-+ #endif
-+ 
-+ typedef struct _freebob_driver freebob_driver_t;
-  
-  /*
-   * Jack Driver command line parameters
-   */
-! 
-  typedef struct _freebob_jack_settings freebob_jack_settings_t;
-  struct _freebob_jack_settings {
-  	int period_size_set;
-***************
-*** 131,151 ****
-  	int sample_rate_set;
-  	int sample_rate;
-  	
-- 	int fifo_size_set;
-- 	jack_nframes_t fifo_size;
-- 	
-- 	int table_size_set;
-- 	jack_nframes_t table_size;
-- 	
-- 	int iso_buffers_set;
-- 	jack_nframes_t iso_buffers;
-- 	
-- 	int iso_prebuffers_set;
-- 	jack_nframes_t iso_prebuffers;
-- 	
-- 	int iso_irq_interval_set;
-- 	int iso_irq_interval;
-- 	
-  	int buffer_size_set;
-  	jack_nframes_t buffer_size;
-  
---- 142,147 ----
-***************
-*** 155,168 ****
-          int node_id_set;
-          int node_id;
-  
-          freebob_handle_t fb_handle;
-  };
-  
-  #ifdef FREEBOB_DRIVER_WITH_MIDI
-  
-- #define ALSA_SEQ_BUFF_SIZE 1024
-- #define MIDI_TRANSMIT_BUFFER_SIZE 1024
-- #define MIDI_THREAD_SLEEP_TIME_USECS 100
-  
-  typedef struct {
-  	int stream_nr;
---- 151,164 ----
-          int node_id_set;
-          int node_id;
-  
-+ 	int playback_ports;
-+ 	int capture_ports;
-+ 
-          freebob_handle_t fb_handle;
-  };
-  
-  #ifdef FREEBOB_DRIVER_WITH_MIDI
-  
-  
-  typedef struct {
-  	int stream_nr;
-***************
-*** 173,179 ****
-  
-  typedef struct _freebob_driver_midi_handle {
-  	freebob_device_t *dev;
-! 	
-  	snd_seq_t *seq_handle;
-  	
-  	pthread_t queue_thread;
---- 169,176 ----
-  
-  typedef struct _freebob_driver_midi_handle {
-  	freebob_device_t *dev;
-! 	freebob_driver_t *driver;
-! 
-  	snd_seq_t *seq_handle;
-  	
-  	pthread_t queue_thread;
-***************
-*** 198,204 ****
-   * JACK driver structure
-   */
-   
-- typedef struct _freebob_driver freebob_driver_t;
-  
-  struct _freebob_driver
-  {
---- 195,200 ----
-***************
-*** 231,236 ****
---- 227,234 ----
-      channel_t                     playback_nchannels;
-      channel_t                     capture_nchannels;
-      	
-+ 	freebob_device_info_t device_info;
-+ 	freebob_options_t device_options;
-  
-  #ifdef FREEBOB_DRIVER_WITH_MIDI
-  	freebob_driver_midi_handle_t *midi_handle;

Added: jack-audio-connection-kit/trunk/debian/patches/11_configure.ac.patch
===================================================================
--- jack-audio-connection-kit/trunk/debian/patches/11_configure.ac.patch	2006-11-02 13:11:59 UTC (rev 981)
+++ jack-audio-connection-kit/trunk/debian/patches/11_configure.ac.patch	2006-11-02 13:39:07 UTC (rev 982)
@@ -0,0 +1,11 @@
+--- jack-audio-connection-kit-0.102.20.orig/configure.ac	2006-11-02 13:41:42.000000000 +0100
++++ jack-audio-connection-kit-0.102.20/configure.ac	2006-11-02 13:42:03.000000000 +0100
+@@ -110,7 +110,7 @@
+     linux*)
+     case "${host_cpu}" in
+ 	x86_64|mips64|ppc64|sparc64|s390x)
+-        libnn=lib64
++        libnn=lib
+ 	;;
+     esac
+     ;;

Modified: jack-audio-connection-kit/trunk/debian/rules
===================================================================
--- jack-audio-connection-kit/trunk/debian/rules	2006-11-02 13:11:59 UTC (rev 981)
+++ jack-audio-connection-kit/trunk/debian/rules	2006-11-02 13:39:07 UTC (rev 982)
@@ -61,6 +61,8 @@
 
 # after the directories are created but before dh_compress is run.
 common-binary-post-install-arch::
+	ln -s jack debian/libjack0.100.0-0/usr/lib/libjack0.100.0
+
 	dh_buildinfo
 
 binary-predeb/jackd::

Added: jack-audio-connection-kit/trunk/jack-audio-connection-kit-0.102.20.tar.gz.cdbs-config_list
===================================================================
--- jack-audio-connection-kit/trunk/jack-audio-connection-kit-0.102.20.tar.gz.cdbs-config_list	2006-11-02 13:11:59 UTC (rev 981)
+++ jack-audio-connection-kit/trunk/jack-audio-connection-kit-0.102.20.tar.gz.cdbs-config_list	2006-11-02 13:39:07 UTC (rev 982)
@@ -0,0 +1,3 @@
+jack-audio-connection-kit-0.102.20/config/config.guess
+jack-audio-connection-kit-0.102.20/config/config.sub
+jack-audio-connection-kit-0.102.20/config.h.in




More information about the Demudi-commits mailing list