[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