summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorponce <matteo.bernardini@gmail.com>2011-12-18 19:23:57 -0600
committerRobby Workman <rworkman@slackbuilds.org>2011-12-18 19:23:57 -0600
commita2aab434c3ac153fec7e102192cd9911961cf27e (patch)
tree4bde3f965b7e19dddaddeff6da3694ba337dc516
parentee222413080a3f514bf669a443beffc165c713ac (diff)
downloadslackbuilds-a2aab434c3ac153fec7e102192cd9911961cf27e.tar.gz
audio/audacity: Updated for version 1.3.14.
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
-rw-r--r--audio/audacity/README10
-rw-r--r--audio/audacity/audacity-1.3.13-ffmpeg.patch164
-rw-r--r--audio/audacity/audacity.SlackBuild8
-rw-r--r--audio/audacity/audacity.info8
4 files changed, 180 insertions, 10 deletions
diff --git a/audio/audacity/README b/audio/audacity/README
index 5d0be96de9..d23d9f3530 100644
--- a/audio/audacity/README
+++ b/audio/audacity/README
@@ -2,8 +2,10 @@ Audacity is free, open source software for recording and editing sounds.
With Audacity one can record live audio, convert tapes and records into
digital recordings, edit Ogg, MP3, and WAV sound files, and much more.
-Audacity requires either wxPython or wxGTK, and optional dependencies
-are ffmpeg, soundtouch, and twolame.
+Audacity requires either wxPython or wxGTK.
-soundtouch, twolame and ffmpeg support can be enabled in the build
-script if installed. See the build script itself for more information.
+Support for optional dependencies can be enabled passing the script
+optional parameters, such as:
+FFMPEG=yes (requires ffmpeg)
+SOUNDTOUCH=yes (requires soundtouch)
+TWOLAME=yes (requires twolame)
diff --git a/audio/audacity/audacity-1.3.13-ffmpeg.patch b/audio/audacity/audacity-1.3.13-ffmpeg.patch
new file mode 100644
index 0000000000..675470913c
--- /dev/null
+++ b/audio/audacity/audacity-1.3.13-ffmpeg.patch
@@ -0,0 +1,164 @@
+--- audacity-src-1.3.13-beta.orig/src/export/ExportFFmpeg.cpp
++++ audacity-src-1.3.13-beta/src/export/ExportFFmpeg.cpp
+@@ -352,7 +352,7 @@
+ avcodec_get_context_defaults(mEncAudioCodecCtx);
+
+ mEncAudioCodecCtx->codec_id = ExportFFmpegOptions::fmts[mSubFormat].codecid;
+- mEncAudioCodecCtx->codec_type = CODEC_TYPE_AUDIO;
++ mEncAudioCodecCtx->codec_type = AVMEDIA_TYPE_AUDIO;
+ mEncAudioCodecCtx->codec_tag = av_codec_get_tag((const AVCodecTag **)mEncFormatCtx->oformat->codec_tag,mEncAudioCodecCtx->codec_id);
+ mSampleRate = (int)project->GetRate();
+ mEncAudioCodecCtx->global_quality = -99999; //quality mode is off by default;
+@@ -403,7 +403,6 @@
+ mEncAudioCodecCtx->flags2 = 0;
+ if (gPrefs->Read(wxT("/FileFormats/FFmpegBitReservoir"),true)) mEncAudioCodecCtx->flags2 |= CODEC_FLAG2_BIT_RESERVOIR;
+ if (gPrefs->Read(wxT("/FileFormats/FFmpegVariableBlockLen"),true)) mEncAudioCodecCtx->flags2 |= 0x0004; //WMA only?
+- mEncAudioCodecCtx->use_lpc = gPrefs->Read(wxT("/FileFormats/FFmpegUseLPC"),true);
+ mEncAudioCodecCtx->compression_level = gPrefs->Read(wxT("/FileFormats/FFmpegCompLevel"),-1);
+ mEncAudioCodecCtx->frame_size = gPrefs->Read(wxT("/FileFormats/FFmpegFrameSize"),(long)0);
+ mEncAudioCodecCtx->lpc_coeff_precision = gPrefs->Read(wxT("/FileFormats/FFmpegLPCCoefPrec"),(long)0);
+@@ -569,7 +569,7 @@
+ pkt.stream_index = mEncAudioStream->index;
+ pkt.data = mEncAudioEncodedBuf;
+ pkt.size = nEncodedBytes;
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+
+ // Set presentation time of frame (currently in the codec's timebase) in the stream timebase.
+ if(mEncAudioCodecCtx->coded_frame && mEncAudioCodecCtx->coded_frame->pts != int64_t(AV_NOPTS_VALUE))
+@@ -656,7 +656,7 @@
+
+ pkt.stream_index = mEncAudioStream->index;
+ pkt.data = mEncAudioEncodedBuf;
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+
+ // Write the encoded audio frame to the output file.
+ if ((ret = av_interleaved_write_frame(mEncFormatCtx, &pkt)) != 0)
+--- audacity-src-1.3.13-beta.orig/src/export/ExportFFmpegDialogs.cpp
++++ audacity-src-1.3.13-beta/src/export/ExportFFmpegDialogs.cpp
+@@ -1288,7 +1288,7 @@
+ while ((codec = av_codec_next(codec)))
+ {
+ // We're only interested in audio and only in encoders
+- if (codec->type == CODEC_TYPE_AUDIO && codec->encode)
++ if (codec->type == AVMEDIA_TYPE_AUDIO && codec->encode)
+ {
+ mCodecNames.Add(wxString::FromUTF8(codec->name));
+ mCodecLongNames.Add(wxString::Format(wxT("%s - %s"),mCodecNames.Last().c_str(),wxString::FromUTF8(codec->long_name).c_str()));
+@@ -1528,7 +1528,7 @@
+ // Find the codec, that is claimed to be compatible
+ AVCodec *codec = avcodec_find_encoder(CompatibilityList[i].codec);
+ // If it exists, is audio and has encoder
+- if (codec != NULL && (codec->type == CODEC_TYPE_AUDIO) && codec->encode)
++ if (codec != NULL && (codec->type == AVMEDIA_TYPE_AUDIO) && codec->encode)
+ {
+ // If it was selected - remember it's new index
+ if ((id >= 0) && codec->id == id) index = mShownCodecNames.GetCount();
+@@ -1543,7 +1543,7 @@
+ AVCodec *codec = NULL;
+ while ((codec = av_codec_next(codec)))
+ {
+- if (codec->type == CODEC_TYPE_AUDIO && codec->encode)
++ if (codec->type == AVMEDIA_TYPE_AUDIO && codec->encode)
+ {
+ if (mShownCodecNames.Index(wxString::FromUTF8(codec->name)) < 0)
+ {
+@@ -1563,7 +1563,7 @@
+ if (format != NULL)
+ {
+ AVCodec *codec = avcodec_find_encoder(format->audio_codec);
+- if (codec != NULL && (codec->type == CODEC_TYPE_AUDIO) && codec->encode)
++ if (codec != NULL && (codec->type == AVMEDIA_TYPE_AUDIO) && codec->encode)
+ {
+ if ((id >= 0) && codec->id == id) index = mShownCodecNames.GetCount();
+ mShownCodecNames.Add(wxString::FromUTF8(codec->name));
+--- audacity-src-1.3.13-beta.orig/src/FFmpeg.cpp
++++ audacity-src-1.3.13-beta/src/FFmpeg.cpp
+@@ -316,7 +316,7 @@
+ pd.buf_size = 0;
+ pd.buf = (unsigned char *) av_malloc(PROBE_BUF_MAX + AVPROBE_PADDING_SIZE);
+ if (pd.buf == NULL) {
+- err = AVERROR_NOMEM;
++ err = AVERROR(ENOMEM);
+ goto fail;
+ }
+
+@@ -381,7 +381,7 @@
+
+ // Didn't find a suitable format, so bail
+ if (!fmt) {
+- err = AVERROR_NOFMT;
++ err = AVERROR(EILSEQ);
+ goto fail;
+ }
+
+@@ -855,7 +855,6 @@
+ FFMPEG_INITDYN(codec, avcodec_find_decoder);
+ FFMPEG_INITDYN(codec, avcodec_get_context_defaults);
+ FFMPEG_INITDYN(codec, avcodec_open);
+- FFMPEG_INITDYN(codec, avcodec_decode_audio2);
+ FFMPEG_INITDYN(codec, avcodec_decode_audio3);
+ FFMPEG_INITDYN(codec, avcodec_encode_audio);
+ FFMPEG_INITDYN(codec, avcodec_close);
+--- audacity-src-1.3.13-beta.orig/src/FFmpeg.h
++++ audacity-src-1.3.13-beta/src/FFmpeg.h
+@@ -559,7 +559,11 @@
+ FFMPEG_FUNCTION_WITH_RETURN(
+ void*,
+ av_fast_realloc,
++#if LIBAVUTIL_VERSION_MAJOR < 51
+ (void *ptr, unsigned int *size, unsigned int min_size),
++#else
++ (void *ptr, unsigned int *size, size_t min_size),
++#endif
+ (ptr, size, min_size)
+ );
+ FFMPEG_FUNCTION_WITH_RETURN(
+@@ -747,7 +751,11 @@
+ FFMPEG_FUNCTION_WITH_RETURN(
+ void*,
+ av_malloc,
++#if LIBAVUTIL_VERSION_MAJOR < 51
+ (unsigned int size),
++#else
++ (size_t size),
++#endif
+ (size)
+ );
+ FFMPEG_FUNCTION_NO_RETURN(
+--- audacity-src-1.3.13-beta.orig/src/import/ImportFFmpeg.cpp
++++ audacity-src-1.3.13-beta/src/import/ImportFFmpeg.cpp
+@@ -416,7 +416,7 @@
+ // Fill the stream contexts
+ for (unsigned int i = 0; i < mFormatContext->nb_streams; i++)
+ {
+- if (mFormatContext->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO)
++ if (mFormatContext->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ //Create a context
+ streamContext *sc = new streamContext;
+--- audacity-src-1.3.13-beta.orig/src/ondemand/ODDecodeFFmpegTask.cpp
++++ audacity-src-1.3.13-beta/src/ondemand/ODDecodeFFmpegTask.cpp
+@@ -156,7 +156,7 @@
+ //test the audio stream(s)
+ for (unsigned int i = 0; i < ic->nb_streams; i++)
+ {
+- if (ic->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO)
++ if (ic->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ audioStreamExists = true;
+ st = ic->streams[i];
+@@ -573,10 +573,10 @@
+ }
+ }
+
+- // avcodec_decode_audio2() expects the size of the output buffer as the 3rd parameter but
++ // avcodec_decode_audio3() expects the size of the output buffer as the 3rd parameter but
+ // also returns the number of bytes it decoded in the same parameter.
+ sc->m_decodedAudioSamplesValidSiz = sc->m_decodedAudioSamplesSiz;
+- nBytesDecoded = avcodec_decode_audio2(sc->m_codecCtx,
++ nBytesDecoded = avcodec_decode_audio3(sc->m_codecCtx,
+ sc->m_decodedAudioSamples, // out
+ &sc->m_decodedAudioSamplesValidSiz, // in/out
+ pDecode, nDecodeSiz); // in
diff --git a/audio/audacity/audacity.SlackBuild b/audio/audacity/audacity.SlackBuild
index 272928aa95..43519f3aaa 100644
--- a/audio/audacity/audacity.SlackBuild
+++ b/audio/audacity/audacity.SlackBuild
@@ -29,8 +29,8 @@
# Modified by the SlackBuilds.org project
PRGNAM=audacity
-VERSION=${VERSION:-1.3.13}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-1.3.14}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -93,6 +93,10 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# patch for newer ffmpeg versions
+# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-sound/audacity/files/audacity-1.3.13-ffmpeg.patch?view=markup
+patch -p1 < $CWD/audacity-1.3.13-ffmpeg.patch
+
# Fix vamp plugin search path on x86_64 - thanks to B. Watson
sed -i "s,/usr/lib/vamp,/usr/lib$LIBDIRSUFFIX/vamp," \
lib-src/libvamp/src/vamp-hostsdk/PluginHostAdapter.cpp
diff --git a/audio/audacity/audacity.info b/audio/audacity/audacity.info
index 3f8e1932d4..f1562ee99a 100644
--- a/audio/audacity/audacity.info
+++ b/audio/audacity/audacity.info
@@ -1,10 +1,10 @@
PRGNAM="audacity"
-VERSION="1.3.13"
+VERSION="1.3.14"
HOMEPAGE="http://audacity.sourceforge.net"
-DOWNLOAD="http://audacity.googlecode.com/files/audacity-minsrc-1.3.13-beta.tar.bz2"
-MD5SUM="57be7fadb8c8dd17b8462c7ac1561d03"
+DOWNLOAD="http://audacity.googlecode.com/files/audacity-minsrc-1.3.14-beta.tar.bz2"
+MD5SUM="e7754757e7c3b543db9aa32180b0fb6f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="ponce"
EMAIL="matteo.bernardini@gmail.com"
-APPROVED="Niels Horn"
+APPROVED="rworkman"