summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--multimedia/lives/lives.SlackBuild4
-rw-r--r--multimedia/lives/lives.info6
-rw-r--r--multimedia/lives/pulseaudio.patch231
3 files changed, 237 insertions, 4 deletions
diff --git a/multimedia/lives/lives.SlackBuild b/multimedia/lives/lives.SlackBuild
index 4aba116a2c..fc56435155 100644
--- a/multimedia/lives/lives.SlackBuild
+++ b/multimedia/lives/lives.SlackBuild
@@ -27,7 +27,7 @@
PRGNAM=lives
SRCNAM=LiVES
-VERSION=${VERSION:-2.2.6}
+VERSION=${VERSION:-2.2.8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -73,6 +73,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p0 < $CWD/pulseaudio.patch
+
# includes some multilib support
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/multimedia/lives/lives.info b/multimedia/lives/lives.info
index 758b9b2c6b..39e9002d7f 100644
--- a/multimedia/lives/lives.info
+++ b/multimedia/lives/lives.info
@@ -1,8 +1,8 @@
PRGNAM="lives"
-VERSION="2.2.6"
+VERSION="2.2.8"
HOMEPAGE="http://lives.sourceforge.net"
-DOWNLOAD="http://www.xs4all.nl/~salsaman/lives/current/LiVES-2.2.6.tar.bz2"
-MD5SUM="54e1043927d71282de9516df4a76c9cc"
+DOWNLOAD="http://www.xs4all.nl/~salsaman/lives/current/LiVES-2.2.8.tar.bz2"
+MD5SUM="8440e2a2b6e83655dfc39c9fef5ee903"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="jack2"
diff --git a/multimedia/lives/pulseaudio.patch b/multimedia/lives/pulseaudio.patch
new file mode 100644
index 0000000000..ff0a81aeb6
--- /dev/null
+++ b/multimedia/lives/pulseaudio.patch
@@ -0,0 +1,231 @@
+--- src/preferences.c.orig 2015-02-07 23:58:32.000000000 +0100
++++ src/preferences.c 2015-02-22 21:04:58.229180250 +0100
+@@ -685,12 +685,6 @@ lives_toggle_button_get_active(LIVES_TOG
+ jack_rec_audio_to_clip(-1,-1,RECA_EXTERNAL);
+ }
+ }
+- if (prefs->audio_player==AUD_PLAYER_PULSE) {
+- if (prefs->perm_audio_reader) {
+- // create reader connection now, if permanent
+- pulse_rec_audio_to_clip(-1,-1,RECA_EXTERNAL);
+- }
+- }
+ }
+
+ }
+--- src/callbacks.c.orig 2015-02-08 15:17:58.000000000 +0100
++++ src/callbacks.c 2015-02-22 21:13:44.839218263 +0100
+@@ -135,13 +135,6 @@ void lives_exit (void) {
+ mainw->current_file=-1;
+
+ if (!mainw->only_close) {
+-#ifdef HAVE_PULSE_AUDIO
+- pthread_mutex_lock(&mainw->abuf_mutex);
+- if (mainw->pulsed!=NULL) pulse_close_client(mainw->pulsed);
+- if (mainw->pulsed_read!=NULL) pulse_close_client(mainw->pulsed_read);
+- pulse_shutdown();
+- pthread_mutex_unlock(&mainw->abuf_mutex);
+-#endif
+ #ifdef ENABLE_JACK
+ pthread_mutex_lock(&mainw->abuf_mutex);
+ lives_jack_end();
+@@ -1005,12 +998,6 @@ void on_stop_clicked (LiVESMenuItem *men
+ return;
+ }
+ #endif
+-#ifdef HAVE_PULSE_AUDIO
+- if (mainw->pulsed!=NULL&&mainw->pulsed_read!=NULL&&mainw->pulsed->in_use) {
+- mainw->cancelled=CANCEL_KEEP;
+- return;
+- }
+-#endif
+
+ #ifndef IS_MINGW
+ com=g_strdup_printf("%s stopsubsubs \"%s\" 2>/dev/null",prefs->backend_sync,cfile->handle);
+@@ -4016,20 +4003,6 @@ void on_record_perf_activate (LiVESMenuI
+ }
+
+ #endif
+-#ifdef HAVE_PULSE_AUDIO
+- if (prefs->audio_player==AUD_PLAYER_PULSE) {
+- if (mainw->agen_key==0&&!mainw->agen_needs_reinit) {
+- pulse_rec_audio_to_clip(mainw->ascrap_file, -1, RECA_EXTERNAL);
+- mainw->pulsed_read->in_use=TRUE;
+- }
+- else {
+- if (mainw->pulsed!=NULL) {
+- pulse_rec_audio_to_clip(mainw->ascrap_file, -1, RECA_GENERATED);
+- mainw->pulsed_read->in_use=TRUE;
+- }
+- }
+- }
+-#endif
+ }
+ return;
+ }
+@@ -4042,11 +4015,6 @@ void on_record_perf_activate (LiVESMenuI
+ jack_get_rec_avals(mainw->jackd);
+ }
+ #endif
+-#ifdef HAVE_PULSE_AUDIO
+- if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL) {
+- pulse_get_rec_avals(mainw->pulsed);
+- }
+-#endif
+ }
+ return;
+ }
+@@ -7801,15 +7769,6 @@ void on_loop_cont_activate (LiVESMenuIte
+ else if (mainw->jackd!=NULL) mainw->jackd->loop=AUDIO_LOOP_NONE;
+ }
+ #endif
+-#ifdef HAVE_PULSE_AUDIO
+- if (prefs->audio_player==AUD_PLAYER_PULSE) {
+- if (mainw->pulsed!=NULL&&(mainw->loop_cont||mainw->whentostop==NEVER_STOP)) {
+- if (mainw->ping_pong&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) mainw->pulsed->loop=AUDIO_LOOP_PINGPONG;
+- else mainw->pulsed->loop=AUDIO_LOOP_FORWARD;
+- }
+- else if (mainw->pulsed!=NULL) mainw->pulsed->loop=AUDIO_LOOP_NONE;
+- }
+-#endif
+
+ }
+
+@@ -7822,12 +7781,6 @@ void on_ping_pong_activate (LiVESMenuIte
+ else mainw->jackd->loop=AUDIO_LOOP_FORWARD;
+ }
+ #endif
+-#ifdef HAVE_PULSE_AUDIO
+- if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&&mainw->pulsed->loop!=AUDIO_LOOP_NONE) {
+- if (mainw->ping_pong&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) mainw->pulsed->loop=AUDIO_LOOP_PINGPONG;
+- else mainw->pulsed->loop=AUDIO_LOOP_FORWARD;
+- }
+-#endif
+ }
+
+
+@@ -7910,17 +7863,6 @@ void on_mute_activate (LiVESMenuItem *me
+ }
+ }
+ #endif
+-#ifdef HAVE_PULSE_AUDIO
+- if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->playing_file>-1&&mainw->pulsed!=NULL) {
+- mainw->pulsed->mute=mainw->mute;
+- if (mainw->pulsed->playing_file==mainw->current_file&&cfile->achans>0&&!mainw->is_rendering) {
+- if (!pulse_audio_seek_bytes(mainw->pulsed, mainw->pulsed->seek_pos)) {
+- if (pulse_try_reconnect()) pulse_audio_seek_bytes(mainw->pulsed,mainw->pulsed->seek_pos);
+- }
+- mainw->pulsed->in_use=TRUE;
+- }
+- }
+-#endif
+ }
+
+
+@@ -9287,11 +9229,6 @@ boolean config_event (LiVESWidget *widge
+ jack_driver_activate(mainw->jackd);
+ }
+ #endif
+-#ifdef HAVE_PULSE_AUDIO
+- if (mainw->pulsed!=NULL) {
+- pulse_driver_activate(mainw->pulsed);
+- }
+-#endif
+ }
+ mainw->is_ready=TRUE;
+ if (palette->style&STYLE_1) widget_opts.apply_theme=TRUE;
+@@ -9406,8 +9343,7 @@ void on_effects_paused (LiVESButton *but
+ d_print(_ ("paused..."));
+ }
+ #ifdef RT_AUDIO
+- if ((mainw->jackd!=NULL&&mainw->jackd_read!=NULL&&mainw->jackd_read->in_use)
+- ||(mainw->pulsed!=NULL&&mainw->pulsed_read!=NULL&&mainw->pulsed_read->in_use))
++ if ((mainw->jackd!=NULL&&mainw->jackd_read!=NULL&&mainw->jackd_read->in_use))
+ lives_widget_hide(cfile->proc_ptr->stop_button);
+ #endif
+ } else {
+@@ -9421,16 +9357,14 @@ void on_effects_paused (LiVESButton *but
+ d_print(_ ("resumed..."));
+ }
+ #ifdef RT_AUDIO
+- if ((mainw->jackd!=NULL&&mainw->jackd_read!=NULL&&mainw->jackd_read->in_use)
+- ||(mainw->pulsed!=NULL&&mainw->pulsed_read!=NULL&&mainw->pulsed_read->in_use))
++ if ((mainw->jackd!=NULL&&mainw->jackd_read!=NULL&&mainw->jackd_read->in_use))
+ lives_widget_show(cfile->proc_ptr->stop_button);
+ #endif
+ }
+
+ if (!cfile->opening&&!mainw->internal_messaging
+ #ifdef RT_AUDIO
+- &&!((mainw->jackd!=NULL&&mainw->jackd_read!=NULL&&mainw->jackd_read->in_use)
+- ||(mainw->pulsed!=NULL&&mainw->pulsed_read!=NULL&&mainw->pulsed->in_use))
++ &&!((mainw->jackd!=NULL&&mainw->jackd_read!=NULL&&mainw->jackd_read->in_use))
+ #endif
+ ) {
+ lives_system(com,FALSE);
+@@ -9709,19 +9643,6 @@ void changed_fps_during_pb (LiVESSpinBut
+ }
+ }
+ #endif
+-
+-#ifdef HAVE_PULSE_AUDIO
+- if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&&mainw->pulsed->playing_file==mainw->current_file&&
+- !(mainw->record&&!mainw->record_paused&&prefs->audio_src==AUDIO_SRC_EXT)) {
+-
+- mainw->pulsed->in_arate=cfile->arate*cfile->pb_fps/cfile->fps;
+- if (mainw->agen_key==0&&!mainw->agen_needs_reinit&&!has_audio_filters(AF_TYPE_NONA)) {
+- mainw->rec_aclip=mainw->current_file;
+- mainw->rec_avel=cfile->pb_fps/cfile->fps;
+- mainw->rec_aseek=(double)mainw->pulsed->seek_pos/(double)(cfile->arate*cfile->achans*cfile->asampsize/8);
+- }
+- }
+-#endif
+ }
+
+ if (cfile->play_paused) {
+@@ -10234,14 +10155,6 @@ boolean freeze_callback (LiVESAccelGroup
+ if (cfile->play_paused) jack_pb_stop();
+ else jack_pb_start();
+ #endif
+-#ifdef HAVE_PULSE_AUDIO
+- if (mainw->pulsed!=NULL&&prefs->audio_player==AUD_PLAYER_PULSE&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) {
+- if (!cfile->play_paused&&mainw->pulsed!=NULL&&mainw->pulsed->playing_file==mainw->current_file) {
+- mainw->pulsed->in_arate=cfile->arate*cfile->pb_fps/cfile->fps;
+- }
+- mainw->pulsed->is_paused=cfile->play_paused;
+- }
+-#endif
+
+ return TRUE;
+ }
+@@ -10274,17 +10187,6 @@ boolean show_sync_callback (LiVESAccelGr
+ #endif
+ }
+
+- if (prefs->audio_player==AUD_PLAYER_PULSE) {
+-#ifdef HAVE_PULSE_AUDIO
+- if (mainw->pulsed!=NULL&&mainw->pulsed->in_use) avsync=(double)mainw->pulsed->seek_pos/
+- cfile->arate/cfile->achans/cfile->asampsize*8;
+- else return FALSE;
+-#else
+- return FALSE;
+-#endif
+- }
+- else return FALSE;
+-
+ avsync-=(mainw->actual_frame-1.)/cfile->fps;
+
+ msg=g_strdup_printf(_("Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n"),
+@@ -11518,12 +11420,6 @@ void on_recaudclip_ok_clicked (LiVESButt
+ mainw->jackd_read->in_use=TRUE;
+ }
+ #endif
+-#ifdef HAVE_PULSE_AUDIO
+- if (prefs->audio_player==AUD_PLAYER_PULSE) {
+- pulse_rec_audio_to_clip(mainw->current_file,old_file,type==0?RECA_NEW_CLIP:RECA_EXISTING);
+- mainw->pulsed_read->in_use=TRUE;
+- }
+-#endif
+
+ if (type==1) {
+ // set these again, as playsel may have reset them