out_lame

Introduction - top

out_lame is a Winamp output plug-in to create MP3 files directly from Winamp. It is currently designed to work with Winamp 2.05 and all the upper 2.x versions (dunno about the 3.x ones) and Winamp 5.x. It uses the LAME DLL to encode to MP3. This plug-in in now official supported by Winamp. That means you can get (older) versions on the official WinAmp website.

See the SourceForge out_lame project page for bugs and feature requests.

Download - top

The latest stable version is v1.6.4 / nightly Sourceforge CVS snapshot

If you want to be informed of new versions just click this link (you should be a SourceForge user)

  • version 1.6.4 - 2005/10/10 - full binaries (include lame DLL 3.97.1beta/1.32) / simple binary / source code.
    • Fixed bug: bit reservoir check box was not checked when bit reservoir was being used
    • Fixed bug: problems saving settings sometimes
    • About dialog now has the proper out_lame SourceForge project URL
  • version 1.6.3 - 2005/01/07 - full binaries (include lame DLL 3.96/1.32) / simple binary / source code.
    • Fixed bug: output time was not accurate and/or keep resetting to 0
    • Added feature to write ID3 tag using Winamp's Extended File Info API (note that not all input plugins support extended file info, in which case no tag will be written)
  • version 1.6.2 - 2004/12/08 - full binaries (include lame DLL 3.96/1.32) / simple binary / source code.
    • Fixed bug: Xing/Lame frame was never being written
    • Fixed bug: Lame DLL location was not being saved
    • Added all presets in Lame 3.96
    • Option to always write the Xing/Lame frame (since Lame uses an extension of the Xing frame it applies to CBR too)
    • Added explicit setting of psycho acoustic Quality (-q)
    • About dialog now shows Lame alpha/beta revision and if MMX is supported
  • version 1.6.1 - 2001/12/27 - full binaries (include lame DLL 3.90/1.26) / simple binary / source code.
    • Added support for Lame DLL 3.90
  • version 1.6.0 - 2001/09/04 - full binaries (include lame DLL 3.89/1.22) / simple binary / source code.
    • Corrected a problem with buffer overlapping
    • Initial support for ABR encoding (thanks to Kester Maddock)
    • Added support for "r3mix" and "very high quality" settings
  • version 1.5.0 - 2001/08/21 - full binaries (include lame DLL 3.89/1.22) / simple binary / source code.
    • Keep the original ID3v2 tag in the encoded file
    • Removed pending .wav or .mp3 extensions from the encoded filename
    • Don't overwrite the previous file with the same name, use another name
    • No more need for MSVCRT.DLL
  • version 1.4.3 - 2001/08/15 - full binaries (include lame DLL 3.89/1.22) / simple binary / source code.
    • The data at the end of the encoding was not complete
    • Added the possibility to force the channel mode (mono/stereo)
    • Added the encoding DLL location in the about box
    • Better URL handling in the about box
  • version 1.4.2 - 2001/08/13 - full binaries (include lame DLL 3.89/1.22) / simple binary / source code.
    • Now compile fine with the Free Borland Compiler
  • version 1.4.1 - 2001/08/11 - full binaries (include lame DLL 3.89/1.22) / simple binary / source code.
    • Message boxes now display the plugin version number
    • Binary distribution now handle correctly the output directory
    • Added the possibility to delete and rename configurations
    • Better handling of the 'current' config
  • version 1.4.0 - 2001/08/11 - full binaries (include lame DLL 3.89/1.22) / simple binary / source code.
    • Changed the configuraiton layout to make it more logical (according to the XML file)
    • Corrected the output directory use (pb when saving and cancelling)
    • Initial support for Doxygen automatic documentation from source code
    • Added a 'new folder' button for the output selection dialog on platforms that support it
    • Added better Lame DLL version support (more object oriented)
  • version 1.3.2 - 2001/07/27 - full binaries (include lame DLL 3.89/1.22) / simple binary / source code.
    • Updated with TinyXML v1.2.3 (no more modifications)
    • Improved version retrieving
    • Improved error displaying
    • Updated the index.html
  • version 1.3.1 - 2001/07/26 - full binaries (include lame DLL 3.89/1.22) / simple binary / source code.
    • Changed the default path in the configuration file
    • New .EXE package installation (uses SuperPimp + UPX)
    • Added an XML Schema file corresponding to the configuration XML file format
    • Better CVS integration
  • version 1.3.0 - 2001/07/24 - full binaries (include lame DLL 3.89/1.22) / simple binary / source code.
    • XML configuration file added instead of the windows registry (should be at the same location as the DLL)
    • possibility to save and restore some parameters
    • have a different license URL depending on the language
    • get the version number inside the DLL (version info)
    • fill the Winamp Output structure dynamically (plugin name) (to have the version name automated)
    • versions and code are now uploaded to Sourceforge CVS.
  • version 1.2.0 - 2001/07/18 - full binaries (include the latest lame DLL) / binary / source code.
    • merge the english and french DLL into one
    • correct license/licence spellings (inverted english and french)
  • version 1.1.0 - 2001/07/17 - full binaries (include the latest lame DLL) (french) / binaries (french) / source code.
    • better support of the Xing frame writing (it was doing nothing before)
    • get all the output strings from a string table in the DLL
    • underline the URLs in the About box
    • changed the default cursor in the About box to have another one on links
    • first attempt to compile with Cygwin + Mingw32 (compilation OK, but doesn't work)
  • version 1.0.1 - 2001/07/15 - full binaries (include the latest lame DLL) (french) / binaries (french) / source code.
    • added an 'automatic' french version (not finished)
    • resolved some registry writing problems
    • display of the LAME DLL version is now correct
  • version 1.0.0 - 2001/07/14 - full binaries (include the latest lame DLL), binaries, source code.
    • corrected the mono encoding problem
    • inverted the Bit Reservoir use (now it's logical)
  • version 0.6.7 - 2001/07/13 - full binaries (include the latest lame DLL), binaries, source code.
    • added resampling support
    • added colours on the URLs of the about box
  • version 0.6.6 - 2001/07/11 - full binaries (include the latest lame DLL), binaries, source code.
    • better display of VBR options
  • version 0.6.5 - 2001/07/10 - full binaries (include the latest lame DLL), binaries, source code.
    • init folder selection with the current working dir
    • replaced the quality combo box with a slider
  • version 0.6.4 - 2001/07/09 - full binaries (include the latest lame DLL), binaries, source code.
    • minor dialog box enhancements
  • version 0.6.3 - 2001/07/08 - full binaries (include the latest lame DLL), binaries, source code.

License - top

This software source code is covered by the BSD license (post 1999 : without the advertising clause). That means that you can use it the way you want, as long as you give the user the license attached. For more information check the more formal version of the license included with the source and binaries.

The Lame and the Lame DLL are covered by the GNU Lesser General Public License.

Screenshots - top

Configuration dialog box

About dialog box

Documentation - top

You can browse the HTML documentation (produced from the source code) online or download the zip file and browse it offline.

Links - top

To do / done - top

  • Bugs/ToDo :
    • Update About dialog to show new homepage at sourceforge
    • The DLL location is not correctly saved ?
    • Display Bitrate too small in some cases (where it shouldn't) (at 192kbps for ex)
    • Problem with the size of the output buffer in large VBR (320<->160)
    • No need for 'bitrate too small' or 'too high' for VBR
    • Replace the impossible chars (\ / : * ? " < > |)
    • check the mono problems
    • Bit Resevoir check box is inverted (according to the DLL option)
    • keys writen in the registry is not correctly saved
    • the version number of the LAME DLL is not correct
    • do not create the file when the bitrate is not correct
    • don't save the Folder name if the user cancel
    • when using a saved config and changing the values, it's not applied/used
    • when changing the output directory, it's not automatically saved (in the XML file), it should be saved in all configs
    • The end of encoding lose some data
    • Buffer are not correctly overlapping when buffering
    • The plugin crashes if the filename is smaller than 4 chars (thanx to Yann Sarrazin)
  • Improvements :
    • Simplify GUI to be compliant with the LAME User Inferface Guidelines
    • Would be nice if the config dialog's controls updated to corespond to the preset settings (for example, High quality preset should make the Quality show 2 (but be disabled), AP Standard should show the VBR setting (disabled) but still let you tweak the min/max bitrate and quality setting etc.)
    • check the buffer sizes (error on W98 !) (size of the_WorkingBuffer, Output and OutT)
    • better support for errors checking in XML processing (NULL pointers)
    • possibility to use the new lame interface or not (automatic detection ?)
    • Try to avoid having a blank frame at the beginning (encode and discard a first blank frame)
    • try to change the latency returned by the plugin (length of one frame)
    • get the out_lame.xml file from another location (location attribute)
    • search for the Lame DLL on open() when it's not found (open file dialog)
    • Merge code in the lame code (to have more internal features maybe a bit faster and no additional DLL)
    • Import RazorLame settings
    • Option to use lame.exe via stdin/stdout instead of DLL
    • when searching for the DLL, correctly place the starting dir
    • display the DLL location in the config dialog
    • Add a default config (which correspond to semi-checked buttons)
    • Put some default DLL names in the "Find DLL" button.
    • verify that the **selected** lame DLL has all the required functions.
    • save the DLL location in the parametersIDC_BUTTON_OUTPUT
    • Make the outputfile different (choose the final dir at least)
    • have the version number in the About box from the resource (GetFileVersionInfo / LoadString)
    • Change the quality setting into a slider
    • save parameters at quit (and retrieve at init)
    • use the current output folder to init the SHBrowseFolder dialog
    • Check boxes only if required (WS_DISABLED instead of HIDE)
    • check the resampling problems
    • put the URLs and Licence links in colour
    • check the high CPU load problems -> not much problems on my PII333 with normal priority
    • put underscores on the URLs and Licence links
    • change the cursor over the URLs and Licence links
    • better support of the Xing frame
    • correct license/licence spellings
    • merge the english and french DLL into one (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnintl/html/s24b3_b.asp)
    • have a different license URL depending on the language
    • fill the Output structure dynamically (plugin name) (to have the version name automated)
    • <default_confg into <configs default="toto" and all config inside
    • <VBR <header into <VBR header="true/false
    • better support of the version number inside the DLL (get the location as for the XML file)
    • try to create a DTD or Schema for the XML file format (to enable grammar checking)
    • have all the Message Boxes with the same title
    • in the ALameDLL class, the stream should be an internal value
    • AOut::my_Filename is now a string object
    • in AEncodeProperties::InitConfigDlg call AEncodeProperties::UpdateDlgFromValue()
    • Possibility to create a dir as the output folder (option in the SHBrowseFolder ? or OpenSaveFile) ??????????????????????????????
    • display the output dir in the config dialog
    • add the version number in the message boxes
    • add the possibility to delete or rename saved parameters
    • Don't handle the OK button the same for the 'current' config
    • use TranslateURL on About URLs
    • display the DLL location in the about box
    • Advanced option to remove .WAV and .CDA from encoded tracks names
    • Option to overwrite or not (like a file copy : yes, no, yes for all, no for all)
  • Features :
    • Add an automatic update check
    • Add support for custom destination file name (with %t %a names like in WinAmp)
    • Possibility to have one parameter set for MPEG1 and one for MPEG2 (with a tab control) /or/ put the default bitrate to min/max automatically
    • Tooltips on configuration option
    • Support more than 16 bits input
    • Possibility to encode in different folders with the name of the artist
    • Possibility to clean filenames in the output dir (at request or at closing) (advanced option)
    • Possibility to remove (trim) blank samples at beginning and end (advanced option)
    • Create a continuous mode (get the filename) (all tracks in one) (advanced option)
    • Create sepatate files each time the album/title track information changes (advanced option)
    • Possibility to play while encoding (output to another plugin)
    • Get the interface names from the .xml file (for internationalisation)
    • Advanced tab control for parameters like : Global folder or depend on the saved config, automatically adjust bitrate (min for MPEG1/2), continuous mode
    • Port as much as possible in Qt to make a real difference between the data containers and the GUI
    • Port as much as possible in wxWindows to make a real difference between the data containers and the GUI
    • Possibility to switch back to another output plug-in (encode/listen switch)
    • GUI for configuring optional tag information that can be set in each config xml element
    • possibility to resample or not
    • Go to the URL when clicked (Homepage, DLL Homepage, BSD Licence) (see ShellExecute)
    • Possibility to clean the written filename
    • XML configuration file added instead of the windows registry
    • Add the possibility to save some parameters (restore combo)
    • Possibility to force the channel mode (stereo <-> mono)
    • Possibility to get ID3 informations on the file original file to save in the saved file
    • Support for ABR encoding
  • Developpement :
    • Clean the code from unused things
    • Add more compiler makefiles (Cygwin+mingw32)
    • Get all the strings from a string table (international)
    • only embed the required .lib files in the .dsp
    • Add CVS versioning tags in source files
    • Remove the doc from tinyXML and make a doc package
    • move to another installer because of the out_lame.xml overwriting
    • put some comments in the code to use with Doxygen
    • Addes free Borland compiler support
  • Website :
    • change the vertical space for LI tags
    • put up an announce list when new versions are available (topica.com) -> Sourceforge Feature
    • put the TODO in the main XHTML page
    • put a menu in the main XHTML page
    • New screenshots with the saved configs (when finished)

FAQ - top

What are these version numbers ?

The versions are numbers as follows : X.Y.Z. And the X,Y and Z numbers move as follows :

  • X : A major change in the program that lead to incompatibilities with previous final versions
  • Y : A feature addition, or design change (visual or coding)
  • Z : A bug correction or improvement

out_lame doesn't work - no MP3 file is generated.

You are probably playing a DRM protected. If you hear the file play as normal then the input plugin and/or Winamp is sending the audio directly to the soundcard for output instead of using out_lame. If you don't hear anything and no file is generated, then Winamp and/or the input plugin is not allowing out_lame to be used. out_lame simply passes raw PCM audio data to LAME and doesn't care where it came from.

Why doesn't out_lame work with WMA files?

See above, you are probably playing a DRM protected file. Unprotected WMA files should work. In any case, the problem is with Winamp and/or in_wm not allowing out_lame to be used.

contact - top

First, see the SourceForge out_lame project page for bugs and feature requests.

If you still have a question, e-mail prowler7 at users dot sourceforge dot net (replace the at and dot by the real ones... I don't want any spam)

introduction

download

license

screenshots

documentation

links

to do / done

FAQ

contact

Valid XHTML 1.0!

SourceForge Logo
project on sourceforge : http://sourceforge.net/projects/out-lame/