Latest beta release of Audacity - 1.3.3 or 1.3.4?

Help for all users of Audacity 1.3.x (Beta) on Mac OS X. For most users, this is the best version for OS X 10.6.x.

Re: Latest beta release of Audacity - 1.3.3 or 1.3.4?

Postby plivesey » Fri Jan 04, 2008 12:51 pm

Did you compile this as a Universal Binary or Intel only? I'm doing a universal at the moment and there are a few issues in getting it all working, especially with version 2.6.4 of wxWidgets which needs a little bit of fiddling to get the linking to work. 2.8 is easier but doesn't appear that stable.

libMad also needs tweaking to get the assembly to compile for a universal binary.

I'm currently testing this out on an old G4 mini.
Paul.
plivesey
 
Posts: 27
Joined: Thu Jan 03, 2008 1:19 pm

Re: Latest beta release of Audacity - 1.3.3 or 1.3.4?

Postby michaelb » Fri Jan 04, 2008 10:20 pm

@allesfresser: thanks very much for those tips! I had been trying to compile audacity earlier today, and this being my first venture into trying to debug this sort of thing, I'd not got very far.

Regarding the twolame NO_DLL_INLINE issue, I notice that the latest source for libtwolame (0.3.10) has this:
Code: Select all
#ifdef _WIN32
# include "../win32/configwin.h"
# define NO_DLL_INLINE
#else
# include "config.h"
# ifdef __APPLE__
/* Same problem under Mac OS X */
#  define NO_DLL_INLINE
# else
#  define NO_DLL_INLINE inline
# endif
#endif

However, I also found this which would seem to indicate the definition in common.h should be 'extern inline' rather than just 'inline'.
Unfortunately my latest build of Audacity.app crashes while launching so something's still wrong... Possibly something to do with my wxmac (2.8.3-1001), which I installed using fink.

No idea if that's helpful, but I'm a bit new to this.

EDIT: should mention that I'm on a MacBook Core Duo running 10.5.1.
michaelb
 
Posts: 1
Joined: Fri Jan 04, 2008 5:32 pm

Re: Latest beta release of Audacity - 1.3.3 or 1.3.4?

Postby plivesey » Sat Jan 05, 2008 12:01 am

OK, a few tips for everybody. I've had 1.3.4 running, as a universal binary on a ppc. It's worked with wxWidgets 2.6.4 and 2.8.7 and with the shared library that comes with OSX 10.5.1 Leopard.

Here's what to do, this is all assuming Xcode 3 on Leopard. Build wxWidgets from the command line. Make a build directory inside the wxWidgets directory and from there run

../configure --disable-shared --enable-universal_binary --prefix=/path/to/audacity-beta/wx/ --enable-static --enable-unicode --disable-dependency-tracking --disable-monolithic

EDIT: For 2.6.x add --with-expat=builtin as well

If using wxWidgets 2.6.x do the following :-

In utils/wxrc add -mmacosx-version-min=10.4 to the CXX line.

and change the #define of ICONV_CHAR_CAST

to #define ICONV_CHAR_CAST(x) ((const char **)(x))

in src/common/strconv.cpp

Then do make followed by make install.

Now compile Audacity 1.3.4 using Xcode. Open the Xcode project file and update it if required. Here the cunning bit. In the list of targets do a "Get Info" on Audacity and Configure. You need to change a few "User-Defined" settings. Most of the WX ones need changing to which version of wxWidgets you've chosen and the path that you set above in --prefix when building it. I also had to change the CONFIG_STATIC and CONFIG_UNICODE in Configure. Most of the settings required for these variables can be gained from running wx-config --libs, --ld or --cflags.

I needed to do this in libmad to get the universasl working

RCS file: /cvsroot/audacity/lib-src/libmad/fixed.h,v
retrieving revision 1.2
diff -r1.2 fixed.h
140c140
< # elif defined(FPM_INTEL)
---
> # elif defined(__i386__)
354,355c354,355
< # elif defined(FPM_PPC)
<
---
> //# elif defined(FPM_PPC)
> #elif defined (__ppc__)

The app crashes on my mac mini almost immediately in AudioIO.cpp. I removed the comments in AudioIO::GetSupportedSampleRates() as a quick fix to stop the crash in AudioIO::HandleDeviceChange().

Any other questions then please ask. If there's enough interest I can make proper binaries available over the weekend. What's the standard configuration that people use, Unicode or not Unicode.

Paul
plivesey
 
Posts: 27
Joined: Thu Jan 03, 2008 1:19 pm

Re: Latest beta release of Audacity - 1.3.3 or 1.3.4?

Postby richardash1981 » Sat Jan 05, 2008 4:58 pm

Three general notices:
1) Thank you all very much for putting the effort in to getting this working - we (the developers) couldn't do anything without this kind of help.
2) There is a parallel discussion to this one going on on the audacity-devel mailing list. The archive can be found here. It would be great if some of the people from here could get involved on that list, because you will reach far more developers there than here.
3) There is a wiki page on Developing for Mac which could use a lot more detail, if some of the content from this thread could be placed there it would help anyone else trying to build on a Mac.

Attempting to respond to the specific issues:
@allesfresser: dlcompat: Fix for this is now in audacity CVS HEAD, so won't be a problem in the future
@allesfresser: libFLAC: The version of libflac in the audacity CVS is now quite old. Given that audacity works on other platforms with the current libflac release (1.2.1) I would suggest replacing that directory with libflac-1.2.1 and seeing if that works any better. As far as I know there is nothing special about audacity's copy of libflac.
@allesfresser: gettext: We probably ought to check for this in configure. It's not actually required, because you can build an English-only audacity binary (without the catalogues) without it. At the moment you will get make errors if you try though.
@allesfresser: twolame: There is a problem here which is partially solved by using twolame-0.3.10, and then by applying the attached patch to it. This solves the problem "properly" so it can be sent upstream to the twolame developers.
@plivesey: AudioIO.cpp: This areas has already had some changes in CVS since 1.3.4 was released - can you try the current CVS HEAD code and let us know if this has the same problem?
@plivesey: libmad: I can't tell much from the diff, can you produce a diff -u of the changes? I'd like to get this integrated upstream, although as the last release was 2004, I'm not that confident.
@plivesey: configuration: Unicode builds are standard, using Unicode wxMac 2.6.x in the past.
Attachments
twolame-OSX.patch.gz
Patch against libtwolame-0.3.10
(469 Bytes) Downloaded 43 times
richardash1981
 
Posts: 419
Joined: Tue Jul 31, 2007 1:57 pm
Location: Merseyside, UK

Re: Latest beta release of Audacity - 1.3.3 or 1.3.4?

Postby plivesey » Sat Jan 05, 2008 6:42 pm

richardash1981 wrote:@plivesey: AudioIO.cpp: This areas has already had some changes in CVS since 1.3.4 was released - can you try the current CVS HEAD code and let us know if this has the same problem?

The crash is with the latest version. 1.177 from memory. Doing a rebuild with the 1.3.4 tag to see if it's there too. On my ppc mac mini AudioIO::GetSupportedSampleRates() returns an empty array and AudioIO::HandleDeviceChange() tries to access the (size - 1) index which is not good. Some protection is needed somewhere.

richardash1981 wrote:@plivesey: libmad: I can't tell much from the diff, can you produce a diff -u of the changes? I'd like to get this integrated upstream, although as the last release was 2004, I'm not that confident.

This fix is only required when building universal binaries. If you build both architectures then merge with lipo it's not a problem.

diff -u -r1.2 fixed.h
--- fixed.h 12 Sep 2005 07:01:30 -0000 1.2
+++ fixed.h 5 Jan 2008 18:17:09 -0000
@@ -137,7 +137,7 @@

/* --- Intel --------------------------------------------------------------- */

-# elif defined(FPM_INTEL)
+# elif defined(FPM_INTEL) || defined (__i386__)

# if defined(_MSC_VER)
# pragma warning(push)
@@ -351,7 +351,7 @@

/* --- PowerPC ------------------------------------------------------------- */

-# elif defined(FPM_PPC)
+# elif defined(FPM_PPC) || defined(__ppc__)

/*
* This PowerPC version is fast and accurate; the disposition of the least

richardash1981 wrote:@plivesey: configuration: Unicode builds are standard, using Unicode wxMac 2.6.x in the past.

I'll rustle one up this evening then.
plivesey
 
Posts: 27
Joined: Thu Jan 03, 2008 1:19 pm

Re: Latest beta release of Audacity - 1.3.3 or 1.3.4?

Postby richardash1981 » Sat Jan 05, 2008 10:56 pm

Right, some progress:
* AudioIO.cpp crash in HEAD is now fixed (I just committed it). It won't show in 1.3.4, because I did the refactor that caused it after 1.3.4 to fix an unrelated bug on Linux.
* LibMAD patch: Makes a lot more sense now I see it like that (I just never learnt to read "standard" diffs, especially since SVN emits unified ones by default). Given that nothing else is likely to define __i386__ or __ppc__ it should be safe on other platforms as well. I'll give upstream a prod, and put it into audacity's CVS in the mean time so that the CVS tree compiles out of the box.
richardash1981
 
Posts: 419
Joined: Tue Jul 31, 2007 1:57 pm
Location: Merseyside, UK

Re: Latest beta release of Audacity - 1.3.3 or 1.3.4?

Postby jarome » Mon Jan 21, 2008 8:32 pm

richardash1981 wrote:Right, some progress:
* AudioIO.cpp crash in HEAD is now fixed (I just committed it). It won't show in 1.3.4, because I did the refactor that caused it after 1.3.4 to fix an unrelated bug on Linux.
* LibMAD patch: Makes a lot more sense now I see it like that (I just never learnt to read "standard" diffs, especially since SVN emits unified ones by default). Given that nothing else is likely to define __i386__ or __ppc__ it should be safe on other platforms as well. I'll give upstream a prod, and put it into audacity's CVS in the mean time so that the CVS tree compiles out of the box.


How about posting the Mac 1.3.4 build back on the audacity site?

Thanks,
Jim
jarome
 
Posts: 22
Joined: Wed Nov 21, 2007 2:49 pm

Re: Latest beta release of Audacity - 1.3.3 or 1.3.4?

Postby plivesey » Mon Jan 21, 2008 8:53 pm

jarome wrote:
How about posting the Mac 1.3.4 build back on the audacity site?

Thanks,
Jim


I was waiting for my new Intel machine to arrive so I could test on that before posting but that's been delayed with Apple for a few weeks.

So, if anyone can tell me what they'd like posting and where to post it, I'll get it done. Which version of wxWidgets do you want? Do you want 1.3.4 with the crash fix or latest HEAD?

Are there some plugins that need building too? I do do requests.

As I said this has only been tested on PPC running Leopard. Thank Apple for not having any Nvidia graphics cards for a Mac Pro!

Paul.
plivesey
 
Posts: 27
Joined: Thu Jan 03, 2008 1:19 pm

Re: Latest beta release of Audacity - 1.3.3 or 1.3.4?

Postby jarome » Mon Jan 21, 2008 9:10 pm

I tried compiling this on my MacPro. wxWidgets was not configured to enable static and unicode, so I deleted thise options in configure.

After chugging a long time, I got:
g++ -c -I../lib-src/portmixer/include -I../lib-src/portaudio-v19/include -I../mac -g -O2 -I../lib-src/libogg/include -I../lib-src/libvorbis/include -I../lib-src/libmad -I../lib-src/libsndfile/src -I../lib-src/libflac/include -I../lib-src/libflac/include -I../lib-src/libid3tag -I../lib-src/libresample/include -I../lib-src/soundtouch/include -I../lib-src/libnyquist/nyx -I../lib-src/libvamp -I../lib-src/twolame/libtwolame -I../lib-src/allegro -I../lib-src/FileDialog -I/Users/jar/wxWidgets/include -Wall -fno-strict-aliasing -I./include -I. -I/Users/jar/wxWidgets/include -I/usr/lib/wx/include/mac-unicode-debug-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXDEBUG__ -D__WXMAC__ -DAUDACITY_DLL_API='' import/ImportQTWrapper.cpp -o import/ImportQTWrapper.o
g++ -o ../audacity AColor.o AboutDialog.o AudacityApp.o AudioIO.o AutoRecovery.o BatchCommandDialog.o BatchCommands.o BatchProcessDialog.o Benchmark.o Dependencies.o Envelope.o FFT.o FileIO.o FileNames.o FreqWindow.o HelpText.o HistoryWindow.o ImageManipulation.o InterpolateAudio.o LabelDialog.o LabelTrack.o Languages.o LangChoice.o Legacy.o Matrix.o Menus.o Mix.o NoteTrack.o PitchName.o PlatformCompatibility.o Printing.o Project.o Resample.o RingBuffer.o Screenshot.o Shuttle.o ShuttleGui.o ShuttlePrefs.o SmartRecordDialog.o Snap.o Spectrum.o SplashDialog.o Tags.o Theme.o TimeDialog.o TimeTrack.o Track.o TrackArtist.o TrackPanel.o TrackPanelAx.o UndoManager.o UploadDialog.o VoiceKey.o WaveClip.o WaveTrack.o WrappedType.o commands/CommandManager.o commands/Keyboard.o effects/Effect.o effects/SimpleMono.o effects/SimplePairedTwoTrack.o effects/SoundTouchEffect.o effects/LoadEffects.o effects/Amplify.o effects/AutoDuck.o effects/BassBoost.o effects/ChangePitch.o effects/ChangeSpeed.o effects/ChangeTempo.o effects/ClickRemoval.o effects/Compressor.o effects/DtmfGen.o effects/Echo.o effects/Equalization.o effects/Fade.o effects/FindClipping.o effects/Invert.o effects/Leveller.o effects/Noise.o effects/NoiseRemoval.o effects/Normalize.o effects/Phaser.o effects/Repair.o effects/Repeat.o effects/Reverse.o effects/Silence.o effects/SpikeCleaner.o effects/StereoToMono.o effects/ToneGen.o effects/TruncSilence.o effects/TwoPassSimpleMono.o effects/Wahwah.o export/Export.o export/ExportMultiple.o export/ExportMP2.o export/ExportMP3.o export/ExportOGG.o export/ExportFLAC.o export/ExportPCM.o export/ExportCL.o import/Import.o import/ImportFLAC.o import/ImportLOF.o import/ImportMIDI.o import/ImportMP3.o import/ImportOGG.o import/ImportPCM.o import/ImportRaw.o import/RawAudioGuess.o prefs/AudioIOPrefs.o prefs/BatchPrefs.o prefs/DirectoriesPrefs.o prefs/FileFormatPrefs.o prefs/GUIPrefs.o prefs/KeyConfigPrefs.o prefs/MousePrefs.o prefs/PrefsDialog.o prefs/QualityPrefs.o prefs/SmartRecordPrefs.o prefs/SpectrumPrefs.o prefs/ThemePrefs.o toolbars/ControlToolBar.o toolbars/DeviceToolBar.o toolbars/EditToolBar.o toolbars/MeterToolBar.o toolbars/MixerToolBar.o toolbars/SelectionBar.o toolbars/ToolBar.o toolbars/ToolDock.o toolbars/ToolManager.o toolbars/ToolsToolBar.o toolbars/TranscriptionToolBar.o widgets/treebook.o widgets/AButton.o widgets/ASlider.o widgets/AttachableScrollBar.o widgets/ErrorDialog.o widgets/ExpandingToolBar.o widgets/Grabber.o widgets/Grid.o widgets/ImageRoll.o widgets/LinkingHtmlWindow.o widgets/Meter.o widgets/MultiDialog.o widgets/Ruler.o widgets/TimeTextCtrl.o widgets/Warning.o xml/XMLFileReader.o xml/XMLWriter.o effects/nyquist/Nyquist.o effects/nyquist/LoadNyquist.o effects/vamp/VampEffect.o effects/vamp/LoadVamp.o effects/ladspa/LoadLadspa.o effects/ladspa/LadspaEffect.o effects/audiounits/LoadAudioUnits.o effects/audiounits/AudioUnitEffect.o import/ImportQT.o import/ImportQTWrapper.o ../lib-src/libvorbisenc.a ../lib-src/libvorbisfile.a ../lib-src/libvorbis.a ../lib-src/libogg.a ../lib-src/libmad.a ../lib-src/libsndfile.a ../lib-src/libFLAC++.a ../lib-src/libFLAC.a ../lib-src/libid3tag.a ../lib-src/libresample.a ../lib-src/libSoundTouch.a ../lib-src/libnyquist.a ../lib-src/libvamp-hostsdk.a ../lib-src/libtwolame.a ../lib-src/allegro.a ../lib-src/FileDialog.a ../lib-src/portaudio-v19/lib/libportaudio.a ../lib-src/portmixer/libportmixer.a libaudacity.a -framework CoreAudio -framework AudioUnit -framework AudioToolbox -lexpat -framework QuickTime -framework IOKit -framework Carbon -framework Cocoa -framework System -lwx_macud-2.8 -lz -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon
ld: in ../lib-src/libvamp-hostsdk.a, archive has no table of contents
collect2: ld returned 1 exit status
make[1]: *** [../audacity] Error 1
make: *** [audacity] Error 2

What now?
jarome
 
Posts: 22
Joined: Wed Nov 21, 2007 2:49 pm

Re: Latest beta release of Audacity - 1.3.3 or 1.3.4?

Postby plivesey » Mon Jan 21, 2008 10:49 pm

I need a little more information than this to help you.

Which wxWidgets are you using. Did you build it or are you using the one that comes with OSX? If you built it is it static or dynamic?

Are you building with configure or via Xcode? If Xcode which version.

I have given fairly comprehensive instructions in this thread about how I got a universal build on XCode 3 running on PPC Leopard.

The XCode project file tagged as 1.3.4 is broken so use the latest one.

From your post it looks like something has gone wrong with the build of libvamp. I presume that you built this yourself. If you did check that you built it for both/the right architecture. If in doubt do a clean and rebuild on libvamp only. Then try building Audacity again. "lipo -info libvamp-hostsdk.a" might give you a bit of insight into what architecture your library is.

Hope this helps,

Paul.
plivesey
 
Posts: 27
Joined: Thu Jan 03, 2008 1:19 pm

PreviousNext

Return to Mac OS X



Who is online

Users browsing this forum: Chief_Engineer and 5 guests