summaryrefslogtreecommitdiff
path: root/community/jack2
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-02-26 00:04:24 -0800
committerroot <root@rshg054.dnsready.net>2013-02-26 00:04:24 -0800
commit6c56414fe7bf470adb65cbd5ece3dce77ea9c617 (patch)
tree4190641f9a1d00a142902d10b7fbc068751e3821 /community/jack2
parent099ae9e11de65606b67c6344d4f62fcd74f20a36 (diff)
Tue Feb 26 00:04:24 PST 2013
Diffstat (limited to 'community/jack2')
-rw-r--r--community/jack2/PKGBUILD18
-rw-r--r--community/jack2/ffado_setbuffsize-jack2.patch139
2 files changed, 7 insertions, 150 deletions
diff --git a/community/jack2/PKGBUILD b/community/jack2/PKGBUILD
index 6a7b489f7..0546e39df 100644
--- a/community/jack2/PKGBUILD
+++ b/community/jack2/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 81344 2012-12-18 10:05:59Z schiv $
+# $Id: PKGBUILD 84828 2013-02-25 06:15:43Z schiv $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: Daniele Paolella <danielepaolella@email.it>
# Contributor: Philipp Überbacher <hollunder at gmx dot at>
@@ -9,13 +9,12 @@ pkgname=('jack2' 'jack2-dbus')
#pkgname= # single build (overrides split)
_tarname=jack
pkgver=1.9.9.5
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://jackaudio.org/"
backup=(etc/security/limits.d/99-audio.conf)
license=('GPL')
-makedepends=('python2' 'libffado' 'celt'
- 'libsamplerate' 'dbus-core')
+makedepends=('python2' 'libffado' 'celt' 'libsamplerate')
source=("https://dl.dropbox.com/u/28869550/jack-1.9.9.5.tar.bz2"
'99-audio.conf'
'40-hpet-permissions.rules')
@@ -79,10 +78,8 @@ package_jack2() {
! _isbuild jack2 && return 0
pkgdesc="The next-generation JACK with SMP support"
- depends=('libsamplerate' 'celt')
- optdepends=('libffado: FireWire support'
- 'dbus-core: jackdbus'
- 'python2: jack_control')
+ depends=('libsamplerate' 'celt' 'libffado')
+ optdepends=('python2: jack_control')
conflicts=('jack')
provides=('jack' 'jackmp' 'jackdmp' 'jackdbus')
@@ -106,9 +103,8 @@ package_jack2-dbus() {
! _isbuild jack2-dbus && return 0
pkgdesc="The next-generation JACK with SMP support (for D-BUS interaction only)"
- depends=('libsamplerate' 'celt' 'dbus-core')
- optdepends=('libffado: FireWire support'
- 'python2: jack_control')
+ depends=('libsamplerate' 'celt' 'libffado')
+ optdepends=('python2: jack_control')
conflicts=('jack' 'jack2')
provides=('jack' 'jack2' 'jackmp' 'jackdmp' 'jackdbus')
diff --git a/community/jack2/ffado_setbuffsize-jack2.patch b/community/jack2/ffado_setbuffsize-jack2.patch
deleted file mode 100644
index 0c74aad24..000000000
--- a/community/jack2/ffado_setbuffsize-jack2.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 96e0251234a29a1360c05d5d7dc98b83436b8183 Mon Sep 17 00:00:00 2001
-From: Adrian Knoth <adi@drcomp.erfurt.thur.de>
-Date: Sat, 17 Mar 2012 22:36:30 +0100
-Subject: [PATCH] [firewire] Allow FFADO backend to change the buffer size
-
-This is a port of Jonathan Woithe's patch from jackd1.
-With sufficiently recent versions of FFADO, it allows to change
-the buffersize at runtime.
----
- linux/firewire/JackFFADODriver.cpp | 65 ++++++++++++++++++++++++++++++++----
- linux/firewire/JackFFADODriver.h | 6 ++++
- 2 files changed, 65 insertions(+), 6 deletions(-)
-
-diff --git a/linux/firewire/JackFFADODriver.cpp b/linux/firewire/JackFFADODriver.cpp
-index b33e1cd..085b78a 100644
---- a/linux/firewire/JackFFADODriver.cpp
-+++ b/linux/firewire/JackFFADODriver.cpp
-@@ -3,6 +3,7 @@
- Copyright (C) 2004 Grame
- Copyright (C) 2007 Pieter Palmers
- Copyright (C) 2009 Devin Anderson
-+Copyright (C) 2012 Jonathan Woithe, Adrian Knoth
-
- 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
-@@ -48,7 +49,10 @@
- namespace Jack
- {
-
-+// Basic functionality requires API version 8. If version 9 or later
-+// is present the buffers can be resized at runtime.
- #define FIREWIRE_REQUIRED_FFADO_API_VERSION 8
-+#define FIREWIRE_REQUIRED_FFADO_API_VERSION_FOR_SETBUFSIZE 9
-
- #define jack_get_microseconds GetMicroSeconds
-
-@@ -281,19 +285,68 @@
- int
- JackFFADODriver::SetBufferSize (jack_nframes_t nframes)
- {
-- printError("Buffer size change requested but not supported!!!");
-+ ffado_driver_t* driver = (ffado_driver_t*)fDriver;
-+ signed int chn;
-+
-+ // The speed of this function isn't critical; we can afford the
-+ // time to check the FFADO API version.
-+ if (ffado_get_api_version() < FIREWIRE_REQUIRED_FFADO_API_VERSION_FOR_SETBUFSIZE ||
-+ ffado_streaming_set_period_size == NULL) {
-+ printError("unsupported on current version of FFADO; please upgrade FFADO");
-+ return -1;
-+ }
-
-- /*
- driver->period_size = nframes;
- driver->period_usecs =
- (jack_time_t) floor ((((float) nframes) / driver->sample_rate)
- * 1000000.0f);
-- */
-+
-+
-+ // Reallocate the null and scratch buffers.
-+ driver->nullbuffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(ffado_sample_t));
-+ if(driver->nullbuffer == NULL) {
-+ printError("could not allocate memory for null buffer");
-+ return -1;
-+ }
-+ driver->scratchbuffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(ffado_sample_t));
-+ if(driver->scratchbuffer == NULL) {
-+ printError("could not allocate memory for scratch buffer");
-+ return -1;
-+ }
-+
-+ // MIDI buffers need reallocating
-+ for (chn = 0; chn < driver->capture_nchannels; chn++) {
-+ if(driver->capture_channels[chn].stream_type == ffado_stream_type_midi) {
-+ // setup the midi buffer
-+ if (driver->capture_channels[chn].midi_buffer != NULL)
-+ free(driver->capture_channels[chn].midi_buffer);
-+ driver->capture_channels[chn].midi_buffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(uint32_t));
-+ }
-+ }
-+ for (chn = 0; chn < driver->playback_nchannels; chn++) {
-+ if(driver->playback_channels[chn].stream_type == ffado_stream_type_midi) {
-+ if (driver->playback_channels[chn].midi_buffer != NULL)
-+ free(driver->playback_channels[chn].midi_buffer);
-+ driver->playback_channels[chn].midi_buffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(uint32_t));
-+ }
-+ }
-+
-+ // Notify FFADO of the period size change
-+ if (ffado_streaming_set_period_size(driver->dev, nframes) != 0) {
-+ printError("could not alter FFADO device period size");
-+ return -1;
-+ }
-+
-+ // This is needed to give the shadow variables a chance to
-+ // properly update to the changes.
-+ sleep(1);
-
- /* tell the engine to change its buffer size */
-- //driver->engine->set_buffer_size (driver->engine, nframes);
-+ JackAudioDriver::SetBufferSize(nframes); // Generic change, never fails
-
-- return -1; // unsupported
-+ UpdateLatencies();
-+
-+ return 0;
- }
-
- typedef void (*JackDriverFinishFunction) (jack_driver_t *);
-@@ -306,7 +359,7 @@
-
- assert(params);
-
-- if (ffado_get_api_version() != FIREWIRE_REQUIRED_FFADO_API_VERSION) {
-+ if (ffado_get_api_version() < FIREWIRE_REQUIRED_FFADO_API_VERSION) {
- printError("Incompatible libffado version! (%s)", ffado_get_version());
- return NULL;
- }
-diff --git a/linux/firewire/JackFFADODriver.h b/linux/firewire/JackFFADODriver.h
-index cb2a45d..790f4dd 100644
---- a/linux/firewire/JackFFADODriver.h
-+++ b/linux/firewire/JackFFADODriver.h
-@@ -82,6 +82,12 @@ class JackFFADODriver : public JackAudioDriver
- int Read();
- int Write();
-
-+ // BufferSize can be changed
-+ bool IsFixedBufferSize()
-+ {
-+ return false;
-+ }
-+
- int SetBufferSize(jack_nframes_t nframes);
- };
-
---
-1.7.10
-