diff options
author | 2004-09-30 06:59:27 +0000 | |
---|---|---|
committer | 2004-09-30 06:59:27 +0000 | |
commit | bfecf76f61fc9dfd2eef7099e153b2eaa281af74 (patch) | |
tree | d4623b08671d5e90ad98a02894de2b497eea0f4c /media-sound/jamin/files | |
parent | damn i am a fool (diff) | |
download | gentoo-2-bfecf76f61fc9dfd2eef7099e153b2eaa281af74.tar.gz gentoo-2-bfecf76f61fc9dfd2eef7099e153b2eaa281af74.tar.bz2 gentoo-2-bfecf76f61fc9dfd2eef7099e153b2eaa281af74.zip |
Stable on amd64 and x86. Added a patch to work with jack-0.99.0. Closes bug #65098 thanks to Reuben Martin <martinr@jbu.edu>.
Diffstat (limited to 'media-sound/jamin/files')
-rw-r--r-- | media-sound/jamin/files/digest-jamin-0.9.0 | 1 | ||||
-rw-r--r-- | media-sound/jamin/files/jamin-0.9.0-jack99.patch | 272 |
2 files changed, 272 insertions, 1 deletions
diff --git a/media-sound/jamin/files/digest-jamin-0.9.0 b/media-sound/jamin/files/digest-jamin-0.9.0 deleted file mode 100644 index 1e4edfef2ddc..000000000000 --- a/media-sound/jamin/files/digest-jamin-0.9.0 +++ /dev/null @@ -1 +0,0 @@ -MD5 2c98cd525304c35f6b9f881209b5e6e4 jamin-0.9.0.tar.gz 725400 diff --git a/media-sound/jamin/files/jamin-0.9.0-jack99.patch b/media-sound/jamin/files/jamin-0.9.0-jack99.patch new file mode 100644 index 000000000000..5d0b05f52c4c --- /dev/null +++ b/media-sound/jamin/files/jamin-0.9.0-jack99.patch @@ -0,0 +1,272 @@ +diff -Naur jamin-0.9.0.orig/configure.in jamin-0.9.0/configure.in +--- jamin-0.9.0.orig/configure.in 2004-08-05 10:39:43.000000000 -0700 ++++ jamin-0.9.0/configure.in 2004-09-29 23:53:58.269328327 -0700 +@@ -1,7 +1,7 @@ + dnl Process this file with autoconf to produce a configure script. + + AC_INIT(configure.in) +-AM_INIT_AUTOMAKE(jamin, 0.9.0) ++AM_INIT_AUTOMAKE(jamin, 0.9.03) + AM_CONFIG_HEADER(config.h) + AM_MAINTAINER_MODE + +@@ -32,11 +32,13 @@ + [AC_DEFINE(HAVE_POSIX_SCHED,,[POSIX scheduler support])]) + + PKG_CHECK_MODULES(JACK, jack >= 0.80.0) ++AC_CHECK_LIB(jack,jack_create_thread, ++ [AC_DEFINE(HAVE_JACK_CREATE_THREAD,,[JACK supports thread creation])]) + AC_CHECK_LIB(jack,jack_ringbuffer_create, +- [AC_DEFINE(HAVE_JACK_RINGBUFFER,,[JACK has ringbuffer support])],) ++ [AC_DEFINE(HAVE_JACK_RINGBUFFER,,[JACK has ringbuffer support])]) + AC_CHECK_LIB(jack,jack_client_name_size, + [AC_DEFINE(HAVE_JACK_CLIENT_NAME_SIZE,, +- [JACK returns client name size])],) ++ [JACK returns client name size])]) + + [if test "${enable_double_fft+set}" = set; then] + PKG_CHECK_MODULES(FFTW, fftw3 >= 3.0, AC_DEFINE(FFTW_TYPE, [double], [Datatype used by installed FFTW libraries]), [AC_MSG_ERROR([Didn't find any double precision FFTW3 libraries])]) +diff -Naur jamin-0.9.0.orig/src/compressor-ui.c jamin-0.9.0/src/compressor-ui.c +--- jamin-0.9.0.orig/src/compressor-ui.c 2004-07-17 07:34:58.000000000 -0700 ++++ jamin-0.9.0/src/compressor-ui.c 2004-09-29 23:53:58.271327996 -0700 +@@ -139,13 +139,6 @@ + ma[i] = scale; + + auto_gain[i] = 0; +- +- prev_value_at[i] = -1.0; +- prev_value_re[i] = -1.0; +- prev_value_th[i] = 1.0; +- prev_value_ra[i] = -1.0; +- prev_value_kn[i] = -1.0; +- prev_value_ma[i] = -1.0; + } + } + +@@ -166,14 +159,7 @@ + + if (!suspend_gang && gang_at[i]) + { +- if (prev_value_at[i] > 0.0) +- { +- diff = value - prev_value_at[i]; +- } +- else +- { +- diff = 0.0; +- } ++ diff = value - prev_value_at[i]; + + for (j = 0 ; j < XO_BANDS ; j++) + { +@@ -213,14 +199,7 @@ + + if (!suspend_gang && gang_re[i]) + { +- if (prev_value_re[i] > 0.0) +- { +- diff = value - prev_value_re[i]; +- } +- else +- { +- diff = 0.0; +- } ++ diff = value - prev_value_re[i]; + + for (j = 0 ; j < XO_BANDS ; j++) + { +@@ -260,14 +239,7 @@ + + if (!suspend_gang && gang_th[i]) + { +- if (prev_value_th[i] < 0.0) +- { +- diff = value - prev_value_th[i]; +- } +- else +- { +- diff = 0.0; +- } ++ diff = value - prev_value_th[i]; + + for (j = 0 ; j < XO_BANDS ; j++) + { +@@ -317,14 +289,7 @@ + + if (!suspend_gang && gang_ra[i]) + { +- if (prev_value_ra[i] > 0.0) +- { +- diff = value - prev_value_ra[i]; +- } +- else +- { +- diff = 0.0; +- } ++ diff = value - prev_value_ra[i]; + + for (j = 0 ; j < XO_BANDS ; j++) + { +@@ -374,14 +339,7 @@ + + if (!suspend_gang && gang_kn[i]) + { +- if (prev_value_kn[i] > 0.0) +- { +- diff = value - prev_value_kn[i]; +- } +- else +- { +- diff = 0.0; +- } ++ diff = value - prev_value_kn[i]; + + for (j = 0 ; j < XO_BANDS ; j++) + { +@@ -423,14 +381,7 @@ + + if (!suspend_gang && gang_ma[i]) + { +- if (prev_value_ma[i] > 0.0) +- { +- diff = value - prev_value_ma[i]; +- } +- else +- { +- diff = 0.0; +- } ++ diff = value - prev_value_ma[i]; + + for (j = 0 ; j < XO_BANDS ; j++) + { +@@ -581,7 +532,7 @@ + gang_at[band] = FALSE; + gtk_widget_modify_fg ((GtkWidget *) lab_at[band], GTK_STATE_NORMAL, + get_color (TEXT_COLOR)); +- prev_value_at[band] = -1.0; ++ prev_value_at[band] = gtk_adjustment_get_value (adj_at[band]); + } + else + { +@@ -598,7 +549,7 @@ + gang_re[band] = FALSE; + gtk_widget_modify_fg ((GtkWidget *) lab_re[band], GTK_STATE_NORMAL, + get_color (TEXT_COLOR)); +- prev_value_re[band] = -1.0; ++ prev_value_re[band] = gtk_adjustment_get_value (adj_re[band]); + } + else + { +@@ -615,7 +566,7 @@ + gang_th[band] = FALSE; + gtk_widget_modify_fg ((GtkWidget *) lab_th[band], GTK_STATE_NORMAL, + get_color (TEXT_COLOR)); +- prev_value_th[band] = 1.0; ++ prev_value_th[band] = gtk_adjustment_get_value (adj_th[band]); + } + else + { +@@ -632,7 +583,7 @@ + gang_ra[band] = FALSE; + gtk_widget_modify_fg ((GtkWidget *) lab_ra[band], GTK_STATE_NORMAL, + get_color (TEXT_COLOR)); +- prev_value_ra[band] = -1.0; ++ prev_value_ra[band] = gtk_adjustment_get_value (adj_ra[band]); + } + else + { +@@ -648,7 +599,7 @@ + gang_kn[band] = FALSE; + gtk_widget_modify_fg ((GtkWidget *) lab_kn[band], GTK_STATE_NORMAL, + get_color (TEXT_COLOR)); +- prev_value_kn[band] = -1.0; ++ prev_value_kn[band] = gtk_adjustment_get_value (adj_kn[band]); + } + else + { +@@ -665,7 +616,7 @@ + gang_ma[band] = FALSE; + gtk_widget_modify_fg ((GtkWidget *) lab_ma[band], GTK_STATE_NORMAL, + get_color (TEXT_COLOR)); +- prev_value_ma[band] = -1.0; ++ prev_value_ma[band] = gtk_adjustment_get_value (adj_ma[band]); + } + else + { +diff -Naur jamin-0.9.0.orig/src/io.c jamin-0.9.0/src/io.c +--- jamin-0.9.0.orig/src/io.c 2004-04-02 18:47:19.000000000 -0800 ++++ jamin-0.9.0/src/io.c 2004-09-29 23:54:06.053042018 -0700 +@@ -58,6 +58,8 @@ + * + JACK not running realtime + */ + ++#include "config.h" ++ + #include <stdio.h> + #include <stdarg.h> + #include <stdlib.h> +@@ -71,8 +73,10 @@ + #include <errno.h> + #include <assert.h> + #include <jack/jack.h> ++#ifdef HAVE_JACK_CREATE_THREAD ++#include <jack/thread.h> ++#endif + +-#include "config.h" + #include "ringbuffer.h" /* uses <jack/ringbuffer.h>, if available */ + #include "process.h" + #include "resource.h" +@@ -857,9 +861,12 @@ + { + int rc; + int policy; +- struct sched_param rt_param, my_param; ++ struct sched_param rt_param; + pthread_attr_t attributes; + pthread_attr_init(&attributes); ++#ifndef HAVE_JACK_CREATE_THREAD ++ struct sched_param my_param; ++#endif + + /* Set priority and scheduling parameters based on the attributes + * of the JACK client thread. */ +@@ -884,6 +891,23 @@ + } else + IF_DEBUG(DBG_TERSE, io_trace("JACK subsystem not realtime")); + ++#ifdef HAVE_JACK_CREATE_THREAD ++ ++ rc = jack_create_thread(&dsp_thread, rt_param.sched_priority, ++ jst.realtime, io_dsp_thread, NULL); ++ switch (rc) { ++ case 0: ++ IF_DEBUG(DBG_TERSE, io_trace("DSP thread created")); ++ break; ++ case EPERM: ++ io_errlog(EPERM, "no realtime privileges for DSP thread"); ++ break; ++ default: ++ io_errlog(rc, "error creating DSP thread"); ++ } ++ ++#else /* !HAVE_JACK_CREATE_THREAD */ ++ + rc = pthread_attr_setschedpolicy(&attributes, policy); + if (rc) { + io_errlog(EPERM, "cannot set scheduling policy, rc = %d.", rc); +@@ -984,10 +1008,11 @@ + /* return this thread to the scheduler it used before */ + sched_setscheduler(0, policy, &my_param); + IF_DEBUG(DBG_TERSE, io_trace("DSP thread finally created")); +- return 0; +-#else /* !HAVE_POSIX_SCHED */ +- return rc; ++ rc = 0; + #endif /* HAVE_POSIX_SCHED */ ++#endif /* HAVE_JACK_CREATE_THREAD */ ++ ++ return rc; + } + + |