mail us  |  mail this page

products  |  company  |  support  |  training  |  contact us

Digital Audio/Video - MoreAmp

We use the Open Source program MoreAmp as a base for all player development. Originally for advanced equalization (it has a 31 band 1/3 octave equalizer) which is useful for experimenting with since it works in real-time. But we then used its file writing capabilities to generate ogg files that had been put through the equalizer. The ogg files were then converted into an appropriate file format (mostly using Audacity) for subsequent use.

But then we got greedy and wanted more - so we started doing some development of MoreAmp under Windows. The following notes document our freely available extensions but you will have to compile them into MoreAmp so the additional notes should be read in conjunction with the notes in the source distribution of MoreAmp and specifically the INSTALLwin32.txt file in the base directory of the source distribution (choose the source tarball).

We use a 'forever frozen in time' MS VS/VC/C++ 6.0. Why buy a new hammer if the current one works? If you are using a later version things may be a tad different.

Contents

Building MoreAmp - Windows (VS/VC/C++ 6.0)
Building MoreAmp VC++ 2008 Express Edition Notes

Building MoreAmp under windows (VS/VC/C++ 6.0)

A relatively simple process once you get a couple of things right. One of the additional benefits of compiling from source is that you get .mp3, mp4 and .aac output support which for licensing reasons is not built into the .exe release). MoreAmp becomes a pretty comprehensive transcoder.

  1. Get and untar the source code tarball (the one that ends with tar.gz) from MoreAmp at SourceForge into a suitable folder. Almost any zip application will recognize and unpack a tar.gz (tarball) format file under windows.

  2. Read the INSTALLwin32.txt in the MoreAmp base directory before you start anything to get an overview of the process.

  3. MoreAmp uses wxWidgets for OS independence. If you are not already using wxWidgets you will need to obtain a distribution (select wxMSW). This downloads a standard setup.exe which will by default installs to c:\wxWidgets-x.y.x (where x.y.z is the current release number). Now you need to build the library so that it can be statically linked to MoreAmp. Failure to do this will result in multiple header files being not found in the vc_libs folders (which are only created during the wxWidgets build process). Read the instructions defined in the \docs\msw\install.txt for an outline of the process but FOLLOW THE INSTRUCTION BELOW:.

  4. If you did not have wxWidgets installed before: Load the VC 6.0 workspace from \build\msw\wx.dsw workspace. Select Project->Settings. Make sure the Setting for: Drop down is set to Win32 Release. Now select the C/C++ Tab and Code Generation From the drop down list. Select Multithreaded. Select OK. Now go to Build->Batch Build. When the Window pops up Uncheck everything EXCEPT Win32 Release and Win32 Debug for each library (unless you want to wait 5 hours for the build to complete). Check the Selected Only check box and click the Build button.

  5. If you previously installed and compiled wxWidgets: Load the VC 6.0 workspace from \build\msw\wx.dsw workspace. Select Project->Settings. Make sure the Setting for: Drop down is set to Win32 Release. Now select the C/C++ Tab and Code Generation From the drop down list. Select Multithreaded. Select OK. If you changed ANY project setting then VS/VC6 will not recompile - to explicity force recompilation you need to delete all the object files (.obj files) in build\msw\vc_msw and build\msw\vc_mswd under each library. Failure to do this may result in multiple link errors when building MoreAmp (specifically LNK2001 errors and LNK4049 warnings). Now go to Build->Batch Build. When the Window pops up Uncheck everything EXCEPT Win32 Release and Win32 Debug for each library (otherwise it will build everything and take forever). Check the Selected Only box and click the Build button.

  6. Once wxWidgets has been compiled you can now build a version of MoreAmp. Load the VC 6.0 workspace from \msvc++\MoreAmp.dsw.

  7. Add to the include file list the location of the wxWidgets release folder - tools->options select 'Include files' from the drop down menu and add c:\wxWidgets-x.y.z\include\msvc or whatever folder you installed wxWidgets into.

  8. Add to the library file list the location of the wxWidgets release folder - tools->options select 'Libary files' from the drop down menu and add c:\wxWidgets-x.y.z\lib\vc_lib or whatever folder you installed wxWidgets into.

  9. Make sure a Release build is selected (it's Debug by default) - Build->Select Active Configuration->MoreAmp-Win32 Release

  10. Select Build->MoreAmp.exe

  11. If everything goes OK the resulting executable will be in msvc++\Output\MoreAmp.exe

Building MoreAmp VC++ 2008 Express Edition Notes

The following notes are in addition to the process described above and deal only with VC++ 2008 Express Edition (you cannot jump straight from VC++ 6.0 files to 2010 format files - you need to go though VC++ 2008 as an intermediate step):

  1. Load the MoreAmp.dsw file on the first occasion (click OK to requests for conversion) and on subsequent loads use the MoreAmp.sln file

  2. Add the vxWidgets include and library file reference using Tools->Options->Projects and Solutions->VC++ Directories (Include Files needs both a reference to vxwigets-xxxx/include and vxwigets-xxxx/include/msvc)

  3. the portaudio library contains a reference to dsound.lib which requires a download of the MS DirectX SDK. This is a serious download (v10 was 571mb). Add the dsound.lib reference to the Libary Files section (normally Program Files(x86)/Microsoft DirectX SDK/lib/x86



Problems, comments, suggestions, corrections (including broken links) or something to add? Please take the time from a busy life to 'mail us' (at top of screen), the webmaster (below) or info-support at zytrax. You will have a warm inner glow for the rest of the day.

Tech

tech home
audio stuff
web stuff
dom stuff

css stuff
language stuff
regex stuff
rfc stuff


protocol stuff
cable stuff
lan wiring
rs232 wiring
dec > hex > bin
character sets
data rate stuff
mechanical stuff
howto stuff
survival stuff
wireless stuff
pc stuff
electronic stuff
tech links
open guides
RSS Feed Icon RSS Feed

If you are happy it's OK - but your browser is giving a less than optimal experience on our site. You could, at no charge, upgrade to a W3C standards compliant browser such as Firefox

web zytrax.com

Share Page

share page via facebook tweet this page submit page to stumbleupon submit page to reddit.com

Page Features

Page comment feature Send to a friend feature print this page Decrease font size Increase font size

Software Stuff

Audacity
MoreAmp

Theory Stuff

Filters, FFT and more
Signal Processing
Audio glossary
Numeric Algorithms
UNSW Acoustics Info
UNSW - Dreaded Decibel
Acoustic Explanations
FFT Primer and Book
FFT Output
FFTW

Interesting Stuff

MP3/OGG Stuff
Instrument Samples

Our Stuff

Intro and Overview
A/V Formats
Audio Frequencies
Sound Primer
Digital Sound
Equalization, Meters, FFT
Acoustic Calculator
Audio Meta Data
Win7 Audio Problems
Audio Glossary

Display full width page Full width page

Print this page Print this page

SPF Record Conformant Domain Logo

Copyright © 1994 - 2014 ZyTrax, Inc.
All rights reserved. Legal and Privacy
site by zytrax
Hosted by super.net.sg
web-master at zytrax
Page modified: September 19 2013.