Simulator first commit

This commit is contained in:
2019-09-18 11:11:16 +03:00
commit 6e1686be67
5028 changed files with 985331 additions and 0 deletions

1405
node_modules/lame/deps/lame/ACM/ACM.cpp generated vendored Normal file

File diff suppressed because it is too large Load Diff

101
node_modules/lame/deps/lame/ACM/ACM.h generated vendored Normal file
View File

@ -0,0 +1,101 @@
/**
*
* Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
*
* Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*!
\author Steve Lhomme
\version \$Id: ACM.h,v 1.8 2006/12/25 21:37:34 robert Exp $
*/
#if !defined(_ACM_H__INCLUDED_)
#define _ACM_H__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <vector>
#include <windows.h>
#include <mmsystem.h>
#include <mmreg.h>
#include <msacm.h>
#include <msacmdrv.h>
#include "ADbg/ADbg.h"
class AEncodeProperties;
typedef enum vbr_mode_e vbr_mode;
class bitrate_item {
public:
unsigned int frequency;
unsigned int bitrate;
unsigned int channels;
vbr_mode mode;
bool operator<(const bitrate_item & bitrate) const;
};
class ACM
{
public:
ACM( HMODULE hModule );
virtual ~ACM();
LONG DriverProcedure(const HDRVR hdrvr, const UINT msg, LONG lParam1, LONG lParam2);
static const char * GetVersionString(void) {return VersionString;}
protected:
// inline DWORD Configure( HWND hParentWindow, LPDRVCONFIGINFO pConfig );
inline DWORD About( HWND hParentWindow );
inline DWORD OnDriverDetails(const HDRVR hdrvr, LPACMDRIVERDETAILS a_DriverDetail);
inline DWORD OnFormatTagDetails(LPACMFORMATTAGDETAILS a_FormatTagDetails, const LPARAM a_Query);
inline DWORD OnFormatDetails(LPACMFORMATDETAILS a_FormatDetails, const LPARAM a_Query);
inline DWORD OnFormatSuggest(LPACMDRVFORMATSUGGEST a_FormatSuggest);
inline DWORD OnStreamOpen(LPACMDRVSTREAMINSTANCE a_StreamInstance);
inline DWORD OnStreamClose(LPACMDRVSTREAMINSTANCE a_StreamInstance);
inline DWORD OnStreamSize(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMDRVSTREAMSIZE the_StreamSize);
inline DWORD OnStreamPrepareHeader(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMSTREAMHEADER a_StreamHeader);
inline DWORD OnStreamUnPrepareHeader(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMSTREAMHEADER a_StreamHeader);
inline DWORD OnStreamConvert(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMDRVSTREAMHEADER a_StreamHeader);
void GetMP3FormatForIndex(const DWORD the_Index, WAVEFORMATEX & the_Format, unsigned short the_String[ACMFORMATDETAILS_FORMAT_CHARS]) const;
void GetPCMFormatForIndex(const DWORD the_Index, WAVEFORMATEX & the_Format, unsigned short the_String[ACMFORMATDETAILS_FORMAT_CHARS]) const;
DWORD GetNumberEncodingFormats() const;
bool IsSmartOutput(const int frequency, const int bitrate, const int channels) const;
void BuildBitrateTable();
HMODULE my_hModule;
HICON my_hIcon;
ADbg my_debug;
AEncodeProperties my_EncodingProperties;
std::vector<bitrate_item> bitrate_table;
static char VersionString[120];
};
#endif // !defined(_ACM_H__INCLUDED_)

397
node_modules/lame/deps/lame/ACM/ACMStream.cpp generated vendored Normal file
View File

@ -0,0 +1,397 @@
/**
*
* Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
*
* Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*!
\author Steve Lhomme
\version \$Id: ACMStream.cpp,v 1.12 2007/12/26 22:04:08 robert Exp $
*/
#if !defined(STRICT)
#define STRICT
#endif // STRICT
#include <assert.h>
#include <windows.h>
#include "adebug.h"
#include "ACMStream.h"
#include <lame.h>
// static methods
ACMStream * ACMStream::Create()
{
ACMStream * Result;
Result = new ACMStream;
return Result;
}
const bool ACMStream::Erase(const ACMStream * a_ACMStream)
{
delete a_ACMStream;
return true;
}
// class methods
ACMStream::ACMStream() :
m_WorkingBufferUseSize(0),
gfp(NULL)
{
/// \todo get the debug level from the registry
my_debug = new ADbg(DEBUG_LEVEL_CREATION);
if (my_debug != NULL) {
unsigned char DebugFileName[512];
my_debug->setPrefix("LAMEstream"); /// \todo get it from the registry
my_debug->setIncludeTime(true); /// \todo get it from the registry
// Check in the registry if we have to Output Debug information
DebugFileName[0] = '\0';
HKEY OssKey;
if (RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\MUKOLI", 0, KEY_READ , &OssKey ) == ERROR_SUCCESS) {
DWORD DataType;
DWORD DebugFileNameSize = 512;
if (RegQueryValueEx( OssKey, "DebugFile", NULL, &DataType, DebugFileName, &DebugFileNameSize ) == ERROR_SUCCESS) {
if (DataType == REG_SZ) {
my_debug->setUseFile(true);
my_debug->setDebugFile((char *)DebugFileName);
my_debug->OutPut("Debug file is %s",(char *)DebugFileName);
}
}
}
my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "ACMStream Creation (0X%08X)",this);
}
else {
ADbg debug;
debug.OutPut("ACMStream::ACMACMStream : Impossible to create my_debug");
}
}
ACMStream::~ACMStream()
{
// release memory - encoding is finished
if (gfp) lame_close( gfp );
if (my_debug != NULL)
{
my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "ACMStream Deletion (0X%08X)",this);
delete my_debug;
}
}
bool ACMStream::init(const int nSamplesPerSec, const int nOutputSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const vbr_mode mode)
{
bool bResult = false;
my_SamplesPerSec = nSamplesPerSec;
my_OutBytesPerSec = nOutputSamplesPerSec;
my_Channels = nChannels;
my_AvgBytesPerSec = nAvgBytesPerSec;
my_VBRMode = mode;
bResult = true;
return bResult;
}
bool ACMStream::open(const AEncodeProperties & the_Properties)
{
bool bResult = false;
// Init the MP3 Stream
// Init the global flags structure
gfp = lame_init();
// Set input sample frequency
lame_set_in_samplerate( gfp, my_SamplesPerSec );
// Set output sample frequency
lame_set_out_samplerate( gfp, my_OutBytesPerSec );
lame_set_num_channels( gfp, my_Channels );
if (my_Channels == 1)
lame_set_mode( gfp, MONO );
else
lame_set_mode( gfp, (MPEG_mode_e)the_Properties.GetChannelModeValue()) ; /// \todo Get the mode from the default configuration
// lame_set_VBR( gfp, vbr_off ); /// \note VBR not supported for the moment
lame_set_VBR( gfp, my_VBRMode ); /// \note VBR not supported for the moment
if (my_VBRMode == vbr_abr)
{
lame_set_VBR_q( gfp, 1 );
lame_set_VBR_mean_bitrate_kbps( gfp, (my_AvgBytesPerSec * 8 + 500) / 1000 );
if (24000 > lame_get_in_samplerate( gfp ))
{
// For MPEG-II
lame_set_VBR_min_bitrate_kbps( gfp, 8);
lame_set_VBR_max_bitrate_kbps( gfp, 160);
}
else
{
// For MPEG-I
lame_set_VBR_min_bitrate_kbps( gfp, 32);
lame_set_VBR_max_bitrate_kbps( gfp, 320);
}
}
// Set bitrate
lame_set_brate( gfp, my_AvgBytesPerSec * 8 / 1000 );
/// \todo Get the mode from the default configuration
// Set copyright flag?
lame_set_copyright( gfp, the_Properties.GetCopyrightMode()?1:0 );
// Do we have to tag it as non original
lame_set_original( gfp, the_Properties.GetOriginalMode()?1:0 );
// Add CRC?
lame_set_error_protection( gfp, the_Properties.GetCRCMode()?1:0 );
// Set private bit?
lame_set_extension( gfp, the_Properties.GetPrivateMode()?1:0 );
// INFO tag support not possible in ACM - it requires rewinding
// output stream to the beginning after encoding is finished.
lame_set_bWriteVbrTag( gfp, 0 );
if (0 == lame_init_params( gfp ))
{
//LAME encoding call will accept any number of samples.
if ( 0 == lame_get_version( gfp ) )
{
// For MPEG-II, only 576 samples per frame per channel
my_SamplesPerBlock = 576 * lame_get_num_channels( gfp );
}
else
{
// For MPEG-I, 1152 samples per frame per channel
my_SamplesPerBlock = 1152 * lame_get_num_channels( gfp );
}
}
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "version =%d",lame_get_version( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Layer =3");
switch ( lame_get_mode( gfp ) )
{
case STEREO: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "mode =Stereo" ); break;
case JOINT_STEREO: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "mode =Joint-Stereo" ); break;
case DUAL_CHANNEL: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "mode =Forced Stereo" ); break;
case MONO: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "mode =Mono" ); break;
case NOT_SET: /* FALLTROUGH */
default: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "mode =Error (unknown)" ); break;
}
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "sampling frequency =%.1f kHz", lame_get_in_samplerate( gfp ) /1000.0 );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "bitrate =%d kbps", lame_get_brate( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Vbr Min bitrate =%d kbps", lame_get_VBR_min_bitrate_kbps( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Vbr Max bitrate =%d kbps", lame_get_VBR_max_bitrate_kbps( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Quality Setting =%d", lame_get_quality( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Low pass frequency =%d", lame_get_lowpassfreq( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Low pass width =%d", lame_get_lowpasswidth( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "High pass frequency =%d", lame_get_highpassfreq( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "High pass width =%d", lame_get_highpasswidth( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "No Short Blocks =%d", lame_get_no_short_blocks( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "de-emphasis =%d", lame_get_emphasis( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "private flag =%d", lame_get_extension( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "copyright flag =%d", lame_get_copyright( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "original flag =%d", lame_get_original( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "CRC =%s", lame_get_error_protection( gfp ) ? "on" : "off" );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Fast mode =%s", ( lame_get_quality( gfp ) )? "enabled" : "disabled" );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Force mid/side stereo =%s", ( lame_get_force_ms( gfp ) )?"enabled":"disabled" );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Disable Resorvoir =%d", lame_get_disable_reservoir( gfp ) );
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "VBR =%s, VBR_q =%d, VBR method =",
( lame_get_VBR( gfp ) !=vbr_off ) ? "enabled": "disabled",
lame_get_VBR_q( gfp ) );
switch ( lame_get_VBR( gfp ) )
{
case vbr_off: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "vbr_off" ); break;
case vbr_mt : my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "vbr_mt" ); break;
case vbr_rh : my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "vbr_rh" ); break;
case vbr_mtrh: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "vbr_mtrh" ); break;
case vbr_abr:
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "vbr_abr (average bitrate %d kbps)", lame_get_VBR_mean_bitrate_kbps( gfp ) );
break;
default:
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "error, unknown VBR setting");
break;
}
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Write VBR Header =%s\n", ( lame_get_bWriteVbrTag( gfp ) ) ?"Yes":"No");
#ifdef FROM_DLL
beConfig.format.LHV1.dwReSampleRate = my_OutBytesPerSec; // force the user resampling
#endif // FROM_DLL
bResult = true;
return bResult;
}
bool ACMStream::close(LPBYTE pOutputBuffer, DWORD *pOutputSize)
{
bool bResult = false;
int nOutputSamples = 0;
nOutputSamples = lame_encode_flush( gfp, pOutputBuffer, 0 );
if ( nOutputSamples < 0 )
{
// BUFFER_TOO_SMALL
*pOutputSize = 0;
}
else
{
*pOutputSize = nOutputSamples;
bResult = true;
}
// lame will be closed in destructor
//lame_close( gfp );
return bResult;
}
DWORD ACMStream::GetOutputSizeForInput(const DWORD the_SrcLength) const
{
/* double OutputInputRatio;
if (my_VBRMode == vbr_off)
OutputInputRatio = double(my_AvgBytesPerSec) / double(my_OutBytesPerSec * 2);
else // reserve the space for 320 kbps
OutputInputRatio = 40000.0 / double(my_OutBytesPerSec * 2);
OutputInputRatio *= 1.15; // allow 15% more*/
DWORD Result;
// Result = DWORD(double(the_SrcLength) * OutputInputRatio);
Result = DWORD(1.25*the_SrcLength + 7200);
my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "Result = %d",Result);
return Result;
}
bool ACMStream::ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader)
{
bool result;
if (my_debug != NULL)
{
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "enter ACMStream::ConvertBuffer");
}
DWORD InSize = a_StreamHeader->cbSrcLength / 2, OutSize = a_StreamHeader->cbDstLength; // 2 for 8<->16 bits
// Encode it
int dwSamples;
int nOutputSamples = 0;
dwSamples = InSize / lame_get_num_channels( gfp );
if ( 1 == lame_get_num_channels( gfp ) )
{
nOutputSamples = lame_encode_buffer(gfp,(PSHORT)a_StreamHeader->pbSrc,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength);
}
else
{
nOutputSamples = lame_encode_buffer_interleaved(gfp,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength);
}
a_StreamHeader->cbSrcLengthUsed = a_StreamHeader->cbSrcLength;
a_StreamHeader->cbDstLengthUsed = nOutputSamples;
result = a_StreamHeader->cbDstLengthUsed <= a_StreamHeader->cbDstLength;
my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "UsedSize = %d / EncodedSize = %d, result = %d (%d <= %d)", InSize, OutSize, result, a_StreamHeader->cbDstLengthUsed, a_StreamHeader->cbDstLength);
if (my_debug != NULL)
{
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "ACMStream::ConvertBuffer result = %d (0x%02X 0x%02X)",result,a_StreamHeader->pbDst[0],a_StreamHeader->pbDst[1]);
}
return result;
}
/* map frequency to a valid MP3 sample frequency
*
* Robert Hegemann 2000-07-01
*/
static int
map2MP3Frequency(int freq)
{
if (freq <= 8000)
return 8000;
if (freq <= 11025)
return 11025;
if (freq <= 12000)
return 12000;
if (freq <= 16000)
return 16000;
if (freq <= 22050)
return 22050;
if (freq <= 24000)
return 24000;
if (freq <= 32000)
return 32000;
if (freq <= 44100)
return 44100;
return 48000;
}
unsigned int ACMStream::GetOutputSampleRate(int samples_per_sec, int bitrate, int channels)
{
if (bitrate==0)
bitrate = (64000*channels)/8;
/// \todo pass through the same LAME routine
unsigned int OutputFrequency;
double compression_ratio = double(samples_per_sec * 16 * channels / (bitrate * 8));
if (compression_ratio > 13.)
OutputFrequency = map2MP3Frequency( (10. * bitrate * 8) / (16 * channels));
else
OutputFrequency = map2MP3Frequency( 0.97 * samples_per_sec );
return OutputFrequency;
}

85
node_modules/lame/deps/lame/ACM/ACMStream.h generated vendored Normal file
View File

@ -0,0 +1,85 @@
/**
*
* Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
*
* Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*!
\author Steve Lhomme
\version \$Id: ACMStream.h,v 1.5 2006/12/25 21:37:34 robert Exp $
*/
#if !defined(_ACMSTREAM_H__INCLUDED_)
#define _ACMSTREAM_H__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <mmreg.h>
#include <msacm.h>
#include <msacmdrv.h>
#include "ADbg/ADbg.h"
#include "AEncodeProperties.h"
typedef enum vbr_mode_e vbr_mode;
typedef struct lame_global_struct lame_global_flags;
class ACMStream
{
public:
ACMStream( );
virtual ~ACMStream( );
static ACMStream * Create();
static const bool Erase(const ACMStream * a_ACMStream);
bool init(const int nSamplesPerSec, const int nOutputSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const vbr_mode mode);
bool open(const AEncodeProperties & the_Properties);
bool close(LPBYTE pOutputBuffer, DWORD *pOutputSize);
DWORD GetOutputSizeForInput(const DWORD the_SrcLength) const;
bool ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader);
static unsigned int GetOutputSampleRate(int samples_per_sec, int bitrate, int channels);
protected:
lame_global_flags * gfp;
ADbg * my_debug;
int my_SamplesPerSec;
int my_Channels;
int my_AvgBytesPerSec;
int my_OutBytesPerSec;
vbr_mode my_VBRMode;
DWORD my_SamplesPerBlock;
unsigned int m_WorkingBufferUseSize;
char m_WorkingBuffer[2304*2]; // should be at least twice my_SamplesPerBlock
inline int GetBytesPerBlock(DWORD bytes_per_sec, DWORD samples_per_sec, int BlockAlign) const;
};
#endif // !defined(_ACMSTREAM_H__INCLUDED_)

181
node_modules/lame/deps/lame/ACM/ADbg/ADbg.cpp generated vendored Normal file
View File

@ -0,0 +1,181 @@
/************************************************************************
Project : C++ debugging class
File version : 0.4
BSD License post 1999 :
Copyright (c) 2001, Steve Lhomme
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
- The name of the author may not be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
************************************************************************/
#include <stdio.h>
#include <stdarg.h>
#include <windows.h>
#include "ADbg.h"
#if !defined(NDEBUG)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
ADbg::ADbg(int level)
:my_level(level)
,my_time_included(false)
,my_use_file(false)
,my_debug_output(true)
,hFile(NULL)
{
prefix[0] = '\0';
OutPut(-1,"ADbg Creation at debug level = %d (0x%08X)",my_level,this);
}
ADbg::~ADbg()
{
unsetDebugFile();
OutPut(-1,"ADbg Deletion (0x%08X)",this);
}
inline int ADbg::_OutPut(const char * format,va_list params) const
{
int result;
char tst[1000];
char myformat[256];
if (my_time_included) {
SYSTEMTIME time;
GetSystemTime(&time);
if (prefix[0] == '\0')
wsprintf(myformat,"%04d/%02d/%02d %02d:%02d:%02d.%03d UTC : %s\r\n",
time.wYear,
time.wMonth,
time.wDay,
time.wHour,
time.wMinute,
time.wSecond,
time.wMilliseconds,
format);
else
wsprintf(myformat,"%04d/%02d/%02d %02d:%02d:%02d.%03d UTC : %s - %s\r\n",
time.wYear,
time.wMonth,
time.wDay,
time.wHour,
time.wMinute,
time.wSecond,
time.wMilliseconds,
prefix,
format);
} else {
if (prefix[0] == '\0')
wsprintf( myformat, "%s\r\n", format);
else
wsprintf( myformat, "%s - %s\r\n", prefix, format);
}
result = vsprintf(tst,myformat,params);
if (my_debug_output)
OutputDebugString(tst);
if (my_use_file && (hFile != NULL)) {
SetFilePointer( hFile, 0, 0, FILE_END );
DWORD written;
WriteFile( hFile, tst, lstrlen(tst), &written, NULL );
}
return result;
}
int ADbg::OutPut(int forLevel, const char * format,...) const
{
int result=0;
if (forLevel >= my_level) {
va_list tstlist;
int result;
va_start(tstlist, format);
result = _OutPut(format,tstlist);
}
return result;
}
int ADbg::OutPut(const char * format,...) const
{
va_list tstlist;
va_start(tstlist, format);
return _OutPut(format,tstlist);
}
bool ADbg::setDebugFile(const char * NewFilename) {
bool result;
result = unsetDebugFile();
if (result) {
result = false;
hFile = CreateFile(NewFilename, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL );
if (hFile != INVALID_HANDLE_VALUE) {
SetFilePointer( hFile, 0, 0, FILE_END );
result = true;
OutPut(-1,"Debug file Opening succeeded");
}
else
OutPut(-1,"Debug file %s Opening failed",NewFilename);
}
return result;
}
bool ADbg::unsetDebugFile() {
bool result = (hFile == NULL);
if (hFile != NULL) {
result = (CloseHandle(hFile) != 0);
if (result) {
OutPut(-1,"Debug file Closing succeeded");
hFile = NULL;
}
}
return result;
}
#endif // !defined(NDEBUG)

133
node_modules/lame/deps/lame/ACM/ADbg/ADbg.h generated vendored Normal file
View File

@ -0,0 +1,133 @@
/************************************************************************
Project : C++ debugging class
File version : 0.4
BSD License post 1999 :
Copyright (c) 2001, Steve Lhomme
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
- The name of the author may not be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
************************************************************************/
#if !defined(_DBG_H__INCLUDED_)
#define _DBG_H__INCLUDED_
#include <windows.h>
static const int MAX_PREFIX_LENGTH = 128;
#if !defined(NDEBUG)
// define the working debugging class
class ADbg
{
public:
ADbg(int level = 0);
virtual ~ADbg();
/// \todo make an inline function to test the level first and the process
int OutPut(int level, const char * format,...) const;
int OutPut(const char * format,...) const;
inline int setLevel(const int level) {
return my_level = level;
}
inline bool setIncludeTime(const bool included = true) {
return my_time_included = included;
}
bool setDebugFile(const char * NewFilename);
bool unsetDebugFile();
inline bool setUseFile(const bool usefile = true) {
return my_use_file = usefile;
}
inline const char * setPrefix(const char * string) {
return strncpy(prefix, string, MAX_PREFIX_LENGTH);
}
private:
int my_level;
bool my_time_included;
bool my_use_file;
bool my_debug_output;
int _OutPut(const char * format,va_list params) const;
char prefix[MAX_PREFIX_LENGTH];
HANDLE hFile;
};
#else // !defined(NDEBUG)
// define a class that does nothing (no output)
class ADbg
{
public:
ADbg(int level = 0){}
virtual ~ADbg() {}
inline int OutPut(int level, const char * format,...) const {
return 0;
}
inline int OutPut(const char * format,...) const {
return 0;
}
inline int setLevel(const int level) {
return level;
}
inline bool setIncludeTime(const bool included = true) {
return true;
}
inline bool setDebugFile(const char * NewFilename) {
return true;
}
inline bool unsetDebugFile() {
return true;
}
inline bool setUseFile(const bool usefile = true) {
return true;
}
inline const char * setPrefix(const char * string) {
return string;
}
};
#endif // !defined(NDEBUG)
#endif // !defined(_DBG_H__INCLUDED_)

8
node_modules/lame/deps/lame/ACM/ADbg/Makefile.am generated vendored Normal file
View File

@ -0,0 +1,8 @@
## $Id: Makefile.am,v 1.3 2008/11/09 13:50:16 aleidinger Exp $
include $(top_srcdir)/Makefile.am.global
EXTRA_DIST = \
ADbg.cpp \
ADbg.h

389
node_modules/lame/deps/lame/ACM/ADbg/Makefile.in generated vendored Normal file
View File

@ -0,0 +1,389 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# global section for every Makefile.am
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/Makefile.am.global
subdir = ACM/ADbg
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONFIG_DEFS = @CONFIG_DEFS@
CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPUCCODE = @CPUCCODE@
CPUTYPE = @CPUTYPE@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
FRONTEND_LDADD = @FRONTEND_LDADD@
FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_CONFIG = @GTK_CONFIG@
GTK_LIBS = @GTK_LIBS@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDADD = @LDADD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEDEP = @MAKEDEP@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NASM = @NASM@
NASM_FORMAT = @NASM_FORMAT@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RM_F = @RM_F@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
SNDFILE_LIBS = @SNDFILE_LIBS@
STRIP = @STRIP@
U = @U@
VERSION = @VERSION@
WITH_FRONTEND = @WITH_FRONTEND@
WITH_MP3RTP = @WITH_MP3RTP@
WITH_MP3X = @WITH_MP3X@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.11 foreign $(top_srcdir)/ansi2knr
EXTRA_DIST = \
ADbg.cpp \
ADbg.h
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ACM/ADbg/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign ACM/ADbg/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
# end global section
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

2027
node_modules/lame/deps/lame/ACM/AEncodeProperties.cpp generated vendored Normal file

File diff suppressed because it is too large Load Diff

448
node_modules/lame/deps/lame/ACM/AEncodeProperties.h generated vendored Normal file
View File

@ -0,0 +1,448 @@
/**
*
* Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
*
* Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*!
\author Steve Lhomme
\version \$Id: AEncodeProperties.h,v 1.5 2002/04/07 13:31:35 robux4 Exp $
*/
#if !defined(_AENCODEPROPERTIES_H__INCLUDED_)
#define _AENCODEPROPERTIES_H__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <windows.h>
#include <string>
#include "ADbg/ADbg.h"
//#include "BladeMP3EncDLL.h"
#include "tinyxml/tinyxml.h"
//#include "AParameters/AParameters.h"
typedef const struct {
UINT id;
const char *tip;
} ToolTipItem;
/**
\class AEncodeProperties
\brief the AEncodeProperties class is responsible for handling all the encoding properties
*/
class AEncodeProperties
{
public:
/**
\brief default constructor
\param the windows module with which you can retrieve many informations
*/
AEncodeProperties(HMODULE hModule);
/**
\brief default destructor
*/
virtual ~AEncodeProperties() {}
/**
\enum BRMode
\brief A bitrate mode (CBR, VBR, ABR)
*/
enum BRMode { BR_CBR, BR_VBR, BR_ABR };
/**
\brief Handle all the commands that occur in the Config dialog box
*/
bool HandleDialogCommand(const HWND parentWnd, const WPARAM wParam, const LPARAM lParam);
/**
\brief check wether 2 instances are equal, ie have the same encoding parameters
*/
bool operator != (const AEncodeProperties & the_instance) const;
/**
\brief Check wether the Encode process should use the Copyright bit
*/
inline const bool GetCopyrightMode() const { return bCopyright; }
/**
\brief Check wether the Encode process should use the CRC bit
*/
inline const bool GetCRCMode() const { return bCRC; }
/**
\brief Check wether the Encode process should use the Original bit
*/
inline const bool GetOriginalMode() const { return bOriginal; }
/**
\brief Check wether the Encode process should use the Private bit
*/
inline const bool GetPrivateMode() const { return bPrivate; }
/**
\brief Check wether the Encode process should use the Smart Bitrate output
*/
inline const bool GetSmartOutputMode() const { return bSmartOutput; }
/**
\brief Check wether the Encode process should allow Average Bitrate output
*/
inline const bool GetAbrOutputMode() const { return bAbrOutput; }
/**
\brief Check wether the Encode process shouldn't use the Bit Reservoir
*/
inline const bool GetNoBiResMode() const { return bNoBitRes; }
/**
\brief Check wether the Encode process should force the channel mode (stereo or mono resampling)
*/
inline const bool GetForceChannelMode() const { return bForceChannel; }
/**
\brief Check wether the Encode process should use the VBR mode
*/
inline const BRMode GetVBRUseMode() const { return mBRmode; }
/**
\brief Check wether the Encode process should use the Xing frame in the VBR mode
\note the Xing frame is a silent frame at the beginning that contain VBR statistics about the file.
*/
inline const bool GetXingFrameMode() const { return bXingFrame; }
/**
\brief Check wether the Encode process should resample before encoding
*/
inline const bool GetResampleMode() const { return bResample; }
/**
\brief Set wether the Encode process should use the Copyright bit
*/
inline void SetCopyrightMode(const bool bMode) { bCopyright = bMode; }
/**
\brief Set wether the Encode process should use the CRC bit
*/
inline void SetCRCMode(const bool bMode) { bCRC = bMode; }
/**
\brief Set wether the Encode process should use the Original bit
*/
inline void SetOriginalMode(const bool bMode) { bOriginal = bMode; }
/**
\brief Set wether the Encode process should use the Private bit
*/
inline void SetPrivateMode(const bool bMode) { bPrivate = bMode; }
/**
\brief Set wether the Encode process should use the Smart Bitrate output
*/
inline void SetSmartOutputMode(const bool bMode) { bSmartOutput = bMode; }
/**
\brief Set wether the Encode process should use the Average Bitrate output
*/
inline void SetAbrOutputMode(const bool bMode) { bAbrOutput = bMode; }
/**
\brief Set wether the Encode process shouldn't use the Bit Reservoir
*/
inline void SetNoBiResMode(const bool bMode) { bNoBitRes = bMode; }
/**
\brief Set wether the Encode process should force the channel mode (stereo or mono resampling)
*/
inline void SetForceChannelMode(const bool bMode) { bForceChannel = bMode; }
/**
\brief Set wether the Encode process should use the VBR mode
*/
inline void SetVBRUseMode(const BRMode mode) { mBRmode = mode; }
/**
\brief Set wether the Encode process should use the Xing frame in the VBR mode
\note the Xing frame is a silent frame at the beginning that contain VBR statistics about the file.
*/
inline void SetXingFrameMode(const bool bMode) { bXingFrame = bMode; }
/**
\brief CBR : Get the bitrate to use /
VBR : Get the minimum bitrate value
*/
const unsigned int GetBitrateValue() const;
/**
\brief Get the current (VBR:min) bitrate for the specified MPEG version
\param bitrate the data that will be filled with the bitrate
\param MPEG_Version The MPEG version (MPEG1 or MPEG2)
\return 0 if the bitrate is not found, 1 if the bitrate is found
*/
const int GetBitrateValue(DWORD & bitrate, const DWORD MPEG_Version) const;
/**
\brief Get the current (VBR:min) bitrate for MPEG I
\param bitrate the data that will be filled with the bitrate
\return 0 if the bitrate is not found, 1 if the bitrate is found
*/
const int GetBitrateValueMPEG1(DWORD & bitrate) const;
/**
\brief Get the current (VBR:min) bitrate for MPEG II
\param bitrate the data that will be filled with the bitrate
\return 0 if the bitrate is not found, 1 if the bitrate is found
*/
const int GetBitrateValueMPEG2(DWORD & bitrate) const;
/**
\brief Get the current (VBR:min) bitrate in the form of a string
\param string the string that will be filled
\param string_size the size of the string
\return -1 if the bitrate is not found, and the number of char copied otherwise
*/
inline const int GetBitrateString(char * string, int string_size) const {return GetBitrateString(string,string_size,nMinBitrateIndex); }
/**
\brief Get the (VBR:min) bitrate corresponding to the specified index in the form of a string
\param string the string that will be filled
\param string_size the size of the string
\param a_bitrateID the index in the Bitrate table
\return -1 if the bitrate is not found, and the number of char copied otherwise
*/
const int GetBitrateString(char * string, int string_size, int a_bitrateID) const;
/**
\brief Get the number of possible bitrates
*/
inline const int GetBitrateLentgh() const { return sizeof(the_Bitrates) / sizeof(unsigned int); }
/**
\brief Get the number of possible sampling frequencies
*/
inline const unsigned int GetResampleFreq() const { return the_SamplingFreqs[nSamplingFreqIndex]; }
/**
\brief Get the max compression ratio allowed (1:15 default)
*/
inline double GetSmartRatio() const { return SmartRatioMax;}
/**
\brief Get the min ABR bitrate possible
*/
inline unsigned int GetAbrBitrateMin() const { return AverageBitrate_Min;}
/**
\brief Get the max ABR bitrate possible
*/
inline unsigned int GetAbrBitrateMax() const { return AverageBitrate_Max;}
/**
\brief Get the step between ABR bitrates
*/
inline unsigned int GetAbrBitrateStep() const { return AverageBitrate_Step;}
/**
\brief Get the VBR attributes for a specified MPEG version
\param MaxBitrate receive the maximum bitrate possible in the VBR mode
\param Quality receive the quality value (0 to 9 see Lame doc for more info)
\param VBRHeader receive the value that indicates wether the VBR/Xing header should be filled
\param MPEG_Version The MPEG version (MPEG1 or MPEG2)
\return the VBR mode (Old, New, ABR, MTRH, Default or None)
*/
// VBRMETHOD GetVBRValue(DWORD & MaxBitrate, int & Quality, DWORD & AbrBitrate, BOOL & VBRHeader, const DWORD MPEG_Version) const;
/**
\brief Get the Lame DLL Location
*/
// const char * GetDllLocation() const { return DllLocation.c_str(); }
/**
\brief Set the Lame DLL Location
*/
// void SetDllLocation( const char * the_string ) { DllLocation = the_string; }
/**
\brief Get the output directory for encoding
*/
// const char * GetOutputDirectory() const { return OutputDir.c_str(); }
/**
\brief Set the output directory for encoding
*/
// void SetOutputDirectory( const char * the_string ) { OutputDir = the_string; }
/**
\brief Get the current channel mode to use
*/
const unsigned int GetChannelModeValue() const;
/**
\brief Get the current channel mode in the form of a string
*/
inline const char * GetChannelModeString() const {return GetChannelModeString(nChannelIndex); }
/**
\brief Get the channel mode in the form of a string for the specified Channel mode index
\param a_channelID the Channel mode index (see GetChannelLentgh())
*/
const char * GetChannelModeString(const int a_channelID) const;
/**
\brief Get the number of possible channel mode
*/
inline const int GetChannelLentgh() const { return 3; }
/**
\brief Get the current preset to use, see lame documentation/code for more info on the possible presets
*/
// const LAME_QUALTIY_PRESET GetPresetModeValue() const;
/**
\brief Get the preset in the form of a string for the specified Channel mode index
\param a_presetID the preset index (see GetPresetLentgh())
*/
const char * GetPresetModeString(const int a_presetID) const;
/**
\brief Get the number of possible presets
*/
// inline const int GetPresetLentgh() const { return sizeof(the_Presets) / sizeof(LAME_QUALTIY_PRESET); }
/**
\brief Start the user configuration process (called by AOut::config())
*/
bool Config(const HINSTANCE hInstance, const HWND HwndParent);
/**
\brief Init the config dialog box with the right texts and choices
*/
bool InitConfigDlg(HWND hDialog);
/**
\brief Update the instance parameters from the config dialog box
*/
bool UpdateValueFromDlg(HWND hDialog);
/**
\brief Update the config dialog box from the instance parameters
*/
bool UpdateDlgFromValue(HWND hDialog);
/**
\brief Update the config dialog box with the BitRate mode
*/
static void DisplayVbrOptions(const HWND hDialog, const BRMode the_mode);
/**
\brief Handle the saving of parameters when something has changed in the config dialog box
*/
void SaveParams(const HWND hDialog);
/**
\brief Save the current parameters (current config in use)
*/
void ParamsSave(void);
/**
\brief Load the parameters (current config in use)
*/
void ParamsRestore(void);
/**
\brief Select the specified config name as the new default one
*/
void SelectSavedParams(const std::string config_name);
/**
\brief Save the current parameters to the specified config name
*/
void SaveValuesToStringKey(const std::string & config_name);
/**
\brief Rename the current config name to something else
*/
bool RenameCurrentTo(const std::string & new_config_name);
/**
\brief Delete the config name from the saved configs
*/
bool DeleteConfig(const std::string & config_name);
ADbg my_debug;
/**
\brief Update the slides value (on scroll)
*/
void UpdateDlgFromSlides(HWND parent_window) const;
static ToolTipItem Tooltips[13];
private:
bool bCopyright;
bool bCRC;
bool bOriginal;
bool bPrivate;
bool bNoBitRes;
BRMode mBRmode;
bool bXingFrame;
bool bForceChannel;
bool bResample;
bool bSmartOutput;
bool bAbrOutput;
int VbrQuality;
unsigned int AverageBitrate_Min;
unsigned int AverageBitrate_Max;
unsigned int AverageBitrate_Step;
double SmartRatioMax;
static const unsigned int the_ChannelModes[3];
int nChannelIndex;
static const unsigned int the_Bitrates[18];
static const unsigned int the_MPEG1_Bitrates[14];
static const unsigned int the_MPEG2_Bitrates[14];
int nMinBitrateIndex; // CBR and VBR
int nMaxBitrateIndex; // only used in VBR mode
static const unsigned int the_SamplingFreqs[9];
int nSamplingFreqIndex;
// static const LAME_QUALTIY_PRESET the_Presets[17];
int nPresetIndex;
// char DllLocation[512];
// std::string DllLocation;
// char OutputDir[MAX_PATH];
// std::string OutputDir;
// AParameters my_base_parameters;
TiXmlDocument my_stored_data;
std::string my_store_location;
std::string my_current_config;
// HINSTANCE hDllInstance;
void SaveValuesToElement(TiXmlElement * the_element) const;
inline void SetAttributeBool(TiXmlElement * the_elt,const std::string & the_string, const bool the_value) const;
void UpdateConfigs(const HWND HwndDlg);
void EnableAbrOptions(HWND hDialog, bool enable);
HMODULE my_hModule;
/**
\brief
\param config_name
\param parentNode
*/
void GetValuesFromKey(const std::string & config_name, const TiXmlNode & parentNode);
};
#endif // !defined(_AENCODEPROPERTIES_H__INCLUDED_)

242
node_modules/lame/deps/lame/ACM/DecodeStream.cpp generated vendored Normal file
View File

@ -0,0 +1,242 @@
/**
*
* Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
*
* Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*!
\author Steve Lhomme
\version \$Id: DecodeStream.cpp,v 1.3 2002/01/25 17:51:42 robux4 Exp $
*/
#if !defined(STRICT)
#define STRICT
#endif // STRICT
#include <assert.h>
#include <windows.h>
#ifdef ENABLE_DECODING
#include "adebug.h"
#include "DecodeStream.h"
// static methods
DecodeStream * DecodeStream::Create()
{
DecodeStream * Result;
Result = new DecodeStream;
return Result;
}
const bool DecodeStream::Erase(const DecodeStream * a_ACMStream)
{
delete a_ACMStream;
return true;
}
// class methods
DecodeStream::DecodeStream() :
m_WorkingBufferUseSize(0),
gfp(NULL)
{
/// \todo get the debug level from the registry
my_debug = new ADbg(DEBUG_LEVEL_CREATION);
if (my_debug != NULL) {
unsigned char DebugFileName[512];
my_debug->setPrefix("MPG123stream"); /// \todo get it from the registry
my_debug->setIncludeTime(true); /// \todo get it from the registry
// Check in the registry if we have to Output Debug information
DebugFileName[0] = '\0';
HKEY OssKey;
if (RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\MUKOLI", 0, KEY_READ , &OssKey ) == ERROR_SUCCESS) {
DWORD DataType;
DWORD DebugFileNameSize = 512;
if (RegQueryValueEx( OssKey, "DebugFile", NULL, &DataType, DebugFileName, &DebugFileNameSize ) == ERROR_SUCCESS) {
if (DataType == REG_SZ) {
my_debug->setUseFile(true);
my_debug->setDebugFile((char *)DebugFileName);
my_debug->OutPut("Debug file is %s",(char *)DebugFileName);
}
}
}
my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "DecodeStream Creation (0X%08X)",this);
}
else {
ADbg debug;
debug.OutPut("DecodeStream::ACMACMStream : Impossible to create my_debug");
}
}
DecodeStream::~DecodeStream()
{
// lame_close( gfp );
if (my_debug != NULL)
{
my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "DecodeStream Deletion (0X%08X)",this);
delete my_debug;
}
}
bool DecodeStream::init(const int nSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const int nSourceBitrate)
{
bool bResult = false;
my_SamplesPerSec = nSamplesPerSec;
my_Channels = nChannels;
my_AvgBytesPerSec = nAvgBytesPerSec;
my_SourceBitrate = nSourceBitrate;
bResult = true;
return bResult;
}
bool DecodeStream::open()
{
bool bResult = false;
bResult = bool(InitMP3(&my_DecodeData) != 0);
return bResult;
}
bool DecodeStream::close(LPBYTE pOutputBuffer, DWORD *pOutputSize)
{
bool bResult = false;
/*
int nOutputSamples = 0;
nOutputSamples = lame_encode_flush( gfp, pOutputBuffer, 0 );
if ( nOutputSamples < 0 )
{
// BUFFER_TOO_SMALL
*pOutputSize = 0;
}
else
{
*pOutputSize = nOutputSamples;
bResult = true;
}
/*
// lame will be close in VbrWriteTag function
if ( !lame_get_bWriteVbrTag( gfp ) )
{
// clean up of allocated memory
lame_close( gfp );
}
*/
ExitMP3(&my_DecodeData);
bResult = true;
return bResult;
}
DWORD DecodeStream::GetOutputSizeForInput(const DWORD the_SrcLength) const
{
DWORD Result;
double OutputInputRatio = double(my_SamplesPerSec * 2 * my_Channels) / double(my_SourceBitrate);
OutputInputRatio *= 1.15; // allow 15% more
Result = DWORD(double(the_SrcLength) * OutputInputRatio);
my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "Result = %d (OutputInputRatio = %f)",Result,OutputInputRatio);
return Result;
}
bool DecodeStream::ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader)
{
bool result = false;
if (my_debug != NULL)
{
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "enter DecodeStream::ConvertBuffer");
}
int ProcessedBytes;
int ret = decodeMP3(&my_DecodeData, a_StreamHeader->pbSrc, a_StreamHeader->cbSrcLength, (char *)a_StreamHeader->pbDst, a_StreamHeader->cbDstLength, &ProcessedBytes);
switch (ret)
{
case MP3_OK:
a_StreamHeader->cbSrcLengthUsed = a_StreamHeader->cbSrcLength;
a_StreamHeader->cbDstLengthUsed = ProcessedBytes;
result = true;
break;
case MP3_NEED_MORE:
a_StreamHeader->cbSrcLengthUsed = 0;
a_StreamHeader->cbDstLengthUsed = 0;
break;
case MP3_ERR:
break;
}
/*
DWORD InSize = a_StreamHeader->cbSrcLength / 2, OutSize = a_StreamHeader->cbDstLength; // 2 for 8<->16 bits
// Encode it
int dwSamples;
int nOutputSamples = 0;
dwSamples = InSize / lame_get_num_channels( gfp );
if ( 1 == lame_get_num_channels( gfp ) )
{
nOutputSamples = lame_encode_buffer(gfp,(PSHORT)a_StreamHeader->pbSrc,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength);
}
else
{
nOutputSamples = lame_encode_buffer_interleaved(gfp,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength);
}
a_StreamHeader->cbSrcLengthUsed = a_StreamHeader->cbSrcLength;
a_StreamHeader->cbDstLengthUsed = nOutputSamples;
result = a_StreamHeader->cbDstLengthUsed <= a_StreamHeader->cbDstLength;
*/
my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "UsedSize = %d / EncodedSize = %d, result = %d, ret = %s", a_StreamHeader->cbSrcLengthUsed, a_StreamHeader->cbDstLengthUsed, result,
(ret == MP3_OK)?"MP3_OK":(ret == MP3_NEED_MORE)?"MP3_NEED_MORE":"error");
if (my_debug != NULL)
{
my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "DecodeStream::ConvertBuffer result = %d",result);
}
return result;
}
#endif // ENABLE_DECODING

83
node_modules/lame/deps/lame/ACM/DecodeStream.h generated vendored Normal file
View File

@ -0,0 +1,83 @@
/**
*
* Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
*
* Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*!
\author Steve Lhomme
\version \$Id: DecodeStream.h,v 1.2 2006/12/25 21:37:34 robert Exp $
*/
#if !defined(_DECODESTREAM_H__INCLUDED_)
#define _DECODESTREAM_H__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <mmreg.h>
#include <msacm.h>
#include <msacmdrv.h>
#include "ADbg/ADbg.h"
struct lame_global_flags;
class DecodeStream
{
public:
DecodeStream( );
virtual ~DecodeStream( );
static DecodeStream * Create();
static const bool Erase(const DecodeStream * a_ACMStream);
bool init(const int nSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const int nSourceBitrate);
bool open();
bool close(LPBYTE pOutputBuffer, DWORD *pOutputSize);
DWORD GetOutputSizeForInput(const DWORD the_SrcLength) const;
bool ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader);
static unsigned int GetOutputSampleRate(int samples_per_sec, int bitrate, int channels);
protected:
lame_global_flags * gfp;
ADbg * my_debug;
int my_SamplesPerSec;
int my_Channels;
int my_AvgBytesPerSec;
DWORD my_SamplesPerBlock;
int my_SourceBitrate;
MPSTR my_DecodeData;
unsigned int m_WorkingBufferUseSize;
char m_WorkingBuffer[2304*2]; // should be at least twice my_SamplesPerBlock
inline int GetBytesPerBlock(DWORD bytes_per_sec, DWORD samples_per_sec, int BlockAlign) const;
};
#endif // !defined(_DECODESTREAM_H__INCLUDED_)

91
node_modules/lame/deps/lame/ACM/LameACM.inf generated vendored Normal file
View File

@ -0,0 +1,91 @@
; Lame codec
; enable MP3 compression in Windows
; Usage : right-click on this file and choose "Install" in the pop up menu
[Version]
Signature = "$CHICAGO$"
Class = MEDIA
[SourceDisksNames]
1="Lame MP3 Install Disk",, 0001
[SourceDisksFiles]
LameACM.inf=1
LameACM.acm=1
lame_acm.xml=1
[Installable.Drivers]
lameacm = 1:LameACM.acm, "msacm.lameacm", %DisplayNameWin% , , ,
[DefaultInstall]
CopyFiles = LameACM.Copy,LameACM.Copy.Inf
Updateinis = LameACM.Updateini
;addreg = LameACM.AddReg,LameACM.AddReg9x,LameACM.DoReg
addreg = LameACM.AddReg,LameACM.AddReg9x
MediaType = SOFTWARE
[DefaultInstall.ntx86]
CopyFiles = LameACM.Copy,LameACM.Copy.Inf
;addreg = LameACM.AddReg,LameACM.AddRegNT,LameACM.DoReg
addreg = LameACM.AddReg,LameACM.AddRegNT
MediaType = SOFTWARE
[Remove_LameMP3]
;AddReg = LameACM.Unregister
DelReg = LameACM.DelReg
DelFiles = LameACM.Copy,LameACM.Copy.Inf
UpdateInis = LameACM.UpdateIni
[LameACM.Copy]
LameACM.acm
lame_acm.xml
[LameACM.Copy.Inf]
LameACM.inf
[LameACM.UpdateIni]
system.ini, drivers32,,"msacm.lameacm=LameACM.acm"
[LameACM.AddReg]
HKLM, "Software\Microsoft\Windows NT\CurrentVersion\Drivers32","msacm.lameacm",,"LameACM.acm"
HKLM, "Software\Microsoft\Windows NT\CurrentVersion\Drivers.desc","LameACM.acm",,%DisplayNameWin%
[LameACM.AddReg9x]
HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm,Description,,%DisplayNameWin%
HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm,Driver,,LameACM.acm
HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm,FriendlyName,,%DisplayNameWin%
HKLM,%UnInstallPath%,DisplayName,,%DisplayNameWin%
HKLM,%UnInstallPath%,UninstallString,,"%10%\rundll.exe setupx.dll,InstallHinfSection Remove_LameMP3 132 %17%\%InfFile%"
[LameACM.AddRegNT]
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers32","msacm.lameacm",,"LameACM.acm"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc","LameACM.acm",,%DisplayNameWin%
HKLM,%UnInstallPath%,DisplayName,,%DisplayNameWin%
HKLM,%UnInstallPath%,UninstallString,,"%11%\rundll32.exe setupapi,InstallHinfSection Remove_LameMP3 132 %17%\%InfFile%"
;[LameACM.DoReg]
;HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,"Lame ACM MP3 Codec",,"%11%\regsvr32.exe /s %11%\LameCom.acm"
[LameACM.DelReg]
HKLM,"SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc","LameACM.acm",,""
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers32","msacm.lameacm",,""
HKLM,%UnInstallPath%
;[LameACM.Unregister]
;HKLM,"Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup","Lame ACM MP3 Codec",,"%11%\regsvr32.exe /s /u %11%\LameCom.acm"
[DestinationDirs]
DefaultDestDir = 11 ; LDID_SYS
LameACM.Copy = 11
LameACM.Copy.Inf = 17
[Strings]
InfFile="LameACM.inf"
DisplayNameWin="Lame ACM MP3 Codec"
UnInstallPath="Software\Microsoft\Windows\CurrentVersion\Uninstall\LameACM"
MediaClassName="Media Devices"
mfgname="Steve Lhomme"

26
node_modules/lame/deps/lame/ACM/Makefile.am generated vendored Normal file
View File

@ -0,0 +1,26 @@
## $Id: Makefile.am,v 1.7 2008/11/09 13:50:16 aleidinger Exp $
include $(top_srcdir)/Makefile.am.global
SUBDIRS = ADbg ddk tinyxml
EXTRA_DIST = \
ACM.cpp \
ACM.h \
ACMStream.cpp \
ACMStream.h \
AEncodeProperties.cpp \
AEncodeProperties.h \
DecodeStream.cpp \
DecodeStream.h \
LameACM.inf \
TODO \
acm.rc \
adebug.h \
lame.ico \
lameACM.def \
lame_acm.xml \
main.cpp \
readme.txt \
resource.h

608
node_modules/lame/deps/lame/ACM/Makefile.in generated vendored Normal file
View File

@ -0,0 +1,608 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# global section for every Makefile.am
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/Makefile.am.global TODO
subdir = ACM
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
install-html-recursive install-info-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONFIG_DEFS = @CONFIG_DEFS@
CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPUCCODE = @CPUCCODE@
CPUTYPE = @CPUTYPE@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
FRONTEND_LDADD = @FRONTEND_LDADD@
FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_CONFIG = @GTK_CONFIG@
GTK_LIBS = @GTK_LIBS@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDADD = @LDADD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEDEP = @MAKEDEP@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NASM = @NASM@
NASM_FORMAT = @NASM_FORMAT@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RM_F = @RM_F@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
SNDFILE_LIBS = @SNDFILE_LIBS@
STRIP = @STRIP@
U = @U@
VERSION = @VERSION@
WITH_FRONTEND = @WITH_FRONTEND@
WITH_MP3RTP = @WITH_MP3RTP@
WITH_MP3X = @WITH_MP3X@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.11 foreign $(top_srcdir)/ansi2knr
SUBDIRS = ADbg ddk tinyxml
EXTRA_DIST = \
ACM.cpp \
ACM.h \
ACMStream.cpp \
ACMStream.h \
AEncodeProperties.cpp \
AEncodeProperties.h \
DecodeStream.cpp \
DecodeStream.h \
LameACM.inf \
TODO \
acm.rc \
adebug.h \
lame.ico \
lameACM.def \
lame_acm.xml \
main.cpp \
readme.txt \
resource.h
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ACM/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign ACM/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
ctags ctags-recursive distclean distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
# end global section
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

9
node_modules/lame/deps/lame/ACM/TODO generated vendored Normal file
View File

@ -0,0 +1,9 @@
- known bug : when recording, converting, and recording a lame_close() call fail
- allow decompression the same way as in the command-line
- allow VBR mode
- allow channel resampling (mono to stereo / stereo to mono)
- allow internal resampling (difference in the format suggestion)
- use global pointers for string
- use the bitrate/freq tables from LAME
/ add the decoding engine

219
node_modules/lame/deps/lame/ACM/acm.rc generated vendored Normal file
View File

@ -0,0 +1,219 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// Franz<6E>sisch (Frankreich) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
#ifdef _WIN32
LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,9,1,0
PRODUCTVERSION 0,9,1,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x3L
FILESUBTYPE 0x8L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "This is an ACM driver for Win32 using Lame to encode\0"
VALUE "CompanyName", "http://www.mp3dev.org/\0"
VALUE "FileDescription", "Lame MP3 codec engine\0"
VALUE "FileVersion", "0.9.2\0"
VALUE "InternalName", "lameACM\0"
VALUE "LegalCopyright", "Copyright <20> 2002 Steve Lhomme, Copyright <20> 2002-2007 The LAME Project\0"
VALUE "LegalTrademarks", "LGPL (see gnu.org)\0"
VALUE "OriginalFilename", "lameACM.acm\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "Lame MP3 codec\0"
VALUE "ProductVersion", "0.9.2\0"
VALUE "SpecialBuild", "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON ICON DISCARDABLE "lame.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_CONFIG DIALOGEX 0, 0, 231, 204
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Lame MP3 codec : About"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
DEFPUSHBUTTON "OK",IDOK,65,183,50,14
PUSHBUTTON "Cancel",IDCANCEL,125,183,50,14
GROUPBOX "Encoding",IDC_STATIC,7,7,142,166
GROUPBOX "Decoding",IDC_STATIC_DECODING,154,7,70,113,WS_DISABLED
GROUPBOX "Bits",IDC_STATIC,16,121,124,42
CONTROL "Copyright",IDC_CHECK_COPYRIGHT,"Button",BS_AUTOCHECKBOX |
BS_FLAT | WS_GROUP | WS_TABSTOP,23,132,45,10
CONTROL "Checksum",IDC_CHECK_CHECKSUM,"Button",BS_AUTOCHECKBOX |
BS_FLAT | WS_GROUP | WS_TABSTOP,84,132,49,10
CONTROL "Original",IDC_CHECK_ORIGINAL,"Button",BS_AUTOCHECKBOX |
BS_FLAT | WS_GROUP | WS_TABSTOP,23,148,39,10
CONTROL "Private",IDC_CHECK_PRIVATE,"Button",BS_AUTOCHECKBOX |
BS_FLAT | WS_GROUP | WS_TABSTOP,84,148,38,10
COMBOBOX IDC_COMBO_ENC_STEREO,70,21,60,53,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_GROUP | WS_TABSTOP
LTEXT "Stereo mode",IDC_STATIC,23,24,41,8
CONTROL "Smart Encode",IDC_CHECK_ENC_SMART,"Button",
BS_AUTOCHECKBOX | BS_FLAT | WS_GROUP | WS_TABSTOP,49,39,
61,10
ICON IDI_ICON,IDC_STATIC_ENC_ICON,179,129,20,20
CTEXT "v0.0.0 - 0.00",IDC_STATIC_CONFIG_VERSION,168,155,43,17
CONTROL "Average BitRate",IDC_CHECK_ENC_ABR,"Button",
BS_AUTOCHECKBOX | BS_FLAT | WS_GROUP | WS_TABSTOP,49,53,
68,10
LTEXT "Min",IDC_STATIC_AVERAGE_MIN,19,67,12,8
LTEXT "Max",IDC_STATIC_AVERAGE_MAX,17,79,14,8
LTEXT "Step",IDC_STATIC_AVERAGE_STEP,15,91,16,8
LTEXT "test",IDC_STATIC_AVERAGE_SAMPLE,19,105,12,8
CONTROL "Slider2",IDC_SLIDER_AVERAGE_MIN,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_GROUP |
WS_TABSTOP,33,67,92,11
CONTROL "Slider3",IDC_SLIDER_AVERAGE_MAX,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_GROUP |
WS_TABSTOP,33,79,92,11
CONTROL "Slider1",IDC_SLIDER_AVERAGE_STEP,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_GROUP |
WS_TABSTOP,33,91,92,11
CONTROL "Slider4",IDC_SLIDER_AVERAGE_SAMPLE,"msctls_trackbar32",
WS_TABSTOP,33,104,92,12
CTEXT "000",IDC_STATIC_AVERAGE_SAMPLE_VALUE,125,105,15,9,0,
WS_EX_STATICEDGE
CTEXT "000",IDC_STATIC_AVERAGE_STEP_VALUE,125,92,15,9,0,
WS_EX_STATICEDGE
CTEXT "000",IDC_STATIC_AVERAGE_MAX_VALUE,125,80,15,9,0,
WS_EX_STATICEDGE
CTEXT "000",IDC_STATIC_AVERAGE_MIN_VALUE,125,67,15,9,0,
WS_EX_STATICEDGE
END
IDD_ABOUT DIALOG DISCARDABLE 0, 0, 187, 77
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Lame MP3 codec : About"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,130,56,50,14
LTEXT "Steve Lhomme + LAME developers",IDC_STATIC,7,33,112,8
LTEXT "LGPL license",IDC_STATIC,7,20,43,8
ICON IDI_ICON,IDC_STATIC,145,16,20,20
LTEXT "Static",IDC_STATIC_ABOUT_TITLE,7,7,173,8
LTEXT "http://www.mp3dev.org/",IDC_STATIC_ABOUT_URL,7,47,80,8
LTEXT "icon : Lucas Granito",IDC_STATIC,7,61,64,8
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_CONFIG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 224
TOPMARGIN, 7
BOTTOMMARGIN, 197
END
IDD_ABOUT, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 180
TOPMARGIN, 7
BOTTOMMARGIN, 70
END
END
#endif // APSTUDIO_INVOKED
#endif // Franz<6E>sisch (Frankreich) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

39
node_modules/lame/deps/lame/ACM/adebug.h generated vendored Normal file
View File

@ -0,0 +1,39 @@
/**
*
* Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
*
* Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*!
\author Steve Lhomme
\version \$Id: adebug.h,v 1.2 2002/01/22 19:45:02 robux4 Exp $
*/
#if !defined(_DEBUG_H__INCLUDED_)
#define _DEBUG_H__INCLUDED_
#define DEBUG_LEVEL_CREATION 0
#define DEBUG_LEVEL_MSG 0
#define DEBUG_LEVEL_FUNC_START 1
#define DEBUG_LEVEL_FUNC_DEBUG 2
#define DEBUG_LEVEL_FUNC_CODE 3
#endif /* !defined(_DEBUG_H__INCLUDED_) */

6
node_modules/lame/deps/lame/ACM/ddk/Makefile.am generated vendored Normal file
View File

@ -0,0 +1,6 @@
## $Id: Makefile.am,v 1.1 2003/12/09 15:48:37 aleidinger Exp $
include $(top_srcdir)/Makefile.am.global
EXTRA_DIST = \
msacmdrv.h

388
node_modules/lame/deps/lame/ACM/ddk/Makefile.in generated vendored Normal file
View File

@ -0,0 +1,388 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# global section for every Makefile.am
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/Makefile.am.global
subdir = ACM/ddk
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONFIG_DEFS = @CONFIG_DEFS@
CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPUCCODE = @CPUCCODE@
CPUTYPE = @CPUTYPE@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
FRONTEND_LDADD = @FRONTEND_LDADD@
FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_CONFIG = @GTK_CONFIG@
GTK_LIBS = @GTK_LIBS@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDADD = @LDADD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEDEP = @MAKEDEP@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NASM = @NASM@
NASM_FORMAT = @NASM_FORMAT@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RM_F = @RM_F@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
SNDFILE_LIBS = @SNDFILE_LIBS@
STRIP = @STRIP@
U = @U@
VERSION = @VERSION@
WITH_FRONTEND = @WITH_FRONTEND@
WITH_MP3RTP = @WITH_MP3RTP@
WITH_MP3X = @WITH_MP3X@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.11 foreign $(top_srcdir)/ansi2knr
EXTRA_DIST = \
msacmdrv.h
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ACM/ddk/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign ACM/ddk/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
# end global section
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

185
node_modules/lame/deps/lame/ACM/ddk/msacmdrv.h generated vendored Normal file
View File

@ -0,0 +1,185 @@
/**
*
* Alternative msacmdrv.h file, for use in the Lame project.
* File from the FFDshow project, released under LGPL by permission
* from Milan Cutka.
* Modified by Gabriel Bouvigne to allow compilation of Lame.
*
* Copyright (c) 2003 Milan Cutka
* Copyright (c) 2003 Gabriel Bouvigne
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef _MSACMDRV_H_
#define _MSACMDRV_H_
#include <mmreg.h>
#include <msacm.h>
typedef unsigned long ULONG_PTR, *PULONG_PTR;
typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
#undef ACMDRIVERDETAILS
#undef PACMDRIVERDETAILS
#undef LPACMDRIVERDETAILS
#define ACMDRIVERDETAILS ACMDRIVERDETAILSW
#define PACMDRIVERDETAILS PACMDRIVERDETAILSW
#define LPACMDRIVERDETAILS LPACMDRIVERDETAILSW
#undef ACMFORMATTAGDETAILS
#undef PACMFORMATTAGDETAILS
#undef LPACMFORMATTAGDETAILS
#define ACMFORMATTAGDETAILS ACMFORMATTAGDETAILSW
#define PACMFORMATTAGDETAILS PACMFORMATTAGDETAILSW
#define LPACMFORMATTAGDETAILS LPACMFORMATTAGDETAILSW
#undef ACMFORMATDETAILS
#undef PACMFORMATDETAILS
#undef LPACMFORMATDETAILS
#define ACMFORMATDETAILS ACMFORMATDETAILSW
#define PACMFORMATDETAILS PACMFORMATDETAILSW
#define LPACMFORMATDETAILS LPACMFORMATDETAILSW
#define MAKE_ACM_VERSION(mjr, mnr, bld) (((long)(mjr)<<24)| \
((long)(mnr)<<16)| \
((long)bld))
#define VERSION_MSACM MAKE_ACM_VERSION(3, 50, 0)
#define VERSION_ACM_DRIVER MAKE_ACM_VERSION(4, 0, 0)
#define ACMDM_DRIVER_NOTIFY (ACMDM_BASE + 1)
#define ACMDM_DRIVER_DETAILS (ACMDM_BASE + 10)
#define ACMDM_HARDWARE_WAVE_CAPS_INPUT (ACMDM_BASE + 20)
#define ACMDM_HARDWARE_WAVE_CAPS_OUTPUT (ACMDM_BASE + 21)
#define ACMDM_FORMATTAG_DETAILS (ACMDM_BASE + 25)
#define ACMDM_FORMAT_DETAILS (ACMDM_BASE + 26)
#define ACMDM_FORMAT_SUGGEST (ACMDM_BASE + 27)
#define ACMDM_FILTERTAG_DETAILS (ACMDM_BASE + 50)
#define ACMDM_FILTER_DETAILS (ACMDM_BASE + 51)
#define ACMDM_STREAM_OPEN (ACMDM_BASE + 76)
#define ACMDM_STREAM_CLOSE (ACMDM_BASE + 77)
#define ACMDM_STREAM_SIZE (ACMDM_BASE + 78)
#define ACMDM_STREAM_CONVERT (ACMDM_BASE + 79)
#define ACMDM_STREAM_RESET (ACMDM_BASE + 80)
#define ACMDM_STREAM_PREPARE (ACMDM_BASE + 81)
#define ACMDM_STREAM_UNPREPARE (ACMDM_BASE + 82)
typedef struct tACMDRVFORMATSUGGEST
{
DWORD cbStruct; // sizeof(ACMDRVFORMATSUGGEST)
DWORD fdwSuggest; // Suggest flags
LPWAVEFORMATEX pwfxSrc; // Source Format
DWORD cbwfxSrc; // Source Size
LPWAVEFORMATEX pwfxDst; // Dest format
DWORD cbwfxDst; // Dest Size
} ACMDRVFORMATSUGGEST, *PACMDRVFORMATSUGGEST, FAR *LPACMDRVFORMATSUGGEST;
typedef struct tACMDRVOPENDESC
{
DWORD cbStruct; // sizeof(ACMDRVOPENDESC)
FOURCC fccType; // 'audc'
FOURCC fccComp; // sub-type (not used--must be 0)
DWORD dwVersion; // current version of ACM opening you
DWORD dwFlags; //
DWORD dwError; // result from DRV_OPEN request
LPCWSTR pszSectionName; // see DRVCONFIGINFO.lpszDCISectionName
LPCWSTR pszAliasName; // see DRVCONFIGINFO.lpszDCIAliasName
DWORD dnDevNode; // devnode id for pnp drivers.
} ACMDRVOPENDESC, *PACMDRVOPENDESC, FAR *LPACMDRVOPENDESC;
typedef struct tACMDRVSTREAMINSTANCE
{
DWORD cbStruct;
LPWAVEFORMATEX pwfxSrc;
LPWAVEFORMATEX pwfxDst;
LPWAVEFILTER pwfltr;
DWORD_PTR dwCallback;
DWORD_PTR dwInstance;
DWORD fdwOpen;
DWORD fdwDriver;
DWORD_PTR dwDriver;
HACMSTREAM has;
} ACMDRVSTREAMINSTANCE, *PACMDRVSTREAMINSTANCE, FAR *LPACMDRVSTREAMINSTANCE;
typedef struct tACMDRVSTREAMSIZE
{
DWORD cbStruct;
DWORD fdwSize;
DWORD cbSrcLength;
DWORD cbDstLength;
} ACMDRVSTREAMSIZE, *PACMDRVSTREAMSIZE, FAR *LPACMDRVSTREAMSIZE;
typedef struct tACMDRVSTREAMHEADER FAR *LPACMDRVSTREAMHEADER;
typedef struct tACMDRVSTREAMHEADER
{
DWORD cbStruct;
DWORD fdwStatus;
DWORD_PTR dwUser;
LPBYTE pbSrc;
DWORD cbSrcLength;
DWORD cbSrcLengthUsed;
DWORD_PTR dwSrcUser;
LPBYTE pbDst;
DWORD cbDstLength;
DWORD cbDstLengthUsed;
DWORD_PTR dwDstUser;
DWORD fdwConvert; // flags passed from convert func
LPACMDRVSTREAMHEADER padshNext; // for async driver queueing
DWORD fdwDriver; // driver instance flags
DWORD_PTR dwDriver; // driver instance data
//
// all remaining fields are used by the ACM for bookkeeping purposes.
// an ACM driver should never use these fields (though than can be
// helpful for debugging)--note that the meaning of these fields
// may change, so do NOT rely on them in shipping code.
//
DWORD fdwPrepared;
DWORD_PTR dwPrepared;
LPBYTE pbPreparedSrc;
DWORD cbPreparedSrcLength;
LPBYTE pbPreparedDst;
DWORD cbPreparedDstLength;
} ACMDRVSTREAMHEADER, *PACMDRVSTREAMHEADER;
#endif

BIN
node_modules/lame/deps/lame/ACM/lame.ico generated vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

25
node_modules/lame/deps/lame/ACM/lameACM.def generated vendored Normal file
View File

@ -0,0 +1,25 @@
; Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
;
; Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2.1 of the License, or (at your option) any later version.
;
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
;
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
LIBRARY lameACM
DESCRIPTION 'lameACM.acm: MP3 Lame ACM Codec'
EXPORTS DriverProc
; EOF

13
node_modules/lame/deps/lame/ACM/lame_acm.xml generated vendored Normal file
View File

@ -0,0 +1,13 @@
<lame_acm>
<encodings default="Current">
<config name="Current">
<Smart use="true" />
<Copyright use="true" />
<CRC use="true" />
<Original use="false" />
<Private use="false" />
<Channel mode="Joint-stereo" />
<ABR use="true" min="88" max="160" step="6" />
</config>
</encodings>
</lame_acm>

216
node_modules/lame/deps/lame/ACM/main.cpp generated vendored Normal file
View File

@ -0,0 +1,216 @@
/**
*
* Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
*
* Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*!
\author Steve Lhomme
\version \$Id: main.cpp,v 1.5 2006/12/25 21:37:34 robert Exp $
*/
#if !defined(STRICT)
#define STRICT
#endif // STRICT
#include <windows.h>
/// The ACM is considered as a driver and run in Kernel-Mode
/// So the new/delete operators have to be overriden in order to use memory
/// readable out of the calling process
void * operator new( unsigned int cb )
{
return LocalAlloc(LPTR, cb); // VirtualAlloc
}
void operator delete(void *block) {
LocalFree(block);
}
extern "C" {
void *acm_Calloc( size_t num, size_t size )
{
return LocalAlloc(LPTR, num * size); // VirtualAlloc
}
void *acm_Malloc( size_t size )
{
return LocalAlloc(LPTR, size); // VirtualAlloc
}
void acm_Free( void * mem)
{
LocalFree(mem);
}
};
////// End of memory instrumentation
#include <mmreg.h>
#include <msacm.h>
#include <msacmdrv.h>
#include <assert.h>
#include "AEncodeProperties.h"
#include "ACM.h"
#include "resource.h"
#include "adebug.h"
ADbg * debug = NULL;
LONG WINAPI DriverProc(DWORD dwDriverId, HDRVR hdrvr, UINT msg, LONG lParam1, LONG lParam2)
{
switch (msg)
{
case DRV_OPEN: // acmDriverOpen
{
if (debug == NULL) {
debug = new ADbg(DEBUG_LEVEL_CREATION);
debug->setPrefix("LAMEdrv");
}
if (debug != NULL)
{
// Sent when the driver is opened.
if (lParam2 != NULL)
debug->OutPut(DEBUG_LEVEL_MSG, "DRV_OPEN (ID 0x%08X), pDesc = 0x%08X",dwDriverId,lParam2);
else
debug->OutPut(DEBUG_LEVEL_MSG, "DRV_OPEN (ID 0x%08X), pDesc = NULL",dwDriverId);
}
if (lParam2 != NULL) {
LPACMDRVOPENDESC pDesc = (LPACMDRVOPENDESC)lParam2;
if (pDesc->fccType != ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC) {
if (debug != NULL)
{
debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "wrong pDesc->fccType (0x%08X)",pDesc->fccType);
}
return NULL;
}
} else {
if (debug != NULL)
{
debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "pDesc == NULL");
}
}
ACM * ThisACM = new ACM(GetDriverModuleHandle(hdrvr));
if (debug != NULL)
{
debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "OPENED instance 0x%08X",ThisACM);
}
return (LONG)ThisACM;// returns 0L to fail
// value subsequently used
// for dwDriverId.
}
break;
case DRV_CLOSE: // acmDriverClose
{
if (debug != NULL)
{
// Sent when the driver is closed. Drivers are
// unloaded when the open count reaches zero.
debug->OutPut(DEBUG_LEVEL_MSG, "DRV_CLOSE");
}
ACM * ThisACM = (ACM *)dwDriverId;
delete ThisACM;
if (debug != NULL)
{
debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "CLOSED instance 0x%08X",ThisACM);
delete debug;
debug = NULL;
}
return 1L; // returns 0L to fail
}
break;
case DRV_LOAD:
{
// nothing to do
if (debug != NULL)
{
// debug->OutPut(DEBUG_LEVEL_MSG, "DRV_LOAD, version %s %s %s", ACM_VERSION, __DATE__, __TIME__);
debug->OutPut(DEBUG_LEVEL_MSG, "DRV_LOAD, %s %s", __DATE__, __TIME__);
}
return 1L;
}
break;
case DRV_ENABLE:
{
// nothing to do
if (debug != NULL)
{
debug->OutPut(DEBUG_LEVEL_MSG, "DRV_ENABLE");
}
return 1L;
}
break;
case DRV_DISABLE:
{
// nothing to do
if (debug != NULL)
{
debug->OutPut(DEBUG_LEVEL_MSG, "DRV_DISABLE");
}
return 1L;
}
break;
case DRV_FREE:
{
if (debug != NULL)
{
debug->OutPut(DEBUG_LEVEL_MSG, "DRV_FREE");
}
return 1L;
}
break;
default:
{
ACM * ThisACM = (ACM *)dwDriverId;
if (ThisACM != NULL)
return ThisACM->DriverProcedure(hdrvr, msg, lParam1, lParam2);
else
{
if (debug != NULL)
{
debug->OutPut(DEBUG_LEVEL_MSG, "Driver not opened, unknown message (0x%08X), lParam1 = 0x%08X, lParam2 = 0x%08X", msg, lParam1, lParam2);
}
return DefDriverProc (dwDriverId, hdrvr, msg, lParam1, lParam2);
}
}
break;
}
}

29
node_modules/lame/deps/lame/ACM/readme.txt generated vendored Normal file
View File

@ -0,0 +1,29 @@
In order to build this codec, you need the Windows98 DDK from Microsoft. It can also work
with the Windows2000/ME/XP/2003 DDK:
http://www.microsoft.com/ddk/
Alternatively, the required headers are also available in CYGWIN+w32api, MINGW32 or Wine :
http://www.cygwin.com/
http://www.mingw.org/
http://www.winehq.com/
If you do not have a ddk, you should be able to use the alternative msacmdrv.h provided
with this ACM codec. It is not used by default because it would probably broke any real
DDK already installed.
---------------
Define ENABLE_DECODING if you want to use the decoding (alpha state, doesn't decode at the
moment, so use it only if you plan to develop)
---------------
To release this codec you will need :
- lameACM.acm (result of the build process)
- lameACM.inf
- lame_acm.xml (where the initial configuration is stored)

42
node_modules/lame/deps/lame/ACM/resource.h generated vendored Normal file
View File

@ -0,0 +1,42 @@
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by acm.rc
//
#define IDI_ICON 101
#define IDD_CONFIG 102
#define IDD_ABOUT 103
#define IDC_STATIC_DECODING 1000
#define IDC_CHECK_COPYRIGHT 1001
#define IDC_CHECK_CHECKSUM 1002
#define IDC_CHECK_ORIGINAL 1003
#define IDC_CHECK_PRIVATE 1004
#define IDC_COMBO_ENC_STEREO 1005
#define IDC_CHECK_ENC_SMART 1006
#define IDC_STATIC_ENC_ICON 1007
#define IDC_STATIC_ABOUT_TITLE 1008
#define IDC_STATIC_ABOUT_URL 1009
#define IDC_STATIC_CONFIG_VERSION 1010
#define IDC_CHECK_ENC_ABR 1011
#define IDC_SLIDER_AVERAGE_MIN 1012
#define IDC_SLIDER_AVERAGE_MAX 1013
#define IDC_SLIDER_AVERAGE_STEP 1014
#define IDC_SLIDER_AVERAGE_SAMPLE 1015
#define IDC_STATIC_AVERAGE_MIN 1016
#define IDC_STATIC_AVERAGE_MAX 1017
#define IDC_STATIC_AVERAGE_STEP 1018
#define IDC_STATIC_AVERAGE_SAMPLE 1019
#define IDC_STATIC_AVERAGE_MIN_VALUE 1020
#define IDC_STATIC_AVERAGE_MAX_VALUE 1021
#define IDC_STATIC_AVERAGE_STEP_VALUE 1022
#define IDC_STATIC_AVERAGE_SAMPLE_VALUE 1023
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 105
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1024
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

16
node_modules/lame/deps/lame/ACM/tinyxml/Makefile.am generated vendored Normal file
View File

@ -0,0 +1,16 @@
## $Id: Makefile.am,v 1.3 2008/11/09 13:50:16 aleidinger Exp $
include $(top_srcdir)/Makefile.am.global
EXTRA_DIST = \
Makefile.tinyxml \
changes.txt \
dox \
makedistlinux \
makedistwin.bat \
readme.txt \
tinyxml.cpp \
tinyxml.h \
tinyxmlerror.cpp \
tinyxmlparser.cpp \
xmltest.cpp

398
node_modules/lame/deps/lame/ACM/tinyxml/Makefile.in generated vendored Normal file
View File

@ -0,0 +1,398 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# global section for every Makefile.am
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/Makefile.am.global
subdir = ACM/tinyxml
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONFIG_DEFS = @CONFIG_DEFS@
CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPUCCODE = @CPUCCODE@
CPUTYPE = @CPUTYPE@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
FRONTEND_LDADD = @FRONTEND_LDADD@
FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_CONFIG = @GTK_CONFIG@
GTK_LIBS = @GTK_LIBS@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDADD = @LDADD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEDEP = @MAKEDEP@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NASM = @NASM@
NASM_FORMAT = @NASM_FORMAT@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RM_F = @RM_F@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
SNDFILE_LIBS = @SNDFILE_LIBS@
STRIP = @STRIP@
U = @U@
VERSION = @VERSION@
WITH_FRONTEND = @WITH_FRONTEND@
WITH_MP3RTP = @WITH_MP3RTP@
WITH_MP3X = @WITH_MP3X@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.11 foreign $(top_srcdir)/ansi2knr
EXTRA_DIST = \
Makefile.tinyxml \
changes.txt \
dox \
makedistlinux \
makedistwin.bat \
readme.txt \
tinyxml.cpp \
tinyxml.h \
tinyxmlerror.cpp \
tinyxmlparser.cpp \
xmltest.cpp
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ACM/tinyxml/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign ACM/tinyxml/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
# end global section
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -0,0 +1,150 @@
#****************************************************************************
#
# Makefil for TinyXml test.
# Lee Thomason
# www.grinninglizard.com
#
# This is a GNU make (gmake) makefile
#****************************************************************************
# DEBUG can be set to YES to include debugging info, or NO otherwise
DEBUG := YES
# PROFILE can be set to YES to include profiling info, or NO otherwise
PROFILE := NO
#****************************************************************************
CC := gcc
CXX := g++
LD := g++
AR := ar rc
RANLIB := ranlib
DEBUG_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -g -DDEBUG
RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -O2
LIBS :=
DEBUG_CXXFLAGS := ${DEBUG_CFLAGS}
RELEASE_CXXFLAGS := ${RELEASE_CFLAGS}
DEBUG_LDFLAGS := -g
RELEASE_LDFLAGS :=
ifeq (YES, ${DEBUG})
CFLAGS := ${DEBUG_CFLAGS}
CXXFLAGS := ${DEBUG_CXXFLAGS}
LDFLAGS := ${DEBUG_LDFLAGS}
else
CFLAGS := ${RELEASE_CFLAGS}
CXXFLAGS := ${RELEASE_CXXFLAGS}
LDFLAGS := ${RELEASE_LDFLAGS}
endif
ifeq (YES, ${PROFILE})
CFLAGS := ${CFLAGS} -pg
CXXFLAGS := ${CXXFLAGS} -pg
LDFLAGS := ${LDFLAGS} -pg
endif
#****************************************************************************
# Preprocessor directives
#****************************************************************************
ifeq (YES, ${PROFILE})
DEFS :=
else
DEFS :=
endif
#****************************************************************************
# Include paths
#****************************************************************************
#INCS := -I/usr/include/g++-2 -I/usr/local/include
INCS :=
#****************************************************************************
# Makefile code common to all platforms
#****************************************************************************
CFLAGS := ${CFLAGS} ${DEFS}
CXXFLAGS := ${CXXFLAGS} ${DEFS}
#****************************************************************************
# Targets of the build
#****************************************************************************
OUTPUT := xmltest
all: ${OUTPUT}
#****************************************************************************
# Source files
#****************************************************************************
SRCS := tinyxml.cpp tinyxmlparser.cpp xmltest.cpp tinyxmlerror.cpp
# Add on the sources for libraries
SRCS := ${SRCS}
OBJS := $(addsuffix .o,$(basename ${SRCS}))
#****************************************************************************
# Output
#****************************************************************************
${OUTPUT}: ${OBJS}
${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}
#****************************************************************************
# common rules
#****************************************************************************
# Rules for compiling source files to object files
%.o : %.cpp
${CXX} -c ${CXXFLAGS} ${INCS} $< -o $@
%.o : %.c
${CC} -c ${CFLAGS} ${INCS} $< -o $@
clean:
-rm -f core ${OBJS} ${OUTPUT}
depend:
makedepend ${INCS} ${SRCS}
# DO NOT DELETE
tinyxml.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h
tinyxml.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
tinyxml.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h
tinyxml.o: /usr/include/bits/sched.h /usr/include/libio.h
tinyxml.o: /usr/include/_G_config.h /usr/include/wchar.h
tinyxml.o: /usr/include/bits/wchar.h /usr/include/gconv.h
tinyxml.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h
tinyxmlparser.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h
tinyxmlparser.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
tinyxmlparser.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h
tinyxmlparser.o: /usr/include/bits/sched.h /usr/include/libio.h
tinyxmlparser.o: /usr/include/_G_config.h /usr/include/wchar.h
tinyxmlparser.o: /usr/include/bits/wchar.h /usr/include/gconv.h
tinyxmlparser.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h
tinyxmlparser.o: /usr/include/ctype.h /usr/include/endian.h
tinyxmlparser.o: /usr/include/bits/endian.h
xmltest.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h
xmltest.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
xmltest.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h
xmltest.o: /usr/include/bits/sched.h /usr/include/libio.h
xmltest.o: /usr/include/_G_config.h /usr/include/wchar.h
xmltest.o: /usr/include/bits/wchar.h /usr/include/gconv.h
xmltest.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h
tinyxmlerror.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h
tinyxmlerror.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
tinyxmlerror.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h
tinyxmlerror.o: /usr/include/bits/sched.h /usr/include/libio.h
tinyxmlerror.o: /usr/include/_G_config.h /usr/include/wchar.h
tinyxmlerror.o: /usr/include/bits/wchar.h /usr/include/gconv.h
tinyxmlerror.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h

81
node_modules/lame/deps/lame/ACM/tinyxml/changes.txt generated vendored Normal file
View File

@ -0,0 +1,81 @@
Changes in version 1.0.1:
- Fixed comment tags which were outputing as '<?--' instead of
the correct '<!--'.
- Implemented the Next and Prev methods of the TiXmlAttribute class.
- Renamed 'LastAttribtute' to 'LastAttribute'
- Fixed bad pointer to 'isspace' that could occur while parsing text.
- Errors finding beginning and end of tags no longer throw it into an
infinite loop. (Hopefully.)
Changes in version 1.0.2
- Minor documentation fixes.
Changes in version 1.0.3
- After nodes are added to a document, they return a pointer
to the new node instead of a bool for success.
- Elements can be constructed with a value, which is the
element name. Every element must have a value or it will be
invalid, but the code changes to enforce this are not fully
in place.
Changes in version 1.1.0
- Added the TiXmlAttributeSet class to pull the attributes into
a seperate container.
- Moved the doubly liked list out of XmlBase. Now XmlBase only
requires the Print() function and defines some utility functions.
- Moved errors into a seperate file. (With the idea of internationalization
to the other latin-1 languages.)
- Added the "NodeType"
- Fixed white space parsing in text to conform with the standard.
Basically, all white space becomes just one space.
- Added the TiXmlDeclaration class to read xml declarations.
Changes in version 1.2.0
- Removed the factory. The factory was not really in the spirit
of small and simple, confused the code, and was of limited value.
- Added FirstChildElement and NextSiblingElement, because they
are such common functions.
- Re-wrote the example to test and demonstrate more functionality.
Changes in version 1.2.1
- Fixed a bug where comments couldn't be inside elements.
- Loading now clears out existing XML rather than appending.
- Added the "Clear" method on a node to delete all its children.
Changes in version 1.2.2
- Fixed TiXmlAttribute::Previous actually returning "next." Thanks
to Rickard Troedsson for the bug fix.
Changes in version 1.2.3
- Added the TIXML prefix to the error strings to resolve conflicts
with #defines in OS headers. Thanks to Steve Lhomme.
- Fixed a delete buf that should be a delete [] buf.
Thanks to Ephi Sinowitz.
Changes in version 1.2.4
- ReplaceChild() was almost guarenteed to fail. Should be fixed,
thanks to Joe Smith. Joe also pointed out that the Print() functions
should take stream references: I agree, and would like to overload
the Print() method to take either format, but I don't want to do
this in a dot release.
- Some compilers seem to need an extra <ctype.h> include. Thanks
to Steve Lhomme for that.
Changes in version 2.0.0
- Made the ToXXX() casts safe if 'this' is null.
When "LoadFile" is called with a filename, the value will correctly get set.
Thanks to Brian Yoder.
- Fixed bug where isalpha() and isalnum() would get called with a negative value for
high ascii numbers. Thanks to Alesky Aksenov.
- Fixed some errors codes that were not getting set.
- Made methods "const" that were not.
- Added a switch to enable or disable the ignoring of white space. ( TiXmlDocument::SetIgnoreWhiteSpace() )
- Greater standardization and code re-use in the parser.
- Added a stream out operator.
- Added a stream in operator.
- Entity support.
TODO
CDATA.
Support for "generic entity" #xxx thing.

708
node_modules/lame/deps/lame/ACM/tinyxml/dox generated vendored Normal file
View File

@ -0,0 +1,708 @@
# Doxyfile 1.2.2
# This file describes the settings to be used by doxygen for a project
#
# All text after a hash (#) is considered a comment and will be ignored
# The format is:
# TAG = value [value, ...]
# For lists items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (" ")
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = TinyXml
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = ./docs
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# The default language is English, other supported languages are:
# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
# Korean, Hungarian, Spanish, Romanian, Russian, Croatian, Polish, and
# Portuguese.
OUTPUT_LANGUAGE = English
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
# documentation are documented, even if no documentation was available.
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
EXTRACT_ALL = NO
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
EXTRACT_PRIVATE = NO
# If the EXTRACT_STATIC tag is set to YES all static members of a file
# will be included in the documentation.
EXTRACT_STATIC = NO
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
# undocumented members of documented classes, files or namespaces.
# If set to NO (the default) these members will be included in the
# various overviews, but no documentation section is generated.
# This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_MEMBERS = YES
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy.
# If set to NO (the default) these class will be included in the various
# overviews. This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_CLASSES = YES
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
# Set to NO to disable this.
BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description.
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
REPEAT_BRIEF = YES
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# Doxygen will generate a detailed section even if there is only a brief
# description.
ALWAYS_DETAILED_SEC = NO
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
# path before files name in the file list and in the header files. If set
# to NO the shortest path that makes the file name unique will be used.
FULL_PATH_NAMES = NO
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
# can be used to strip a user defined part of the path. Stripping is
# only done if one of the specified strings matches the left-hand part of
# the path. It is allowed to use relative paths in the argument list.
STRIP_FROM_PATH =
# The INTERNAL_DOCS tag determines if documentation
# that is typed after a \internal command is included. If the tag is set
# to NO (the default) then the documentation will be excluded.
# Set it to YES to include the internal documentation.
INTERNAL_DOCS = NO
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
# generate a class diagram (in Html and LaTeX) for classes with base or
# super classes. Setting the tag to NO turns the diagrams off.
CLASS_DIAGRAMS = YES
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
# be generated. Documented entities will be cross-referenced with these sources.
SOURCE_BROWSER = NO
# Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation.
INLINE_SOURCES = NO
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
# file names in lower case letters. If set to YES upper case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
# users are adviced to set this option to NO.
CASE_SENSE_NAMES = YES
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
# will show members with their full class and namespace scopes in the
# documentation. If set to YES the scope will be hidden.
HIDE_SCOPE_NAMES = NO
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
# will generate a verbatim copy of the header file for each class for
# which an include is specified. Set to NO to disable this.
VERBATIM_HEADERS = YES
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
# will put list of the files that are included by a file in the documentation
# of that file.
SHOW_INCLUDE_FILES = YES
# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen
# will interpret the first line (until the first dot) of a JavaDoc-style
# comment as the brief description. If set to NO, the Javadoc-style will
# behave just like the Qt-style comments.
JAVADOC_AUTOBRIEF = YES
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
# member inherits the documentation from any documented member that it
# reimplements.
INHERIT_DOCS = YES
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
# is inserted in the documentation for inline members.
INLINE_INFO = YES
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
# will sort the (detailed) documentation of file and class members
# alphabetically by member name. If set to NO the members will appear in
# declaration order.
SORT_MEMBER_DOCS = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
DISTRIBUTE_GROUP_DOC = NO
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
# Doxygen uses this value to replace tabs by spaces in code fragments.
TAB_SIZE = 4
# The ENABLE_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif.
ENABLED_SECTIONS =
# The GENERATE_TODOLIST tag can be used to enable (YES) or
# disable (NO) the todo list. This list is created by putting \todo
# commands in the documentation.
GENERATE_TODOLIST = YES
# The GENERATE_TESTLIST tag can be used to enable (YES) or
# disable (NO) the test list. This list is created by putting \test
# commands in the documentation.
GENERATE_TESTLIST = YES
# This tag can be used to specify a number of aliases that acts
# as commands in the documentation. An alias has the form "name=value".
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
# put the command \sideeffect (or @sideeffect) in the documentation, which
# will result in a user defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
ALIASES =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
# The QUIET tag can be used to turn on/off the messages that are generated
# by doxygen. Possible values are YES and NO. If left blank NO is used.
QUIET = NO
# The WARNINGS tag can be used to turn on/off the warning messages that are
# generated by doxygen. Possible values are YES and NO. If left blank
# NO is used.
WARNINGS = YES
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
# automatically be disabled.
WARN_IF_UNDOCUMENTED = YES
# The WARN_FORMAT tag determines the format of the warning messages that
# doxygen can produce. The string should contain the $file, $line, and $text
# tags, which will be replaced by the file and line number from which the
# warning originated and the warning text.
WARN_FORMAT = "$file:$line: $text"
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
# The INPUT tag can be used to specify the files and/or directories that contain
# documented source files. You may enter file names like "myfile.cpp" or
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = . "readme.txt"
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank all files are included.
FILE_PATTERNS = *.h
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
# If left blank NO is used.
RECURSIVE = NO
# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE =
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories.
EXCLUDE_PATTERNS =
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
# the \include command).
EXAMPLE_PATH =
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank all files are included.
EXAMPLE_PATTERNS =
# The IMAGE_PATH tag can be used to specify one or more files or
# directories that contain image that are included in the documentation (see
# the \image command).
IMAGE_PATH =
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
# by executing (via popen()) the command <filter> <input-file>, where <filter>
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
# input file. Doxygen will then use the output that the filter program writes
# to standard output.
INPUT_FILTER =
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
# of all compounds will be generated. Enable this if the project
# contains a lot of classes, structs, unions or interfaces.
ALPHABETICAL_INDEX = NO
# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
# in which this list will be split (can be a number in the range [1..20])
COLS_IN_ALPHA_INDEX = 5
# In case all classes in a project start with a common prefix, all
# classes will be put under the same header in the alphabetical index.
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
# should be ignored while generating the index headers.
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
# generate HTML output.
GENERATE_HTML = YES
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `html' will be used as the default path.
HTML_OUTPUT = .
# The HTML_HEADER tag can be used to specify a personal HTML header for
# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
HTML_HEADER =
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user defined cascading
# style sheet that is used by each HTML page. It can be used to
# fine-tune the look of the HTML output. If the tag is left blank doxygen
# will generate a default style sheet
HTML_STYLESHEET =
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
# NO a bullet list will be used.
HTML_ALIGN_MEMBERS = YES
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
# will be generated that can be used as input for tools like the
# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
# of the generated HTML documentation.
GENERATE_HTMLHELP = NO
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
DISABLE_INDEX = NO
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output.
GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `latex' will be used as the default path.
LATEX_OUTPUT = latex
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
# LaTeX documents. This may be useful for small projects and may help to
# save some trees in general.
COMPACT_LATEX = NO
# The PAPER_TYPE tag can be used to set the paper type that is used
# by the printer. Possible values are: a4, a4wide, letter, legal and
# executive. If left blank a4wide will be used.
PAPER_TYPE = a4wide
# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
# packages that should be included in the LaTeX output.
EXTRA_PACKAGES =
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
# the generated latex document. The header should contain everything until
# the first chapter. If it is left blank doxygen will generate a
# standard header. Notice: only use this tag if you know what you are doing!
LATEX_HEADER =
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
# is prepared for conversion to pdf (using ps2pdf). The pdf file will
# contain links (just like the HTML output) instead of page references
# This makes the output suitable for online browsing using a pdf viewer.
PDF_HYPERLINKS = NO
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
# plain latex in the generated Makefile. Set this option to YES to get a
# higher quality PDF documentation.
USE_PDFLATEX = NO
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
# command to the generated LaTeX files. This will instruct LaTeX to keep
# running if errors occur, instead of asking the user for help.
# This option is also used when generating formulas in HTML.
LATEX_BATCHMODE = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
# The RTF output is optimised for Word 97 and may not look very pretty with
# other RTF readers or editors.
GENERATE_RTF = NO
# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `rtf' will be used as the default path.
RTF_OUTPUT = rtf
# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
# RTF documents. This may be useful for small projects and may help to
# save some trees in general.
COMPACT_RTF = NO
# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
# will contain hyperlink fields. The RTF file will
# contain links (just like the HTML output) instead of page references.
# This makes the output suitable for online browsing using a WORD or other.
# programs which support those fields.
# Note: wordpad (write) and others do not support links.
RTF_HYPERLINKS = NO
# Load stylesheet definitions from file. Syntax is similar to doxygen's
# config file, i.e. a series of assigments. You only have to provide
# replacements, missing definitions are set to their default value.
RTF_STYLESHEET_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
# generate man pages
GENERATE_MAN = NO
# The MAN_OUTPUT tag is used to specify where the man pages will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `man' will be used as the default path.
MAN_OUTPUT = man
# The MAN_EXTENSION tag determines the extension that is added to
# the generated man pages (default is the subroutine's section .3)
MAN_EXTENSION = .3
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
# If the GENERATE_XML tag is set to YES Doxygen will
# generate an XML file that captures the structure of
# the code including all documentation. Warning: This feature
# is still experimental and very incomplete.
GENERATE_XML = NO
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
# evaluate all C-preprocessor directives found in the sources and include
# files.
ENABLE_PREPROCESSING = YES
# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
# names in the source code. If set to NO (the default) only conditional
# compilation will be performed. Macro expansion can be done in a controlled
# way by setting EXPAND_ONLY_PREDEF to YES.
MACRO_EXPANSION = NO
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
# then the macro expansion is limited to the macros specified with the
# PREDEFINED and EXPAND_AS_PREDEFINED tags.
EXPAND_ONLY_PREDEF = NO
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
# in the INCLUDE_PATH (see below) will be search if a #include is found.
SEARCH_INCLUDES = YES
# The INCLUDE_PATH tag can be used to specify one or more directories that
# contain include files that are not input files but should be processed by
# the preprocessor.
INCLUDE_PATH =
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
# patterns (like *.h and *.hpp) to filter out the header-files in the
# directories. If left blank, the patterns specified with FILE_PATTERNS will
# be used.
INCLUDE_FILE_PATTERNS =
# The PREDEFINED tag can be used to specify one or more macro names that
# are defined before the preprocessor is started (similar to the -D option of
# gcc). The argument of the tag is a list of macros of the form: name
# or name=definition (no spaces). If the definition and the = are
# omitted =1 is assumed.
PREDEFINED =
# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
# The macro definition that is found in the sources will be used.
# Use the PREDEFINED tag if you want to use a different macro definition.
EXPAND_AS_DEFINED =
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
# The TAGFILES tag can be used to specify one or more tagfiles.
TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads.
GENERATE_TAGFILE =
# If the ALLEXTERNALS tag is set to YES all external classes will be listed
# in the class index. If set to NO only the inherited external classes
# will be listed.
ALLEXTERNALS = NO
# The PERL_PATH should be the absolute path and name of the perl script
# interpreter (i.e. the result of `which perl').
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
# available from the path. This tool is part of Graphviz, a graph visualization
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
# have no effect if this option is set to NO (the default)
HAVE_DOT = NO
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect inheritance relations. Setting this tag to YES will force the
# the CLASS_DIAGRAMS tag to NO.
CLASS_GRAPH = YES
# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect implementation dependencies (inheritance, containment, and
# class references variables) of the class with other documented classes.
COLLABORATION_GRAPH = YES
# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to
# YES then doxygen will generate a graph for each documented file showing
# the direct and indirect include dependencies of the file with other
# documented files.
INCLUDE_GRAPH = YES
# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to
# YES then doxygen will generate a graph for each documented header file showing
# the documented files that directly or indirectly include this file
INCLUDED_BY_GRAPH = YES
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
# will graphical hierarchy of all classes instead of a textual one.
GRAPHICAL_HIERARCHY = YES
# The tag DOT_PATH can be used to specify the path where the dot tool can be
# found. If left blank, it is assumed the dot tool can be found on the path.
DOT_PATH =
# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
# this value, doxygen will try to truncate the graph, so that it fits within
# the specified constraint. Beware that most browsers cannot cope with very
# large images.
MAX_DOT_GRAPH_WIDTH = 1024
# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
# this value, doxygen will try to truncate the graph, so that it fits within
# the specified constraint. Beware that most browsers cannot cope with very
# large images.
MAX_DOT_GRAPH_HEIGHT = 1024
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
# The SEARCHENGINE tag specifies whether or not a search engine should be
# used. If set to NO the values of all tags below this one will be ignored.
SEARCHENGINE = NO
# The CGI_NAME tag should be the name of the CGI script that
# starts the search engine (doxysearch) with the correct parameters.
# A script with this name will be generated by doxygen.
CGI_NAME = search.cgi
# The CGI_URL tag should be the absolute URL to the directory where the
# cgi binaries are located. See the documentation of your http daemon for
# details.
CGI_URL =
# The DOC_URL tag should be the absolute URL to the directory where the
# documentation is located. If left blank the absolute path to the
# documentation, with file:// prepended to it, will be used.
DOC_URL =
# The DOC_ABSPATH tag should be the absolute path to the directory where the
# documentation is located. If left blank the directory on the local machine
# will be used.
DOC_ABSPATH =
# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
# is installed.
BIN_ABSPATH = /usr/local/bin/
# The EXT_DOC_PATHS tag can be used to specify one or more paths to
# documentation generated for other projects. This allows doxysearch to search
# the documentation for these projects as well.
EXT_DOC_PATHS =

34
node_modules/lame/deps/lame/ACM/tinyxml/makedistlinux generated vendored Normal file
View File

@ -0,0 +1,34 @@
echo "Making version: "
echo $1
echo $2
echo $3
rm ./docs/*
doxygen dox
rm -rf ./tinyxml/*
rm tinyxml_$1_$2_$3.zip
rm tinyxml_$1_$2_$3.tar.gz
rmdir tinyxml
mkdir tinyxml
cp readme.txt ./tinyxml
cp changes.txt ./tinyxml
cp Makefile ./tinyxml
cp tinyxml.cpp tinyxml
cp tinyxmlerror.cpp tinyxml
cp tinyxmlparser.cpp tinyxml
cp xmltest.cpp tinyxml
cp tinyxml.h tinyxml
cp tinyxml.dsp tinyxml
mkdir ./tinyxml/docs
cp ./docs/* ./tinyxml/docs
tar -zcf tinyxml_$1_$2_$3.tar.gz tinyxml
zip -r -q -9 tinyxml_$1_$2_$3.zip tinyxml

19
node_modules/lame/deps/lame/ACM/tinyxml/makedistwin.bat generated vendored Executable file
View File

@ -0,0 +1,19 @@
del .\tinyxml_win\*.*
del .\docs\*.*
doxygen dox
mkdir tinyxml_win
copy readme.txt tinyxml_win
copy changes.txt tinyxml_win
copy *.cpp tinyxml_win
copy *.h tinyxml_win
copy *.dsp tinyxml_win
copy test0.xml tinyxml_win
copy test1.xml tinyxml_win
copy test2.xml tinyxml_win
mkdir .\tinyxml_win\docs
copy docs .\tinyxml_win\docs

309
node_modules/lame/deps/lame/ACM/tinyxml/readme.txt generated vendored Normal file
View File

@ -0,0 +1,309 @@
/** @mainpage
<h1> TinyXml </h1>
TinyXml is a simple, small, C++ XML parser that can be easily
integrating into other programs.
<h2> What it does. </h2>
In brief, TinyXml parses an XML document, and builds from that a
Document Object Model that can be read, modified, and saved.
XML stands for "eXtensible Markup Language." It allows you to create
your own document markups. Where HTML does a very good job of marking
documents for browsers, XML allows you to define any kind of document
markup, for example a document that describes a "to do" list for an
organizer application. XML is a very structured and convenient format.
All those random file formats created to store application data can
all be replaced with XML. One parser for everything.
There are different ways to access and interact with XML data.
TinyXml uses a Document Object Model, meaning the XML data is parsed
into a tree objects that can be browsed and manipulated, and then
written back to disk. You can also construct an XML document from
scratch with C++ objects and write this to disk.
TinyXml is designed to be easy and fast. It is one header and three cpp
files. Simply add these to your project and off you go. There is an
example to get you started. It is released under the ZLib license,
so you can use it in open source or commercial code.
It attempts to be a flexible parser, but with truly correct and
compliant XML output (with the exception of the character set,
below.) TinyXml should compile on any reasonably C++
system. It does not rely on exceptions or RTTI, and only uses the STL
string class.
<h2> What it doesn't do. </h2>
It doesn<73>t parse or use DTDs (Document Type Definitions) or XSL<53>s
(eXtensible Stylesheet Language.) It is limited to the ASCII
character set. There are other parsers out there (check out
www.sourceforge.org, search for XML) that are much more fully
featured. But they are also much bigger, take longer to set up in
your project, have a higher learning curve, and often have a more
restrictive license. If you are working with browsers or have more
complete XML needs, TinyXml is not the parser for you.
<h2> Code Status. </h2>
Currently in use, TinyXml is looking pretty stable. If you find
bugs, send them in and we'll get them straightened out as soon as possible.
There are some areas of improvement; please check sourceforge if you are
interested in working on TinxXml.
<h2> Changes between version 1 and 2 </h2>
<h3> Entities </h3>
TinyXml recognizes the pre-defined "entity references", meaning special
characters. Namely:
@verbatim
&amp; &
&lt; <
&gt; >
&quot; "
&apos; <09>
@endverbatim
These are recognized when the XML document is read, and translated to there
ASCII equivalents. For instance, text with the XML of:
@verbatim
Far &amp; Away
@endverbatim
will have the Value() of "Far & Away" when queried from the TiXmlText object,
but will be written back to the XML stream/file as an entitity.
TiXml will ignore unknown entities and the
@verbatim
"&#x"
@endverbatim
entities, and leave them unprocessed.
<h3> Streams </h3>
TiXml has been modified to support both C (FILE) and C++ (operator <<,>>)
streams. There are some differences that you may need to be aware of.
C style output:
- based on FILE*
- the Print() and SaveFile() methods
Generates formatted output, with plenty of white space, intended to be as
human-readable as possible. They are very fast, and tolerant of ill formed
XML documents. For example, an XML document that contains 2 root elements
and 2 declarations, will print.
C style input:
- based on FILE*
- the Parse() and LoadFile() methods
A fast, tolerant read. Use whenever you don't need the C++ streams.
C++ style ouput:
- based on std::ostream
- operator<<
Generates condensed output, intended for network transmission rather than
readability. Depending on your system's implementation of the ostream class,
these may be somewhat slower. (Or may not.) Not tolerant of ill formed XML:
a document should contain the correct one root element. Additional root level
elements will not be streamed out.
C++ style input:
- based on std::istream
- operator>>
Reads XML from a stream, making it useful for network transmission. The tricky
part is knowing when the XML document is complete, since there will almost
certainly be other data in the stream. TinyXml will assume the XML data is
complete after it reads the root element. Also not that operator>> is somewhat
slower than Parse, due to both implementation of the STL and limitations of
TinyXml.
<h3> White space </h3>
The world simply does not agree on whether white space should be kept, or condensed.
For example, pretend the '_' is a space, and look at "Hello____world". HTML, and
at least some XML parsers, will interpret this as "Hello_world". They condense white
space. Some XML parsers do not, and will leave it as "Hello____world". (Remember
to keep pretending the _ is a space.)
It's an issue that hasn't been resolved to my satisfaction. TinyXml supports both
motifs. Call TiXmlBase::SetCondenseWhiteSpace( bool ) to set the desired behavior.
The default is to condense white space.
If you change the default, you should call TiXmlBase::SetCondenseWhiteSpace( bool )
before making any calls to Parse XML data, and I don't recommend changing it after
it has been set.
<h2> Using and Installing </h2>
To Compile and Run xmltest:
A Linux Makefile and a Windows Visual C++ .dsp file is provided.
Simply compile and run. It will write the file demotest.xml to your
disk and generate output on the screen. It also tests walking the
DOM by printing out the number of nodes found using different
techniques.
The Linux makefile is very generic and will
probably run on other systems, but is only tested on Linux. You no
longer need to run 'make depend'. The dependecies have been
hard coded.
To Use in an Application:
Add tinyxml.cpp, tinyxml.h, tinyxmlerror.cpp, and tinyxmlparser.cpp to your
project or make file. That's it! It should compile on any reasonably
compliant C++ system. You do not need to enable exceptions or
RTTI for TinyXml.
<h2> Where it may go. </h2>
At this point, I'm focusing on tightening up remaining issues.
Bug fixes (though comfortably rare) and minor interface
corrections.
There are some "it would be nice if..." items. I'll keep those
posted as tasks on SourceForge. (www.sourceforge.net/projects/tinyxml)
<h2> How TinyXml works. </h2>
An example is probably the best way to go. Take:
@verbatim
<?xml version="1.0" standalone=<3D>no<6E>>
<?-- Our to do list data -->
<ToDo>
<Item priority="1"> Go to the <bold>Toy store!</bold></Item>
<Item priority="2"> Do bills</Item>
</ToDo>
@endverbatim
It<EFBFBD>s not much of a To Do list, but it will do. To read this file
(say "demo.xml") you would create a document, and parse it in:
@verbatim
TiXmlDocument doc( "demo.xml" );
doc.LoadFile();
@endverbatim
And it<69>s ready to go. Now let<65>s look at some lines and how they
relate to the DOM.
<?xml version="1.0" standalone=<3D>no<6E>>
The first line is a declaration, and gets turned into the
TiXmlDeclaration class. It will be the first child of the
document node.
This is the only directive/special tag parsed by by TinyXml.
Generally directive targs are stored in TiXmlUnknown so the
commands won<6F>t be lost when it is saved back to disk.
<?-- Our to do list data -->
A comment. Will become a TiXmlComment object.
<ToDo>
The ToDo tag defines a TiXmlElement object. This one does not have
any attributes, but will contain 2 other elements, both of which
are items.
<Item priority="1">
Creates another TiXmlElement which is a child of the "ToDo" element.
This element has 1 attribute, with the name <20>priority<74> and the value
<09>1<EFBFBD>.
Go to the
A TiXmlText. This is a leaf node and cannot contain other nodes.
It is a child of the <20>Item" Element.
<bold>
Another TiXmlElement, this one a child of the "Item" element.
Etc.
Looking at the entire object tree, you end up with:
@verbatim
TiXmlDocument "demo.xml"
TiXmlDeclaration "version='1.0'" "standalone=<3D>no<6E>"
TiXmlComment " Our to do list data"
TiXmlElement "ToDo"
TiXmlElement "Item" Attribtutes: priority = 1
TiXmlText "Go to the "
TiXmlElement "bold"
TiXmlText "Toy store!"
TiXmlElement "Item" Attributes: priority=2
TiXmlText "bills"
@endverbatim
<h2> Contributors </h2>
Thanks very much to everyone who sends suggestions, bugs, ideas, and
encouragement. It all helps, and makes this project fun. A special thanks
to the contributors on the web pages that keep it lively.
So many people have sent in bugs and ideas, that rather than list here I
try to give credit due in the "changes.txt" file.
<h2> Documentation </h2>
The documentation is build with Doxygen, using the 'dox'
configuration file.
<h2> License </h2>
TinyXml is released under the zlib license:
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product documentation
would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
<h2> References </h2>
The World Wide Web Consortium is the definitive standard body for
XML, and there web pages contain huge amounts of information. I also
recommend "XML Pocket Reference" by Robert Eckstein and published by
O<EFBFBD>Reilly.
<h2> Contact Me: </h2>
I<EFBFBD>d appreciates your suggestions, and would love to know if you
use TinyXml. I hope you enjoy it and find it useful. Please post
questions, comments, file bugs, or contact me at:
www.sourceforge.net/projects/tinyxml
Lee Thomason
*/

1007
node_modules/lame/deps/lame/ACM/tinyxml/tinyxml.cpp generated vendored Normal file

File diff suppressed because it is too large Load Diff

804
node_modules/lame/deps/lame/ACM/tinyxml/tinyxml.h generated vendored Normal file
View File

@ -0,0 +1,804 @@
/*
Copyright (c) 2000 Lee Thomason (www.grinninglizard.com)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product documentation
would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
*/
#ifndef TINYXML_INCLUDED
#define TINYXML_INCLUDED
#pragma warning( disable : 4530 )
#pragma warning( disable : 4786 )
#include <string>
#include <stdio.h>
#include <assert.h>
class TiXmlDocument;
class TiXmlElement;
class TiXmlComment;
class TiXmlUnknown;
class TiXmlAttribute;
class TiXmlText;
class TiXmlDeclaration;
// Help out windows:
#if defined( _DEBUG ) && !defined( DEBUG )
#define DEBUG
#endif
#if defined( DEBUG ) && defined( _MSC_VER )
#include <windows.h>
#define TIXML_LOG OutputDebugString
#else
#define TIXML_LOG printf
#endif
/** TiXmlBase is a base class for every class in TinyXml.
It does little except to establish that TinyXml classes
can be printed and provide some utility functions.
In XML, the document and elements can contain
other elements and other types of nodes.
@verbatim
A Document can contain: Element (container or leaf)
Comment (leaf)
Unknown (leaf)
Declaration( leaf )
An Element can contain: Element (container or leaf)
Text (leaf)
Attributes (not on tree)
Comment (leaf)
Unknown (leaf)
A Decleration contains: Attributes (not on tree)
@endverbatim
*/
class TiXmlBase
{
friend class TiXmlNode;
friend class TiXmlElement;
friend class TiXmlDocument;
public:
TiXmlBase() {}
virtual ~TiXmlBase() {}
/** All TinyXml classes can print themselves to a filestream.
This is a formatted print, and will insert tabs and newlines.
(For an unformatted stream, use the << operator.)
*/
virtual void Print( FILE* cfile, int depth ) const = 0;
// [internal] Underlying implementation of the operator <<
virtual void StreamOut ( std::ostream* out ) const = 0;
/** The world does not agree on whether white space should be kept or
not. In order to make everyone happy, these global, static functions
are provided to set whether or not TinyXml will condense all white space
into a single space or not. The default is to condense. Note changing these
values is not thread safe.
*/
static void SetCondenseWhiteSpace( bool condense ) { condenseWhiteSpace = condense; }
/// Return the current white space setting.
static bool IsWhiteSpaceCondensed() { return condenseWhiteSpace; }
protected:
static const char* SkipWhiteSpace( const char* );
static bool StreamWhiteSpace( std::istream* in, std::string* tag );
static bool IsWhiteSpace( int c ) { return ( isspace( c ) || c == '\n' || c == '\r' ); }
/* Read to the specified character.
Returns true if the character found and no error.
*/
static bool StreamTo( std::istream* in, int character, std::string* tag );
/* Reads an XML name into the string provided. Returns
a pointer just past the last character of the name,
or 0 if the function has an error.
*/
static const char* ReadName( const char*, std::string* name );
/* Reads text. Returns a pointer past the given end tag.
Wickedly complex options, but it keeps the (sensitive) code in one place.
*/
static const char* ReadText( const char* in, // where to start
std::string* text, // the string read
bool ignoreWhiteSpace, // whether to keep the white space
const char* endTag, // what ends this text
bool ignoreCase ); // whether to ignore case in the end tag
virtual const char* Parse( const char* p ) = 0;
// If an entity has been found, transform it into a character.
static const char* GetEntity( const char* in, char* value );
// Get a character, while interpreting entities.
inline static const char* GetChar( const char* p, char* value )
{
assert( p );
if ( *p == '&' )
{
return GetEntity( p, value );
}
else
{
*value = *p;
return p+1;
}
}
// Puts a string to a stream, expanding entities as it goes.
// Note this should not contian the '<', '>', etc, or they will be transformed into entities!
static void PutString( const std::string& str, std::ostream* stream );
// Return true if the next characters in the stream are any of the endTag sequences.
bool static StringEqual( const char* p,
const char* endTag,
bool ignoreCase );
enum
{
TIXML_NO_ERROR = 0,
TIXML_ERROR,
TIXML_ERROR_OPENING_FILE,
TIXML_ERROR_OUT_OF_MEMORY,
TIXML_ERROR_PARSING_ELEMENT,
TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,
TIXML_ERROR_READING_ELEMENT_VALUE,
TIXML_ERROR_READING_ATTRIBUTES,
TIXML_ERROR_PARSING_EMPTY,
TIXML_ERROR_READING_END_TAG,
TIXML_ERROR_PARSING_UNKNOWN,
TIXML_ERROR_PARSING_COMMENT,
TIXML_ERROR_PARSING_DECLARATION,
TIXML_ERROR_DOCUMENT_EMPTY,
TIXML_ERROR_STRING_COUNT
};
static const char* errorString[ TIXML_ERROR_STRING_COUNT ];
private:
struct Entity
{
const char* str;
unsigned int strLength;
int chr;
};
enum
{
NUM_ENTITY = 5,
MAX_ENTITY_LENGTH = 6
};
static Entity entity[ NUM_ENTITY ];
static bool condenseWhiteSpace;
};
/** The parent class for everything in the Document Object Model.
(Except for attributes, which are contained in elements.)
Nodes have siblings, a parent, and children. A node can be
in a document, or stand on its own. The type of a TiXmlNode
can be queried, and it can be cast to its more defined type.
*/
class TiXmlNode : public TiXmlBase
{
public:
/** An output stream operator, for every class. Note that this outputs
without any newlines or formatting, as opposed to Print(), which
includes tabs and new lines.
The operator<< and operator>> are not completely symmetric. Writing
a node to a stream is very well defined. You'll get a nice stream
of output, without any extra whitespace or newlines.
But reading is not as well defined. (As it always is.) If you create
a TiXmlElement (for example) and read that from an input stream,
the text needs to define an element or junk will result. This is
true of all input streams, but it's worth keeping in mind.
A TiXmlDocument will read nodes until it reads a root element.
*/
friend std::ostream& operator<< ( std::ostream& out, const TiXmlNode& base )
{
base.StreamOut( &out );
return out;
}
/** An input stream operator, for every class. Tolerant of newlines and
formatting, but doesn't expect them.
*/
friend std::istream& operator>> ( std::istream& in, TiXmlNode& base )
{
std::string tag;
tag.reserve( 8 * 1000 );
base.StreamIn( &in, &tag );
base.Parse( tag.c_str() );
return in;
}
/** The types of XML nodes supported by TinyXml. (All the
unsupported types are picked up by UNKNOWN.)
*/
enum NodeType
{
DOCUMENT,
ELEMENT,
COMMENT,
UNKNOWN,
TEXT,
DECLARATION,
TYPECOUNT
};
virtual ~TiXmlNode();
/** The meaning of 'value' changes for the specific type of
TiXmlNode.
@verbatim
Document: filename of the xml file
Element: name of the element
Comment: the comment text
Unknown: the tag contents
Text: the text string
@endverbatim
The subclasses will wrap this function.
*/
const std::string& Value() const { return value; }
/** Changes the value of the node. Defined as:
@verbatim
Document: filename of the xml file
Element: name of the element
Comment: the comment text
Unknown: the tag contents
Text: the text string
@endverbatim
*/
void SetValue( const std::string& _value ) { value = _value; }
/// Delete all the children of this node. Does not affect 'this'.
void Clear();
/// One step up the DOM.
TiXmlNode* Parent() const { return parent; }
TiXmlNode* FirstChild() const { return firstChild; } ///< The first child of this node. Will be null if there are no children.
TiXmlNode* FirstChild( const std::string& value ) const; ///< The first child of this node with the matching 'value'. Will be null if none found.
TiXmlNode* LastChild() const { return lastChild; } /// The last child of this node. Will be null if there are no children.
TiXmlNode* LastChild( const std::string& value ) const; /// The last child of this node matching 'value'. Will be null if there are no children.
/** An alternate way to walk the children of a node.
One way to iterate over nodes is:
@verbatim
for( child = parent->FirstChild(); child; child = child->NextSibling() )
@endverbatim
IterateChildren does the same thing with the syntax:
@verbatim
child = 0;
while( child = parent->IterateChildren( child ) )
@endverbatim
IterateChildren takes the previous child as input and finds
the next one. If the previous child is null, it returns the
first. IterateChildren will return null when done.
*/
TiXmlNode* IterateChildren( TiXmlNode* previous ) const;
/// This flavor of IterateChildren searches for children with a particular 'value'
TiXmlNode* IterateChildren( const std::string& value, TiXmlNode* previous ) const;
/** Add a new node related to this. Adds a child past the LastChild.
Returns a pointer to the new object or NULL if an error occured.
*/
TiXmlNode* InsertEndChild( const TiXmlNode& addThis );
/** Add a new node related to this. Adds a child before the specified child.
Returns a pointer to the new object or NULL if an error occured.
*/
TiXmlNode* InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis );
/** Add a new node related to this. Adds a child after the specified child.
Returns a pointer to the new object or NULL if an error occured.
*/
TiXmlNode* InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis );
/** Replace a child of this node.
Returns a pointer to the new object or NULL if an error occured.
*/
TiXmlNode* ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis );
/// Delete a child of this node.
bool RemoveChild( TiXmlNode* removeThis );
/// Navigate to a sibling node.
TiXmlNode* PreviousSibling() const { return prev; }
/// Navigate to a sibling node.
TiXmlNode* PreviousSibling( const std::string& ) const;
/// Navigate to a sibling node.
TiXmlNode* NextSibling() const { return next; }
/// Navigate to a sibling node with the given 'value'.
TiXmlNode* NextSibling( const std::string& ) const;
/** Convenience function to get through elements.
Calls NextSibling and ToElement. Will skip all non-Element
nodes. Returns 0 if there is not another element.
*/
TiXmlElement* NextSiblingElement() const;
/** Convenience function to get through elements.
Calls NextSibling and ToElement. Will skip all non-Element
nodes. Returns 0 if there is not another element.
*/
TiXmlElement* NextSiblingElement( const std::string& ) const;
/// Convenience function to get through elements.
TiXmlElement* FirstChildElement() const;
/// Convenience function to get through elements.
TiXmlElement* FirstChildElement( const std::string& value ) const;
/// Query the type (as an enumerated value, above) of this node.
virtual int Type() const { return type; }
/** Return a pointer to the Document this node lives in.
Returns null if not in a document.
*/
TiXmlDocument* GetDocument() const;
/// Returns true if this node has no children.
bool NoChildren() const { return !firstChild; }
TiXmlDocument* ToDocument() const { return ( this && type == DOCUMENT ) ? (TiXmlDocument*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
TiXmlElement* ToElement() const { return ( this && type == ELEMENT ) ? (TiXmlElement*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
TiXmlComment* ToComment() const { return ( this && type == COMMENT ) ? (TiXmlComment*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
TiXmlUnknown* ToUnknown() const { return ( this && type == UNKNOWN ) ? (TiXmlUnknown*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
TiXmlText* ToText() const { return ( this && type == TEXT ) ? (TiXmlText*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
TiXmlDeclaration* ToDeclaration() const { return ( this && type == DECLARATION ) ? (TiXmlDeclaration*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
virtual TiXmlNode* Clone() const = 0;
// The real work of the input operator.
virtual void StreamIn( std::istream* in, std::string* tag ) = 0;
protected:
TiXmlNode( NodeType type );
// The node is passed in by ownership. This object will delete it.
TiXmlNode* LinkEndChild( TiXmlNode* addThis );
// Figure out what is at *p, and parse it. Returns null if it is not an xml node.
TiXmlNode* Identify( const char* start );
void CopyToClone( TiXmlNode* target ) const { target->value = value; }
TiXmlNode* parent;
NodeType type;
TiXmlNode* firstChild;
TiXmlNode* lastChild;
std::string value;
TiXmlNode* prev;
TiXmlNode* next;
};
/** An attribute is a name-value pair. Elements have an arbitrary
number of attributes, each with a unique name.
@note The attributes are not TiXmlNodes, since they are not
part of the tinyXML document object model. There are other
suggested ways to look at this problem.
@note Attributes have a parent
*/
class TiXmlAttribute : public TiXmlBase
{
friend class TiXmlAttributeSet;
public:
/// Construct an empty attribute.
TiXmlAttribute() : prev( 0 ), next( 0 ) {}
/// Construct an attribute with a name and value.
TiXmlAttribute( const std::string& _name, const std::string& _value ) : name( _name ), value( _value ), prev( 0 ), next( 0 ) {}
const std::string& Name() const { return name; } ///< Return the name of this attribute.
const std::string& Value() const { return value; } ///< Return the value of this attribute.
const int IntValue() const; ///< Return the value of this attribute, converted to an integer.
const double DoubleValue() const; ///< Return the value of this attribute, converted to a double.
void SetName( const std::string& _name ) { name = _name; } ///< Set the name of this attribute.
void SetValue( const std::string& _value ) { value = _value; } ///< Set the value.
void SetIntValue( int value ); ///< Set the value from an integer.
void SetDoubleValue( double value ); ///< Set the value from a double.
/// Get the next sibling attribute in the DOM. Returns null at end.
TiXmlAttribute* Next() const;
/// Get the previous sibling attribute in the DOM. Returns null at beginning.
TiXmlAttribute* Previous() const;
bool operator==( const TiXmlAttribute& rhs ) const { return rhs.name == name; }
bool operator<( const TiXmlAttribute& rhs ) const { return name < rhs.name; }
bool operator>( const TiXmlAttribute& rhs ) const { return name > rhs.name; }
/* [internal use]
Attribtue parsing starts: first letter of the name
returns: the next char after the value end quote
*/
virtual const char* Parse( const char* p );
// [internal use]
virtual void Print( FILE* cfile, int depth ) const;
// [internal use]
virtual void StreamOut( std::ostream* out ) const;
// [internal use]
// Set the document pointer so the attribute can report errors.
void SetDocument( TiXmlDocument* doc ) { document = doc; }
private:
TiXmlDocument* document; // A pointer back to a document, for error reporting.
std::string name;
std::string value;
TiXmlAttribute* prev;
TiXmlAttribute* next;
};
/* A class used to manage a group of attributes.
It is only used internally, both by the ELEMENT and the DECLARATION.
The set can be changed transparent to the Element and Declaration
classes that use it, but NOT transparent to the Attribute
which has to implement a next() and previous() method. Which makes
it a bit problematic and prevents the use of STL.
This version is implemented with circular lists because:
- I like circular lists
- it demonstrates some independence from the (typical) doubly linked list.
*/
class TiXmlAttributeSet
{
public:
TiXmlAttributeSet();
~TiXmlAttributeSet();
void Add( TiXmlAttribute* attribute );
void Remove( TiXmlAttribute* attribute );
TiXmlAttribute* First() const { return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }
TiXmlAttribute* Last() const { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
TiXmlAttribute* Find( const std::string& name ) const;
private:
TiXmlAttribute sentinel;
};
/** The element is a container class. It has a value, the element name,
and can contain other elements, text, comments, and unknowns.
Elements also contain an arbitrary number of attributes.
*/
class TiXmlElement : public TiXmlNode
{
public:
/// Construct an element.
TiXmlElement( const std::string& value );
virtual ~TiXmlElement();
/** Given an attribute name, attribute returns the value
for the attribute of that name, or null if none exists.
*/
const std::string* Attribute( const std::string& name ) const;
/** Given an attribute name, attribute returns the value
for the attribute of that name, or null if none exists.
*/
const std::string* Attribute( const std::string& name, int* i ) const;
/** Sets an attribute of name to a given value. The attribute
will be created if it does not exist, or changed if it does.
*/
void SetAttribute( const std::string& name,
const std::string& value );
/** Sets an attribute of name to a given value. The attribute
will be created if it does not exist, or changed if it does.
*/
void SetAttribute( const std::string& name,
int value );
/** Deletes an attribute with the given name.
*/
void RemoveAttribute( const std::string& name );
TiXmlAttribute* FirstAttribute() const { return attributeSet.First(); } ///< Access the first attribute in this element.
TiXmlAttribute* LastAttribute() const { return attributeSet.Last(); } ///< Access the last attribute in this element.
// [internal use] Creates a new Element and returs it.
virtual TiXmlNode* Clone() const;
// [internal use]
virtual void Print( FILE* cfile, int depth ) const;
// [internal use]
virtual void StreamOut ( std::ostream* out ) const;
// [internal use]
virtual void StreamIn( std::istream* in, std::string* tag );
protected:
/* [internal use]
Attribtue parsing starts: next char past '<'
returns: next char past '>'
*/
virtual const char* Parse( const char* p );
/* [internal use]
Reads the "value" of the element -- another element, or text.
This should terminate with the current end tag.
*/
const char* ReadValue( const char* in );
bool ReadValue( std::istream* in );
private:
TiXmlAttributeSet attributeSet;
};
/** An XML comment.
*/
class TiXmlComment : public TiXmlNode
{
public:
/// Constructs an empty comment.
TiXmlComment() : TiXmlNode( TiXmlNode::COMMENT ) {}
virtual ~TiXmlComment() {}
// [internal use] Creates a new Element and returs it.
virtual TiXmlNode* Clone() const;
// [internal use]
virtual void Print( FILE* cfile, int depth ) const;
// [internal use]
virtual void StreamOut ( std::ostream* out ) const;
// [internal use]
virtual void StreamIn( std::istream* in, std::string* tag );
protected:
/* [internal use]
Attribtue parsing starts: at the ! of the !--
returns: next char past '>'
*/
virtual const char* Parse( const char* p );
};
/** XML text. Contained in an element.
*/
class TiXmlText : public TiXmlNode
{
public:
TiXmlText( const std::string& initValue ) : TiXmlNode( TiXmlNode::TEXT ) { SetValue( initValue ); }
virtual ~TiXmlText() {}
// [internal use] Creates a new Element and returns it.
virtual TiXmlNode* Clone() const;
// [internal use]
virtual void Print( FILE* cfile, int depth ) const;
// [internal use]
virtual void StreamOut ( std::ostream* out ) const;
// [internal use]
bool Blank() const; // returns true if all white space and new lines
/* [internal use]
Attribtue parsing starts: First char of the text
returns: next char past '>'
*/
virtual const char* Parse( const char* p );
// [internal use]
virtual void StreamIn( std::istream* in, std::string* tag );
};
/** In correct XML the declaration is the first entry in the file.
@verbatim
<?xml version="1.0" standalone="yes"?>
@endverbatim
TinyXml will happily read or write files without a declaration,
however. There are 3 possible attributes to the declaration:
version, encoding, and standalone.
Note: In this version of the code, the attributes are
handled as special cases, not generic attributes, simply
because there can only be at most 3 and they are always the same.
*/
class TiXmlDeclaration : public TiXmlNode
{
public:
/// Construct an empty declaration.
TiXmlDeclaration() : TiXmlNode( TiXmlNode::DECLARATION ) {}
/// Construct.
TiXmlDeclaration( const std::string& version,
const std::string& encoding,
const std::string& standalone );
virtual ~TiXmlDeclaration() {}
/// Version. Will return empty if none was found.
const std::string& Version() const { return version; }
/// Encoding. Will return empty if none was found.
const std::string& Encoding() const { return encoding; }
/// Is this a standalone document?
const std::string& Standalone() const { return standalone; }
// [internal use] Creates a new Element and returs it.
virtual TiXmlNode* Clone() const;
// [internal use]
virtual void Print( FILE* cfile, int depth ) const;
// [internal use]
virtual void StreamOut ( std::ostream* out ) const;
// [internal use]
virtual void StreamIn( std::istream* in, std::string* tag );
protected:
// [internal use]
// Attribtue parsing starts: next char past '<'
// returns: next char past '>'
virtual const char* Parse( const char* p );
private:
std::string version;
std::string encoding;
std::string standalone;
};
/** Any tag that tinyXml doesn't recognize is save as an
unknown. It is a tag of text, but should not be modified.
It will be written back to the XML, unchanged, when the file
is saved.
*/
class TiXmlUnknown : public TiXmlNode
{
public:
TiXmlUnknown() : TiXmlNode( TiXmlNode::UNKNOWN ) {}
virtual ~TiXmlUnknown() {}
// [internal use]
virtual TiXmlNode* Clone() const;
// [internal use]
virtual void Print( FILE* cfile, int depth ) const;
// [internal use]
virtual void StreamOut ( std::ostream* out ) const;
// [internal use]
virtual void StreamIn( std::istream* in, std::string* tag );
protected:
/* [internal use]
Attribute parsing starts: First char of the text
returns: next char past '>'
*/
virtual const char* Parse( const char* p );
};
/** Always the top level node. A document binds together all the
XML pieces. It can be saved, loaded, and printed to the screen.
The 'value' of a document node is the xml file name.
*/
class TiXmlDocument : public TiXmlNode
{
public:
/// Create an empty document, that has no name.
TiXmlDocument();
/// Create a document with a name. The name of the document is also the filename of the xml.
TiXmlDocument( const std::string& documentName );
virtual ~TiXmlDocument() {}
/** Load a file using the current document value.
Returns true if successful. Will delete any existing
document data before loading.
*/
bool LoadFile();
/// Save a file using the current document value. Returns true if successful.
bool SaveFile() const;
/// Load a file using the given filename. Returns true if successful.
bool LoadFile( const std::string& filename );
/// Save a file using the given filename. Returns true if successful.
bool SaveFile( const std::string& filename ) const;
/// Parse the given null terminated block of xml data.
virtual const char* Parse( const char* p );
/** Get the root element -- the only top level element -- of the document.
In well formed XML, there should only be one. TinyXml is tolerant of
multiple elements at the document level.
*/
TiXmlElement* RootElement() const { return FirstChildElement(); }
/// If, during parsing, a error occurs, Error will be set to true.
bool Error() const { return error; }
/// Contains a textual (english) description of the error if one occurs.
const std::string& ErrorDesc() const { return errorDesc; }
/** Generally, you probably want the error string ( ErrorDesc() ). But if you
prefer the ErrorId, this function will fetch it.
*/
const int ErrorId() const { return errorId; }
/// If you have handled the error, it can be reset with this call.
void ClearError() { error = false; errorId = 0; errorDesc = ""; }
/** Dump the document to standard out. */
void Print() const { Print( stdout, 0 ); }
// [internal use]
virtual void Print( FILE* cfile, int depth = 0 ) const;
// [internal use]
virtual void StreamOut ( std::ostream* out ) const;
// [internal use]
virtual TiXmlNode* Clone() const;
// [internal use]
void SetError( int err ) { assert( err > 0 && err < TIXML_ERROR_STRING_COUNT );
error = true;
errorId = err;
errorDesc = errorString[ errorId ]; }
// [internal use]
virtual void StreamIn( std::istream* in, std::string* tag );
protected:
private:
bool error;
int errorId;
std::string errorDesc;
};
#endif

View File

@ -0,0 +1,26 @@
#include "tinyxml.h"
// The goal of the seperate error file is to make the first
// step towards localization. tinyxml (currently) only supports
// latin-1, but at least the error messages could now be translated.
//
// It also cleans up the code a bit.
//
const char* TiXmlBase::errorString[ TIXML_ERROR_STRING_COUNT ] =
{
"No error",
"Error",
"Failed to open file",
"Memory allocation failed.",
"Error parsing Element.",
"Failed to read Element name",
"Error reading Element value.",
"Error reading Attributes.",
"Error: empty tag.",
"Error reading end tag.",
"Error parsing Unknown.",
"Error parsing Comment.",
"Error parsing Declaration.",
"Error document empty."
};

View File

@ -0,0 +1,928 @@
/*
Copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product documentation
would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
*/
#include "tinyxml.h"
#include <ctype.h>
#include <strstream>
using namespace std;
//#define DEBUG_PARSER
TiXmlBase::Entity TiXmlBase::entity[ NUM_ENTITY ] =
{
{ "&amp;", 5, '&' },
{ "&lt;", 4, '<' },
{ "&gt;", 4, '>' },
{ "&quot;", 6, '\"' },
{ "&apos;", 6, '\'' }
};
const char* TiXmlBase::SkipWhiteSpace( const char* p )
{
if ( !p || !*p )
{
return 0;
}
while ( p && *p )
{
if ( isspace( *p ) || *p == '\n' || *p =='\r' ) // Still using old rules for white space.
++p;
else
break;
}
return p;
}
/*static*/ bool TiXmlBase::StreamWhiteSpace( std::istream* in, std::string* tag )
{
for( ;; )
{
if ( !in->good() ) return false;
int c = in->peek();
if ( !IsWhiteSpace( c ) )
return true;
*tag += in->get();
}
}
/*static*/ bool TiXmlBase::StreamTo( std::istream* in, int character, std::string* tag )
{
while ( in->good() )
{
int c = in->peek();
if ( c == character )
return true;
in->get();
*tag += c;
}
return false;
}
const char* TiXmlBase::ReadName( const char* p, string* name )
{
*name = "";
assert( p );
// Names start with letters or underscores.
// After that, they can be letters, underscores, numbers,
// hyphens, or colons. (Colons are valid ony for namespaces,
// but tinyxml can't tell namespaces from names.)
if ( p && *p
&& ( isalpha( (unsigned char) *p ) || *p == '_' ) )
{
while( p && *p
&& ( isalnum( (unsigned char ) *p )
|| *p == '_'
|| *p == '-'
|| *p == ':' ) )
{
(*name) += *p;
++p;
}
return p;
}
return 0;
}
const char* TiXmlBase::GetEntity( const char* p, char* value )
{
// Presume an entity, and pull it out.
string ent;
int i;
// Ignore the &#x entities.
if ( strncmp( "&#x", p, 3 ) == 0 )
{
*value = *p;
return p+1;
}
// Now try to match it.
for( i=0; i<NUM_ENTITY; ++i )
{
if ( strncmp( entity[i].str, p, entity[i].strLength ) == 0 )
{
assert( strlen( entity[i].str ) == entity[i].strLength );
*value = entity[i].chr;
return ( p + entity[i].strLength );
}
}
// So it wasn't an entity, its unrecognized, or something like that.
*value = *p; // Don't put back the last one, since we return it!
return p+1;
}
bool TiXmlBase::StringEqual( const char* p,
const char* tag,
bool ignoreCase )
{
assert( p );
if ( !p || !*p )
{
assert( 0 );
return false;
}
if ( tolower( *p ) == tolower( *tag ) )
{
const char* q = p;
if (ignoreCase)
{
while ( *q && *tag && *q == *tag )
{
++q;
++tag;
}
if ( *tag == 0 ) // Have we found the end of the tag, and everything equal?
{
return true;
}
}
else
{
while ( *q && *tag && tolower( *q ) == tolower( *tag ) )
{
++q;
++tag;
}
if ( *tag == 0 )
{
return true;
}
}
}
return false;
}
const char* TiXmlBase::ReadText( const char* p,
string* text,
bool trimWhiteSpace,
const char* endTag,
bool caseInsensitive )
{
*text = "";
if ( !trimWhiteSpace // certain tags always keep whitespace
|| !condenseWhiteSpace ) // if true, whitespace is always kept
{
// Keep all the white space.
while ( p && *p
&& !StringEqual( p, endTag, caseInsensitive )
)
{
char c;
p = GetChar( p, &c );
text->append( &c, 1 );
}
}
else
{
bool whitespace = false;
// Remove leading white space:
p = SkipWhiteSpace( p );
while ( p && *p
&& !StringEqual( p, endTag, caseInsensitive ) )
{
if ( *p == '\r' || *p == '\n' )
{
whitespace = true;
++p;
}
else if ( isspace( *p ) )
{
whitespace = true;
++p;
}
else
{
// If we've found whitespace, add it before the
// new character. Any whitespace just becomes a space.
if ( whitespace )
{
text->append( " ", 1 );
whitespace = false;
}
char c;
p = GetChar( p, &c );
text->append( &c, 1 );
}
}
}
return p + strlen( endTag );
}
void TiXmlDocument::StreamIn( std::istream* in, std::string* tag )
{
// The basic issue with a document is that we don't know what we're
// streaming. Read something presumed to be a tag (and hope), then
// identify it, and call the appropriate stream method on the tag.
//
// This "pre-streaming" will never read the closing ">" so the
// sub-tag can orient itself.
if ( !StreamTo( in, '<', tag ) )
{
SetError( TIXML_ERROR_PARSING_EMPTY );
return;
}
while ( in->good() )
{
int tagIndex = tag->length();
while ( in->good() && in->peek() != '>' )
{
int c = in->get();
(*tag) += (char) c;
}
if ( in->good() )
{
// We now have something we presume to be a node of
// some sort. Identify it, and call the node to
// continue streaming.
TiXmlNode* node = Identify( tag->c_str() + tagIndex );
if ( node )
{
node->StreamIn( in, tag );
bool isElement = node->ToElement() != 0;
delete node;
node = 0;
// If this is the root element, we're done. Parsing will be
// done by the >> operator.
if ( isElement )
{
return;
}
}
else
{
SetError( TIXML_ERROR );
return;
}
}
}
// We should have returned sooner.
SetError( TIXML_ERROR );
}
const char* TiXmlDocument::Parse( const char* p )
{
// Parse away, at the document level. Since a document
// contains nothing but other tags, most of what happens
// here is skipping white space.
//
// In this variant (as opposed to stream and Parse) we
// read everything we can.
if ( !p || !*p || !( p = SkipWhiteSpace( p ) ) )
{
SetError( TIXML_ERROR_DOCUMENT_EMPTY );
return false;
}
while ( p && *p )
{
TiXmlNode* node = Identify( p );
if ( node )
{
p = node->Parse( p );
LinkEndChild( node );
}
else
{
break;
}
p = SkipWhiteSpace( p );
}
// All is well.
return p;
}
TiXmlNode* TiXmlNode::Identify( const char* p )
{
TiXmlNode* returnNode = 0;
p = SkipWhiteSpace( p );
if( !p || !*p || *p != '<' )
{
return 0;
}
TiXmlDocument* doc = GetDocument();
p = SkipWhiteSpace( p );
if ( !p || !*p )
{
return 0;
}
// What is this thing?
// - Elements start with a letter or underscore, but xml is reserved.
// - Comments: <!--
// - Decleration: <?xml
// - Everthing else is unknown to tinyxml.
//
const char* xmlHeader = { "<?xml" };
const char* commentHeader = { "<!--" };
if ( StringEqual( p, xmlHeader, true ) )
{
#ifdef DEBUG_PARSER
TIXML_LOG( "XML parsing Declaration\n" );
#endif
returnNode = new TiXmlDeclaration();
}
else if ( isalpha( *(p+1) )
|| *(p+1) == '_' )
{
#ifdef DEBUG_PARSER
TIXML_LOG( "XML parsing Element\n" );
#endif
returnNode = new TiXmlElement( "" );
}
else if ( StringEqual( p, commentHeader, false ) )
{
#ifdef DEBUG_PARSER
TIXML_LOG( "XML parsing Comment\n" );
#endif
returnNode = new TiXmlComment();
}
else
{
#ifdef DEBUG_PARSER
TIXML_LOG( "XML parsing Unknown\n" );
#endif
returnNode = new TiXmlUnknown();
}
if ( returnNode )
{
// Set the parent, so it can report errors
returnNode->parent = this;
//p = returnNode->Parse( p );
}
else
{
if ( doc )
doc->SetError( TIXML_ERROR_OUT_OF_MEMORY );
}
return returnNode;
}
void TiXmlElement::StreamIn( std::istream* in, std::string* tag )
{
// We're called with some amount of pre-parsing. That is, some of "this"
// element is in "tag". Go ahead and stream to the closing ">"
while( in->good() )
{
int c = in->get();
(*tag) += (char) c ;
if ( c == '>' )
break;
}
if ( tag->length() < 3 ) return;
// Okay...if we are a "/>" tag, then we're done. We've read a complete tag.
// If not, identify and stream.
if ( tag->at( tag->length() - 1 ) == '>'
&& tag->at( tag->length() - 2 ) == '/' )
{
// All good!
return;
}
else if ( tag->at( tag->length() - 1 ) == '>' )
{
// There is more. Could be:
// text
// closing tag
// another node.
for ( ;; )
{
StreamWhiteSpace( in, tag );
// Do we have text?
if ( in->peek() != '<' )
{
// Yep, text.
TiXmlText text( "" );
text.StreamIn( in, tag );
// What follows text is a closing tag or another node.
// Go around again and figure it out.
continue;
}
// We now have either a closing tag...or another node.
// We should be at a "<", regardless.
if ( !in->good() ) return;
assert( in->peek() == '<' );
int tagIndex = tag->length();
bool closingTag = false;
bool firstCharFound = false;
for( ;; )
{
if ( !in->good() )
return;
int c = in->peek();
if ( c == '>' )
break;
*tag += c;
in->get();
if ( !firstCharFound && c != '<' && !IsWhiteSpace( c ) )
{
firstCharFound = true;
if ( c == '/' )
closingTag = true;
}
}
// If it was a closing tag, then read in the closing '>' to clean up the input stream.
// If it was not, the streaming will be done by the tag.
if ( closingTag )
{
int c = in->get();
assert( c == '>' );
*tag += c;
// We are done, once we've found our closing tag.
return;
}
else
{
// If not a closing tag, id it, and stream.
const char* tagloc = tag->c_str() + tagIndex;
TiXmlNode* node = Identify( tagloc );
if ( !node )
return;
node->StreamIn( in, tag );
delete node;
node = 0;
// No return: go around from the beginning: text, closing tag, or node.
}
}
}
}
const char* TiXmlElement::Parse( const char* p )
{
p = SkipWhiteSpace( p );
TiXmlDocument* document = GetDocument();
if ( !p || !*p || *p != '<' )
{
if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT );
return false;
}
p = SkipWhiteSpace( p+1 );
// Read the name.
p = ReadName( p, &value );
if ( !p || !*p )
{
if ( document ) document->SetError( TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME );
return false;
}
string endTag = "</";
endTag += value;
endTag += ">";
// Check for and read attributes. Also look for an empty
// tag or an end tag.
while ( p && *p )
{
p = SkipWhiteSpace( p );
if ( !p || !*p )
{
if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES );
return 0;
}
if ( *p == '/' )
{
++p;
// Empty tag.
if ( *p != '>' )
{
if ( document ) document->SetError( TIXML_ERROR_PARSING_EMPTY );
return 0;
}
return (p+1);
}
else if ( *p == '>' )
{
// Done with attributes (if there were any.)
// Read the value -- which can include other
// elements -- read the end tag, and return.
++p;
p = ReadValue( p ); // Note this is an Element method, and will set the error if one happens.
if ( !p || !*p )
return 0;
// We should find the end tag now
if ( StringEqual( p, endTag.c_str(), false ) )
{
p += endTag.length();
return p;
}
else
{
if ( document ) document->SetError( TIXML_ERROR_READING_END_TAG );
return 0;
}
}
else
{
// Try to read an element:
TiXmlAttribute attrib;
attrib.SetDocument( document );
p = attrib.Parse( p );
if ( !p || !*p )
{
if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT );
return 0;
}
SetAttribute( attrib.Name(), attrib.Value() );
}
}
return p;
}
const char* TiXmlElement::ReadValue( const char* p )
{
TiXmlDocument* document = GetDocument();
// Read in text and elements in any order.
p = SkipWhiteSpace( p );
while ( p && *p )
{
// string text;
// while ( p && *p && *p != '<' )
// {
// text += (*p);
// ++p;
// }
//
// p = SkipWhiteSpace( p );
if ( *p != '<' )
{
// Take what we have, make a text element.
TiXmlText* textNode = new TiXmlText( "" );
if ( !textNode )
{
if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY );
return 0;
}
p = textNode->Parse( p );
if ( !textNode->Blank() )
LinkEndChild( textNode );
else
delete textNode;
}
else
{
// We hit a '<'
// Have we hit a new element or an end tag?
if ( StringEqual( p, "</", false ) )
{
return p;
}
else
{
TiXmlNode* node = Identify( p );
if ( node )
{
p = node->Parse( p );
LinkEndChild( node );
}
else
{
return 0;
}
}
}
p = SkipWhiteSpace( p );
}
if ( !p )
{
if ( document ) document->SetError( TIXML_ERROR_READING_ELEMENT_VALUE );
}
return p;
}
void TiXmlUnknown::StreamIn( std::istream* in, std::string* tag )
{
while ( in->good() )
{
int c = in->get();
(*tag) += c;
if ( c == '>' )
{
// All is well.
return;
}
}
}
const char* TiXmlUnknown::Parse( const char* p )
{
TiXmlDocument* document = GetDocument();
p = SkipWhiteSpace( p );
if ( !p || !*p || *p != '<' )
{
if ( document ) document->SetError( TIXML_ERROR_PARSING_UNKNOWN );
return 0;
}
++p;
value = "";
while ( p && *p && *p != '>' )
{
value += *p;
++p;
}
if ( !p )
{
if ( document ) document->SetError( TIXML_ERROR_PARSING_UNKNOWN );
}
if ( *p == '>' )
return p+1;
return p;
}
void TiXmlComment::StreamIn( std::istream* in, std::string* tag )
{
while ( in->good() )
{
int c = in->get();
(*tag) += c;
if ( c == '>'
&& tag->at( tag->length() - 2 ) == '-'
&& tag->at( tag->length() - 3 ) == '-' )
{
// All is well.
return;
}
}
}
const char* TiXmlComment::Parse( const char* p )
{
TiXmlDocument* document = GetDocument();
value = "";
p = SkipWhiteSpace( p );
const char* startTag = "<!--";
const char* endTag = "-->";
if ( !StringEqual( p, startTag, false ) )
{
document->SetError( TIXML_ERROR_PARSING_COMMENT );
return 0;
}
p += strlen( startTag );
p = ReadText( p, &value, false, endTag, false );
return p;
}
const char* TiXmlAttribute::Parse( const char* p )
{
p = SkipWhiteSpace( p );
if ( !p || !*p ) return 0;
// Read the name, the '=' and the value.
p = ReadName( p, &name );
if ( !p || !*p )
{
if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES );
return 0;
}
p = SkipWhiteSpace( p );
if ( !p || !*p || *p != '=' )
{
if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES );
return 0;
}
++p; // skip '='
p = SkipWhiteSpace( p );
if ( !p || !*p )
{
if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES );
return 0;
}
const char* end;
if ( *p == '\'' )
{
++p;
end = "\'";
p = ReadText( p, &value, false, end, false );
}
else if ( *p == '"' )
{
++p;
end = "\"";
p = ReadText( p, &value, false, end, false );
}
else
{
// All attribute values should be in single or double quotes.
// But this is such a common error that the parser will try
// its best, even without them.
value = "";
while ( p && *p // existence
&& !isspace( *p ) && *p != '\n' && *p != '\r' // whitespace
&& *p != '/' && *p != '>' ) // tag end
{
value += *p;
++p;
}
}
return p;
}
void TiXmlText::StreamIn( std::istream* in, std::string* tag )
{
while ( in->good() )
{
int c = in->peek();
if ( c == '<' )
return;
(*tag) += c;
in->get();
}
}
const char* TiXmlText::Parse( const char* p )
{
value = "";
//TiXmlDocument* doc = GetDocument();
bool ignoreWhite = true;
// if ( doc && !doc->IgnoreWhiteSpace() ) ignoreWhite = false;
const char* end = "<";
p = ReadText( p, &value, ignoreWhite, end, false );
if ( p )
return p-1; // don't truncate the '<'
return 0;
}
void TiXmlDeclaration::StreamIn( std::istream* in, std::string* tag )
{
while ( in->good() )
{
int c = in->get();
(*tag) += c;
if ( c == '>' )
{
// All is well.
return;
}
}
}
const char* TiXmlDeclaration::Parse( const char* p )
{
p = SkipWhiteSpace( p );
// Find the beginning, find the end, and look for
// the stuff in-between.
TiXmlDocument* document = GetDocument();
if ( !p || !*p || !StringEqual( p, "<?xml", true ) )
{
if ( document ) document->SetError( TIXML_ERROR_PARSING_DECLARATION );
return 0;
}
p += 5;
// const char* start = p+5;
// const char* end = strstr( start, "?>" );
version = "";
encoding = "";
standalone = "";
while ( p && *p )
{
if ( *p == '>' )
{
++p;
return p;
}
p = SkipWhiteSpace( p );
if ( StringEqual( p, "version", true ) )
{
// p += 7;
TiXmlAttribute attrib;
p = attrib.Parse( p );
version = attrib.Value();
}
else if ( StringEqual( p, "encoding", true ) )
{
// p += 8;
TiXmlAttribute attrib;
p = attrib.Parse( p );
encoding = attrib.Value();
}
else if ( StringEqual( p, "standalone", true ) )
{
// p += 10;
TiXmlAttribute attrib;
p = attrib.Parse( p );
standalone = attrib.Value();
}
else
{
// Read over whatever it is.
while( p && *p && *p != '>' && !isspace( *p ) )
++p;
}
}
return 0;
}
bool TiXmlText::Blank() const
{
for ( unsigned i=0; i<value.size(); i++ )
if ( !isspace( value[i] ) )
return false;
return true;
}

326
node_modules/lame/deps/lame/ACM/tinyxml/xmltest.cpp generated vendored Normal file
View File

@ -0,0 +1,326 @@
#include "tinyxml.h"
#include <iostream>
#include <sstream>
#include <strstream>
using namespace std;
int gPass = 0;
int gFail = 0;
// Utility functions:
template< class T >
bool XmlTest( const char* testString, T expected, T found, bool noEcho = false )
{
if ( expected == found )
cout << "[pass]";
else
cout << "[fail]";
if ( noEcho )
cout << " " << testString;
else
cout << " " << testString << " [" << expected << "][" << found << "]";
cout << "\n";
bool pass = ( expected == found );
if ( pass )
++gPass;
else
++gFail;
return pass;
}
//
// This file demonstrates some basic functionality of TinyXml.
// Note that the example is very contrived. It presumes you know
// what is in the XML file. But it does test the basic operations,
// and show how to add and remove nodes.
//
int main()
{
//
// We start with the 'demoStart' todo list. Process it. And
// should hopefully end up with the todo list as illustrated.
//
const char* demoStart =
"<?xml version=\"1.0\" standalone='no' >\n"
"<!-- Our to do list data -->"
"<ToDo>\n"
"<!-- Do I need a secure PDA? -->\n"
"<Item priority=\"1\" distance='close'> Go to the <bold>Toy store!</bold></Item>"
"<Item priority=\"2\" distance='none'> Do bills </Item>"
"<Item priority=\"2\" distance='far &amp; back'> Look for Evil Dinosaurs! </Item>"
"</ToDo>";
/* What the todo list should look like after processing.
In stream (no formatting) representation. */
const char* demoEnd =
"<?xml version=\"1.0\" standalone=\"no\" ?>"
"<!-- Our to do list data -->"
"<ToDo>"
"<!-- Do I need a secure PDA? -->"
"<Item priority=\"2\" distance=\"close\">Go to the"
"<bold>Toy store!"
"</bold>"
"</Item>"
"<Item priority=\"1\" distance=\"far\">Talk to:"
"<Meeting where=\"School\">"
"<Attendee name=\"Marple\" position=\"teacher\" />"
"<Attendee name=\"Vo&#x82;\" position=\"counselor\" />"
"</Meeting>"
"<Meeting where=\"Lunch\" />"
"</Item>"
"<Item priority=\"2\" distance=\"here\">Do bills"
"</Item>"
"</ToDo>";
// The example parses from the character string (above):
{
// Write to a file and read it back, to check file I/O.
TiXmlDocument doc( "demotest.xml" );
doc.Parse( demoStart );
if ( doc.Error() )
{
printf( "Error in %s: %s\n", doc.Value().c_str(), doc.ErrorDesc().c_str() );
exit( 1 );
}
doc.SaveFile();
}
TiXmlDocument doc( "demotest.xml" );
bool loadOkay = doc.LoadFile();
if ( !loadOkay )
{
printf( "Could not load test file 'demotest.xml'. Error='%s'. Exiting.\n", doc.ErrorDesc().c_str() );
exit( 1 );
}
printf( "** Demo doc read from disk: ** \n\n" );
doc.Print( stdout );
TiXmlNode* node = 0;
TiXmlElement* todoElement = 0;
TiXmlElement* itemElement = 0;
// --------------------------------------------------------
// An example of changing existing attributes, and removing
// an element from the document.
// --------------------------------------------------------
// Get the "ToDo" element.
// It is a child of the document, and can be selected by name.
node = doc.FirstChild( "ToDo" );
assert( node );
todoElement = node->ToElement();
assert( todoElement );
// Going to the toy store is now our second priority...
// So set the "priority" attribute of the first item in the list.
node = todoElement->FirstChildElement(); // This skips the "PDA" comment.
assert( node );
itemElement = node->ToElement();
assert( itemElement );
itemElement->SetAttribute( "priority", 2 );
// Change the distance to "doing bills" from
// "none" to "here". It's the next sibling element.
itemElement = itemElement->NextSiblingElement();
assert( itemElement );
itemElement->SetAttribute( "distance", "here" );
// Remove the "Look for Evil Dinosours!" item.
// It is 1 more sibling away. We ask the parent to remove
// a particular child.
itemElement = itemElement->NextSiblingElement();
todoElement->RemoveChild( itemElement );
itemElement = 0;
// --------------------------------------------------------
// What follows is an example of created elements and text
// nodes and adding them to the document.
// --------------------------------------------------------
// Add some meetings.
TiXmlElement item( "Item" );
item.SetAttribute( "priority", "1" );
item.SetAttribute( "distance", "far" );
TiXmlText text( "Talk to:" );
TiXmlElement meeting1( "Meeting" );
meeting1.SetAttribute( "where", "School" );
TiXmlElement meeting2( "Meeting" );
meeting2.SetAttribute( "where", "Lunch" );
TiXmlElement attendee1( "Attendee" );
attendee1.SetAttribute( "name", "Marple" );
attendee1.SetAttribute( "position", "teacher" );
TiXmlElement attendee2( "Attendee" );
attendee2.SetAttribute( "name", "Vo&#x82;" );
attendee2.SetAttribute( "position", "counselor" );
// Assemble the nodes we've created:
meeting1.InsertEndChild( attendee1 );
meeting1.InsertEndChild( attendee2 );
item.InsertEndChild( text );
item.InsertEndChild( meeting1 );
item.InsertEndChild( meeting2 );
// And add the node to the existing list after the first child.
node = todoElement->FirstChild( "Item" );
assert( node );
itemElement = node->ToElement();
assert( itemElement );
todoElement->InsertAfterChild( itemElement, item );
printf( "\n** Demo doc processed: ** \n\n" );
doc.Print( stdout );
printf( "** Demo doc processed to stream: ** \n\n" );
cout << doc << endl << endl;
// --------------------------------------------------------
// Different tests...do we have what we expect?
// --------------------------------------------------------
int count = 0;
TiXmlElement* element;
//////////////////////////////////////////////////////
cout << "** Basic structure. **\n";
ostringstream outputStream( ostringstream::out );
outputStream << doc;
XmlTest( "Output stream correct.", string( demoEnd ), outputStream.str(), true );
node = doc.RootElement();
XmlTest( "Root element exists.", true, ( node != 0 && node->ToElement() ) );
XmlTest( "Root element value is 'ToDo'.", string( "ToDo" ), node->Value() );
node = node->FirstChild();
XmlTest( "First child exists & is a comment.", true, ( node != 0 && node->ToComment() ) );
node = node->NextSibling();
XmlTest( "Sibling element exists & is an element.", true, ( node != 0 && node->ToElement() ) );
XmlTest( "Value is 'Item'.", string( "Item" ), node->Value() );
node = node->FirstChild();
XmlTest( "First child exists.", true, ( node != 0 && node->ToText() ) );
XmlTest( "Value is 'Go to the'.", string( "Go to the" ), node->Value() );
//////////////////////////////////////////////////////
cout << "\n** Iterators. **" << "\n";
// Walk all the top level nodes of the document.
count = 0;
for( node = doc.FirstChild();
node;
node = node->NextSibling() )
{
count++;
}
XmlTest( "Top level nodes, using First / Next.", 3, count );
count = 0;
for( node = doc.LastChild();
node;
node = node->PreviousSibling() )
{
count++;
}
XmlTest( "Top level nodes, using Last / Previous.", 3, count );
// Walk all the top level nodes of the document,
// using a different sytax.
count = 0;
for( node = doc.IterateChildren( 0 );
node;
node = doc.IterateChildren( node ) )
{
count++;
}
XmlTest( "Top level nodes, using IterateChildren.", 3, count );
// Walk all the elements in a node.
count = 0;
for( element = todoElement->FirstChildElement();
element;
element = element->NextSiblingElement() )
{
count++;
}
XmlTest( "Children of the 'ToDo' element, using First / Next.",
3, count );
// Walk all the elements in a node by value.
count = 0;
for( node = todoElement->FirstChild( "Item" );
node;
node = node->NextSibling( "Item" ) )
{
count++;
}
XmlTest( "'Item' children of the 'ToDo' element, using First/Next.", 3, count );
count = 0;
for( node = todoElement->LastChild( "Item" );
node;
node = node->PreviousSibling( "Item" ) )
{
count++;
}
XmlTest( "'Item' children of the 'ToDo' element, using Last/Previous.", 3, count );
//////////////////////////////////////////////////////
cout << "\n** Parsing. **\n";
istringstream parse0( "<Element0 attribute0='foo0' attribute1= noquotes attribute2 = '&gt;' />" );
TiXmlElement element0( "default" );
parse0 >> element0;
XmlTest( "Element parsed, value is 'Element0'.", string( "Element0" ), element0.Value() );
XmlTest( "Reads attribute 'attribute0=\"foo0\"'.", string( "foo0" ), *( element0.Attribute( "attribute0" ) ) );
XmlTest( "Reads incorrectly formatted 'attribute1=noquotes'.", string( "noquotes" ), *( element0.Attribute( "attribute1" ) ) );
XmlTest( "Read attribute with entity value '>'.", string( ">" ), *( element0.Attribute( "attribute2" ) ) );
//////////////////////////////////////////////////////
cout << "\n** Streaming. **\n";
// Round trip check: stream in, then stream back out to verify. The stream
// out has already been checked, above. We use the output
istringstream inputStringStream( outputStream.str() );
TiXmlDocument document0;
inputStringStream >> document0;
ostringstream outputStream0( ostringstream::out );
outputStream0 << document0;
XmlTest( "Stream round trip correct.", string( demoEnd ), outputStream0.str(), true );
//////////////////////////////////////////////////////
cout << "\n** Parsing, no Condense Whitespace **\n";
TiXmlBase::SetCondenseWhiteSpace( false );
istringstream parse1( "<start>This is \ntext</start>" );
TiXmlElement text1( "text" );
parse1 >> text1;
XmlTest( "Condense white space OFF.", string( "This is \ntext" ),
text1.FirstChild()->Value(),
true );
cout << endl << "Pass " << gPass << ", Fail " << gFail << endl;
return 0;
}

107
node_modules/lame/deps/lame/API generated vendored Normal file
View File

@ -0,0 +1,107 @@
The LAME API
This is the simple interface to the encoding part of libmp3lame.so.
The library also contains routines for adding id3 tags and
mp3 decoding. These routines are not fully documented,
but you can figure them out by looking at "include/lame.h" and the
example frontend encoder/decoder source code in frontend/main.c
All of these steps should be done for every MP3 to be encoded.
=========================================================================
1. (optional) Get the version number of the encoder, if you are interested.
void get_lame_version(char *strbuf, size_t buflen, const char *prefix);
2. Error messages. By default, LAME will write error messages to
stderr using vfprintf(). For GUI applications, this is often a problem
and you need to set your own error message handlers:
lame_set_errorf(gfp,error_handler_function);
lame_set_debugf(gfp,error_handler_function);
lame_set_msgf(gfp,error_handler_function);
See lame.h for details.
3. Initialize the encoder. sets default for all encoder parameters.
#include "lame.h"
lame_global_flags *gfp;
gfp = lame_init();
The default (if you set nothing) is a J-Stereo, 44.1khz
128kbps CBR mp3 file at quality 5. Override various default settings
as necessary, for example:
lame_set_num_channels(gfp,2);
lame_set_in_samplerate(gfp,44100);
lame_set_brate(gfp,128);
lame_set_mode(gfp,1);
lame_set_quality(gfp,2); /* 2=high 5 = medium 7=low */
See lame.h for the complete list of options. Note that there are
some lame_set_*() calls not documented in lame.h. These functions
are experimental and for testing only. They may be removed in
the future.
4. Set more internal configuration based on data provided above,
as well as checking for problems. Check that ret_code >= 0.
ret_code = lame_init_params(gfp);
5. Encode some data. input pcm data, output (maybe) mp3 frames.
This routine handles all buffering, resampling and filtering for you.
The required mp3buffer_size can be computed from num_samples,
samplerate and encoding rate, but here is a worst case estimate:
mp3buffer_size (in bytes) = 1.25*num_samples + 7200.
num_samples = the number of PCM samples in each channel. It is
not the sum of the number of samples in the L and R channels.
The return code = number of bytes output in mp3buffer. This can be 0.
If it is <0, an error occured.
int lame_encode_buffer(lame_global_flags *gfp,
short int leftpcm[], short int rightpcm[],
int num_samples,char *mp3buffer,int mp3buffer_size);
There are also routines for various types of input
(float, long, interleaved, etc). See lame.h for details.
6. lame_encode_flush will flush the buffers and may return a
final few mp3 frames. mp3buffer should be at least 7200 bytes.
return code = number of bytes output to mp3buffer. This can be 0.
int lame_encode_flush(lame_global_flags *,char *mp3buffer, int mp3buffer_size);
7. Write the Xing VBR/INFO tag to mp3 file.
void lame_mp3_tags_fid(lame_global_flags *,FILE* fid);
This adds a valid mp3 frame which contains information about the
bitstream some players may find usefull. It is used for CBR,ABR and
VBR. The routine will attempt to rewind the output stream to the
beginning. If this is not possible, (for example, you are encoding to
stdout) you should specifically disable the tag by calling
lame_set_bWriteVbrTag(gfp,0) in step 3 above, and call
lame_mp3_tags_fid() with fid=NULL. If the rewind fails and
the tag was not disabled, the first mp3 frame in the bitstream
will be all 0's.
8. free the internal data structures.
void lame_close(lame_global_flags *);

481
node_modules/lame/deps/lame/COPYING generated vendored Normal file
View File

@ -0,0 +1,481 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

39814
node_modules/lame/deps/lame/ChangeLog generated vendored Normal file

File diff suppressed because it is too large Load Diff

45
node_modules/lame/deps/lame/DEFINES generated vendored Normal file
View File

@ -0,0 +1,45 @@
$Id: DEFINES,v 1.23 2003/02/07 18:17:41 bouvigne Exp $
USE_FAST_LOG:
- use of log/log10 approximation (uses IEEE754 float format)
(absolute precision of log10 is then around 1e-6)
KLEMM_36:
- portability fixes in the IO code
NON_LINEAR_PSYMODEL
- use a non linear psymodel in the GPSYCHO case
USE_GOGO_SUBBAND:
?
NOTABLES (default):
?
NEWS3:
?
NORES_TEST (allways on):
- don't let the 2nd granule use bits saved by the 1st granule
- useful for testing only
NEW_DRAIN (theres a define above: NEW_DRAINXX):
?
comment:
mdb_bytes = x/8; m ?= n ?= o ?= 8* mdb_bytes; p ?= mdb_bytes
( ? == [+-] )
- optimization should handle this, but it looks ugly
- do we lose precision here?
LAME_STD_PRINT:
- more verbose output?
PRECOMPUTE (always on, multiple defines):
- precomputes blackman window?
USE_GNUC_ASM:
- speed optimization
(should move into configure.in)
... alot of #if 0 / #if 1 not evaluated ...

1028
node_modules/lame/deps/lame/Dll/BladeMP3EncDLL.c generated vendored Normal file

File diff suppressed because it is too large Load Diff

36
node_modules/lame/deps/lame/Dll/BladeMP3EncDLL.def generated vendored Normal file
View File

@ -0,0 +1,36 @@
LIBRARY lame_enc.DLL
EXPORTS
beInitStream @1
beEncodeChunk @2
beDeinitStream @3
beCloseStream @4
beVersion @5
beWriteVBRHeader @6
beEncodeChunkFloatS16NI @7
beFlushNoGap @8
beWriteInfoTag @9
lame_init @100
lame_close @101
lame_init_params @102
lame_encode_buffer_interleaved @110
lame_encode_flush @120
lame_mp3_tags_fid @130
lame_set_num_samples @1000
lame_get_num_samples @1001
lame_set_in_samplerate @1002
lame_get_in_samplerate @1003
lame_set_num_channels @1004
lame_get_num_channels @1005
lame_set_scale @1006
lame_get_scale @1007
lame_set_scale_left @1008
lame_get_scale_left @1009
lame_set_scale_right @1010
lame_get_scale_right @1011
lame_set_out_samplerate @1012
lame_get_out_samplerate @1013

280
node_modules/lame/deps/lame/Dll/BladeMP3EncDLL.h generated vendored Normal file
View File

@ -0,0 +1,280 @@
/*
* Blade Type of DLL Interface for Lame encoder
*
* Copyright (c) 1999-2002 A.L. Faber
* Based on bladedll.h version 1.0 written by Jukka Poikolainen
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef ___BLADEDLL_H_INCLUDED___
#define ___BLADEDLL_H_INCLUDED___
#ifdef __GNUC__
#define ATTRIBUTE_PACKED __attribute__((packed))
#else
#define ATTRIBUTE_PACKED
#pragma pack(push)
#pragma pack(1)
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* encoding formats */
#define BE_CONFIG_MP3 0
#define BE_CONFIG_LAME 256
/* type definitions */
typedef void* HBE_STREAM;
typedef HBE_STREAM *PHBE_STREAM;
typedef unsigned long BE_ERR;
/* error codes */
#define BE_ERR_SUCCESSFUL 0x00000000
#define BE_ERR_INVALID_FORMAT 0x00000001
#define BE_ERR_INVALID_FORMAT_PARAMETERS 0x00000002
#define BE_ERR_NO_MORE_HANDLES 0x00000003
#define BE_ERR_INVALID_HANDLE 0x00000004
#define BE_ERR_BUFFER_TOO_SMALL 0x00000005
/* other constants */
#define BE_MAX_HOMEPAGE 128
/* format specific variables */
#define BE_MP3_MODE_STEREO 0
#define BE_MP3_MODE_JSTEREO 1
#define BE_MP3_MODE_DUALCHANNEL 2
#define BE_MP3_MODE_MONO 3
#define MPEG1 1
#define MPEG2 0
#ifdef _BLADEDLL
#undef FLOAT
#include <Windows.h>
#endif
#define CURRENT_STRUCT_VERSION 1
#define CURRENT_STRUCT_SIZE sizeof(BE_CONFIG) // is currently 331 bytes
typedef enum
{
VBR_METHOD_NONE = -1,
VBR_METHOD_DEFAULT = 0,
VBR_METHOD_OLD = 1,
VBR_METHOD_NEW = 2,
VBR_METHOD_MTRH = 3,
VBR_METHOD_ABR = 4
} VBRMETHOD;
typedef enum
{
LQP_NOPRESET =-1,
// QUALITY PRESETS
LQP_NORMAL_QUALITY = 0,
LQP_LOW_QUALITY = 1,
LQP_HIGH_QUALITY = 2,
LQP_VOICE_QUALITY = 3,
LQP_R3MIX = 4,
LQP_VERYHIGH_QUALITY = 5,
LQP_STANDARD = 6,
LQP_FAST_STANDARD = 7,
LQP_EXTREME = 8,
LQP_FAST_EXTREME = 9,
LQP_INSANE = 10,
LQP_ABR = 11,
LQP_CBR = 12,
LQP_MEDIUM = 13,
LQP_FAST_MEDIUM = 14,
// NEW PRESET VALUES
LQP_PHONE =1000,
LQP_SW =2000,
LQP_AM =3000,
LQP_FM =4000,
LQP_VOICE =5000,
LQP_RADIO =6000,
LQP_TAPE =7000,
LQP_HIFI =8000,
LQP_CD =9000,
LQP_STUDIO =10000
} LAME_QUALITY_PRESET;
typedef struct {
DWORD dwConfig; // BE_CONFIG_XXXXX
// Currently only BE_CONFIG_MP3 is supported
union {
struct {
DWORD dwSampleRate; // 48000, 44100 and 32000 allowed
BYTE byMode; // BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO
WORD wBitrate; // 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320 allowed
BOOL bPrivate;
BOOL bCRC;
BOOL bCopyright;
BOOL bOriginal;
} mp3; // BE_CONFIG_MP3
struct
{
// STRUCTURE INFORMATION
DWORD dwStructVersion;
DWORD dwStructSize;
// BASIC ENCODER SETTINGS
DWORD dwSampleRate; // SAMPLERATE OF INPUT FILE
DWORD dwReSampleRate; // DOWNSAMPLERATE, 0=ENCODER DECIDES
LONG nMode; // BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO
DWORD dwBitrate; // CBR bitrate, VBR min bitrate
DWORD dwMaxBitrate; // CBR ignored, VBR Max bitrate
LONG nPreset; // Quality preset, use one of the settings of the LAME_QUALITY_PRESET enum
DWORD dwMpegVersion; // FUTURE USE, MPEG-1 OR MPEG-2
DWORD dwPsyModel; // FUTURE USE, SET TO 0
DWORD dwEmphasis; // FUTURE USE, SET TO 0
// BIT STREAM SETTINGS
BOOL bPrivate; // Set Private Bit (TRUE/FALSE)
BOOL bCRC; // Insert CRC (TRUE/FALSE)
BOOL bCopyright; // Set Copyright Bit (TRUE/FALSE)
BOOL bOriginal; // Set Original Bit (TRUE/FALSE)
// VBR STUFF
BOOL bWriteVBRHeader; // WRITE XING VBR HEADER (TRUE/FALSE)
BOOL bEnableVBR; // USE VBR ENCODING (TRUE/FALSE)
INT nVBRQuality; // VBR QUALITY 0..9
DWORD dwVbrAbr_bps; // Use ABR in stead of nVBRQuality
VBRMETHOD nVbrMethod;
BOOL bNoRes; // Disable Bit resorvoir (TRUE/FALSE)
// MISC SETTINGS
BOOL bStrictIso; // Use strict ISO encoding rules (TRUE/FALSE)
WORD nQuality; // Quality Setting, HIGH BYTE should be NOT LOW byte, otherwhise quality=5
// FUTURE USE, SET TO 0, align strucutre to 331 bytes
BYTE btReserved[255-4*sizeof(DWORD) - sizeof( WORD )];
} LHV1; // LAME header version 1
struct {
DWORD dwSampleRate;
BYTE byMode;
WORD wBitrate;
BYTE byEncodingMethod;
} aac;
} format;
} BE_CONFIG, *PBE_CONFIG ATTRIBUTE_PACKED;
typedef struct {
// BladeEnc DLL Version number
BYTE byDLLMajorVersion;
BYTE byDLLMinorVersion;
// BladeEnc Engine Version Number
BYTE byMajorVersion;
BYTE byMinorVersion;
// DLL Release date
BYTE byDay;
BYTE byMonth;
WORD wYear;
// BladeEnc Homepage URL
CHAR zHomepage[BE_MAX_HOMEPAGE + 1];
BYTE byAlphaLevel;
BYTE byBetaLevel;
BYTE byMMXEnabled;
BYTE btReserved[125];
} BE_VERSION, *PBE_VERSION ATTRIBUTE_PACKED;
#ifndef _BLADEDLL
typedef BE_ERR (*BEINITSTREAM) (PBE_CONFIG, PDWORD, PDWORD, PHBE_STREAM);
typedef BE_ERR (*BEENCODECHUNK) (HBE_STREAM, DWORD, PSHORT, PBYTE, PDWORD);
// added for floating point audio -- DSPguru, jd
typedef BE_ERR (*BEENCODECHUNKFLOATS16NI) (HBE_STREAM, DWORD, PFLOAT, PFLOAT, PBYTE, PDWORD);
typedef BE_ERR (*BEDEINITSTREAM) (HBE_STREAM, PBYTE, PDWORD);
typedef BE_ERR (*BECLOSESTREAM) (HBE_STREAM);
typedef VOID (*BEVERSION) (PBE_VERSION);
typedef BE_ERR (*BEWRITEVBRHEADER) (LPCSTR);
typedef BE_ERR (*BEWRITEINFOTAG) (HBE_STREAM, LPCSTR );
#define TEXT_BEINITSTREAM "beInitStream"
#define TEXT_BEENCODECHUNK "beEncodeChunk"
#define TEXT_BEENCODECHUNKFLOATS16NI "beEncodeChunkFloatS16NI"
#define TEXT_BEDEINITSTREAM "beDeinitStream"
#define TEXT_BECLOSESTREAM "beCloseStream"
#define TEXT_BEVERSION "beVersion"
#define TEXT_BEWRITEVBRHEADER "beWriteVBRHeader"
#define TEXT_BEFLUSHNOGAP "beFlushNoGap"
#define TEXT_BEWRITEINFOTAG "beWriteInfoTag"
#else
__declspec(dllexport) BE_ERR beInitStream(PBE_CONFIG pbeConfig, PDWORD dwSamples, PDWORD dwBufferSize, PHBE_STREAM phbeStream);
__declspec(dllexport) BE_ERR beEncodeChunk(HBE_STREAM hbeStream, DWORD nSamples, PSHORT pSamples, PBYTE pOutput, PDWORD pdwOutput);
// added for floating point audio -- DSPguru, jd
__declspec(dllexport) BE_ERR beEncodeChunkFloatS16NI(HBE_STREAM hbeStream, DWORD nSamples, PFLOAT buffer_l, PFLOAT buffer_r, PBYTE pOutput, PDWORD pdwOutput);
__declspec(dllexport) BE_ERR beDeinitStream(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput);
__declspec(dllexport) BE_ERR beCloseStream(HBE_STREAM hbeStream);
__declspec(dllexport) VOID beVersion(PBE_VERSION pbeVersion);
__declspec(dllexport) BE_ERR beWriteVBRHeader(LPCSTR lpszFileName);
__declspec(dllexport) BE_ERR beFlushNoGap(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput);
__declspec(dllexport) BE_ERR beWriteInfoTag( HBE_STREAM hbeStream, LPCSTR lpszFileName );
#endif
#ifdef __cplusplus
}
#endif
#ifndef __GNUC__
#pragma pack(pop)
#endif
#endif

288
node_modules/lame/deps/lame/Dll/Example.cpp generated vendored Normal file
View File

@ -0,0 +1,288 @@
/*
* LAME DLL Sample Code.
*
* Copyright (c) 2000 A.L. Faber
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <windows.h>
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <sys/stat.h>
#include "BladeMP3EncDLL.h"
BEINITSTREAM beInitStream=NULL;
BEENCODECHUNK beEncodeChunk=NULL;
BEDEINITSTREAM beDeinitStream=NULL;
BECLOSESTREAM beCloseStream=NULL;
BEVERSION beVersion=NULL;
BEWRITEVBRHEADER beWriteVBRHeader=NULL;
BEWRITEINFOTAG beWriteInfoTag=NULL;
// Main program
int main(int argc, char *argv[])
{
HINSTANCE hDLL =NULL;
FILE* pFileIn =NULL;
FILE* pFileOut =NULL;
BE_VERSION Version ={0,};
BE_CONFIG beConfig ={0,};
CHAR strFileIn[255] ={'0',};
CHAR strFileOut[255] ={'0',};
DWORD dwSamples =0;
DWORD dwMP3Buffer =0;
HBE_STREAM hbeStream =0;
BE_ERR err =0;
PBYTE pMP3Buffer =NULL;
PSHORT pWAVBuffer =NULL;
// check number of arguments
if(argc != 2)
{
fprintf(stderr,"Usage: %s <filename.wav>\n", argv[0]);
fprintf(stderr,"Descr: Short demo to show how to use the lame_enc.dll library file\n");
fprintf(stderr,"Note : WAV file is assumed to to have the following parameters\n");
fprintf(stderr," : 44100 Hz, stereo, 16 Bits per sample\n");
return -1;
}
// Setup the file names
strcpy(strFileIn ,argv[1]);
strcpy(strFileOut,argv[1]);
// Add mp3 extention
strcat(strFileOut,".mp3");
// Load lame_enc.dll library (Make sure though that you set the
// project/settings/debug Working Directory correctly, otherwhise the DLL can't be loaded
hDLL = LoadLibrary("lame_enc.dll");
if ( NULL == hDLL )
{
hDLL = LoadLibrary("..\\..\\output\\lame_enc.dll");
}
if( NULL == hDLL )
{
fprintf(stderr,"Error loading lame_enc.DLL");
return -1;
}
// Get Interface functions from the DLL
beInitStream = (BEINITSTREAM) GetProcAddress(hDLL, TEXT_BEINITSTREAM);
beEncodeChunk = (BEENCODECHUNK) GetProcAddress(hDLL, TEXT_BEENCODECHUNK);
beDeinitStream = (BEDEINITSTREAM) GetProcAddress(hDLL, TEXT_BEDEINITSTREAM);
beCloseStream = (BECLOSESTREAM) GetProcAddress(hDLL, TEXT_BECLOSESTREAM);
beVersion = (BEVERSION) GetProcAddress(hDLL, TEXT_BEVERSION);
beWriteVBRHeader= (BEWRITEVBRHEADER) GetProcAddress(hDLL,TEXT_BEWRITEVBRHEADER);
beWriteInfoTag = (BEWRITEINFOTAG) GetProcAddress(hDLL,TEXT_BEWRITEINFOTAG);
// Check if all interfaces are present
if(!beInitStream || !beEncodeChunk || !beDeinitStream || !beCloseStream || !beVersion || !beWriteVBRHeader)
{
printf("Unable to get LAME interfaces");
return -1;
}
// Get the version number
beVersion( &Version );
printf(
"lame_enc.dll version %u.%02u (%u/%u/%u)\n"
"lame_enc Engine %u.%02u\n"
"lame_enc homepage at %s\n\n",
Version.byDLLMajorVersion, Version.byDLLMinorVersion,
Version.byDay, Version.byMonth, Version.wYear,
Version.byMajorVersion, Version.byMinorVersion,
Version.zHomepage);
// Try to open the WAV file, be sure to open it as a binary file!
pFileIn = fopen( strFileIn, "rb" );
// Check file open result
if(pFileIn == NULL)
{
fprintf(stderr,"Error opening %s", argv[1]);
return -1;
}
// Open MP3 file
pFileOut= fopen(strFileOut,"wb+");
// Check file open result
if(pFileOut == NULL)
{
fprintf(stderr,"Error creating file %s", strFileOut);
return -1;
}
memset(&beConfig,0,sizeof(beConfig)); // clear all fields
// use the LAME config structure
beConfig.dwConfig = BE_CONFIG_LAME;
// this are the default settings for testcase.wav
beConfig.format.LHV1.dwStructVersion = 1;
beConfig.format.LHV1.dwStructSize = sizeof(beConfig);
beConfig.format.LHV1.dwSampleRate = 44100; // INPUT FREQUENCY
beConfig.format.LHV1.dwReSampleRate = 0; // DON"T RESAMPLE
beConfig.format.LHV1.nMode = BE_MP3_MODE_JSTEREO; // OUTPUT IN STREO
beConfig.format.LHV1.dwBitrate = 128; // MINIMUM BIT RATE
beConfig.format.LHV1.nPreset = LQP_R3MIX; // QUALITY PRESET SETTING
beConfig.format.LHV1.dwMpegVersion = MPEG1; // MPEG VERSION (I or II)
beConfig.format.LHV1.dwPsyModel = 0; // USE DEFAULT PSYCHOACOUSTIC MODEL
beConfig.format.LHV1.dwEmphasis = 0; // NO EMPHASIS TURNED ON
beConfig.format.LHV1.bOriginal = TRUE; // SET ORIGINAL FLAG
beConfig.format.LHV1.bWriteVBRHeader = TRUE; // Write INFO tag
// beConfig.format.LHV1.dwMaxBitrate = 320; // MAXIMUM BIT RATE
// beConfig.format.LHV1.bCRC = TRUE; // INSERT CRC
// beConfig.format.LHV1.bCopyright = TRUE; // SET COPYRIGHT FLAG
// beConfig.format.LHV1.bPrivate = TRUE; // SET PRIVATE FLAG
// beConfig.format.LHV1.bWriteVBRHeader = TRUE; // YES, WRITE THE XING VBR HEADER
// beConfig.format.LHV1.bEnableVBR = TRUE; // USE VBR
// beConfig.format.LHV1.nVBRQuality = 5; // SET VBR QUALITY
beConfig.format.LHV1.bNoRes = TRUE; // No Bit resorvoir
// Preset Test
// beConfig.format.LHV1.nPreset = LQP_PHONE;
// Init the MP3 Stream
err = beInitStream(&beConfig, &dwSamples, &dwMP3Buffer, &hbeStream);
// Check result
if(err != BE_ERR_SUCCESSFUL)
{
fprintf(stderr,"Error opening encoding stream (%lu)", err);
return -1;
}
// Allocate MP3 buffer
pMP3Buffer = new BYTE[dwMP3Buffer];
// Allocate WAV buffer
pWAVBuffer = new SHORT[dwSamples];
// Check if Buffer are allocated properly
if(!pMP3Buffer || !pWAVBuffer)
{
printf("Out of memory");
return -1;
}
DWORD dwRead=0;
DWORD dwWrite=0;
DWORD dwDone=0;
DWORD dwFileSize=0;
// Seek to end of file
fseek(pFileIn,0,SEEK_END);
// Get the file size
dwFileSize=ftell(pFileIn);
// Seek back to start of WAV file,
// but skip the first 44 bytes, since that's the WAV header
fseek(pFileIn,44,SEEK_SET);
// Convert All PCM samples
while ( (dwRead=fread(pWAVBuffer,sizeof(SHORT),dwSamples,pFileIn)) >0 )
{
// Encode samples
err = beEncodeChunk(hbeStream, dwRead, pWAVBuffer, pMP3Buffer, &dwWrite);
// Check result
if(err != BE_ERR_SUCCESSFUL)
{
beCloseStream(hbeStream);
fprintf(stderr,"beEncodeChunk() failed (%lu)", err);
return -1;
}
// write dwWrite bytes that are returned in tehe pMP3Buffer to disk
if(fwrite(pMP3Buffer,1,dwWrite,pFileOut) != dwWrite)
{
fprintf(stderr,"Output file write error");
return -1;
}
dwDone += dwRead*sizeof(SHORT);
printf("Done: %0.2f%% \r", 100 * (float)dwDone/(float)(dwFileSize));
}
// Deinit the stream
err = beDeinitStream(hbeStream, pMP3Buffer, &dwWrite);
// Check result
if(err != BE_ERR_SUCCESSFUL)
{
beCloseStream(hbeStream);
fprintf(stderr,"beExitStream failed (%lu)", err);
return -1;
}
// Are there any bytes returned from the DeInit call?
// If so, write them to disk
if( dwWrite )
{
if( fwrite( pMP3Buffer, 1, dwWrite, pFileOut ) != dwWrite )
{
fprintf(stderr,"Output file write error");
return -1;
}
}
// close the MP3 Stream
beCloseStream( hbeStream );
// Delete WAV buffer
delete [] pWAVBuffer;
// Delete MP3 Buffer
delete [] pMP3Buffer;
// Close input file
fclose( pFileIn );
// Close output file
fclose( pFileOut );
if ( beWriteInfoTag )
{
// Write the INFO Tag
beWriteInfoTag( hbeStream, strFileOut );
}
else
{
beWriteVBRHeader( strFileOut );
}
// Were done, return OK result
return 0;
}

742
node_modules/lame/deps/lame/Dll/LameDLLInterface.htm generated vendored Normal file
View File

@ -0,0 +1,742 @@
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>Lame-</title>
</head>
<body bgcolor="#FFFFFF">
<p align="center">&nbsp; </p>
<p align="center"><font size="7">Lame-enc DLL</font> <br>
<font size="5">Interface version 1.32</font> (and above)<br>
(Lame engine version: 3.93 or higher) <br>
<font size="6">Programmers Manual</font></p>
<p align="center"><i>The lame_enc.dll and this manual is
copyright by Albert L Faber<br>
Originally the the DLL interface is modeled after the BladeEnc
DLL interface<br>
which is copyrighted by Tord Jansson and Jukka Poikolainen<br>
This document and the DLL interface may be distributed freely</i>
<br>
<i>as long as modifications are released under the LGPL license.</i>
</p>
<p align="center">&nbsp; </p>
<p align="center"><b>Homepage</b>: <a
href="http://www.cdex.n3.net">http://www.cdex.n3.net</a><br>
<b>E-mail:</b> mailto: <a
href="mailto:afaber@users.sourceforge.net">afaber@users.sourceforge.net</a>
</p>
<p><br>
<br>
<br>
<br>
</p>
<p><font size="5">Distribution</font> </p>
<p>People and companies&nbsp; who wants to distribute
lame_enc.dll with their commercial products are free to do so as
far as I'm concerned (LGPL license), but should be aware that
lame_enc.dll might infringe certain MP3 related software patents
held by Fraunhofer IIS in certain countries. </p>
<p><br>
&nbsp; </p>
<p><font size="5">Disclaimer</font> </p>
<p>lame_enc.dll and this manual is distributed 'as is' with no
warranty of any kind. The Author is not to be held responsible
for the result of any use or misuse of this product. <br>
&nbsp; <br>
&nbsp; </p>
<p><font size="5">Current Bugs and Limitations</font> </p>
<p>Although the interface is designed to be able to handle
multiple parallel streams it can't be done yet due to limitations
in the engine, only one stream is allowed. <br>
&nbsp; </p>
<p><font size="5">Future Compatibility</font> </p>
<p>This interface should be compatible with all future versions
of lame_enc.DLL without any need to recompile your programs. You
should therefore <b>not</b> check the version number upon start
and prevent users from running your program with a later version
of lame_enc.DLL. <br>
&nbsp; </p>
<hr>
<p><font size="5">How to use the DLL</font> </p>
<p>1. Fill in a <a href="#The BE_CONFIG Structure">BE_CONFIG </a>structure
and send it to <a href="#beInitStream()">beInitStream()</a>. Make
sure that BE_ERR_SUCCESSFUL is returned. </p>
<p>2. Reserve at least the amount of memory returned in
dwBufferSize as your output buffer. </p>
<p>3. Call <a href="#beEncodeChunk()">beEncodeChunk()</a> until
you've encoded everything you want. </p>
<p>4. Call <a href="#beDeinitStream()">beDeinitStream()</a> to
make sure that all encoded data is flushed out before closing the
stream. </p>
<p>5. Close the stream using <a href="#beCloseStream()">beCloseStream()
</a></p>
<p>6. Finally, call the <a href="#beWriteVBRHeader()">beWriteVBRHeader()</a>
functions, to insert the INFO tag MP3 Header. This is an
extension of the Xing VBR tag which is also used for CBR
encodings. This call can only be omitted if the INFO tag was
explicilty disabled in the BE_CONFIG Structure.</p>
<p>A handy feature is the available <a
href="#Lame_enc.dll debug option">Lame_enc.dll debug option</a>,
which will dump the important lame internal settings to a text
file.<br>
&nbsp; </p>
<p>&nbsp;</p>
<p><font size="5">Return Values</font> </p>
<p>See the header-file for a complete list of function return
values. All functions should return BE_ERR_SUCCESSFUL unless
something went wrong. <br>
&nbsp; </p>
<hr>
<h1><a name="Type definitions"><font size="5">Type definitions</font></a></h1>
<p>The DLL is by default compiled with the MS Visual C/C++
compiler, which has the following type definitions:</p>
<table border="0">
<tr>
<td>Type </td>
<td>Description</td>
</tr>
<tr>
<td>CHAR</td>
<td>signed char (8 bits)</td>
</tr>
<tr>
<td>BYTE</td>
<td>unsigned char (8 bits)</td>
</tr>
<tr>
<td>SHORT</td>
<td>signed short (16 bits)</td>
</tr>
<tr>
<td>WORD</td>
<td>unsigned short (16 bits)</td>
</tr>
<tr>
<td>INT</td>
<td>signed long (32 bits)</td>
</tr>
<tr>
<td>LONG</td>
<td>signed long (32 bits)</td>
</tr>
<tr>
<td>BOOL</td>
<td>signed long (32 bits) (YES, 32 bits for a one bit
value)<br>
TRUE = 0<br>
FALSE=-1</td>
</tr>
<tr>
<td>DWORD</td>
<td>unsigned long (32 bits)</td>
</tr>
<tr>
<td>FLOAT</td>
<td>floating point (32 bits)</td>
</tr>
<tr>
<td>DOUBLE</td>
<td>float point (64 bits)</td>
</tr>
<tr>
<td>LPCSTR</td>
<td>const char* (32 bits pointer to zero terminated
character string)</td>
</tr>
</table>
<p>Within the lame_enc.dll All the structure elements are one
byte alligned (due to backwards compatibility with BladEnc.DLL!</p>
<p>&nbsp;</p>
<hr>
<h1><a name="The BE_CONFIG Structure"><font size="5">The
BE_CONFIG Structure </font></a></h1>
<p><font size="3">Currently there the BE_CONFIG structure has to
varians, the old MP3 config structure that is truly compatible
with the old BladeEnc interface, and the new defined LHV1
structure, which can set far more options in the lame encoder</font></p>
<p>&nbsp;</p>
<h2><font size="5">The MP3 BE_CONFIG - structure (OBSOLETE)</font></h2>
<p>This is the old structure as it was originally defined by the
BladeEnc.DLL interface. However, I do highly recommend to use the
new Lame specific config structure, since it gives you more
control over the Lame encoder settings.</p>
<p>These are the members of the BE_CONFIG structure you need to
fill in before you call beInitStream(): <br>
&nbsp; </p>
<table border="0">
<tr>
<td><b>dwConfig</b></td>
<td>Specifies what kind of output you want. Since only
MP3 currently is supported you must set this to <b>BE_CONFIG_MP3</b></td>
</tr>
<tr>
<td><b>format.mp3.dwSampleRate</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td>Samplerate in Hz for MP3 file. This can be set to
either <b>32000</b>, <b>44100</b> or <b>48000</b>.</td>
</tr>
<tr>
<td><b>format.mp3.byMode</b></td>
<td>Stereomode for MP3 file. This can be either <b>BE_MP3_MODE_STEREO</b>,
<b>BE_MP3_MODE_DUALCHANNEL</b> or <b>BE_MP3_MODE_MONO.</b></td>
</tr>
<tr>
<td><b>format.mp3.bitrate</b></td>
<td>Bitrate (i.e. size) of MP3 file in kBit/s. Allowed
bitrates are: <b>32, 40, 48, 56, 64, 80, 96, 112, 128,
160, 192, 224, 256</b> and <b>320</b>.</td>
</tr>
<tr>
<td><b>format.mp3.bCopyright</b></td>
<td>If this is set to TRUE the Copyright bit in the MP3
stream will be set.</td>
</tr>
<tr>
<td><b>format.mp3.bCRC</b></td>
<td>Set this to TRUE in order to enable CRC-checksum in
the bitstream.</td>
</tr>
<tr>
<td><b>format.mp3.bOriginal</b></td>
<td>If this is set to TRUE the Original bit in the MP3
stream will be set.</td>
</tr>
<tr>
<td><b>format.mp3.bPrivate</b></td>
<td>If this is set to TRUE the Private bit in the MP3
stream will be set.</td>
</tr>
</table>
<p>&nbsp;</p>
<h2><font size="5">The LHV1 BE_CONFIG - structure (recommended)</font></h2>
<p>These are the members of the LHV1 BE_CONFIG structure, you
need to fill in before you call beInitStream(): <br>
</p>
<table border="0">
<tr>
<td><b>dwConfig</b></td>
<td>Specifies what kind of output you want. Since only
MP3 currently is supported you must set this to <b>BE_CONFIG_LAME</b></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><b>format.LHV1.dwStructVersion</b></td>
<td>Indicates the version number of the structure,
current version number is 1</td>
</tr>
<tr>
<td><b>format.LHV1.dwStructSize</b></td>
<td>Specifies the size of the BE_CONFIG structure
(currently 331 bytes)</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><b>format.LHV1.dwSampleRate</b>&nbsp;</td>
<td>Samplerate in Hz for MP3 file. This can be set to
either:<br>
<b>32000</b>, <b>44100</b> or <b>48000</b> for MPEG-I<br>
<b>16000</b>, <b>22050</b> or <b>24000</b> for MPEG-I<br>
<b>8000</b>, <b>11025</b> or <b>12000</b> for MPEG-II.5</td>
</tr>
<tr>
<td><b>format.LHV1.dwReSampleRate</b></td>
<td>Specifies to which sample rate the input stream has
to be resampled, if set to 0, the encoder will decide
which ReSample rate to use</td>
</tr>
<tr>
<td><b>format.LHV1.nMode</b></td>
<td>Stereomode for MP3 file. This can be either <b>BE_MP3_MODE_STEREO</b>,
<b>BE_MP3_MODE_JSTEREO, BE_MP3_MODE_DUALCHANNEL</b> or <b>BE_MP3_MODE_MONO.</b></td>
</tr>
<tr>
<td><strong>format.LHV1.dwBitrate</strong></td>
<td>For CBR, this specifies the actual bitrate, for VBR,
it specifies the minimum bitrate<br>
Allowed bitrates are: <b>32, 40, 48, 56, 64, 80, 96, 112,
128, 160, 192, 224, 256</b> and <b>320</b>.for MPEG-I<br>
Allowed bitrates are: <b>8, 16, 24, 32, 40, 48, 56, 64,
80, 96, 112, 128, 144 </b>and<b> 160</b>.for MPEG-II<p><strong>Note:</strong>
dwBitrate is used as the minimum bitrate in the case of
using a VBR mode.</p>
</td>
</tr>
<tr>
<td><strong>format.LHV1.dwMaxBitrate</strong></td>
<td>When VBR mode is enabled, it specifies the maximum
allowed bitrate (see also dwBitrate to specify the minium
bitrate), for CBR mode this setting is ignored.</td>
</tr>
<tr>
<td><strong>format.LHV1.nPreset</strong></td>
<td>Keep in mind that the presets can overwrite some of
the other settings, since it is called right before the
encoder is initialized<br>
<table border="0">
<tr>
<td>The nPreset option can be set to one of the
following presets values::</td>
</tr>
</table>
<p>LQP_NOPRESET (don't use any presets)<br>
LQP_NORMAL_QUALITY (quality is set to 5)<br>
LQP_LOW_QUALITY (quality is set to 9)<br>
LQP_HIGH_QUALITY (quality is set to 2)<br>
LQP_VOICE_QUALITY (use for voice encoding)<br>
LQP_R3MIX (r3mix preset option)<br>
LQP_VERYHIGH_QUALITY (quality is set to 0)<br>
LQP_STANDARD (lame command line alt-preset standard)<br>
LQP_FAST_STANDARD (lame command line alt-preset fast
standard)<br>
LQP_EXTREME (lame command line alt-preset extreme)<br>
LQP_FAST_EXTREME (lame command line alt-preset fast
extreme)<br>
LQP_INSANE (lame command line alt-preset insane)<br>
LQP_ABR (lame command line alt-preset abr)<br>
LQP_CBR(lame command line alt-preset cbr)<br>
<br>
<strong>(old lame preset options)</strong><br>
LQP_PHONE <br>
LQP_SW<br>
LQP_AM<br>
LQP_FM<br>
LQP_VOICE<br>
LQP_RADIO<br>
LQP_TAPE<br>
LQP_HIFI<br>
LQP_CD<br>
LQP_STUDIO</p>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><b>format.LHV1.bCopyright</b></td>
<td>If this is set to TRUE the Copyright bit in the MP3
stream will be set.</td>
</tr>
<tr>
<td><b>format.LHV1.bCRC</b></td>
<td>Set this to TRUE in order to enable CRC-checksum in
the bitstream.</td>
</tr>
<tr>
<td><b>format.LHV1.bOriginal</b></td>
<td>If this is set to TRUE the Original bit in the MP3
stream will be set.</td>
</tr>
<tr>
<td><b>format.LHV1.bPrivate</b></td>
<td>If this is set to TRUE the Private bit in the MP3
stream will be set.</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><strong>format.LHV1.nVbrMethod</strong></td>
<td>Sepecifes if the VBR method to use, currently the
following settings are supported:<p><font size="3">VBR_METHOD_NONE
(don't use VBR, use CBR encoding instead),<br>
VBR_METHOD_DEFAULT (default VBR method)<br>
VBR_METHOD_OLD (old VBR method, proven to be reliable)<br>
VBR_METHOD_NEW (new VBR method, faster than
VBR_METHOD_OLD)<br>
VBR_METHOD_MTRH (depreciated, same as VBR_METHOD_NEW)<br>
VBR_METHOD_ABR (Average Bitrate Encoding, see also </font><strong>format.LHV1.dwVbrAbr_bps</strong><font
size="3">)</font></p>
</td>
</tr>
<tr>
<td><strong>format.LHV1.bWriteVBRHeader</strong></td>
<td>Sepecifes if the a XING VBR header should be written
or not. When this option is enabled, you have to call the
<font size="3">beWriteVBRHeader function when encoding
has been completed. Keep in mind that the VBR info tag
can also be written for CBR encoded files, the TAG info
can be useful for additional info like encoder delay and
the like.</font></td>
</tr>
<tr>
<td><strong>format.LHV1.bEnableVBR</strong></td>
<td>Specifies if VBR encoding option shall be used or
not, possible values are TRUE/FALSE</td>
</tr>
<tr>
<td><strong>format.LHV1.nVBRQuality</strong></td>
<td>Quality option if VBR is enabled (0=highest quality,
9 is lowest quality)</td>
</tr>
<tr>
<td><strong>format.LHV1.dwVbrAbr_bps</strong></td>
<td>If the Average Bit Rate is specified, the lame
encoder ignores the nVBRQuality settings (However, <strong>bEnableVBR</strong>
must be set to TRUE and the <strong>format.LHV1.nVbrMethod
</strong>parameter should be set to<strong> </strong><font
size="3"><strong>VBR_METHOD_ABR</strong>). The allowed
range for the </font><strong>format.LHV1.dwVbrAbr_bps </strong>parameter<strong>
</strong>any integer value <font size="3">between:</font><p><strong>MPEG-I:</strong>
32000 .. 320000 bps<b><br>
</b><strong>MPEG-II:</strong> 8000 .. 160000 bps</p>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><strong>format.LHV1.bNoBitRes</strong></td>
<td>Disables the bit-resorvoir and disables the insertion
of padded frames</td>
</tr>
<tr>
<td><strong>format.LHV1.nQuality</strong></td>
<td>Quality Setting, HIGH BYTE should be NOT LOW byte,
otherwhise quality is set to 5. This is done to be
backward compatible. So to set quality to 3, you have to
set the nQuality parameter to 0xFC03.</td>
</tr>
<tr>
<td><b>format.mp3.btReserved</b></td>
<td>For future use, set all elements to zero</td>
</tr>
</table>
<p>&nbsp;</p>
<p>&nbsp; </p>
<hr>
<h1><a name="beInitStream()"><font size="5">beInitStream()</font></a>
</h1>
<table border="0" cellspacing="16" width="100%">
<tr>
<td valign="top" width="20%"><b>Synopsis:</b></td>
<td valign="top" width="80%">BE_ERR beInitStream(
PBE_CONFIG <i>pbeConfig</i>, PDWORD <i>dwSamples</i>,
PDWORD <i>dwBufferSize</i>, PHBE_STREAM <i>phbeStream</i>
)</td>
</tr>
<tr>
<td valign="top" width="20%"><b>Parameters:</b></td>
<td valign="top" width="80%"><table border="0"
cellspacing="10" width="100%">
<tr>
<td valign="top" width="20%"><i>pbeConfig</i></td>
<td>Pointer at the struct containing encoder
settings.</td>
</tr>
<tr>
<td valign="top"><i>dwSamples</i></td>
<td>Pointer at double word where number of
samples to send to each <i>beEncodeChunk()</i> is
returned.</td>
</tr>
<tr>
<td valign="top"><i>dwBufferSize</i></td>
<td>Pointer at double word where minimum size in
bytes of output buffer is returned.</td>
</tr>
<tr>
<td valign="top"><i>phbeStream</i></td>
<td>Pointer at integer where Stream handle is
returned.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" width="20%"><b>Description:</b></td>
<td valign="top" width="80%">This function is the first
to call before starting an encoding stream.</td>
</tr>
</table>
<hr>
<h1><a name="beEncodeChunk()"><font size="5">beEncodeChunk()</font>
</a></h1>
<table border="0" cellspacing="16" width="100%">
<tr>
<td valign="top" width="20%"><b>Synopsis:</b></td>
<td valign="top" width="80%">BE_ERR beEncodeChunk(
HBE_STREAM <i>hbeStream</i>, DWORD <i>nSamples</i>,
PSHORT <i>pSamples</i>, PBYTE <i>pOutput</i>, PDWORD <i>pdwOutput</i>
)</td>
</tr>
<tr>
<td valign="top" width="20%"><b>Parameters:</b></td>
<td valign="top"><table border="0" cellspacing="10"
width="100%">
<tr>
<td valign="top" width="20%"><i>hbeStream</i></td>
<td width="80%">Handle of the stream.</td>
</tr>
<tr>
<td valign="top" width="90"><i>nSamples</i></td>
<td>Number of samples to be encoded for this
call. This should be identical to what is
returned by <i>beInitStream()</i>, unless you are
encoding the last chunk, which might be smaller.</td>
</tr>
<tr>
<td valign="top" width="90"><i>pSamples</i></td>
<td>Pointer at the 16-bit signed samples to be
encoded. These should be in stereo when encoding
a stereo MP3 and mono when encoding a mono MP3.</td>
</tr>
<tr>
<td valign="top" width="90"><i>pOutput</i></td>
<td>Where to write the encoded data. This buffer
should be at least of the minimum size returned
by <i>beInitStream()</i>.</td>
</tr>
<tr>
<td valign="top" width="90"><i>pdwOutput</i></td>
<td>Where to return number of bytes of encoded
data written. The amount of data written might
vary from chunk to chunk.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" width="20%"><b>Description:</b></td>
<td valign="top">Encodes a chunk of samples. <i>Please
note that if you have set the output to generate mono MP3
files you must feed beEncodeChunk() with mono samples!</i></td>
</tr>
</table>
<hr>
<h1><a name="beDeinitStream()"><font size="5">beDeinitStream()</font>
</a></h1>
<table border="0" cellspacing="16" width="100%">
<tr>
<td valign="top" width="20%"><b>Synopsis:</b></td>
<td valign="top" width="80%">BE_ERR beDeinitStream(
HBE_STREAM <i>hbeStream</i>, PBYTE <i>pOutput</i>, PDWORD
<i>pdwOutput</i> )</td>
</tr>
<tr>
<td valign="top" width="20%"><b>Parameters:</b></td>
<td valign="top"><table border="0" cellspacing="10"
width="100%">
<tr>
<td valign="top" width="20%"><i>hbeStream</i></td>
<td width="80%">Handle of the stream.</td>
</tr>
<tr>
<td valign="top"><i>pOutput</i></td>
<td>Where to write the encoded data. This buffer
should be at least of the minimum size returned
by <i>beInitStream()</i>.</td>
</tr>
<tr>
<td><i>pdwOutput</i></td>
<td>Where to return number of bytes of encoded
data written.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" width="20%"><b>Description:</b></td>
<td valign="top">This function should be called after
encoding the last chunk in order to flush the encoder. It
writes any encoded data that still might be left inside
the encoder to the output buffer. This function should
NOT be called unless you have encoded all of the chunks
in your stream.</td>
</tr>
</table>
<hr>
<h1><a name="beCloseStream()"><font size="5">beCloseStream()</font></a>
</h1>
<table border="0" cellspacing="16" width="100%">
<tr>
<td valign="top" width="20%"><b>Synopsis:</b></td>
<td valign="top">BE_ERR beCloseStream( HBE_STREAM <i>hbeStream</i>
)</td>
</tr>
<tr>
<td valign="top" width="90"><b>Parameters:</b></td>
<td valign="top"><table border="0" cellspacing="10"
width="100%">
<tr>
<td width="20%"><i>hbeStream</i></td>
<td>Handle of the stream.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" width="90"><b>Description:</b></td>
<td valign="top">Last function to be called when finished
encoding a stream. Should unlike <i>beDeinitStream()</i>
also be called if the encoding is canceled.</td>
</tr>
</table>
<hr>
<h1><a name="beVersion()"><font size="5">beVersion()</font> </a></h1>
<table border="0" cellspacing="16" width="100%">
<tr>
<td valign="top" width="20%"><b>Synopsis:</b></td>
<td valign="top">VOID beVersion( PBE_VERSION <i>pbeVersion</i>
)</td>
</tr>
<tr>
<td valign="top"><b>Parameters:</b></td>
<td valign="top"><table border="0" cellspacing="10"
width="100%">
<tr>
<td valign="top" width="20%"><i>pbeVersion</i></td>
<td>Pointer at struct where version number,
release date and URL for homepage is returned.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><b>Description:</b></td>
<td valign="top">Returns information like version numbers
(both of the DLL and encoding engine), release date and
URL for lame_enc's homepage. All this information should
be made available to the user of your product through a
dialog box or something similar.</td>
</tr>
</table>
<p>&nbsp;</p>
<hr>
<p>&nbsp;</p>
<h1><a name="beWriteVBRHeader()"><font size="5">beWriteVBRHeader()</font>
</a></h1>
<table border="0" cellspacing="16" width="100%">
<tr>
<td valign="top" width="20%"><b>Synopsis:</b></td>
<td valign="top">VOID beWriteVBRHeader( LPCSTR <i>pszMP3FileName</i>
)</td>
</tr>
<tr>
<td valign="top"><b>Parameters:</b></td>
<td valign="top"><table border="0" cellspacing="10"
width="100%">
<tr>
<td valign="top" width="20%"><i>pszMP3FileName</i></td>
<td>Const Pointer zero terminated string, that
contains the MP3 file name.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><b>Description:</b></td>
<td valign="top">Writes a Xing Header in front of the MP3
file. Make sure that the MP3 file is closed, and the the
beConfig.format.LHV1.bWriteVBRHeader has been set to
TRUE. In addition, it is always save to call
beWriteVBRHeader after the encoding has been finished,
even when the beConfig.format.LHV1.bWriteVBRHeader is not
set to TRUE</td>
</tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<hr>
<p>&nbsp;</p>
<h1><a name="Lame_enc.dll debug option">Lame_enc.dll debug option</a></h1>
<p>The lame_enc.dll has a built-in debug option, that dumps all
the important internal settings to a text file. To enable this
feature, create a text file in the Windows directory which is
named lame_enc.ini, and should contain the following two lines</p>
<p>[debug]<br>
WriteLogFile=1</p>
<p>Save this text file, and each time you encode a file, the
settings are added to a file name lame_enc.txt, that is located
in the same directory as the lame_enc.dll</p>
<p>&nbsp;</p>
<p><br>
&nbsp; </p>
</body>
</html>

303
node_modules/lame/deps/lame/Dll/MP3export.pas generated vendored Normal file
View File

@ -0,0 +1,303 @@
unit MP3export;
interface
Uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
//type definitions
//typedef unsigned long HBE_STREAM;
//typedef HBE_STREAM *PHBE_STREAM;
//typedef unsigned long BE_ERR;
THBE_STREAM = LongWord;
PHBE_STREAM = ^PHBE_STREAM;
BE_ERR = LongWord;
const
// encoding formats
//#define BE_CONFIG_MP3 0
//#define BE_CONFIG_LAME 256
BE_CONFIG_MP3 = 0;
BE_CONFIG_LAME = 256;
// error codes
//#define BE_ERR_SUCCESSFUL 0x00000000
//#define BE_ERR_INVALID_FORMAT 0x00000001
//#define BE_ERR_INVALID_FORMAT_PARAMETERS 0x00000002
//#define BE_ERR_NO_MORE_HANDLES 0x00000003
//#define BE_ERR_INVALID_HANDLE 0x00000004
BE_ERR_SUCCESSFUL: LongWord = 0;
BE_ERR_INVALID_FORMAT: LongWord = 1;
BE_ERR_INVALID_FORMAT_PARAMETERS: LongWord = 2;
BE_ERR_NO_MORE_HANDLES: LongWord = 3;
BE_ERR_INVALID_HANDLE: LongWord = 4;
// other constants
BE_MAX_HOMEPAGE = 256;
// format specific variables
BE_MP3_MODE_STEREO = 0;
BE_MP3_MODE_DUALCHANNEL = 2;
BE_MP3_MODE_MONO = 3;
type
TMP3 = packed record
dwSampleRate : LongWord;
byMode : Byte;
wBitRate : Word;
bPrivate : LongWord;
bCRC : LongWord;
bCopyright : LongWord;
bOriginal : LongWord;
end;
TLHV1 = packed record
// STRUCTURE INFORMATION
dwStructVersion: DWORD;
dwStructSize: DWORD;
// BASIC ENCODER SETTINGS
dwSampleRate: DWORD; // ALLOWED SAMPLERATE VALUES DEPENDS ON dwMPEGVersion
dwReSampleRate: DWORD; // DOWNSAMPLERATE, 0=ENCODER DECIDES
nMode: Integer; // BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO
dwBitrate: DWORD; // CBR bitrate, VBR min bitrate
dwMaxBitrate: DWORD; // CBR ignored, VBR Max bitrate
nQuality: Integer; // Quality setting (NORMAL,HIGH,LOW,VOICE)
dwMpegVersion: DWORD; // MPEG-1 OR MPEG-2
dwPsyModel: DWORD; // FUTURE USE, SET TO 0
dwEmphasis: DWORD; // FUTURE USE, SET TO 0
// BIT STREAM SETTINGS
bPrivate: LONGBOOL; // Set Private Bit (TRUE/FALSE)
bCRC: LONGBOOL; // Insert CRC (TRUE/FALSE)
bCopyright: LONGBOOL; // Set Copyright Bit (TRUE/FALSE)
bOriginal: LONGBOOL; // Set Original Bit (TRUE/FALSE_
// VBR STUFF
bWriteVBRHeader: LONGBOOL; // WRITE XING VBR HEADER (TRUE/FALSE)
bEnableVBR: LONGBOOL; // USE VBR ENCODING (TRUE/FALSE)
nVBRQuality: Integer; // VBR QUALITY 0..9
btReserved: array[0..255] of Byte; // FUTURE USE, SET TO 0
end;
TAAC = packed record
dwSampleRate : LongWord;
byMode : Byte;
wBitRate : Word;
byEncodingMethod : Byte;
end;
TFormat = packed record
case byte of
1 : (mp3 : TMP3);
2 : (lhv1 : TLHV1);
3 : (aac : TAAC);
end;
TBE_Config = packed record
dwConfig : LongWord;
format : TFormat;
end;
PBE_Config = ^TBE_Config;
//typedef struct {
// // BladeEnc DLL Version number
//
// BYTE byDLLMajorVersion;
// BYTE byDLLMinorVersion;
//
// // BladeEnc Engine Version Number
//
// BYTE byMajorVersion;
// BYTE byMinorVersion;
//
// // DLL Release date
//
// BYTE byDay;
// BYTE byMonth;
// WORD wYear;
//
// // BladeEnc Homepage URL
//
// CHAR zHomepage[BE_MAX_HOMEPAGE + 1];
//
//} BE_VERSION, *PBE_VERSION;
TBE_Version = record
byDLLMajorVersion : Byte;
byDLLMinorVersion : Byte;
byMajorVersion : Byte;
byMinorVersion : Byte;
byDay : Byte;
byMonth : Byte;
wYear : Word;
zHomePage : Array[0..BE_MAX_HOMEPAGE + 1] of Char;
end;
PBE_Version = ^TBE_Version;
//__declspec(dllexport) BE_ERR beInitStream(PBE_CONFIG pbeConfig, PDWORD dwSamples, PDWORD dwBufferSize, PHBE_STREAM phbeStream);
//__declspec(dllexport) BE_ERR beEncodeChunk(HBE_STREAM hbeStream, DWORD nSamples, PSHORT pSamples, PBYTE pOutput, PDWORD pdwOutput);
//__declspec(dllexport) BE_ERR beDeinitStream(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput);
//__declspec(dllexport) BE_ERR beCloseStream(HBE_STREAM hbeStream);
//__declspec(dllexport) VOID beVersion(PBE_VERSION pbeVersion);
{
Function beInitStream(var pbeConfig: TBE_CONFIG; var dwSample: LongWord; var dwBufferSize: LongWord; var phbeStream: THBE_STREAM ): BE_Err; cdecl; external 'Bladeenc.dll';
//Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; pSample: PSmallInt;pOutput: PByte; var pdwOutput: LongWord): BE_Err; cdecl; external 'Bladeenc.dll';
Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; var pSample;var pOutput; var pdwOutput: LongWord): BE_Err; stdcall; cdecl 'Bladeenc.dll';
Function beDeinitStream(hbeStream: THBE_STREAM; var pOutput; var pdwOutput: LongWord): BE_Err; cdecl; external 'Bladeenc.dll';
Function beCloseStream(hbeStream: THBE_STREAM): BE_Err; cdecl; external 'Bladeenc.dll';
Procedure beVersion(var pbeVersion: TBE_VERSION); cdecl; external 'Bladeenc.dll';
}
Function beInitStream(var pbeConfig: TBE_CONFIG; var dwSample: LongWord; var dwBufferSize: LongWord; var phbeStream: THBE_STREAM ): BE_Err; cdecl; external 'Lame_enc.dll';
//Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; pSample: PSmallInt;pOutput: PByte; var pdwOutput: LongWord): BE_Err; cdecl; external 'Lame_enc.dll';
Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; var pSample;var pOutput; var pdwOutput: LongWord): BE_Err; cdecl; external 'Lame_enc.dll';
Function beDeinitStream(hbeStream: THBE_STREAM; var pOutput; var pdwOutput: LongWord): BE_Err; cdecl; external 'Lame_enc.dll';
Function beCloseStream(hbeStream: THBE_STREAM): BE_Err; cdecl; external 'Lame_enc.dll';
Procedure beVersion(var pbeVersion: TBE_VERSION); cdecl; external 'Lame_enc.dll';
Procedure EncodeWavToMP3(fs, fd: Integer);
implementation
Uses InternetSnd, TraiteWav;
{----------------------------------------}
Procedure EncodeWavToMP3(fs, fd: Integer);
var
err: Integer;
beConfig: TBE_Config;
dwSamples, dwSamplesMP3 : LongWord;
hbeStream : THBE_STREAM;
error: BE_ERR;
pBuffer: PSmallInt;
pMP3Buffer: PByte;
Marque:PChar;
done: LongWord;
dwWrite: LongWord;
ToRead: LongWord;
ToWrite: LongWord;
i:Integer;
begin
beConfig.dwConfig := BE_CONFIG_LAME;
{
beConfig.Format.mp3.dwSampleRate := WavInfo.SamplesPerSec;
beConfig.Format.mp3.byMode := BE_MP3_MODE_STEREO;
beConfig.Format.mp3.wBitrate := strToInt(MainFrm.Mp3BitRate.Text);
beConfig.Format.mp3.bCopyright := 0;
beConfig.Format.mp3.bCRC := $00000000;
beConfig.Format.mp3.bOriginal := 0;
beConfig.Format.mp3.bPrivate := 0;
}
//Structure information
beConfig.Format.lhv1.dwStructVersion := 1;
beConfig.Format.lhv1.dwStructSize := SizeOf(beConfig);
//Basic encoder setting
beConfig.Format.lhv1.dwSampleRate := WavInfo.SamplesPerSec;
beConfig.Format.lhv1.dwReSampleRate := 44100;
beConfig.Format.lhv1.nMode := BE_MP3_MODE_STEREO;
beConfig.Format.lhv1.dwBitrate := strToInt(MainFrm.Mp3BitRate.Text);
beConfig.Format.lhv1.dwMaxBitrate := strToInt(MainFrm.Mp3BitRate.Text);
beConfig.Format.lhv1.nQuality := 2;
beConfig.Format.lhv1.dwMPegVersion := 1; //MPEG1
beConfig.Format.lhv1.dwPsyModel := 0;
beConfig.Format.lhv1.dwEmphasis := 0;
//Bit Stream Settings
beConfig.Format.lhv1.bPrivate := False;
beConfig.Format.lhv1.bCRC := False;
beConfig.Format.lhv1.bCopyright := True;
beConfig.Format.lhv1.bOriginal := True;
//VBR Stuff
beConfig.Format.lhv1.bWriteVBRHeader := false;
beConfig.Format.lhv1.bEnableVBR := false;
beConfig.Format.lhv1.nVBRQuality := 0;
i := 0;
error := beInitStream(beConfig, dwSamples, dwSamplesMP3, hbeStream);
if error = BE_ERR_SUCCESSFUL
then begin
pBuffer := AllocMem(dwSamples*2);
pMP3Buffer := AllocMem(dwSamplesMP3);
try
done := 0;
error := FileSeek(fs, 0, 0);
While (done < TotalSize) do
begin
if (done + dwSamples*2 < TotalSize)
then ToRead := dwSamples*2
else begin
ToRead := TotalSize-done;
//FillChar(buf[0],dwSamples*2,0);
FillChar(pbuffer^,dwSamples,0);
end;
//if FileRead(fs, buf[0], toread) = -1
if FileRead(fs, pbuffer^, toread) = -1
then raise Exception.Create('Erreur de lecture');
//error := beEncodeChunk(hbeStream, toRead div 2, Buf[0], TmpBuf[0], toWrite);
error := beEncodeChunk(hbeStream, toRead div 2, pBuffer^, pMP3Buffer^, toWrite);
if error <> BE_ERR_SUCCESSFUL
then begin
beCloseStream(hbeStream);
raise Exception.Create('Echec de l''encodage');
end;
//if FileWrite(fd, TmpBuf[0], toWrite) = -1
if FileWrite(fd, pMP3Buffer^, toWrite) = -1
then raise Exception.Create('Erreur d''<27>criture');
done := done + toread;
inc(i);
if i mod 64 = 0
then begin
MainFrm.ProgressBar1.Position := round(100*done/Totalsize);
Application.ProcessMessages;
end;
end;
error := beDeInitStream(hbeStream, pMP3Buffer^, dwWrite);
//error := beDeInitStream(hbeStream, TmpBuf[0], dwWrite);
if error <> BE_ERR_SUCCESSFUL
then begin
beCloseStream(hbeStream);
raise Exception.Create('Echec <20> la sortie');
end;
if dwWrite <> 0
then begin
//if FileWrite(fd, TmpBuf[0], dwWrite) = -1
if FileWrite(fd, pMP3Buffer^, dwWrite) = -1
then raise Exception.Create('Erreur <20> la derni<6E>re <20>criture');
end;
beCloseStream(hbeStream);
finally
FreeMem(pBuffer);
FreeMem(pMP3Buffer);
end;
end
else begin
end;
end;
end.

11
node_modules/lame/deps/lame/Dll/Makefile.am generated vendored Normal file
View File

@ -0,0 +1,11 @@
## $Id: Makefile.am,v 1.11 2010/10/30 13:21:02 robert Exp $
include $(top_srcdir)/Makefile.am.global
EXTRA_DIST = BladeMP3EncDLL.c \
BladeMP3EncDLL.def \
BladeMP3EncDLL.h \
Example.cpp \
LameDLLInterface.htm \
MP3export.pas \
Makefile.mingw32

393
node_modules/lame/deps/lame/Dll/Makefile.in generated vendored Normal file
View File

@ -0,0 +1,393 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# global section for every Makefile.am
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/Makefile.am.global
subdir = Dll
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONFIG_DEFS = @CONFIG_DEFS@
CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPUCCODE = @CPUCCODE@
CPUTYPE = @CPUTYPE@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
FRONTEND_LDADD = @FRONTEND_LDADD@
FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_CONFIG = @GTK_CONFIG@
GTK_LIBS = @GTK_LIBS@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDADD = @LDADD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEDEP = @MAKEDEP@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NASM = @NASM@
NASM_FORMAT = @NASM_FORMAT@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RM_F = @RM_F@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
SNDFILE_LIBS = @SNDFILE_LIBS@
STRIP = @STRIP@
U = @U@
VERSION = @VERSION@
WITH_FRONTEND = @WITH_FRONTEND@
WITH_MP3RTP = @WITH_MP3RTP@
WITH_MP3X = @WITH_MP3X@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.11 foreign $(top_srcdir)/ansi2knr
EXTRA_DIST = BladeMP3EncDLL.c \
BladeMP3EncDLL.def \
BladeMP3EncDLL.h \
Example.cpp \
LameDLLInterface.htm \
MP3export.pas \
Makefile.mingw32
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Dll/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Dll/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
# end global section
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

39
node_modules/lame/deps/lame/Dll/Makefile.mingw32 generated vendored Normal file
View File

@ -0,0 +1,39 @@
# This makefile compiles lame_enc.dll with mingw32 (and possibly cygwin)
# Of course, you must first build ../libmp3lame/libmp3lame.a.
# liblame_enc.a can be used to link the lame_enc.dll to your programs.
# Tested with EAC 0.9pb9 (my own favorite, http://www.exactaudiocopy.de/)
# example.exe compiles and works, too.
# Vladislav Naumov, <vnaum@inbox.ru>
#
# PS: to 'make clean' you need rm. MS's del is unusable.
# PPS: quick build:
# make -fMakefile.mingw32
DLL_NAME = lame_enc
LAME_SRC_ROOT = ..
OFILES = BladeMP3EncDLL.o $(DLL_NAME)_exp.o
CFLAGS = -I$(LAME_SRC_ROOT)/include -I$(LAME_SRC_ROOT)/libmp3lame
CC = g++
LD = g++
LFLAGS = -L$(LAME_SRC_ROOT)/libmp3lame -o $(DLL_NAME).dll -mdll -s
LIBS = -lmp3lame
all: $(DLL_NAME).dll example.exe
BladeMP3EncDLL.o: BladeMP3EncDLL.c BladeMP3EncDLL.h ../include/lame.h \
../libmp3lame/lame_global_flags.h ../libmp3lame/version.h
$(DLL_NAME).dll : $(OFILES)
$(LD) $(LFLAGS) $(OFILES) $(LIBS)
$(DLL_NAME)_exp.o : BladeMP3EncDLL.o
dlltool --input-def BladeMP3EncDLL.def --output-lib lib$(DLL_NAME).a --output-exp $(DLL_NAME)_exp.o --dllname $(DLL_NAME) BladeMP3EncDLL.o
%.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
example.exe : Example.cpp BladeMP3EncDLL.h
$(CC) Example.cpp -o example.exe
clean :
rm -f $(DLL_NAME).dll $(OFILES) example.exe

21
node_modules/lame/deps/lame/Dll/README generated vendored Normal file
View File

@ -0,0 +1,21 @@
This directory contains a Windows DLL interface to the LAME
encoding engine.
This DLL is compatible with the BladeEnc.dll.
See BladeMP3EncDLL.c for details of the calling
sequence, and BladeMP3EncDLL.h for details of the
data that must be passed to the DLL.
As of yet, there is no other documentation.
To use this DLL as a replacement for BladeEnc.dll, you
need to populate the 'mp3' struct.
To use more advanced features of LAME, you need to
populate the LHV1 struct instead.
Delphi 4 Users: Gabriel G<>lin <ggelin@alapage.com> has
contributed a .PAS file, do you can access the DLL from
Delphi. See MP3export.pas.

124
node_modules/lame/deps/lame/HACKING generated vendored Normal file
View File

@ -0,0 +1,124 @@
First, see the file STYLEGUIDE
************************************************************************
TESTING
=======
If you make changes, please test. There is a python
script in the test/ directory which will compare two versions
of lame using a bunch of CBR and ABR options. To run this
script, copy your favorite (and short!) wav file to the
lame/test directory, and run:
% cd lame/test
% ./lametest.py [-w] CBRABR.op castanets.wav lame_orig lame_new
************************************************************************
LAME API
For a general outline of the code, see the file API.
Also, frontend/main.c is a simple front end to libmp3lame.a
The guts of the code are called from lame_encode_buffer().
lame_encode_buffer() handles buffering and resampling, and
then calls lame_encode_frame() for each frame. lame_encode_frame()
looks like this:
lame_encode_frame_mp3():
l3psycho_anal() compute masking thresholds
mdct_sub() compute MDCT coefficients
iteration_loop() choose scalefactors (via iteration)
which determine noise shapping, and
choose best huffman tables for lossless compression
format_bitstream format the bitstream. when data+headers are complete,
output to internal bit buffer.
copy_buffer() copy internal bit buffer into user's mp3 buffer
************************************************************************
ADDING NEW OPTIONS
control variable goes in lame_global_flags sturct.
Assume the variable is called 'new_variable'.
You also need to write (in set_get.c):
lame_set_new_variable()
lame_get_new_variable()
And then document the variable in the file USAGE as well as the
output of "lame --longhelp"
And add a "--option" style command line option to enable this variable
in parse.c
Note: for experimental features that you need to call from the frontend
but that should not be part of the official API, see the section at
the end of set_get.c. These functions should *NOT* be prototyped in
lame.h (since that would indicate to the world that they are part
of the API).
************************************************************************
THREADSAFE:
Lame should now be thread safe and re-entrant.
The only problem seems to be some OS's allocate small
stacks (< 128K) to threads launched by applictions, and this
is not enough for LAME. Fix is to increase the stack space,
or move some of our automatic variables onto the heap with
by using bug-prove malloc()'s and free().
************************************************************************
Global Variables:
There are two types of global variables. All data in
both strucs is initialized to zero.
1. lame_global_flags *gfp
These are input paramters which are set by the calling program,
and some information which the calling program may be interested in.
This struct instantiated by the call to lame_init().
2. lame_internal_flags *gfc
Most global variables go here.
All internal data not set by the user. All 'static' data from
old non-reentrant code should be moved here.
Defined in util.h. Data for which the size is known
in advace should be explicitly declaired (for example,
float xr[576]); Data which needs to be malloc'd is
handled by:
1. in lame_init_params(), malloc the data
2. be sure to free the data in freegfc()
If the data to be malloc'd is large and only used in
certain conditions (like resampling), use the following:
this has the disadvantage that it is hard to catch and return error
flags all the way back up the call stack.
1. Add an initialization variable to the gfc struct: lame_init_resample
2. In the resample routine, there should be some code like this:
if (0==gfc->lame_init_resample) {
gfc->lame_init_resample=1;
/* initialization code: malloc() data, etc */
}
3. The data should be free'd in the routine freegfc().

206
node_modules/lame/deps/lame/INSTALL generated vendored Normal file
View File

@ -0,0 +1,206 @@
LAME 3.xx January 2001 Mark Taylor (http://www.mp3dev.org)
=======================================================================
Compile time options
=======================================================================
There are serveral targets which can be built from this
source code:
lame, lame.exe The command line encoder
mp3x A GTK based graphical MP3 frame analyzer. For debugging,
development, and studing MP3 frames produced by any
encoder.
lame_enc.dll a Windows DLL used by many GUIs which support lame.
(Can only be compiled by MSVC???)
lame.acm a Windows ACM codec which can be used by
many windows programs, and any directshow program.
See MSVC project files in ACM directory.
Right click on lame.inf to install.
lame_enc.dshow a Windows direct show filter for lame. Potentially has
more flexability than the ACM codec, but code needs some
work. See MSVC project files in dshow directory
libmp3lame.a the static encoding library used by all platforms, required
by all the above targets.
libmp3lame.so shared version of libmp3lame.a for *NIX platforms
The following compile time options can be used. For libmp3lame.a
and lame_enc.dll, none are required. On non-unix systems,
these options must be set in config.h or in the IDE.
On unix systems, they are set via ./configure.
#define HAVE_MPGLIB compile in mpglib's mp3 *decoding* capibility
#define HAVE_VORBIS compile in Vorbis decoding capibility
(you need libvorbis already built)
#define NOANALYSIS do not compile in hooks used by the
MP3 frame analyzer.
Options for the command line encoder:
#define LIBSNDFILE to use Erik de Castro Lopo's libsndfile
for input.
=======================================================================
Building the software on *NIX platforms using configure:
=======================================================================
Run the following commands:
% ./configure
% make
% make install
For a complete list of options, try "./configure --help"
Some of the more usefull options:
For the encoding library:
--enable-mp3x Build the mp3 frame analyzer, 'mp3x'
--enable-mp3rtp Build the encode-to-RTP program, 'mp3rtp'
(broken as of August 2001)
For the LAME front end encoder:
--with-fileio=lame Use lame's internal file io routines [default]
=sndfile Use Erik de Castro Lopo's libsndfile
(Supports many more input formats, but no stdin possible currently)
--with-sndfile-prefix=DIR Alternate location for libsndfile
(if --with-fileio=sndfile)
Other usefull configure options:
--enable-debug Build a debug version
--enable-expopt Enable some more optimizations flags for
the compiler, may or may not produce
faster code
--prefix = PATH default is /usr/local
(LAME currently installs:
/usr/local/bin/lame
/usr/local/lib/libmp3lame.a
/usr/local/lib/libmp3lame.so
/usr/local/include/lame.h
--with-vorbis Enable Ogg Vorbis decoding support
--with-vorbis-prefix = PATH specify where to find Vorbis libs
Some more advanced ways to influence the build procedure
(experienced users only, use it at your own risk):
- If you want to use some custom defines for building (e.g. some out
of the file "DEFINES") use:
* bourne shell or compatible (ash, bash, zsh, ...):
CONFIG_DEFS="-Dmy_define" ./configure
* C shell or compatible (csh, tcsh, ...):
setenv CONFIG_DEFS "-Dmy_define"
./configure
- If you want to use some additional options for the compiler:
* bourne shell or compatible (ash, bash, zsh, ...):
CFLAGS="--my_flag" ./configure
* C shell or compatible (csh, tcsh, ...):
setenv CFLAGS "--my_flag"
./configure
Or some combination of the above.
Note:
If configure detects the presents of "nasm" some additional speed
improvements get compiled in (additional assembler code to detect
and use multimedia extensions of the used processor).
=======================================================================
Building the software on *NIX platforms without configure:
=======================================================================
% make -f Makefile.unix
=======================================================================
Building the software on Windows with MSVC:
(or MSVC + 3rd party C compiler)
=======================================================================
There are MSVC project files, and a Makefile.MSVC included
with the project. For production use, be sure to compile
a "Release" target, with the "maximum speed" compile
option, and #define NDEBUG.
It is possible to compile the GTK frame analyzer under windows, see
README.WINGTK
Various build options can be set in configMS.h
Note: project files for building lame.exe seem to be broken or not
quite compatable with MSVC6. The most reliable way to build lame and
lame_enc.dll is to run the .bat script (comes with MSVC6) which sets
up your VC environment to work from the command line, and then:
copy configMS.h config.h
nmake -f Makefile.MSVC comp=msvc asm=no
Project files for the dll, ACM codec and directshow filter
seem to be in better sahpe.
=======================================================================
Building the software on Windows with free compilers:
=======================================================================
LAME can be compiled with various Windows MSDOS ports (all free)
of GCC (DJGPP, Mingw32). See README.DJGPP.
For Mingw32, you should now be able to use the Unix Makefile that
comes with LAME. Try: "make -f Makefile.unix UNAME=MSDOS"
You may need to remove these lines from brhist.c:
#ifdef _WIN32
COORD Pos;
HANDLE CH;
CONSOLE_SCREEN_BUFFER_INFO CSBI;
#endif
Mingw32 users may also try to use the unix configure script (explained
above), it has _untested_ support for Mingw32.
Cygwin users should use the unix configure script (explained above). If
you have problems with the configure script try:
CC=gcc ./configure
Patches to enable the build of the lame_enc.dll with Cygwin and autoconf /
automake / libtool are welcome!
To use the Borland C compiler (now free!) see README.B32 and Makefile.B32.
Borland can also compile the lame_enc.dll, but this is untested.
Can DJGPP or Mingw32 produce lame_enc.dll?
Various build options can be set in configMS.h

183
node_modules/lame/deps/lame/INSTALL.configure generated vendored Normal file
View File

@ -0,0 +1,183 @@
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
Print a summary of the options to `configure', and exit.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.

13
node_modules/lame/deps/lame/LICENSE generated vendored Normal file
View File

@ -0,0 +1,13 @@
Can I use LAME in my commercial program?
Yes, you can, under the restrictions of the LGPL. The easiest
way to do this is to:
1. Link to LAME as separate library (libmp3lame.a on unix or
lame_enc.dll or libmp3lame.dll on windows)
2. Fully acknowledge that you are using LAME, and give a link
to our web site, www.mp3dev.org
3. If you make modifications to LAME, you *must* release these
these modifications back to the LAME project, under the LGPL.

703
node_modules/lame/deps/lame/Makefile.MSVC generated vendored Normal file
View File

@ -0,0 +1,703 @@
# Makefile.MSVC: MSVC Makefile for LAME
#
# 2000-2010 Robert Hegemann
# dedicated to the LAME project http://www.mp3dev.org
###############################################################################
#__ readme ____________________________________________________________________
# nmake -f Makefile.MSVC
# -> build lame, but not mp3x
# -> use Robert's code modifications
# -> assume MSVC 6.0 compiler available
# -> assume NASM available
# -> assemble MMX code with NASM
# -> no compiler warnings
# -> use single precision float
#
# passing arguments, one can modify the default behaviour:
# COMP=<not INTEL or BCC> -> use MS compiler
# WARN=<anything but OFF> -> give verbose compiler warnings
# ASM=<anything but YES> -> no NASM nor MMX
# MMX=<anything but YES> -> do not assemble MMX code
# CFG=<anything but RH> -> disable Robert's modifications
# CPU=P1 -> optimize for Pentium instead of P II/III
# CPU=P2 -> optimize for Pentium II/III, you need a PII or better
# CPU=P3 -> optimize for Pentium III, you need a PIII or better
# GTK=YES -> have GTK, adds mp3x to default targets
# PREC=<anything but SINGLE> -> use double instead of single float
# SNDFILE=<anything but YES> -> do not use LibSndfile for reading input files
#
# Example:
# nmake -f Makefile.MSVC CPU=P1 GTK=YES
#____________________________________________________________________ readme __
# targets <-> DOS filenames
T_LAME = lame.exe
T_MP3X = mp3x.exe
T_MP3RTP = mp3rtp.exe
T_DLL = libmp3lame.dll
T_LIB_DYNAMIC = libmp3lame.lib
T_LIB_STATIC = libmp3lame-static.lib
T_LEGACY_DLL = lame_enc.dll
TARGET_DIR = .\output\
# default targets
PGM = $(T_LAME)
# some default settings
! IF "$(MSVCVER)" != ""
COMP = MS
! IF "$(MSVCVER)" == "Win64"
! IF "$(ASM)" == ""
ASM = NO # or it could be ML64 if we want to use it...
GTK = NO
! ENDIF
! ENDIF
! ELSE
! IF "$(COMP)" == ""
COMP = MSVC
! ENDIF
! ENDIF
! IF "$(ASM)" == ""
ASM = YES
! ENDIF
! IF "$(MMX)" == ""
MMX = YES
! ENDIF
! IF "$(CFG)" == ""
CFG = RH
! ENDIF
! IF "$(CPU)" == ""
CPU = P2auto
!if "$(PROCESSOR_LEVEL)"=="6"
CPU = P6
!endif
! ENDIF
! IF "$(WARN)" == ""
WARN = OFF
! ENDIF
! IF "$(PREC)" == ""
PREC = SINGLE
! ENDIF
! IF "$(SNDFILE)" == ""
SNDFILE = NO
! ENDIF
OFF = win32
MACHINE = /machine:I386
LIB_OPTS = /nologo $(MACHINE)
! MESSAGE ----------------------------------------------------------------------
! IF "$(CFG)" == ""
! MESSAGE building LAME
! ELSE
! MESSAGE building LAME featuring $(CFG)
! ENDIF
! IF "$(ASM)" == "YES"
! MESSAGE + ASM
! IF "$(MMX)" == "YES"
! MESSAGE + MMX
! ENDIF
! ENDIF
! IF "$(GTK)" == "YES"
! MESSAGE + GTK
! ENDIF
! IF "$(COMP)" == "INTEL"
! MESSAGE using INTEL COMPILER
! IF "$(CPU)" == "P1"
! MESSAGE + optimizing for Pentium (MMX)
! ELSE
! IF "$(CPU)" == "P2"
! MESSAGE + you need a Pentium II or better
! ELSE
! IF "$(CPU)" == "P3"
! MESSAGE + you need a Pentium III or better
! ELSE
! MESSAGE + optimizing for Pentium II/III
! ENDIF
! ENDIF
! ENDIF
! ELSE
! IF "$(MSVCVER)" == "6.0"
! MESSAGE + using MSVC 6.0 32-Bit Compiler
! IF "$(CPU)" == "P1"
! MESSAGE + optimizing for Pentium (MMX) (may slow down PIII a few percent)
! ELSE
! MESSAGE + optimizing for Pentium II/III
! ENDIF
! ELSEIF "$(MSVCVER)" == "8.0"
! MESSAGE + using MSVC 8.0 32-Bit Compiler
! IF "$(CPU)" == "P1"
! MESSAGE + optimizing for Pentium (MMX) (may slow down PIII a few percent)
! ELSE
! MESSAGE + optimizing for Pentium II/III
! ENDIF
! ELSE
! IF "$(MSVCVER)" == "Win64"
! MESSAGE + using MS 64-Bit Compiler
! ELSE
! MESSAGE using MS COMPILER
! IF "$(CPU)" == "P1"
! MESSAGE + optimizing for Pentium (MMX) (may slow down PIII a few percent)
! ELSE
! MESSAGE + optimizing for Pentium II/III
! ENDIF
! ENDIF
! ENDIF
! ENDIF
! IF "$(PREC)" == "SINGLE"
! MESSAGE + using Single precision
! ENDIF
! IF "$(SNDFILE)" == "YES"
! MESSAGE + using LibSndfile reading input files
! ENDIF
! MESSAGE ----------------------------------------------------------------------
! IF "$(COMP)" != "INTEL"
! IF "$(COMP)" != "BCC"
#__ Microsoft C options _______________________________________________________
#
# /O2 maximize speed
# /Ob<n> inline expansion
# /Og enable global optimizations
# /Oi enable intrinsic functions
# /Ot favor code speed
# /Oy enable frame pointer omission
# /G5 Pentium optimization
# /G6 Pentium II/III optimization
# /GA optimize for Windows Application
# /GF enable read-only string pooling
# /Gf enable string spooling
# /Gs disable stack checking calls
# /Gy separate functions for linker
# /QIfdiv generate code for Pentium FDIV fix
# /QI0f generate code for Pentium 0x0f erratum fix
#
# remarks:
# - aliasing options seem to break code
# - try to get the Intel compiler demonstration code!
# ICL produces faster code.
# debugging options
# CC_OPTS = /nologo /Zi /Ge /GZ
# LN_OPTS = /nologo /debug:full /debugtype:cv /fixed:no
# profiling options
# CC_OPTS = /nologo /Zi /O2b2gity /G6As /DNDEBUG
# LN_OPTS = /nologo /debug:full /debugtype:cv /fixed:no /profile
# release options
! IF "$(MSVCVER)" == "Win64"
CC_OPTS = /nologo /DWin64 /O2b2ity /GAy /Gs1024 /Zp8 /GL /GS- /Zi
! ELSEIF "$(MSVCVER)" == "8.0"
CC_OPTS = /nologo /O2 /Wp64 /Oi /GL /arch:SSE /fp:precise
! ELSEif "$(CPU)"=="P6"
CC_OPTS = /nologo /O2 /Ob2 /GAy /Gs1024 /Zp8 /Zi
!else
CC_OPTS = /nologo /O2 /Ob2 /GAy /Gs1024 /QIfdiv /QI0f /YX
! ENDIF
! IF "$(MSVCVER)" == "6.0"
! IF "$(CPU)" == "P1"
CC_OPTS = $(CC_OPTS) /G5
! ELSE
CC_OPTS = $(CC_OPTS) /G6
! ENDIF
! ENDIF
! IF "$(WARN)" == "OFF"
CC_OPTS = $(CC_OPTS) /w
! ELSE
CC_OPTS = $(CC_OPTS) /W$(WARN)
! ENDIF
! IF "$(PREC)" == "SINGLE"
CC_OPTS = $(CC_OPTS) /DFLOAT8=float /DREAL_IS_FLOAT=1
! ENDIF
CC_OPTS = $(CC_OPTS) /DNDEBUG /MT
LN_OPTS = /nologo /opt:NOWIN98 /pdb:none
LN_DLL = /nologo /DLL /opt:NOWIN98
CC_OUT = /Fo
LN_OUT = /OUT:
CC = cl
LN = link
#_______________________________________________________ Microsoft C options __
! ELSE
#__ Borland BCC options _______________________________________________________
#
# first draft, DLL not working, generates very slow code!
BCCINST = C:/Borland/BCC55
CC_OPTS = -pc -q -ff -fp -jb -j1 -tWC -tWM -O2 -OS -I$(BCCINST)/include -DNDEBUG -DWIN32
# dll >> -tWD
LN_OPTS = -lGn -lGi -lap -lx -L$(BCCINST)/lib
# dll >> -Tpd
! IF "$(CPU)" == "P1"
CC_OPTS = $(CC_OPTS) -5
! ELSE
CC_OPTS = $(CC_OPTS) -6
! ENDIF
! IF "$(WARN)" == "OFF"
CC_OPTS = $(CC_OPTS) -w-
! ELSE
CC_OPTS = $(CC_OPTS)
! ENDIF
LN_DLL =
#$(CCINST)/lib/cw32R.lib
LN_OUT = -e
CC_OUT = -o
CC = bcc32
LN = bcc32
OFF = obj
! ENDIF
#_______________________________________________________ Borland BCC options __
! ELSE
#__ Intel 4.5 options _________________________________________________________
#
# /YX enable automatic precompiled header file creation/usage
# /Ox maximum optimization same as /O2 without /Gfy
# /O2 same as /Gfsy /Ob1gyti
# /Gd 1) make cdecl the default calling convention
# /G5 2) optimized for Pentium
# /G6 3) optimized for Pentium II/III
# /GA assume single threaded
# /Gs[n] disable stack checks for functions with <n bytes of locals
# /GF read-only string pooling optimization
# /Gy separate functions for the linker
# /Qunroll unroll loops with default heuristic
# /QIfist enable fast float to int conversion
# /QIfdiv enable patch for Pentium with FDIV erratum
# /QI0f enable patch for Pentium with 0f erratum
# /Qip 2) enable single-file IP optimizations (within files)
# /Qipo enable multi-file IP optimizations (between files)
# /Qipo_wp 4) enable entire program multi-file IP optimizations
# /QaxiMK automatic use of specialized code for PII/III, MMX, SIMD
#
# remarks:
# 1) slows speed down, not using
# 2) faster compared to 3) or 4) on Pentium MMX at 200 MHz
! IF "$(CPU)" == "P1"
CC_OPTS = /G5 /QaxiMK /QIfdiv /QI0f
! ELSE
! IF "$(CPU)" == "P2"
CC_OPTS = /G6 /Qxi /QaxMK
! ELSE
! IF "$(CPU)" == "P3"
CC_OPTS = /G6 /QxiMK
! ELSE
CC_OPTS = /G6 /QaxiMK /QIfdiv /QI0f
! ENDIF
! ENDIF
! ENDIF
! IF "$(WARN)" == "OFF"
CC_OPTS = $(CC_OPTS) /w
! ELSE
CC_OPTS = $(CC_OPTS) /W2 /Wport
! ENDIF
! IF "$(PREC)" == "SINGLE"
CC_OPTS = $(CC_OPTS) /DFLOAT8=float /DREAL_IS_FLOAT=1
! ENDIF
CC_OPTS = /nologo /DNDEBUG /YX /GA /Ox /Ob2 \
/Qunroll /Qsox- /Qip $(CC_OPTS)
LN_OPTS = $(CC_OPTS)
LN_DLL = /LD
LN_OUT = /Fe
CC_OUT = /Fo
CC = icl
LN = icl
#_________________________________________________________ Intel 4.5 options __
! ENDIF
#__ LIBSNDFILE ________________________________________________________________
#
# uncomment the following if you want LibSndfile for input
# It's always a good idea to compile it in!
#
! IF "$(SNDFILE)" == "YES"
SNDFILE_OPTS = /DLIBSNDFILE
LIBSNDFILE = $(SNDFILE_DIR)libsndfile.lib
! ENDIF
#________________________________________________________________ LIBSNDFILE __
#-- MISC --
CPP_OPTS = /DHAVE_CONFIG_H -I.
#__ FRAME ANALYZER SUPPORT ____________________________________________________
#
# Assuming you have "glib-dev" and "gtk+-dev" installed and the system
# DLLs "glib-1.3.dll", "gdk-1.3.dll" and "gtk-1.3.dll" copied into the
# "Win\System" folder
#
# To compile in the frame analyzer support, you need the above mentioned
# libraries. You can pass the appropriate path to them in GTK_DIRS.
#
! IF "$(GTK)" == "YES"
! IF "$(GTK_DIRS)" == ""
GTK_DIRS = ../3rdparty
! ENDIF
GTK_OPTS = -I$(GTK_DIRS)/glib \
-I$(GTK_DIRS)/gtk+ \
-I$(GTK_DIRS)/gtk+/gtk \
-I$(GTK_DIRS)/gtk+/gdk
GTK_LIBS = $(GTK_DIRS)/gtk+/gtk/gtk-1.3.lib \
$(GTK_DIRS)/gtk+/gdk/gdk-1.3.lib \
$(GTK_DIRS)/glib/glib-1.3.lib
PGM = $(T_MP3X) $(PGM)
! ELSE
! IF "$(GTK)" == ""
! MESSAGE Pass GTK=YES to build the frame analyzer. (requires installed GTK)
! ENDIF
! ENDIF
#____________________________________________________ FRAME ANALYZER SUPPORT __
#__ HIP DECODING ______________________________________________________________
#
# uncomment the following if you want decoding support
# It's always a good idea to compile it in!
#
CPP_OPTS = $(CPP_OPTS) /DHAVE_MPGLIB
#___________________________________________________________ HIP DECODING _____
#__ Takehiro's IEEE hack ______________________________________________________
#
# uncomment the following to enable Takehiro's IEEE hack
# You'll want it on a x86 machine with i387 FPU
#
CPP_OPTS = $(CPP_OPTS) /DTAKEHIRO_IEEE754_HACK
#______________________________________________________ Takehiro's IEEE hack __
#__ Robert's alternate code ___________________________________________________
! IF "$(CFG)" == "RH"
! IF "$(MSVCVER)" == "8.0"
LIB_OPTS = $(LIB_OPTS) /LTCG
LN_OPTS = $(LN_OPTS) /LTCG
! ENDIF
! ENDIF
#___________________________________________________ Robert's alternate code __
CC_SWITCHES = $(CC_OPTS) $(SNDFILE_OPTS) \
$(GTK_OPTS) /DBS_FORMAT=BINARY
LN_SWITCHES = $(LN_OPTS)
lame_sources = \
frontend/lame_main.c
mpx_sources = \
frontend/gpkplotting.c \
frontend/gtkanal.c \
frontend/mp3x.c
mp3rtp_sources = \
frontend/rtp.c \
frontend/mp3rtp.c
dll_sources = \
dll/BladeMP3EncDll.c
common_sources = \
frontend/main.c \
frontend/get_audio.c \
frontend/parse.c \
frontend/timestatus.c \
frontend/lametime.c \
frontend/console.c \
frontend/brhist.c
lamelib_sources = \
libmp3lame/bitstream.c \
libmp3lame/encoder.c \
libmp3lame/fft.c \
libmp3lame/gain_analysis.c \
libmp3lame/id3tag.c \
libmp3lame/lame.c \
libmp3lame/newmdct.c \
libmp3lame/psymodel.c \
libmp3lame/quantize.c \
libmp3lame/quantize_pvt.c \
libmp3lame/vector/xmm_quantize_sub.c \
libmp3lame/set_get.c \
libmp3lame/vbrquantize.c \
libmp3lame/reservoir.c \
libmp3lame/tables.c \
libmp3lame/takehiro.c \
libmp3lame/util.c \
libmp3lame/mpglib_interface.c \
libmp3lame/VbrTag.c \
libmp3lame/presets.c \
libmp3lame/version.c
mpglib_sources = \
mpglib/common.c \
mpglib/dct64_i386.c \
mpglib/decode_i386.c \
mpglib/layer1.c \
mpglib/layer2.c \
mpglib/layer3.c \
mpglib/tabinit.c \
mpglib/interface.c
!IF "$(MSVCVER)" == "Win64"
ADDL_OBJ = bufferoverflowU.lib
!ENDIF
LIB_OBJ = $(lamelib_sources:.c=.obj)
HIP_OBJ = $(mpglib_sources:.c=.obj)
CMMN_OBJ = $(common_sources:.c=.obj)
LAME_OBJ = $(lame_sources:.c=.obj)
MPX_OBJ = $(mpx_sources:.c=.obj)
MPRTP_OBJ = $(mp3rtp_sources:.c=.obj)
DLL_OBJ = $(dll_sources:.c=.obj)
.c.obj:
@$(CC) $(CPP_OPTS) $(CC_SWITCHES) -Iinclude -Ilibmp3lame -Impglib \
$(CC_OUT)$@ -c $<
#__ MASM ______________________________________________________________________
#
# MASM: Microsoft Assembler
#
! IF "$(ASM)" == "ML64"
#
.SUFFIXES : .nas
.nas.obj:
@echo $<
@ml64 -Ilibmp3lame\i386 -Sf -DWIN32 -DWIN64 $< -Fo$@
CC_SWITCHES = $(CC_SWITCHES) -DHAVE_NASM
ASM_OBJ = $(ASM_OBJ) \
libmp3lame\i386\cpu_feat.obj \
libmp3lame\i386\fft3dn.obj \
libmp3lame\i386\fftsse.obj
# not yet coded
#CC_SWITCHES = $(CC_SWITCHES) -DUSE_FFTFPU
#ASM_OBJ = $(ASM_OBJ) libmp3lame\i386\fftfpu.obj
#______________________________________________________________________ MASM __
#__ NASM ______________________________________________________________________
#
# NASM: Netwide Assembler
#
! ELSEIF "$(ASM)" == "YES"
#
.SUFFIXES : .nas
.nas.obj:
@echo $<
@nasmw -f $(OFF) -i libmp3lame/i386/ -DWIN32 $< -o $@
CC_SWITCHES = $(CC_SWITCHES) /DHAVE_NASM
ASM_OBJ = $(ASM_OBJ) \
libmp3lame\i386\cpu_feat.obj \
libmp3lame\i386\fft3dn.obj \
libmp3lame\i386\fftsse.obj
# not yet coded
#CC_SWITCHES = $(CC_SWITCHES) /DUSE_FFTFPU
#ASM_OBJ = $(ASM_OBJ) libmp3lame/i386/fftfpu.obj
#______________________________________________________________________ NASM __
! ELSE
! MESSAGE Pass ASM=YES to build the assembler optimizations
! ENDIF
#__ MMX _______________________________________________________________________
#
# you need NASM but *not necessarily* a processor with MMX
# The above CPU feature detection code allows to run the same
# binary on a CPU without MMX too!
#
! IF "$(ASM)" == "YES"
! IF "$(MMX)" == "YES"
CC_SWITCHES = $(CC_SWITCHES) /DMMX_choose_table
ASM_OBJ = $(ASM_OBJ) libmp3lame/i386/choose_table.obj
! ENDIF
! ENDIF
#_______________________________________________________________________ MMX __
! MESSAGE
no_target_specified : $(PGM)
@echo.
@echo --=* $(PGM) uptodate *=--
@echo.
target_directory :
@if not exist $(TARGET_DIR) mkdir $(TARGET_DIR)
common: $(CMMN_OBJ)
@echo.
@echo --- COMMON FRONTEND STUFF UPTODATE ---
@echo.
libA: $(LIB_OBJ)
@echo.
@echo --- LAME MP3 ENCODING LIBRARY UPTODATE ---
@echo.
libB: $(HIP_OBJ)
@echo.
@echo --- HIP DECODING LIBRARY UPTODATE ---
@echo.
lib: $(ASM_OBJ) libA libB
lame.res: ./libmp3lame/lame.rc
@rc.exe /d "NDEBUG" /d "_APP=lame.exe" /l 0x409 /fo"./frontend/lame.res" "./libmp3lame/lame.rc"
mp3rtp.res: ./libmp3lame/lame.rc
@rc.exe /d "NDEBUG" /d "_APP=mp3rtp.exe" /l 0x409 /fo"./frontend/mp3rtp.res" "./libmp3lame/lame.rc"
mp3x.res: ./libmp3lame/lame.rc
@rc.exe /d "NDEBUG" /d "_APP=mp3x.exe" /l 0x409 /fo"./frontend/mp3x.res" "./libmp3lame/lame.rc"
lame_enc.res: ./libmp3lame/lame.rc
@rc.exe /d "NDEBUG" /d "_DLL=lame_enc.dll" /l 0x409 /fo"./frontend/lame_enc.res" "./libmp3lame/lame.rc"
$(T_LAME) : target_directory config.h $(T_LIB_STATIC) common $(LAME_OBJ) lame.res
@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) $(LIBSNDFILE) \
$(TARGET_DIR)$(T_LIB_STATIC) $(CMMN_OBJ) $(LAME_OBJ) $(ADDL_OBJ) \
./frontend/lame.res
@echo.
@echo --=* $(TARGET_DIR)$@ ready *=--
@echo.
$(T_MP3X) : target_directory config.h lib common $(MPX_OBJ) mp3x.res
@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) $(GTK_LIBS) $(LIBSNDFILE) \
$(TARGET_DIR)$(T_LIB_STATIC) $(CMMN_OBJ) $(MPX_OBJ) $(ADDL_OBJ) \
./frontend/mp3x.res
@echo.
@echo --=* $(TARGET_DIR)$@ ready *=--
@echo.
$(T_MP3RTP) : target_directory config.h lib common $(MPRTP_OBJ) mp3rtp.res
@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) $(LIBSNDFILE) \
$(TARGET_DIR)$(T_LIB_STATIC) $(CMMN_OBJ) $(MPRTP_OBJ) $(ADDL_OBJ) \
./frontend/mp3rtp.res wsock32.lib
@echo.
@echo --=* $(TARGET_DIR)$@ ready *=--
@echo.
$(T_LEGACY_DLL) : target_directory config.h $(DLL_OBJ) lame_enc.res
@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) \
$(TARGET_DIR)$(T_LIB_STATIC) $(LN_DLL) \
$(DLL_OBJ) $(ADDL_OBJ) ./frontend/lame_enc.res user32.lib
@echo.
@echo --=* $(TARGET_DIR)$@ ready *=--
@echo.
$(T_DLL) : target_directory config.h $(T_LIB_STATIC)
@$(LN) $(LN_DLL) $(MACHINE) \
/DEF:"include\lame.def" \
$(ADDL_OBJ) \
$(LN_OUT)"$(TARGET_DIR)$@" \
$(TARGET_DIR)$(T_LIB_STATIC) libmp3lame\version.obj
@echo.
@echo --=* $(TARGET_DIR)$@ ready *=--
@echo.
$(T_LIB_STATIC) : target_directory lib
@lib $(LIB_OPTS) \
/OUT:"$(TARGET_DIR)$@" \
$(ASM_OBJ) $(LIB_OBJ) $(HIP_OBJ)
@echo.
@echo --=* $(TARGET_DIR)$@ ready *=--
@echo.
config.h : configMS.h
@-copy configMS.h config.h
clean:
@-del $(TARGET_DIR)$(T_LAME)
@-del $(TARGET_DIR)$(T_MP3X)
@-del $(TARGET_DIR)$(T_MP3RTP)
@-del $(TARGET_DIR)$(T_DLL)
@-del $(TARGET_DIR)$(T_LIB_STATIC)
@-del $(TARGET_DIR)$(T_LIB_DYNAMIC)
@-del $(TARGET_DIR)$(T_LEGACY_DLL)
@-del lame.pdb
@-del icl.pch
@-del $(TARGET_DIR)lame_enc.*
@-del frontend\*.obj
@-del dll\*.obj
@-del mpglib\*.obj
@-del libmp3lame\*.obj
@-del libmp3lame\i386\*.obj
@-del libmp3lame\vector\*.obj
@-del libmp3lame\*.res
@-del frontend\*.res
rebuild: clean all
lame : $(T_LAME)
lame_enc: $(T_LEGACY_DLL)
dll : $(T_DLL) $(T_LEGACY_DLL)
mp3x : $(T_MP3X)
mp3rtp : $(T_MP3RTP)
all : $(PGM) mp3rtp dll lame_enc
@echo.
@echo --=* all uptodate *=--
@echo.

63
node_modules/lame/deps/lame/Makefile.am generated vendored Normal file
View File

@ -0,0 +1,63 @@
## $Id: Makefile.am,v 1.38 2010/10/30 13:21:01 robert Exp $
include $(top_srcdir)/Makefile.am.global
.PHONY: test
SUBDIRS = mpglib libmp3lame frontend Dll debian doc include misc dshow ACM \
mac macosx vc_solution
CLEANFILES = testcase.new.mp3
EXTRA_DIST = \
API \
DEFINES \
HACKING \
INSTALL.configure \
LICENSE \
Makefile.MSVC \
Makefile.unix \
Makefile.am.global \
README.WINGTK \
STYLEGUIDE \
USAGE \
configMS.h \
lame.bat \
lame.spec.in \
lame.spec \
testcase.mp3 \
testcase.wav
#
# The differences depend on the used processor architecture, the used
# compiler and the used options for the compiler, so make test may
# show some differences. You should only be concerned if you are a
# LAME developer and the number of differences change after you
# modified the source.
#
testcase.new.mp3: testcase.wav frontend/lame$(EXEEXT)
time frontend/lame$(EXEEXT) --nores $(top_srcdir)/testcase.wav testcase.new.mp3 || $(RM_F) testcase.new.mp3
test: testcase.mp3 testcase.new.mp3
@echo
@echo "The following output has value only for a LAME-developer, do not make _any_"
@echo "assumptions about what this number means. You do not need to care about it."
@cmp -l testcase.new.mp3 $(top_srcdir)/testcase.mp3 | wc -l
testupdate: testcase.mp3 testcase.new.mp3
cp testcase.new.mp3 $(top_srcdir)/testcase.mp3
testg: frontend/mp3x$(EXEEXT) $(top_srcdir)/../test/castanets.wav
frontend/mp3x$(EXEEXT) -h $(top_srcdir)/../test/castanets.wav
update:
cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 -q update -dAP || true
diff:
cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 diff -u || true
frontend/lame$(EXEEXT):
$(MAKE) $(MAKEFLAGS)
frontend/mp3x$(EXEEXT): frontend/lame$(EXEEXT)

7
node_modules/lame/deps/lame/Makefile.am.global generated vendored Normal file
View File

@ -0,0 +1,7 @@
## $Id: Makefile.am.global,v 1.8 2011/06/17 06:22:46 aleidinger Exp $
# global section for every Makefile.am
AUTOMAKE_OPTIONS = 1.11 foreign
# end global section

812
node_modules/lame/deps/lame/Makefile.in generated vendored Normal file
View File

@ -0,0 +1,812 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# global section for every Makefile.am
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/lame.spec.in $(top_srcdir)/Makefile.am.global \
$(top_srcdir)/configure COPYING ChangeLog INSTALL TODO \
config.guess config.rpath config.sub depcomp install-sh \
ltmain.sh missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = lame.spec
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
install-html-recursive install-info-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir dist dist-all distcheck
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d "$(distdir)" \
|| { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr "$(distdir)"; }; }
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONFIG_DEFS = @CONFIG_DEFS@
CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPUCCODE = @CPUCCODE@
CPUTYPE = @CPUTYPE@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
FRONTEND_LDADD = @FRONTEND_LDADD@
FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_CONFIG = @GTK_CONFIG@
GTK_LIBS = @GTK_LIBS@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDADD = @LDADD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEDEP = @MAKEDEP@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NASM = @NASM@
NASM_FORMAT = @NASM_FORMAT@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RM_F = @RM_F@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
SNDFILE_LIBS = @SNDFILE_LIBS@
STRIP = @STRIP@
U = @U@
VERSION = @VERSION@
WITH_FRONTEND = @WITH_FRONTEND@
WITH_MP3RTP = @WITH_MP3RTP@
WITH_MP3X = @WITH_MP3X@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.11 foreign $(top_srcdir)/ansi2knr
SUBDIRS = mpglib libmp3lame frontend Dll debian doc include misc dshow ACM \
mac macosx vc_solution
CLEANFILES = testcase.new.mp3
EXTRA_DIST = \
API \
DEFINES \
HACKING \
INSTALL.configure \
LICENSE \
Makefile.MSVC \
Makefile.unix \
Makefile.am.global \
README.WINGTK \
STYLEGUIDE \
USAGE \
configMS.h \
lame.bat \
lame.spec.in \
lame.spec \
testcase.mp3 \
testcase.wav
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am--refresh:
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
lame.spec: $(top_builddir)/config.status $(srcdir)/lame.spec.in
cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool config.lt
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
$(am__remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@$(am__cd) '$(distuninstallcheck_dir)' \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr \
distclean-libtool distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
ctags-recursive install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
distcheck distclean distclean-generic distclean-hdr \
distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags tags-recursive uninstall uninstall-am
# end global section
.PHONY: test
#
# The differences depend on the used processor architecture, the used
# compiler and the used options for the compiler, so make test may
# show some differences. You should only be concerned if you are a
# LAME developer and the number of differences change after you
# modified the source.
#
testcase.new.mp3: testcase.wav frontend/lame$(EXEEXT)
time frontend/lame$(EXEEXT) --nores $(top_srcdir)/testcase.wav testcase.new.mp3 || $(RM_F) testcase.new.mp3
test: testcase.mp3 testcase.new.mp3
@echo
@echo "The following output has value only for a LAME-developer, do not make _any_"
@echo "assumptions about what this number means. You do not need to care about it."
@cmp -l testcase.new.mp3 $(top_srcdir)/testcase.mp3 | wc -l
testupdate: testcase.mp3 testcase.new.mp3
cp testcase.new.mp3 $(top_srcdir)/testcase.mp3
testg: frontend/mp3x$(EXEEXT) $(top_srcdir)/../test/castanets.wav
frontend/mp3x$(EXEEXT) -h $(top_srcdir)/../test/castanets.wav
update:
cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 -q update -dAP || true
diff:
cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 diff -u || true
frontend/lame$(EXEEXT):
$(MAKE) $(MAKEFLAGS)
frontend/mp3x$(EXEEXT): frontend/lame$(EXEEXT)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

666
node_modules/lame/deps/lame/Makefile.unix generated vendored Normal file
View File

@ -0,0 +1,666 @@
# Makefile for LAME 3.xx -*- makefile -*-
#
# LAME is reported to work under:
# Linux (i86), NetBSD 1.3.2 (StrongARM), FreeBSD (i86)
# Compaq Alpha(OSF, Linux, Tru64 Unix), Sun Solaris, SGI IRIX,
# OS2 Warp, Macintosh PPC, BeOS, Amiga and even VC++
#
# these variables are available on command line:
#
# make UNAME=xxxxx ARCH=xxxxx - specify a type of host
# make PGM=lame_exp - specify a name of an executable file
#
# if you have mingw32-gcc, try:
# make -fMakefile.unix UNAME=MSDOS
# or if you get the error
# "process_begin: CreateProcess((null), copy configMS.h config.h, ...)":
# make -fMakefile.unix UNAME=MSDOS NOUNIXCMD=NO
# or if you have NASM:
# make -fMakefile.unix UNAME=MSDOS HAVE_NASM=YES
#
ifeq ($(UNAME),MSDOS)
UNAME ?= UNKNOWN
ARCH = x86
NOUNIXCMD = YES
else
UNAME = $(shell uname)
ARCH = $(shell uname -m)
iARCH = $(patsubst i%86,x86,$(ARCH))
endif
HAVE_NASM = NO
HAVE_NEWER_GLIBC = NO
NASM_FLAGS=elf
# generic defaults. OS specific options go in versious sections below
PGM = lame
CC = gcc
CC_OPTS = -O
CPP_OPTS = -Iinclude -Impglib -Ifrontend -Ilibmp3lame
AR = ar
RANLIB = ranlib
GTK =
GTKLIBS =
LIBSNDFILE =
LIBS = -lm
MP3LIB = libmp3lame/libmp3lame.a
MP3LIB_SHARED = libmp3lame/libmp3lame.so
MAKEDEP = -M
BRHIST_SWITCH =
LIBTERMCAP =
RM = rm -f
CPP_OPTS += -DHAVE_CONFIG_H -I.
##########################################################################
# -DHAVEMPGLIB compiles the mpglib *decoding* library into libmp3lame
##########################################################################
CPP_OPTS += -DHAVE_MPGLIB
##########################################################################
# -DTAKEHIRO_IEEE754_HACK enables Takehiro's IEEE hack
##########################################################################
ifeq ($(iARCH),x86)
ifeq ($(CFG),RH_SSE)
# SSE and IEEE754 HACK don't work together
else
CPP_OPTS += -DTAKEHIRO_IEEE754_HACK
endif
endif
##########################################################################
# Define these in the OS specific sections below to compile in code
# for the optional VBR bitrate histogram.
# Requires ncurses, but libtermcap also works.
# If you have any trouble, just dont define these
#
# BRHIST_SWITCH = -DBRHIST -DHAVE_TERMCAP -DHAVE_{NCURSES_}TERMCAP_H
# LIBTERMCAP = -lncurses
# LIBTERMCAP = -ltermcap
#
# or, to try and simulate TERMCAP (ANSI), use:
# BRHIST_SWITCH = -DBRHIST
#
##########################################################################
##########################################################################
# Define these in the OS specific sections below to compile in code for:
#
# SNDLIB = -DLIBSNDFILE to use Erik de Castro Lopo's libsndfile
# http://www.zip.com.au/~erikd/libsndfile/ instead of LAME's internal
# routines. Also set:
#
# LIBSNDFILE = -lsndfile
# or
# LIBSNDFILE = -L/location_of_libsndfile -lsndfile
#
##########################################################################
##########################################################################
# Define these in the OS specific sections below to compile in code for
# the GTK mp3 frame analyzer
#
# Requires -DHAVE_MPGLIB
#
# GTK = -DHAVE_GTK `gtk-config --cflags`
# GTKLIBS = `gtk-config --libs`
#
##########################################################################
##########################################################################
# LINUX
##########################################################################
ifeq ($(UNAME),Linux)
# The frame analyzer depends on gtk1.2. Uncomment the next 2 lines to get it
# GTK = -DHAVE_GTK `gtk-config --cflags`
# GTKLIBS = `gtk-config --libs`
# Comment out next 2 lines if you want to remove VBR histogram capability
BRHIST_SWITCH = -DHAVE_TERMCAP -DHAVE_TERMCAP_H
LIBTERMCAP = -lncurses
# uncomment to use LIBSNDFILE
# SNDLIB = -DLIBSNDFILE
# LIBSNDFILE=-lsndfile
# suggested for gcc-2.7.x
# CC_OPTS = -O3 -fomit-frame-pointer -funroll-loops -ffast-math -finline-functions -Wall -pedantic
# CC_OPTS = -O9 -fomit-frame-pointer -fno-strength-reduce -mpentiumpro -ffast-math -finline-functions -funroll-loops -Wall -malign-double -g -march=pentiumpro -mfancy-math-387 -pipe -pedantic
# Suggested for GCC 4.* & machines with sse+sse2+sse3: -Os might reduce
# the use of the instruction cache and, thus, get better performance,
# but this should be experimented by the user. Customize at your own
# convenience.
#
#CC_OPTS = -pipe -O3 \
# -Wall -Wextra -pedantic \
# -Wmissing-declarations -Wfloat-equal -Wshadow \
# -Wcast-qual -Wcast-align -Wdisabled-optimization \
# -ffast-math -ftree-vectorize -ftree-vect-loop-version \
# -mtune=nocona -march=nocona -mfpmath=sse -msse -msse2 -msse3 \
# -malign-double -maccumulate-outgoing-args
# for debugging:
CC_OPTS = -UNDEBUG -O -Wall -pedantic -ggdb -DABORTFP
# for lots of debugging:
# CC_OPTS = -DDEBUG -UNDEBUG -O -Wall -pedantic -g -DABORTFP
ifeq ($(CFG),RH)
GTK = -DHAVE_GTK `gtk-config --cflags`
GTKLIBS = `gtk-config --libs`
CPP_OPTS += -DFLOAT8=float -DREAL_IS_FLOAT=1 -DHAVE_ICONV -DHAVE_XMMINTRIN_H -D_ALLOW_INTERNAL_OPTIONS
# these options for gcc-3.2 & AthlonXP
CC_OPTS = \
-pipe -O3 \
-Wall -W -Wmissing-declarations -Wfloat-equal -Wformat \
-Wcast-qual -Wcast-align -Wdisabled-optimization -Wshadow \
-march=athlon-xp \
-malign-double \
-maccumulate-outgoing-args
# -Wconversion -Wunreachable-code \
HAVE_NEWER_GLIBC = YES
HAVE_NASM = YES
endif
ifeq ($(CFG),RH_SSE)
GTK = -DHAVE_GTK `gtk-config --cflags`
GTKLIBS = `gtk-config --libs`
CPP_OPTS += -DFLOAT8=float -DREAL_IS_FLOAT=1 -DHAVE_ICONV -DHAVE_XMMINTRIN_H -DMIN_ARCH_SSE -D_ALLOW_INTERNAL_OPTIONS
# these options for gcc-3.2 & AthlonXP
CC_OPTS = \
-std=c99 -pipe -O3 -fstrict-aliasing \
-Wall -W -Wmissing-declarations -Wfloat-equal -Wformat \
-Wcast-qual -Wcast-align -Wdisabled-optimization -Wshadow \
-Wunsafe-loop-optimizations \
-march=k8 \
-ffast-math \
-mfpmath=sse -msse -msse2 \
-malign-double \
-funsafe-math-optimizations \
-funsafe-loop-optimizations \
-maccumulate-outgoing-args
# -Dpowf=pow -Dfabsf=fabs -Dlog10f=log10
# -fsingle-precision-constant \
# -Wconversion -Wunreachable-code \
# -ftree-vectorizer-verbose=10 \
HAVE_NEWER_GLIBC = YES
# HAVE_NASM = YES
NASM_FLAGS = elf64
endif
ifeq ($(CFG),RH_INTEL)
CC=icc
GTK = -DHAVE_GTK `gtk-config --cflags`
GTKLIBS = `gtk-config --libs`
CPP_OPTS += -DFLOAT8=float -DREAL_IS_FLOAT=1 -DHAVE_ICONV -DHAVE_XMMINTRIN_H -DMIN_ARCH_SSE -D_ALLOW_INTERNAL_OPTIONS
CC_OPTS = \
-cxxlib-nostd \
-O3 -fno-alias -ip -finline-limit=400 \
-scalar-rep
# -vec_report5 -opt-report
# -parallel
endif
ifeq ($(CFG),PFK)
CPP_OPTS += -DKLEMM -DKLEMM_00 -DKLEMM_01 -DKLEMM_02 -DKLEMM_03 -DKLEMM_04 -DKLEMM_05 -DKLEMM_06 -DKLEMM_07 -DKLEMM_08 -DKLEMM_09 -DKLEMM_10 -DKLEMM_11 -DKLEMM_12 -DKLEMM_13 -DKLEMM_14 -DKLEMM_15 -DKLEMM_16 -DKLEMM_17 -DKLEMM_18 -DKLEMM_19 -DKLEMM_20 -DKLEMM_21 -DKLEMM_22 -DKLEMM_23 -DKLEMM_24 -DKLEMM_25 -DKLEMM_26 -DKLEMM_27 -DKLEMM_28 -DKLEMM_29 -DKLEMM_30 -DKLEMM_31 -DKLEMM_32 -DKLEMM_33 -DKLEMM_34 -DKLEMM_35 -DKLEMM_36 -DKLEMM_37 -DKLEMM_38 -DKLEMM_39 -DKLEMM_40 -DKLEMM_41 -DKLEMM_42 -DKLEMM_43 -DKLEMM_44 -DKLEMM_45 -DKLEMM_46 -DKLEMM_47 -DKLEMM_48 -DKLEMM_49 -DKLEMM_50
CC_OPTS = \
-Wall -O9 -fomit-frame-pointer -march=pentium \
-finline-functions -fexpensive-optimizations \
-funroll-loops -funroll-all-loops -pipe -fschedule-insns2 \
-fstrength-reduce \
-malign-double -mfancy-math-387 -ffast-math
HAVE_NEWER_GLIBC = YES
HAVE_NASM = YES
endif
##########################################################################
# LINUX on Digital/Compaq Alpha CPUs
##########################################################################
ifeq ($(ARCH),alpha)
################################################################
#### Check if 'ccc' is in our path
#### if not, use 'gcc'
################################################################
ifeq ($(shell which ccc 2>/dev/null | grep -c ccc),0)
# double is faster than float on Alpha
CC_OPTS = -O4 -pedantic -Wall -fomit-frame-pointer -ffast-math -funroll-loops \
-mfp-regs -fschedule-insns -fschedule-insns2 \
-finline-functions \
# -DFLOAT=double
# add "-mcpu=21164a -Wa,-m21164a" to optimize for 21164a (ev56) CPU
################################################################
#### else, use 'ccc'
################################################################
else
# Compaq's C Compiler
CC = ccc
################################################################
#### set 'CC_OPTS = -arch host -tune host' to generate/tune instructions for this machine
#### 'CC_OPTS += -migrate -fast -inline speed -unroll 0' tweak to run as fast as possible :)
#### 'CC_OPTS += -w0 -pedantic -Wall' set warning and linking flags
################################################################
CC_OPTS = -arch host -tune host
CC_OPTS += -migrate -fast -inline speed -unroll 0
CC_OPTS += -w0 -pedantic -Wall
################################################################
#### to debug, uncomment
################################################################
# For Debugging
#CC_OPTS += -g3
################################################################
#### define __DECALPHA__ (i was getting re-declaration warnings
#### in machine.h
################################################################
# Define DEC Alpha
CPP_OPTS += -D__DECALPHA__
# standard Linux libm
#LIBS = -lm
# optimized libffm (free fast math library)
#LIBS = -lffm
# Compaq's fast math library
LIBS = -lcpml
endif # gcc or ccc?
endif # alpha
endif # linux
##########################################################################
# FreeBSD
##########################################################################
ifeq ($(UNAME),FreeBSD)
# remove if you do not have GTK or do not want the GTK frame analyzer
GTK = -DHAVE_GTK `gtk12-config --cflags`
GTKLIBS = `gtk12-config --libs`
# Comment out next 2 lines if you want to remove VBR histogram capability
BRHIST_SWITCH = -DHAVE_TERMCAP -DHAVE_TERMCAP_H
LIBTERMCAP = -lncurses
endif
##########################################################################
# OpenBSD
##########################################################################
ifeq ($(UNAME),OpenBSD)
# remove if you do not have GTK or do not want the GTK frame analyzer
GTK = -DHAVE_GTK `gtk-config --cflags`
GTKLIBS = `gtk-config --libs`
# Comment out next 2 lines if you want to remove VBR histogram capability
BRHIST_SWITCH = -DHAVE_TERMCAP -DHAVE_TERMCAP_H
LIBTERMCAP = -lcurses
endif
##########################################################################
# SunOS
##########################################################################
ifeq ($(UNAME),SunOS)
CC = cc
CC_OPTS = -O -xCC
MAKEDEP = -xM
# for gcc, use instead:
# CC = gcc
# CC_OPTS = -O
# MAKEDEP = -M
endif
##########################################################################
# SGI
##########################################################################
ifeq ($(UNAME),IRIX64)
CC = cc
CC_OPTS = -O3 -woff all
#optonal:
# GTK = -DHAVE_GTK `gtk-config --cflags`
# GTKLIBS = `gtk-config --libs`
# BRHIST_SWITCH = -DBRHIST -DHAVE_TERMCAP -DHAVE_TERMCAP_H
# LIBTERMCAP = -lncurses
endif
ifeq ($(UNAME),IRIX)
CC = cc
CC_OPTS = -O3 -woff all
endif
##########################################################################
# Compaq Alpha running Dec Unix (OSF)
##########################################################################
ifeq ($(UNAME),OSF1)
CC = cc
CC_OPTS = -fast -O3 -std -g3 -non_shared
endif
##########################################################################
# BeOS
##########################################################################
ifeq ($(UNAME),BeOS)
CC = $(BE_C_COMPILER)
LIBS =
ifeq ($(ARCH),BePC)
CC_OPTS = -O9 -fomit-frame-pointer -march=pentium \
-mcpu=pentium -ffast-math -funroll-loops \
-fprofile-arcs -fbranch-probabilities
else
CC_OPTS = -opt all
MAKEDEP = -make
endif
endif
###########################################################################
# MOSXS (Rhapsody PPC)
###########################################################################
ifeq ($(UNAME),Rhapsody)
CC = cc
LIBS =
CC_OPTS = -O9 -ffast-math -funroll-loops -fomit-frame-pointer
MAKEDEP = -make
endif
##########################################################################
# OS/2
##########################################################################
# Properly installed EMX runtime & development package is a prerequisite.
# tools I used: make 3.76.1, uname 1.12, sed 2.05, PD-ksh 5.2.13
#
##########################################################################
ifeq ($(UNAME),OS/2)
SHELL=sh
CC = gcc
CC_OPTS = -O3 -D__OS2__
PGM = lame.exe
LIBS =
RANLIB = touch
# I use the following for slightly better performance on my Pentium-II
# using pgcc-2.91.66:
# CC_OPTS = -O6 -ffast-math -funroll-loops -mpentiumpro -march=pentiumpro -D__OS2__
# for the unfortunates with a regular pentium (using pgcc):
# CC_OPTS = -O6 -ffast-math -funroll-loops -mpentium -march=pentium -D__OS2__
# Comment out next 2 lines if you want to remove VBR histogram capability
BRHIST_SWITCH = -DHAVE_TERMCAP -DHAVE_{NCURSES_}TERMCAP_H
LIBTERMCAP = -lncurses
# Uncomment & inspect the 2 GTK lines to use MP3x GTK frame analyzer.
# Properly installed XFree86/devlibs & GTK+ is a prerequisite.
# The following works for me using Xfree86/OS2 3.3.5 and GTK+ 1.2.3:
# GTK = -DHAVE_GTK -IC:/XFree86/include/gtk12 -Zmt -D__ST_MT_ERRNO__ -IC:/XFree86/include/glib12 -IC:/XFree86/include
# GTKLIBS = -LC:/XFree86/lib -Zmtd -Zsysv-signals -Zbin-files -lgtk12 -lgdk12 -lgmodule -lglib12 -lXext -lX11 -lshm -lbsd -lsocket -lm
endif
###########################################################################
# MSDOS/Windows
###########################################################################
ifeq ($(UNAME),MSDOS)
RM =
CC_OPTS = \
-Wall -pipe -O3 -fomit-frame-pointer -ffast-math -funroll-loops \
-fschedule-insns2 -fmove-all-movables -freduce-all-givs \
-mcpu=pentium -march=pentium -mfancy-math-387
CC_OPTS += -D_cdecl=__cdecl
PGM = lame.exe
endif
###########################################################################
# AmigaOS
###########################################################################
# Type 'Make ARCH=PPC' for PowerUP and 'Make ARCH=WOS' for WarpOS
#
###########################################################################
ifeq ($(UNAME),AmigaOS)
CC = gcc -noixemul
CC_OPTS = -O3 -ffast-math -funroll-loops -m68020-60 -m68881
BRHIST_SWITCH = -DBRHIST
MAKEDEP = -MM
ifeq ($(ARCH),WOS)
CC = ppc-amigaos-gcc -warpup
CC_OPTS = -O3 -ffast-math -fomit-frame-pointer -funroll-loops \
-mmultiple -mcpu=603e
AR = ppc-amigaos-ar
RANLIB = ppc-amigaos-ranlib
LIBS =
endif
ifeq ($(ARCH),PPC)
CC = ppc-amigaos-gcc
CC_OPTS = -O3 -ffast-math -fomit-frame-pointer -funroll-loops \
-mmultiple -mcpu=603e
AR = ppc-amigaos-ar
RANLIB = ppc-amigaos-ranlib
LIBS =
endif
endif
# 10/99 added -D__NO_MATH_INLINES to fix a bug in *all* versions of
# gcc 2.8+ as of 10/99.
ifeq ($(HAVE_NEWER_GLIBC),YES)
CC_SWITCHES =
else
CC_SWITCHES = -D__NO_MATH_INLINES # only needed by some older glibc
endif
CC_SWITCHES += -DNDEBUG $(CC_OPTS) $(SNDLIB) $(BRHIST_SWITCH)
frontend_sources = \
frontend/main.c \
frontend/amiga_mpega.c \
frontend/brhist.c \
frontend/get_audio.c \
frontend/lametime.c \
frontend/parse.c \
frontend/timestatus.c \
frontend/console.c \
lib_sources = \
libmp3lame/bitstream.c \
libmp3lame/encoder.c \
libmp3lame/fft.c \
libmp3lame/gain_analysis.c \
libmp3lame/id3tag.c \
libmp3lame/lame.c \
libmp3lame/newmdct.c \
libmp3lame/psymodel.c \
libmp3lame/quantize.c \
libmp3lame/quantize_pvt.c \
libmp3lame/set_get.c \
libmp3lame/vbrquantize.c \
libmp3lame/reservoir.c \
libmp3lame/tables.c \
libmp3lame/takehiro.c \
libmp3lame/util.c \
libmp3lame/mpglib_interface.c \
libmp3lame/VbrTag.c \
libmp3lame/version.c \
libmp3lame/presets.c \
libmp3lame/vector/xmm_quantize_sub.c \
mpglib/common.c \
mpglib/dct64_i386.c \
mpglib/decode_i386.c \
mpglib/layer1.c \
mpglib/layer2.c \
mpglib/layer3.c \
mpglib/tabinit.c \
mpglib/interface.c
#ifeq ($(UNAME),MSDOS)
# frontend_sources := $(subst /,\,$(frontend_sources))
# lib_sources := $(subst /,\,$(lib_sources))
#endif
frontend_obj = $(frontend_sources:.c=.o)
lib_obj = $(lib_sources:.c=.o)
DEP = $(frontend_sources:.c=.d) $(lib_sources:.c=.d )
gtk_sources = frontend/gtkanal.c frontend/gpkplotting.c frontend/mp3x.c
gtk_obj = $(gtk_sources:.c=.gtk.o)
gtk_dep = $(gtk_sources:.c=.d)
NASM = nasm
ASFLAGS=-f $(NASM_FLAGS) -i libmp3lame/i386/
# for people with nasmw
ifeq ($(UNAME),MSDOS)
NASM = nasmw
ASFLAGS=-f win32 -DWIN32 -i libmp3lame/i386/
endif
%.o: %.nas
$(NASM) $(ASFLAGS) $< -o $@
%.o: %.s
gcc -c $< -o $@
#HAVE_NASM = YES
ifeq ($(HAVE_NASM),YES)
## have NASM
CC_SWITCHES += -DHAVE_NASM
lib_obj += libmp3lame/i386/cpu_feat.o
## use MMX extension. you need nasm and MMX supported CPU.
CC_SWITCHES += -DMMX_choose_table
lib_obj += libmp3lame/i386/choose_table.o
## use 3DNow! extension. you need nasm and 3DNow! supported CPU.
lib_obj += libmp3lame/i386/fft3dn.o
## use SSE extension. you need nasm and SSE supported CPU.
lib_obj += libmp3lame/i386/fftsse.o
## not yet coded
#CC_SWITCHES += -DUSE_FFTFPU
#lib_obj += libmp3lame/i386/fftfpu.o
endif
#
# Makefile rules---you probably won't have to modify below this line
#
%.o: %.c
$(CC) $(CPP_OPTS) $(CC_SWITCHES) -c $< -o $@
%.d: %.c
ifeq ($(NOUNIXCMD),YES)
$(CC) $(MAKEDEP) $(CPP_OPTS) $(CC_SWITCHES) $< > $@
else
$(SHELL) -ec '$(CC) $(MAKEDEP) $(CPP_OPTS) $(CC_SWITCHES) $< | sed '\''s;$*.o;& $@;g'\'' > $@'
endif
%.gtk.o: %.c
$(CC) $(CPP_OPTS) $(CC_SWITCHES) $(GTK) -c $< -o $@
all: frontend/$(PGM)
$(lib_sources) $(frontend_sources) $(gtk_sources) : config.h
config.h: configMS.h
ifeq ($(NOUNIXCMD),YES)
copy configMS.h config.h
else
cp configMS.h config.h
endif
frontend/$(PGM): frontend/lame_main.o $(frontend_obj) $(MP3LIB)
$(CC) $(CC_OPTS) -o frontend/$(PGM) frontend/lame_main.o $(frontend_obj) \
$(MP3LIB) $(LIBS) $(LIBSNDFILE) $(LIBTERMCAP)
mp3x: $(frontend_obj) $(gtk_obj) $(MP3LIB)
$(CC) $(CC_OPTS) -o frontend/mp3x $(frontend_obj) $(gtk_obj) \
$(MP3LIB) $(LIBS) $(LIBSNDFILE) $(LIBTERMCAP) $(GTKLIBS)
mp3rtp: frontend/rtp.o frontend/mp3rtp.o $(frontend_obj) $(MP3LIB)
$(CC) $(CC_OPTS) -o frontend/mp3rtp frontend/mp3rtp.o frontend/rtp.o $(frontend_obj) $(MP3LIB) \
$(LIBS) $(LIBSNDFILE) $(LIBTERMCAP)
libmp3lame/libmp3lame.a: $(lib_obj)
echo $(lib_obj)
$(AR) cr libmp3lame/libmp3lame.a $(lib_obj)
$(RANLIB) libmp3lame/libmp3lame.a
#shared library. GNU specific?
libmp3lame/libmp3lame.so: $(lib_obj)
gcc -shared -Wl,-soname,libmp3lame/libmp3lame.so -o libmp3lame/libmp3lame.so $(lib_obj)
install: frontend/$(PGM) #libmp3lame.a
cp frontend/$(PGM) /usr/bin
#cp libmp3lame.a /usr/lib
#cp lame.h /usr/lib
clean:
ifeq ($(UNAME),MSDOS)
-del $(subst /,\,$(frontend_obj))
-del $(subst /,\,$(lib_obj))
-del $(subst /,\,$(gtk_obj))
-del $(subst /,\,$(DEP))
-del frontend\$(PGM)
-del frontend\main.o
-del libmp3lame\libmp3lame.a
else
-$(RM) $(gtk_obj) $(frontend_obj) $(lib_obj) $(DEP) frontend/$(PGM) \
frontend/main.o frontend/lame libmp3lame/libmp3lame.a \
frontend/mp3x.o frontend/mp3x
endif
tags: TAGS
TAGS: ${c_sources}
etags -T ${c_sources}
ifneq ($(MAKECMDGOALS),clean)
-include $(DEP)
endif
#
# testcase.mp3 is a 2926 byte file. The first number output by
# wc is the number of bytes which differ between new output
# and 'official' results.
#
# Because of compiler options and effects of roundoff, the
# number of bytes which are different may not be zero, but
# should be at most 30.
#
test: frontend/$(PGM)
frontend/$(PGM) --nores testcase.wav testcase.new.mp3
cmp -l testcase.new.mp3 testcase.mp3 | wc -l

44
node_modules/lame/deps/lame/README generated vendored Normal file
View File

@ -0,0 +1,44 @@
LAME 3.xx
LAME Ain't an MP3 Encoder
http://lame.sf.net
May 2011
Originally developed by Mike Cheng (www.uq.net.au/~zzmcheng) and was
latter developed by Mark Taylor (www.mp3dev.org). Currently maintained
by The LAME Project.
This code is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
(LGPL, see www.gnu.org), version 2.
As LAME may contain software for which some companies may claim software
patents, if you are in a location where software patents are recognized, it is
suggested that you seek legal advice before deploying and/or redistributing
LAME.
In particular, it is suggested to visit
http://www.mp3licensing.com/
if it applies to your jurisdiction.
============================================================================
see the file "INSTALL" for installation (compiling) instructions.
see the file "USAGE" for the most up-to-date guide to the command line options.
see the file "LICENSE" for details on how to use LAME in non-GPL programs.
see the file "HACKING" if you are interested in working on LAME
see the file "API" for details of the LAME encoding library API
There is HTML documentation and a man page in the doc directory.
============================================================================
LAME uses the MPGLIB decoding engine, from the MPG123 package, written
by: Michael Hipp (www.mpg123.de) MPGLIB is released under the GPL.
Copyrights (c) 1999-2011 by The LAME Project
Copyrights (c) 1999,2000,2001 by Mark Taylor
Copyrights (c) 1998 by Michael Cheng
Copyrights (c) 1995,1996,1997 by Michael Hipp: mpglib
As well as additional copyrights as documented in the source code.

67
node_modules/lame/deps/lame/README.WINGTK generated vendored Normal file
View File

@ -0,0 +1,67 @@
Installation notes on MP3X (the LAME frame analyzer) for WIN32
===========================================================================
Document History:
===========================================================================
Initial version by Albert Faber, March 30, 2000
Update by Albert Faber (Sept 07 2000), changed instructions
to compile with latest glib/gtk libraries.
Update by Albert Faber (Sept 07 2000), changed instructions
to compile with latest glib/gtk libraries.
Update by Albert Faber (Oct 20 2000), small adaptions to be conform
the new lame directory structure.
Update by Gabriel Bouvigne (Jan 07 2004), changes to be conform to the
VC6 worspace structure.
Update by Gabriel Bouvigne (Nov 11 2006), changes to be conform to the
VC8 worspace structure. Tested with gtk+-dev-1.3.0-20030115 and glib-dev-2.12.4
===========================================================================
How to compile the MP3 frame analyzer (MP3x):
===========================================================================
You first need to get hold of the latest GTK and GLIB include files and lib
files. You can download them freely from the WINGTK project WEB site.
(see http://www.gtk.org, and click on the WINGTK link.)
Download: glib-dev-VERSION.zip, gtk+-dev-VERSION.zip and extralibs-dev-VERSION.zip
where VERSION indicates the release data, so it will look something like 20000805
unzip all three zip files in a WinGTK subdirectory, which is created from the lame
analyzer directory (for example, D:\CVS\lame\WinGtk)
You will end up with the following directory tree
D:\CVS\lame\analyzer\WinGtk\src\glib
D:\CVS\lame\analyzer\WinGtk\src\gtk+\glib
D:\CVS\lame\analyzer\WinGtk\src\gtk+
Set Mp3x as your current active project, recompile everything, and you're done.
===========================================================================
How to run and use the MP3 Frame analyzer
===========================================================================
To run MP3x.exe, you need
the GTK DLL files: Either instal them on your system,
or put them in the same directory as mp3x.exe resides.
Example:
mp3x.exe myfile
myfile can be a mp3 file, or a wav file.
=== End of Document ===

187
node_modules/lame/deps/lame/STYLEGUIDE generated vendored Normal file
View File

@ -0,0 +1,187 @@
* The LAME API is frozen. Poorly designed as it is, don't change it,
and add to it sparingly.
* Don't take it upon yourself to go through LAME with the sole purpose
of updating everything to match this guide. Especially important:
don't change the spacing, indentation, curly braces, etc,
in routines you did not write.
* If you want to make a change which effects many many functions,
please check with the maintainer first.
* Respect the indentation of the author of the original function.
If the indentation is not consistent, use 4.
* Don't use tabulators (the character with the value '\t') in source code,
especially these with a width of unequal 8. Lame sources are using
different sizes for tabulators.
* Don't set the macro NDEBUG in alpha versons.
NDEBUG should be set for beta versions.
* check important assumptions with an assert()
* use int for all integer quantities.
LAME requires 32 bit ints, so you can assume int is at least 32 bits.
Don't use 'long'. Don't use 'unsigned' unless ABSOLUTELY necessary.
Don't use 'char' just to save bytes. If 64 bits is required, use int64.
Annnotation:
ISO C calls the 64 bit int type not int64 but int64_t.
* Avoid using float or double, and instead use: (defined in machine.h).
FLOAT for variables which require at least 32bits
FLOAT8 for variables which require at least 64bits
On some machines, 64bit will be faster than 32bit. Also, some math
routines require 64bit float, so setting FLOAT=float will result in a
lot of conversions.
Annotation (pfk):
The new ISO C standard passed in autumn 1999 has defined new types for
exactly this reason. There are called float_least32_t and float_least64_t
and have at least the advantage that you not need to explain their
meaning.
Annotation (mt):
we will adopt this convention in Jan 1, 2003.
* The internal representation of PCM samples in type 'sample_t',
currently this is a FLOAT.
* Use SI base units. Lame mixes Hz, kHz, kbps, bps. This is mess.
Example:
float wavelength_green = 555.e-9;
unsigned data_rate = 128000;
float lowpass_freq = 12500.;
Converting between user input and internal representation should be done
near the user interface, not in the most inner loop of an utility
function.
----------------------------------------------------------------------------------
Edited version of the Linux Kernel Style Guide:
----------------------------------------------------------------------------------
Chapter 1: Indentation
Respect the indentation of the author of the original function.
If the indentation is not consistent, don't change it. If
you are so anal-retentive about these things and you can't
bare to even look at code with poor indentation, change it to 4.
Chapter 2: Placing Braces
The other issue that always comes up in C styling is the placement of
braces. Unlike the indent size, there are few technical reasons to
choose one placement strategy over the other, but the preferred way, as
shown to us by the prophets Kernighan and Ritchie, is to put the opening
brace last on the line, and put the closing brace first, thusly:
if (x is true) {
we do y
}
However, there is one special case, namely functions: they have the
opening brace at the beginning of the next line, thus:
int function(int x)
{
body of function
}
Heretic people all over the world have claimed that this inconsistency
is ... well ... inconsistent, but all right-thinking people know that
(a) K&R are _right_ and (b) K&R are right. Besides, functions are
special anyway (you can't nest them in C).
Note that the closing brace is empty on a line of its own, _except_ in
the cases where it is followed by a continuation of the same statement,
ie a "while" in a do-statement or an "else" in an if-statement, like
this:
do {
body of do-loop
} while (condition);
and
if (x == y) {
..
} else if (x > y) {
...
} else {
....
}
Rationale: K&R.
Also, note that this brace-placement also minimizes the number of empty
(or almost empty) lines, without any loss of readability. Thus, as the
supply of new-lines on your screen is not a renewable resource (think
25-line terminal screens here), you have more empty lines to put
comments on.
Chapter 3: Naming
C is a Spartan language, and so should your naming be. Unlike Modula-2
and Pascal programmers, C programmers do not use cute names like
ThisVariableIsATemporaryCounter. A C programmer would call that
variable "tmp", which is much easier to write, and not the least more
difficult to understand.
HOWEVER, while mixed-case names are frowned upon, descriptive names for
global variables are a must. To call a global function "foo" is a
shooting offense.
GLOBAL variables (to be used only if you _really_ need them) need to
have descriptive names, as do global functions. If you have a function
that counts the number of active users, you should call that
"count_active_users()" or similar, you should _not_ call it "cntusr()".
Encoding the type of a function into the name (so-called Hungarian
notation) is brain damaged - the compiler knows the types anyway and can
check those, and it only confuses the programmer. No wonder MicroSoft
makes buggy programs.
LOCAL variable names should be short, and to the point. If you have
some random integer loop counter, it should probably be called "i".
Calling it "loop_counter" is non-productive, if there is no chance of it
being mis-understood. Similarly, "tmp" can be just about any type of
variable that is used to hold a temporary value.
Chapter 4: Functions
Document functions.
Keep functions as modular as possible. But don't adhere to artificial
line number limitations. For example, lame_encode_frame() encodes a
single MP3 frame and is a long sequence of function calls. It makes
no sense to break this into two or more routines.
Chapter 5: Commenting
Comments are good, but there is also a danger of over-commenting. NEVER
try to explain HOW your code works in a comment: it's much better to
write the code so that the _working_ is obvious, and it's a waste of
time to explain badly written code.
Generally, you want your comments to tell WHAT your code does, not HOW.
Also, try to avoid putting comments inside a function body: if the
function is so complex that you need to separately comment parts of it,
you should probably go back to chapter 4 for a while. You can make
small comments to note or warn about something particularly clever (or
ugly), but try to avoid excess. Instead, put the comments at the head
of the function, telling people what it does, and possibly WHY it does
it.

162
node_modules/lame/deps/lame/TODO generated vendored Normal file
View File

@ -0,0 +1,162 @@
1. bug in resample code: downsampling from 44101 to 44100 causes
a seg fault. Workaround in place for now: resampling disabled
if input/output samplerates agree to 4 digits.
2. high bitrate encodings have trouble on some hardware players.
Track this down. Probably caused by --strictly-enforce-ISO and
IXMAX_VAL. Try setting IXMAX_VAL back to 8191 and/or
maxmp3buf=8*960 to see if there is a working combination.
note: one of the decoder bugs was identified. It is caused by using
different block sizes on both channels. A parameter need to be
added to Lame to handle workarounds.
3 frontend: code is a complete mess. But it has so many debugged
features it will be a lot of work to re-write.
4. MSVC project files. It would be nice to create a working
MSVC6 workspace, which included all the projects as possible
targets:
lame.exe
mp3x.exe (require GTK libs)
lame_enc.dll
ACM codec
directshow codec
I think the only MSVC5 project that we need to preserve is
for lame_enc.dll, since Albert Faber (still?) doesn't use VC6?
But no reason we cant have VC5 and VC6 project files for the dll.
5.
NOGAP encoding:
-nogap: more testing, fix options, test id3 tags?
Can we change id3 tags without reseting the encoder??
At the end of encoding 1.wav, call lame_get_mf_samples_to_encode()
to find the number of non encoded buffered PCM samples. Then
encode samples from 2.wav until these PCM samples have been
encoded, *THEN* call lame_encode_flush_nogap() and close
out file 1.mp3.
NOGAP decoding:
lame --decode --nogap file1.mp3 file2.mp3 file3.mp3
should also work. What needs to be done:
get_audio.c: We need a way to open a second mp3 file, without
calling lame_decode_init() and reinitializing mpglib.
And the mpglib needs to know to look for new Xing
tags at the beginning of file2.mp3 and file3.mp3.
6.
Does stdin work when LAME is compiled to use libsndfile?
(new version of libsndfile will support this - try this out)
7.
LAME has problems with pure DC input. i.e. a square wave with
a frequency well below 20 Hz. Not very important, but it should
be fixed.
8.
mgplib has bugs with i-stereo. flag denoting invalid
i-stereo value (= frame is m/s stereo) is not correct.
9.
lowpass filter: for M/S stereo, use more filtering for the side
channel, less filtering for mid channel. We need to first replace
the polyphase filter with an FIR lowpass filter with finer frequency
resolution before implementing this.
10.
LAME has a 31 point FIR filter used for resampling, which
can also be used as a lowpass. When resampling is done,
use that filter to also lowpass instead of the polyphase filter.
11.
Even when resampling is not needed, should we use an FIR filter
for the lowpass? If it is not too much slower, yes. If it
is slower, then it should be an option since it will produce
higher quality.
12.
We should consider moving the experts options from the *long
help* text into an *experts only* help text. The average Joe gets
knocked down by the huge number of possibilities to setup lame.
50.
Better tonality estimation.
Gpsycho uses predictability, and so needs a delay to detect the tonality
of a sound.
Nspsytune seems to miss tonals when several of them are too narrow.
We would probably need the best of both.
60.
Different ATH handling for sfb21. We are using the minimum value of ath
in each whole sfb. in sfb21 this leads to very high bitrates.
We could perhaps use 2 or 3 ath partitions in sfb21
note: partially done
70.
Use mixed blocks.
90.
Use intensity stereo. This is a must-have for low bitrates, but if the
algorythm is very good it could also be used in every case.
Note: mpg123 (and all derivatives, like xmms and lame/mpglib)
have bugs in the intensity stereo decoding. Bugs have been there
for years since there are very few intensity stereo mp3's out there.
998.
Merge GOGO's fast assembler routines.
999.
It would be nice to save some information whilst encoding
a: wave -> mp3
a RIFF/wave can contain LIST chunks with information
about author, title, etc.
==> could go into TAG fields of resulting mp3
b: mp3 -> mp3
==> we could copy the TAG directly
c: mp3 -> wave
==> copy TAG into LIST chunk
1500.
Integrate plusV extensions
2000.
To be able to encode as fast as FastEnc

779
node_modules/lame/deps/lame/USAGE generated vendored Normal file
View File

@ -0,0 +1,779 @@
% lame [options] inputfile [outputfile]
For more options, just type:
% lame --help
=======================================================================
Constant Bitrate Examples:
=======================================================================
fixed bit rate jstereo 128 kbps encoding:
% lame sample.wav sample.mp3
fixed bit rate jstereo 128 kbps encoding, higher quality: (recommended)
% lame -h sample.wav sample.mp3
Fast encode, low quality (no noise shaping)
% lame -f sample.wav sample.mp3
=======================================================================
Variable Bitrate Examples:
=======================================================================
LAME has two types of variable bitrate: ABR and VBR.
ABR is the type of variable bitrate encoding usually found in other
MP3 encoders, Vorbis and AAC. The number of bits is determined by
some metric (like perceptual entropy, or just the number of bits
needed for a certain set of encoding tables), and it is not based on
computing the actual encoding/quantization error. ABR should always
give results equal or better than CBR:
ABR: (--abr <x> means encode with an average bitrate of around x kbps)
lame -h --abr 128 sample.wav sample.mp3
VBR is a true variable bitrate mode which bases the number of bits for
each frame on the measured quantization error relative to the
estimated allowed masking. There are 10 compression levels defined,
ranging from 0=lowest compression to 9 highest compression. The resulting
filesizes depend on the input material. On typical music you can expect
-V5 resulting in files averaging 132 kbps, -V2 averaging 200 kbps.
Variable Bitrate (VBR): (use -V n to adjust quality/filesize)
% lame -V2 sample.wav sample.mp3
=======================================================================
LOW BITRATES
=======================================================================
At lower bitrates, (like 24 kbps per channel), it is recommended that
you use a 16 kHz sampling rate combined with lowpass filtering. LAME,
as well as commercial encoders (FhG, Xing) will do this automatically.
However, if you feel there is too much (or not enough) lowpass
filtering, you may need to try different values of the lowpass cutoff
and passband width (--resample, --lowpass and --lowpass-width options).
=======================================================================
STREAMING EXAMPLES
=======================================================================
% cat inputfile | lame [options] - - > output
=======================================================================
Scripts are included (in the 'misc' subdirectory)
to run lame on multiple files:
bach script: mlame Run "mlame -?" for instructions.
sh script: auenc Run auenc for instructions
sh script: mugeco.sh
Pearl script which will re-encode mp3 files and preserve id3 tags:
lameid3.pl
Windows scripts:
lame4dos.bat
Lame.vbs (and an HTML frontend: LameGUI.html)
=======================================================================
options guide:
=======================================================================
These options are explained in detail below.
Quality related:
-m m/s/j/f/a mode selection
-q n Internal algorithm quality setting 0..9.
0 = slowest algorithms, but potentially highest quality
9 = faster algorithms, very poor quality
-h same as -q2
-f same as -q7
Constant Bit Rate (CBR)
-b n set bitrate (8, 16, 24, ..., 320)
--freeformat produce a free format bitstream. User must also specify
a bitrate with -b, between 8 and 640 kbps.
Variable Bit Rate (VBR)
-v VBR
--vbr-old use old variable bitrate (VBR) routine
--vbr-new use new variable bitrate (VBR) routine (default)
-V n VBR quality setting (0=highest quality, 9=lowest)
-b n specify a minimum allowed bitrate (8,16,24,...,320)
-B n specify a maximum allowed bitrate (8,16,24,...,320)
-F strictly enforce minimum bitrate
-t disable VBR informational tag
--nohist disable display of VBR bitrate histogram
--abr n specify average bitrate desired
Operational:
-r assume input file is raw PCM
-s n input sampling frequency in kHz (for raw PCM input files)
--resample n output sampling frequency
--mp3input input file is an MP3 file. decode using mpglib/mpg123
--ogginput input file is an Ogg Vorbis file. decode using libvorbis
-x swap bytes of input file
--scale <arg> multiply PCM input by <arg>
--scale-l <arg> scale channel 0 (left) input (multiply PCM data) by <arg>
--scale-r <arg> scale channel 1 (right) input (multiply PCM data) by <arg>
-a downmix stereo input file to mono .mp3
-e n/5/c de-emphasis
-p add CRC error protection
-c mark the encoded file as copyrighted
-o mark the encoded file as a copy
-S don't print progress report, VBR histogram
--strictly-enforce-ISO comply as much as possible to ISO MPEG spec
--replaygain-fast compute RG fast but slightly inaccurately (default)
--replaygain-accurate compute RG more accurately and find the peak sample
--noreplaygain disable ReplayGain analysis
--clipdetect enable --replaygain-accurate and print a message whether
clipping occurs and how far the waveform is from full scale
--decode assume input file is an mp3 file, and decode to wav.
-t disable writing of WAV header when using --decode
(decode to raw pcm, native endian format (use -x to swap))
ID3 tagging:
--tt <title> audio/song title (max 30 chars for version 1 tag)
--ta <artist> audio/song artist (max 30 chars for version 1 tag)
--tl <album> audio/song album (max 30 chars for version 1 tag)
--ty <year> audio/song year of issue (1 to 9999)
--tc <comment> user-defined text (max 30 chars for v1 tag, 28 for v1.1)
--tn <track> audio/song track number (1 to 255, creates v1.1 tag)
--tg <genre> audio/song genre (name or number in list)
--add-id3v2 force addition of version 2 tag
--id3v1-only add only a version 1 tag
--id3v2-only add only a version 2 tag
--space-id3v1 pad version 1 tag with spaces instead of nulls
--pad-id3v2 same as '--pad-id3v2-size 128'
--pad-id3v2-size <num> adds version 2 tag, pad with extra <num> bytes
--genre-list print alphabetically sorted ID3 genre list and exit
Note: A version 2 tag will NOT be added unless one of the input fields
won't fit in a version 1 tag (e.g. the title string is longer than 30
characters), or the '--add-id3v2' or '--id3v2-only' options are used,
or output is redirected to stdout.
Windows and OS/2-specific options:
--priority <type> sets the process priority
options not yet described:
--nores disable bit reservoir
--disptime
--lowpass
--lowpass-width
--highpass
--highpass-width
=======================================================================
Detailed description of all options in alphabetical order
=======================================================================
=======================================================================
downmix
=======================================================================
-a
mix the stereo input file to mono and encode as mono.
This option is only needed in the case of raw PCM stereo input
(because LAME cannot determine the number of channels in the input file).
To encode a stereo PCM input file as mono, use "lame -m s -a"
For WAV and AIFF input files, using "-m m" will always produce a
mono .mp3 file from both mono and stereo input.
=======================================================================
average bitrate encoding (aka Safe VBR)
=======================================================================
--abr n
turns on encoding with a targeted average bitrate of n kbps, allowing
to use frames of different sizes. The allowed range of n is 8...320
kbps, you can use any integer value within that range.
=======================================================================
bitrate
=======================================================================
-b n
For MPEG-1 (sampling frequencies of 32, 44.1 and 48 kHz)
n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320
For MPEG-2 (sampling frequencies of 16, 22.05 and 24 kHz)
n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160
For MPEG-2.5 (sampling frequencies of 8, 11.025 and 12 kHz)
n = 8, 16, 24, 32, 40, 48, 56, 64
The bitrate to be used. Default is 128 kbps MPEG1, 80 kbps MPEG2.
When used with variable bitrate encodings (VBR), -b specifies the
minimum bitrate to use. This is useful only if you need to circumvent
a buggy hardware device with strange bitrate constrains.
=======================================================================
max bitrate
=======================================================================
-B n
see also option "-b" for allowed bitrates.
Maximum allowed bitrate when using VBR/ABR.
Using -B is NOT RECOMMENDED. A 128 kbps CBR bitstream, because of the
bit reservoir, can actually have frames which use as many bits as a
320 kbps frame. ABR/VBR modes minimize the use of the bit reservoir, and
thus need to allow 320 kbps frames to get the same flexability as CBR
streams. This is useful only if you need to circumvent a buggy hardware
device with strange bitrate constrains.
=======================================================================
copyright
=======================================================================
-c
mark the encoded file as copyrighted
=======================================================================
clipping detection
=======================================================================
--clipdetect
Enable --replaygain-accurate and print a message whether clipping
occurs and how far in dB the waveform is from full scale.
This option is not usable if the MP3 decoder was _explicitly_ disabled
in the build of LAME.
See also: --replaygain-accurate
=======================================================================
mpglib decode capability
=======================================================================
--decode
This just uses LAME's mpg123/mpglib interface to decode an MP3 file to
a wav file. The input file can be any input type supported by
encoding, including .mp3 (layers 1, 2 and 3) and .ogg.
If -t is used (disable wav header), LAME will output
raw pcm in native endian format (use -x to swap bytes).
This option is not usable if the MP3 decoder was _explicitly_ disabled
in the build of LAME.
=======================================================================
de-emphasis
=======================================================================
-e n/5/c
n = (none, default)
5 = 0/15 microseconds
c = citt j.17
All this does is set a flag in the bitstream. If you have a PCM
input file where one of the above types of (obsolete) emphasis has
been applied, you can set this flag in LAME. Then the mp3 decoder
should de-emphasize the output during playback, although most
decoders ignore this flag.
A better solution would be to apply the de-emphasis with a standalone
utility before encoding, and then encode without -e.
=======================================================================
fast mode
=======================================================================
-f
Same as -q 7.
NOT RECOMMENDED. Use when encoding speed is critical and encoding
quality does not matter. Disable noise shaping. Psycho acoustics are
used only for bit allocation and pre-echo detection.
=======================================================================
strictly enforce VBR minimum bitrate
=======================================================================
-F
strictly enforce VBR minimum bitrate. With out this optioni, the minimum
bitrate will be ignored for passages of analog silence.
=======================================================================
free format bitstreams
=======================================================================
--freeformat
LAME will produce a fixed bitrate, free format bitstream.
User must specify the desired bitrate in kbps, which can
be any integer between 8 and 640.
Not supported by most decoders. Complient decoders (of which there
are few) are only required to support up to 320 kbps.
Decoders which can handle free format:
supports up to
MAD 640 kbps
"lame --decode" 550 kbps
Freeamp: 440 kbps
l3dec: 310 kbps
=======================================================================
high quality
=======================================================================
-h
use some quality improvements. The same as -q 2.
=======================================================================
Modes:
=======================================================================
-m m mono
-m s stereo
-m j joint stereo
-m f forced mid/side stereo
-m d dual (independent) channels
-m i intensity stereo
-m a auto
MONO is the default mode for mono input files. If "-m m" is specified
for a stereo input file, the two channels will be averaged into a mono
signal.
STEREO
JOINT STEREO is the default mode for stereo files with fixed bitrates of
128 kbps or less. At higher fixed bitrates, the default is stereo.
For VBR encoding, jstereo is the default for VBR_q >4, and stereo
is the default for VBR_q <=4. You can override all of these defaults
by specifing the mode on the command line.
jstereo means the encoder can use (on a frame by frame bases) either
regular stereo (just encode left and right channels independently)
or mid/side stereo. In mid/side stereo, the mid (L+R) and side (L-R)
channels are encoded, and more bits are allocated to the mid channel
than the side channel. This will effectively increase the bandwidth
if the signal does not have too much stereo separation.
Mid/side stereo is basically a trick to increase bandwidth. At 128 kbps,
it is clearly worth while. At higher bitrates it is less useful.
For truly mono content, use -m m, which will automatically down
sample your input file to mono. This will produce 30% better results
over -m j.
Using mid/side stereo inappropriately can result in audible
compression artifacts. To much switching between mid/side and regular
stereo can also sound bad. To determine when to switch to mid/side
stereo, LAME uses a much more sophisticated algorithm than that
described in the ISO documentation.
FORCED MID/SIDE STEREO forces all frames to be encoded mid/side stereo. It
should only be used if you are sure every frame of the input file
has very little stereo seperation.
DUAL CHANNELS Not supported.
INTENSITY STEREO
AUTO
Auto select should select (if input is stereo)
8 kbps Mono
16- 96 kbps Intensity Stereo (if available, otherwise Joint Stereo)
112-128 kbps Joint Stereo -mj
160-192 kbps -mj with variable mid/side threshold
224-320 kbps Independent Stereo -ms
=======================================================================
MP3 input file
=======================================================================
--mp3input
Assume the input file is a MP3 file. LAME will decode the input file
before re-encoding it. Since MP3 is a lossy format, this is
not recommended in general. But it is useful for creating low bitrate
mp3s from high bitrate mp3s. If the filename ends in ".mp3" LAME will assume
it is an MP3. For stdin or MP3 files which dont end in .mp3 you need
to use this switch.
=======================================================================
disable historgram display
=======================================================================
--nohist
By default, LAME will display a bitrate histogram while producing
VBR mp3 files. This will disable that feature.
=======================================================================
disable ReplayGain analysis
=======================================================================
--noreplaygain
By default ReplayGain analysis is enabled. This switch disables it.
See also: --replaygain-accurate, --replaygain-fast
=======================================================================
non-original
=======================================================================
-o
mark the encoded file as a copy
=======================================================================
CRC error protection
=======================================================================
-p
turn on CRC error protection.
Yes this really does work correctly in LAME. However, it takes
16 bits per frame that would otherwise be used for encoding.
=======================================================================
algorithm quality selection
=======================================================================
-q n
Bitrate is of course the main influence on quality. The higher the
bitrate, the higher the quality. But for a given bitrate,
we have a choice of algorithms to determine the best
scalefactors and huffman encoding (noise shaping).
-q 0: use slowest & best possible version of all algorithms.
-q 2: recommended. Same as -h. -q 0 and -q 1 are slow and may not produce
significantly higher quality.
-q 5: default value. Good speed, reasonable quality
-q 7: same as -f. Very fast, ok quality. (psycho acoustics are
used for pre-echo & M/S, but no noise shaping is done.
-q 9: disables almost all algorithms including psy-model. poor quality.
=======================================================================
input file is raw pcm
=======================================================================
-r
Assume the input file is raw pcm. Sampling rate and mono/stereo/jstereo
must be specified on the command line. Without -r, LAME will perform
several fseek()'s on the input file looking for WAV and AIFF headers.
Not supported if LAME is compiled to use LIBSNDFILE.
=======================================================================
slightly more accurate ReplayGain analysis and finding the peak sample
=======================================================================
--replaygain-accurate
Enable decoding on the fly. Compute "Radio" ReplayGain on the decoded
data stream. Find the peak sample of the decoded data stream and store
it in the file.
ReplayGain analysis does _not_ affect the content of a compressed data
stream itself, it is a value stored in the header of a sound file.
Information on the purpose of ReplayGain and the algorithms used is
available from http://www.replaygain.org/
By default, LAME performs ReplayGain analysis on the input data (after
the user-specified volume scaling). This behaviour might give slightly
inaccurate results because the data on the output of a lossy
compression/decompression sequence differs from the initial input data.
When --replaygain-accurate is specified the mp3 stream gets decoded on
the fly and the analysis is performed on the decoded data stream.
Although theoretically this method gives more accurate results, it has
several disadvantages:
* tests have shown that the difference between the ReplayGain values
computed on the input data and decoded data is usually no greater
than 0.5dB, although the minimum volume difference the human ear
can perceive is about 1.0dB
* decoding on the fly significantly slows down the encoding process
The apparent advantage is that:
* with --replaygain-accurate the peak sample is determined and
stored in the file. The knowledge of the peak sample can be useful
to decoders (players) to prevent a negative effect called 'clipping'
that introduces distortion into sound.
Only the "Radio" ReplayGain value is computed. It is stored in the LAME tag.
The analysis is performed with the reference volume equal to 89dB.
Note: the reference volume has been changed from 83dB on transition
from version 3.95 to 3.95.1.
This option is not usable if the MP3 decoder was _explicitly_ disabled
in the build of LAME. (Note: if LAME is compiled without the MP3 decoder,
ReplayGain analysis is performed on the input data after user-specified
volume scaling).
See also: --replaygain-fast, --noreplaygain, --clipdetect
=======================================================================
fast ReplayGain analysis
=======================================================================
--replaygain-fast
Compute "Radio" ReplayGain of the input data stream after user-specified
volume scaling and/or resampling.
ReplayGain analysis does _not_ affect the content of a compressed data
stream itself, it is a value stored in the header of a sound file.
Information on the purpose of ReplayGain and the algorithms used is
available from http://www.replaygain.org/
Only the "Radio" ReplayGain value is computed. It is stored in the LAME tag.
The analysis is performed with the reference volume equal to 89dB.
Note: the reference volume has been changed from 83dB on transition
from version 3.95 to 3.95.1.
This switch is enabled by default.
See also: --replaygain-accurate, --noreplaygain
=======================================================================
output sampling frequency in kHz
=======================================================================
--resample n
where n = 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48
Output sampling frequency. Resample the input if necessary.
If not specified, LAME may sometimes resample automatically
when faced with extreme compression conditions (like encoding
a 44.1 kHz input file at 32 kbps). To disable this automatic
resampling, you have to use --resamle to set the output samplerate
equal to the inptu samplerate. In that case, LAME will not
perform any extra computations.
=======================================================================
sampling frequency in kHz
=======================================================================
-s n
where n = sampling rate in kHz.
Required for raw PCM input files. Otherwise it will be determined
from the header information in the input file.
LAME will automatically resample the input file to one of the
supported MP3 samplerates if necessary.
=======================================================================
silent operation
=======================================================================
-S
don't print progress report
=======================================================================
scale
=======================================================================
--scale <arg>
Scales input by <arg>. This just multiplies the PCM data
(after it has been converted to floating point) by <arg>.
<arg> > 1: increase volume
<arg> = 1: no effect
<arg> < 1: reduce volume
Use with care, since most MP3 decoders will truncate data
which decodes to values greater than 32768.
=======================================================================
strict ISO complience
=======================================================================
--strictly-enforce-ISO
With this option, LAME will enforce the 7680 bit limitation on
total frame size. This results in many wasted bits for
high bitrate encodings.
=======================================================================
disable VBR tag
=======================================================================
-t
Disable writing of the VBR Tag (only valid if -v flag is
specified) This tag in embedded in frame 0 of the MP3 file. It lets
VBR aware players correctly seek and compute playing times of VBR
files.
When '--decode' is specified (decode mp3 to wav), this flag will
disable writing the WAV header. The output will be raw pcm,
native endian format. Use -x to swap bytes.
=======================================================================
variable bit rate (VBR)
=======================================================================
-v
Turn on VBR. There are several ways you can use VBR. I personally
like using VBR to get files slightly bigger than 128 kbps files, where
the extra bits are used for the occasional difficult-to-encode frame.
For this, try specifying a minimum bitrate to use with VBR:
lame -v -b 112 input.wav output.mp3
If the file is too big, use -V n, where n = 0...9
lame -v -V n -b 112 input.wav output.mp3
If you want to use VBR to get the maximum compression possible,
and for this, you can try:
lame -v input.wav output.mp3
lame -v -V n input.wav output.mp3 (to vary quality/filesize)
=======================================================================
VBR quality setting
=======================================================================
-V n
n = 0...9. Specifies the value of VBR_q.
default = 4, highest quality = 0, smallest files = 9
Using -V 6 or higher (lower quality) is NOT RECOMMENDED.
ABR will produce better results.
How is VBR_q used?
The value of VBR_q influences two basic parameters of LAME's psycho
acoustics:
a) the absolute threshold of hearing
b) the sample to noise ratio
The lower the VBR_q value the lower the injected quantization noise
will be.
*NOTE* No psy-model is perfect, so there can often be distortion which
is audible even though the psy-model claims it is not! Thus using a
small minimum bitrate can result in some aggressive compression and
audible distortion even with -V 0. Thus using -V 0 does not sound
better than a fixed 256 kbps encoding. For example: suppose in the 1 kHz
frequency band the psy-model claims 20 dB of distortion will not be
detectable by the human ear, so LAME VBR-0 will compress that
frequency band as much as possible and introduce at most 20 dB of
distortion. Using a fixed 256 kbps framesize, LAME could end up
introducing only 2 dB of distortion. If the psy-model was correct,
they will both sound the same. If the psy-model was wrong, the VBR-0
result can sound worse.
=======================================================================
swapbytes
=======================================================================
-x
swap bytes in the input file (and output file when using --decode).
For sorting out little endian/big endian type problems. If your
encodings sound like static, try this first.
=======================================================================
Window and OS/2 process priority control
=======================================================================
--priority <type>
(Windows and OS/2 only)
Sets the process priority for LAME while running under IBM OS/2.
This can be very useful to avoid the system becoming slow and/or
unresponsive. By setting LAME to run in a lower priority, you leave
more time for the system to update basic processing (drawing windows,
polling keyboard/mouse, etc). The impact in LAME's performance is
minimal if you use priority 0 to 2.
The valid parameters are:
0 = Low priority (IDLE, delta = 0)
1 = Medium priority (IDLE, delta = +31)
2 = Regular priority (REGULAR, delta = -31)
3 = High priority (REGULAR, delta = 0)
4 = Maximum priority (REGULAR, delta = +31)
Note that if you call '--priority' without a parameter, then
priority 0 will be assumed.

88
node_modules/lame/deps/lame/acinclude.m4 generated vendored Normal file
View File

@ -0,0 +1,88 @@
dnl acinclude.m4. Change *this* file to add new or change macros.
dnl When changes have been made, delete aclocal.m4 and run
dnl "aclocal".
dnl
dnl DO NOT change aclocal.m4 !
dnl
dnl * LA_SEARCH_FILE(variable, filename, PATH)
dnl * Search "filename" in the specified "PATH", "variable" will
dnl * contain the full pathname or the empty string
dnl * PATH is space-separated list of directories.
dnl * by Florian Bomers
AC_DEFUN([LA_SEARCH_FILE],[
$1=
dnl hack: eliminate line feeds in $2
for FILE in $2; do
for DIR in $3; do
dnl use PATH in order
if test ".$1"="." && test -f "$DIR/$FILE"; then
$1=$DIR
fi
done
done
])
dnl * LA_SEARCH_LIB(lib-variable, include-variable, lib-filename, header-filename, prefix)
dnl * looks for "lib-filename" and "header-filename" in the area of "prefix".
dnl * if found, "lib-variable" and "include-variable" are set to the
dnl * respective paths.
dnl * prefix is a single path
dnl * libs are searched in prefix, prefix/lib, prefix/.., prefix/../lib
dnl * headers are searched in prefix, prefix/include, prefix/.., prefix/../include
dnl *
dnl * If one of them is not found, both "lib-variable", "include-variable" are
dnl * set to the empty string.
dnl *
dnl * TODO: assert function call to verify lib
dnl *
dnl * by Florian Bomers
AC_DEFUN([LA_SEARCH_LIB],[
dnl look for lib
LA_SEARCH_FILE($1, $3, $5 $5/lib $5/.. $5/../lib)
dnl look for header.
LA_SEARCH_FILE($2, $4, $5 $5/include $5/.. $5/../include)
if test ".$1" = "." || test ".$2" = "."; then
$1=
$2=
fi
])
# alex_IEEE854_FLOAT80
# ------------
AC_DEFUN([alex_IEEE854_FLOAT80],
[AC_CACHE_CHECK(for IEEE854 compliant 80 bit floats, alex_cv_ieee854_float80,
[AC_TRY_RUN([
int float2long_IEEE_compliance ( void )
{
struct {
long padding; /* to prevent unaligned access */
float f;
} s;
s.f = 12582912.; if ( *(long*)(&s.f) != 1262485504l ) return 0;
s.f = 12615679.; if ( *(long*)(&s.f) != 1262518271l ) return 0;
s.f = 13582912.; if ( *(long*)(&s.f) != 1263485504l ) return 0;
s.f = 12550145.; if ( *(long*)(&s.f) != 1262452737l ) return 0;
s.f = 11582912.; if ( *(long*)(&s.f) != 1261485504l ) return 0;
return 1;
}
int main(void)
{
int retval;
retval = float2long_IEEE_compliance();
/* no error return -> success */
return !retval;
}
], alex_cv_ieee854_float80=yes, alex_cv_ieee854_float80=no,
[AC_MSG_WARN(can't check for IEEE854 compliant 80 bit floats)]
)])]) # alex_IEEE854_FLOAT80

10758
node_modules/lame/deps/lame/aclocal.m4 generated vendored Normal file

File diff suppressed because it is too large Load Diff

1407
node_modules/lame/deps/lame/config.guess generated vendored Executable file

File diff suppressed because it is too large Load Diff

374
node_modules/lame/deps/lame/config.h.in generated vendored Normal file
View File

@ -0,0 +1,374 @@
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef LAME_CONFIG_H
#define LAME_CONFIG_H
/* debug define */
#undef ABORTFP
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#undef CRAY_STACKSEG_END
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
/* alot of debug output */
#undef DEBUG
/* allow to compute a more accurate replaygain value */
#undef DECODE_ON_THE_FLY
/* double is faster than float on Alpha */
#undef FLOAT
/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#undef HAVE_ALLOCA_H
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* we link against libefence */
#undef HAVE_EFENCE
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define if you have the iconv() function and it works. */
#undef HAVE_ICONV
/* add ieee754_float32_t type */
#undef HAVE_IEEE754_FLOAT32_T
#ifndef HAVE_IEEE754_FLOAT32_T
typedef float ieee754_float32_t;
#endif
/* add ieee754_float64_t type */
#undef HAVE_IEEE754_FLOAT64_T
#ifndef HAVE_IEEE754_FLOAT64_T
typedef double ieee754_float64_t;
#endif
/* system has 80 bit floats */
#undef HAVE_IEEE854_FLOAT80
/* add ieee854_float80_t type */
#undef HAVE_IEEE854_FLOAT80_T
#ifndef HAVE_IEEE854_FLOAT80_T
typedef long double ieee854_float80_t;
#endif
/* add int16_t type */
#undef HAVE_INT16_T
#ifndef HAVE_INT16_T
typedef short int16_t;
#endif
/* add int32_t type */
#undef HAVE_INT32_T
#ifndef HAVE_INT32_T
#undef A_INT32_T
typedef A_INT32_T int32_t;
#endif
/* add int64_t type */
#undef HAVE_INT64_T
#ifndef HAVE_INT64_T
#undef A_INT64_T
typedef A_INT64_T int64_t;
#endif
/* add int8_t type */
#undef HAVE_INT8_T
#ifndef HAVE_INT8_T
typedef char int8_t;
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the <linux/soundcard.h> header file. */
#undef HAVE_LINUX_SOUNDCARD_H
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#undef HAVE_LONG_DOUBLE
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#undef HAVE_LONG_DOUBLE_WIDER
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* build with mpglib support */
#undef HAVE_MPGLIB
/* have nasm */
#undef HAVE_NASM
/* Define to 1 if you have the <ncurses/termcap.h> header file. */
#undef HAVE_NCURSES_TERMCAP_H
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the <sys/soundcard.h> header file. */
#undef HAVE_SYS_SOUNDCARD_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* have termcap */
#undef HAVE_TERMCAP
/* Define to 1 if you have the <termcap.h> header file. */
#undef HAVE_TERMCAP_H
/* add uint16_t type */
#undef HAVE_UINT16_T
#ifndef HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
/* add uint32_t type */
#undef HAVE_UINT32_T
#ifndef HAVE_UINT32_T
#undef A_UINT32_T
typedef A_UINT32_T uint32_t;
#endif
/* add uint64_t type */
#undef HAVE_UINT64_T
#ifndef HAVE_UINT64_T
#undef A_UINT64_T
typedef A_UINT64_T uint64_t;
#endif
/* add uint8_t type */
#undef HAVE_UINT8_T
#ifndef HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the <xmmintrin.h> header file. */
#undef HAVE_XMMINTRIN_H
/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST
/* requested by Frank, seems to be temporary needed for a smooth transition */
#undef LAME_LIBRARY_BUILD
/* set to 1 if you have libsndfile */
#undef LIBSNDFILE
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
/* use MMX version of choose_table */
#undef MMX_choose_table
/* no debug build */
#undef NDEBUG
/* build without hooks for analyzer */
#undef NOANALYSIS
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if the C compiler supports function prototypes. */
#undef PROTOTYPES
/* The size of `double', as computed by sizeof. */
#undef SIZEOF_DOUBLE
/* The size of `float', as computed by sizeof. */
#undef SIZEOF_FLOAT
/* The size of `int', as computed by sizeof. */
#undef SIZEOF_INT
/* The size of `long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of `long double', as computed by sizeof. */
#undef SIZEOF_LONG_DOUBLE
/* The size of `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
/* The size of `short', as computed by sizeof. */
#undef SIZEOF_SHORT
/* The size of `unsigned int', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_INT
/* The size of `unsigned long', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_LONG
/* The size of `unsigned long long', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_LONG_LONG
/* The size of `unsigned short', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_SHORT
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* IEEE754 compatible machine */
#undef TAKEHIRO_IEEE754_HACK
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* faster log implementation with less but enough precission */
#undef USE_FAST_LOG
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Version number of package */
#undef VERSION
/* Define if using the dmalloc debugging malloc package */
#undef WITH_DMALLOC
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
# undef WORDS_BIGENDIAN
# endif
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
/* Define to 1 if on MINIX. */
#undef _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* we're on DEC Alpha */
#undef __DECALPHA__
/* work around a glibc bug */
#undef __NO_MATH_INLINES
/* Define like PROTOTYPES; this can be used by system headers. */
#undef __PROTOTYPES
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
#endif /* LAME_CONFIG_H */

672
node_modules/lame/deps/lame/config.rpath generated vendored Executable file
View File

@ -0,0 +1,672 @@
#! /bin/sh
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
# Copyright 1996-2010 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
# should be set by the caller.
#
# The set of defined variables is at the end of this script.
# Known limitations:
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
# than 256 bytes, otherwise the compiler driver will dump core. The only
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
shrext=.so
host="$1"
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
# Code taken from libtool.m4's _LT_CC_BASENAME.
for cc_temp in $CC""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
\-*) ;;
*) break;;
esac
done
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
# Code taken from libtool.m4's _LT_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
wl='-Wl,'
else
case "$host_os" in
aix*)
wl='-Wl,'
;;
darwin*)
case $cc_basename in
xlc*)
wl='-Wl,'
;;
esac
;;
mingw* | cygwin* | pw32* | os2* | cegcc*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
;;
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
newsos6)
;;
linux* | k*bsd*-gnu)
case $cc_basename in
ecc*)
wl='-Wl,'
;;
icc* | ifort*)
wl='-Wl,'
;;
lf95*)
wl='-Wl,'
;;
pgcc | pgf77 | pgf90)
wl='-Wl,'
;;
ccc*)
wl='-Wl,'
;;
como)
wl='-lopt='
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
wl='-Wl,'
;;
esac
;;
esac
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
rdos*)
;;
solaris*)
wl='-Wl,'
;;
sunos4*)
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3*)
wl='-Wl,'
;;
sysv4*MP*)
;;
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
wl='-Wl,'
;;
unicos*)
wl='-Wl,'
;;
uts4*)
;;
esac
fi
# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
if test "$GCC" != yes; then
with_gnu_ld=no
fi
;;
interix*)
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
openbsd*)
with_gnu_ld=no
;;
esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
# Unlike libtool, we use -rpath here, not --rpath, since the documented
# option of GNU ld is called -rpath, not --rpath.
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
case "$host_os" in
aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
# that the semantics of dynamic libraries on AmigaOS, at least up
# to version 4, is to share data among multiple programs linked
# with the same dynamic library. Since this doesn't match the
# behavior of shared libraries on other platforms, we cannot use
# them.
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
cygwin* | mingw* | pw32* | cegcc*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
interix[3-9]*)
hardcode_direct=no
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
netbsd*)
;;
solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
case `$LD -v 2>&1` in
*\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
ld_shlibs=no
;;
*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
else
ld_shlibs=no
fi
;;
esac
;;
sunos4*)
hardcode_direct=yes
;;
*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
esac
if test "$ld_shlibs" = no; then
hardcode_libdir_flag_spec=
fi
else
case "$host_os" in
aix3*)
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
if test "$GCC" = yes; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
fi
;;
aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
;;
esac
fi
hardcode_direct=yes
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
case $host_os in aix4.[012]|aix4.[012].*)
collect2name=`${CC} -print-prog-name=collect2`
if test -f "$collect2name" && \
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
:
else
# We have old collect2
hardcode_direct=unsupported
hardcode_minus_L=yes
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
;;
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
echo 'int main () { return 0; }' > conftest.c
${CC} ${LDFLAGS} conftest.c -o conftest
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
fi
if test -z "$aix_libpath"; then
aix_libpath="/usr/lib:/lib"
fi
rm -f conftest.c conftest
# End _LT_AC_SYS_LIBPATH_AIX.
if test "$aix_use_runtimelinking" = yes; then
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
else
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
fi
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
bsdi[45]*)
;;
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
libext=lib
;;
darwin* | rhapsody*)
hardcode_direct=no
if test "$GCC" = yes ; then
:
else
case $cc_basename in
xlc*)
;;
*)
ld_shlibs=no
;;
esac
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
freebsd1*)
ld_shlibs=no
;;
freebsd2.2*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
freebsd2*)
hardcode_direct=yes
hardcode_minus_L=yes
;;
freebsd* | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
hpux9*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
hpux10*)
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
fi
;;
hpux11*)
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
case $host_cpu in
hppa*64*|ia64*)
hardcode_direct=no
;;
*)
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
esac
fi
;;
irix5* | irix6* | nonstopux*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
netbsd*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
newsos6)
hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
openbsd*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
else
case "$host_os" in
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
fi
else
ld_shlibs=no
fi
;;
os2*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
osf3*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*)
if test "$GCC" = yes; then
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
# Both cc and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
hardcode_libdir_separator=:
;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
sunos4*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
;;
sysv4)
case $host_vendor in
sni)
hardcode_direct=yes # is this really true???
;;
siemens)
hardcode_direct=no
;;
motorola)
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
;;
esac
;;
sysv4.3*)
;;
sysv4*MP*)
if test -d /usr/nec; then
ld_shlibs=yes
fi
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
;;
sysv5* | sco3.2v5* | sco5v6*)
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
hardcode_libdir_separator=':'
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
;;
*)
ld_shlibs=no
;;
esac
fi
# Check dynamic linker characteristics
# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
# Unlike libtool.m4, here we don't care about _all_ names of the library, but
# only about the one the linker finds when passed -lNAME. This is the last
# element of library_names_spec in libtool.m4, or possibly two of them if the
# linker has special search rules.
library_names_spec= # the last element of library_names_spec in libtool.m4
libname_spec='lib$name'
case "$host_os" in
aix3*)
library_names_spec='$libname.a'
;;
aix[4-9]*)
library_names_spec='$libname$shrext'
;;
amigaos*)
library_names_spec='$libname.a'
;;
beos*)
library_names_spec='$libname$shrext'
;;
bsdi[45]*)
library_names_spec='$libname$shrext'
;;
cygwin* | mingw* | pw32* | cegcc*)
shrext=.dll
library_names_spec='$libname.dll.a $libname.lib'
;;
darwin* | rhapsody*)
shrext=.dylib
library_names_spec='$libname$shrext'
;;
dgux*)
library_names_spec='$libname$shrext'
;;
freebsd1*)
;;
freebsd* | dragonfly*)
case "$host_os" in
freebsd[123]*)
library_names_spec='$libname$shrext$versuffix' ;;
*)
library_names_spec='$libname$shrext' ;;
esac
;;
gnu*)
library_names_spec='$libname$shrext'
;;
hpux9* | hpux10* | hpux11*)
case $host_cpu in
ia64*)
shrext=.so
;;
hppa*64*)
shrext=.sl
;;
*)
shrext=.sl
;;
esac
library_names_spec='$libname$shrext'
;;
interix[3-9]*)
library_names_spec='$libname$shrext'
;;
irix5* | irix6* | nonstopux*)
library_names_spec='$libname$shrext'
case "$host_os" in
irix5* | nonstopux*)
libsuff= shlibsuff=
;;
*)
case $LD in
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
*) libsuff= shlibsuff= ;;
esac
;;
esac
;;
linux*oldld* | linux*aout* | linux*coff*)
;;
linux* | k*bsd*-gnu)
library_names_spec='$libname$shrext'
;;
knetbsd*-gnu)
library_names_spec='$libname$shrext'
;;
netbsd*)
library_names_spec='$libname$shrext'
;;
newsos6)
library_names_spec='$libname$shrext'
;;
nto-qnx*)
library_names_spec='$libname$shrext'
;;
openbsd*)
library_names_spec='$libname$shrext$versuffix'
;;
os2*)
libname_spec='$name'
shrext=.dll
library_names_spec='$libname.a'
;;
osf3* | osf4* | osf5*)
library_names_spec='$libname$shrext'
;;
rdos*)
;;
solaris*)
library_names_spec='$libname$shrext'
;;
sunos4*)
library_names_spec='$libname$shrext$versuffix'
;;
sysv4 | sysv4.3*)
library_names_spec='$libname$shrext'
;;
sysv4*MP*)
library_names_spec='$libname$shrext'
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='$libname$shrext'
;;
uts4*)
library_names_spec='$libname$shrext'
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
# Static library suffix (normally "a").
libext="$libext"
# Shared library suffix (normally "so").
shlibext="$shlibext"
# Format of library name prefix.
libname_spec="$escaped_libname_spec"
# Library names that the linker finds when passed -lNAME.
library_names_spec="$escaped_library_names_spec"
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
# Whether we need a single -rpath flag with a separated argument.
hardcode_libdir_separator="$hardcode_libdir_separator"
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
# resulting binary.
hardcode_direct="$hardcode_direct"
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
# resulting binary.
hardcode_minus_L="$hardcode_minus_L"
EOF

1504
node_modules/lame/deps/lame/config.sub generated vendored Executable file

File diff suppressed because it is too large Load Diff

6
node_modules/lame/deps/lame/config/README generated vendored Normal file
View File

@ -0,0 +1,6 @@
The "config.h" file on each platform is generated with these flags:
./configure --enable-static --disable-shared --with-pic --disable-rpath --disable-frontend --disable-gtktest
On Windows, the "config.h" file is simply the "configMS.h" file in the root of the lame repo

375
node_modules/lame/deps/lame/config/freebsd/x64/config.h generated vendored Normal file
View File

@ -0,0 +1,375 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef LAME_CONFIG_H
#define LAME_CONFIG_H
/* debug define */
/* #undef ABORTFP */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* alot of debug output */
/* #undef DEBUG */
/* allow to compute a more accurate replaygain value */
#define DECODE_ON_THE_FLY 1
/* double is faster than float on Alpha */
/* #undef FLOAT */
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
/* #undef HAVE_ALLOCA_H */
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* we link against libefence */
/* #undef HAVE_EFENCE */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define if you have the iconv() function and it works. */
#define HAVE_ICONV 1
/* add ieee754_float32_t type */
/* #undef HAVE_IEEE754_FLOAT32_T */
#ifndef HAVE_IEEE754_FLOAT32_T
typedef float ieee754_float32_t;
#endif
/* add ieee754_float64_t type */
/* #undef HAVE_IEEE754_FLOAT64_T */
#ifndef HAVE_IEEE754_FLOAT64_T
typedef double ieee754_float64_t;
#endif
/* system has 80 bit floats */
#define HAVE_IEEE854_FLOAT80 1
/* add ieee854_float80_t type */
/* #undef HAVE_IEEE854_FLOAT80_T */
#ifndef HAVE_IEEE854_FLOAT80_T
typedef long double ieee854_float80_t;
#endif
/* add int16_t type */
#define HAVE_INT16_T 1
#ifndef HAVE_INT16_T
typedef short int16_t;
#endif
/* add int32_t type */
#define HAVE_INT32_T 1
#ifndef HAVE_INT32_T
#define A_INT32_T int
typedef A_INT32_T int32_t;
#endif
/* add int64_t type */
#define HAVE_INT64_T 1
#ifndef HAVE_INT64_T
#define A_INT64_T long
typedef A_INT64_T int64_t;
#endif
/* add int8_t type */
#define HAVE_INT8_T 1
#ifndef HAVE_INT8_T
typedef char int8_t;
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <linux/soundcard.h> header file. */
/* #undef HAVE_LINUX_SOUNDCARD_H */
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE 1
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE_WIDER 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* build with mpglib support */
#define HAVE_MPGLIB 1
/* have nasm */
/* #undef HAVE_NASM */
/* Define to 1 if you have the <ncurses/termcap.h> header file. */
/* #undef HAVE_NCURSES_TERMCAP_H */
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the <sys/soundcard.h> header file. */
#define HAVE_SYS_SOUNDCARD_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* have termcap */
#define HAVE_TERMCAP 1
/* Define to 1 if you have the <termcap.h> header file. */
#define HAVE_TERMCAP_H 1
/* add uint16_t type */
#define HAVE_UINT16_T 1
#ifndef HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
/* add uint32_t type */
#define HAVE_UINT32_T 1
#ifndef HAVE_UINT32_T
#define A_UINT32_T unsigned int
typedef A_UINT32_T uint32_t;
#endif
/* add uint64_t type */
#define HAVE_UINT64_T 1
#ifndef HAVE_UINT64_T
#define A_UINT64_T unsigned long
typedef A_UINT64_T uint64_t;
#endif
/* add uint8_t type */
#define HAVE_UINT8_T 1
#ifndef HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <xmmintrin.h> header file. */
#define HAVE_XMMINTRIN_H 1
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST const
/* requested by Frank, seems to be temporary needed for a smooth transition */
#define LAME_LIBRARY_BUILD 1
/* set to 1 if you have libsndfile */
/* #undef LIBSNDFILE */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* use MMX version of choose_table */
/* #undef MMX_choose_table */
/* no debug build */
#define NDEBUG 1
/* build without hooks for analyzer */
/* #undef NOANALYSIS */
/* Name of package */
#define PACKAGE "lame"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "lame-dev@lists.sf.net"
/* Define to the full name of this package. */
#define PACKAGE_NAME "lame"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "lame 3.99.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "lame"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.99.5"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
/* The size of `double', as computed by sizeof. */
#define SIZEOF_DOUBLE 8
/* The size of `float', as computed by sizeof. */
#define SIZEOF_FLOAT 4
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 8
/* The size of `long double', as computed by sizeof. */
/* #undef SIZEOF_LONG_DOUBLE */
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 8
/* The size of `unsigned long long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG 8
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* IEEE754 compatible machine */
#define TAKEHIRO_IEEE754_HACK 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* faster log implementation with less but enough precission */
#define USE_FAST_LOG 1
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Version number of package */
#define VERSION "3.99.5"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* we're on DEC Alpha */
/* #undef __DECALPHA__ */
/* work around a glibc bug */
/* #undef __NO_MATH_INLINES */
/* Define like PROTOTYPES; this can be used by system headers. */
#define __PROTOTYPES 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
#endif /* LAME_CONFIG_H */

375
node_modules/lame/deps/lame/config/linux/arm/config.h generated vendored Normal file
View File

@ -0,0 +1,375 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef LAME_CONFIG_H
#define LAME_CONFIG_H
/* debug define */
/* #undef ABORTFP */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* alot of debug output */
/* #undef DEBUG */
/* allow to compute a more accurate replaygain value */
/* #undef DECODE_ON_THE_FLY */
/* double is faster than float on Alpha */
/* #undef FLOAT */
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* we link against libefence */
/* #undef HAVE_EFENCE */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define if you have the iconv() function and it works. */
#define HAVE_ICONV 1
/* add ieee754_float32_t type */
/* #undef HAVE_IEEE754_FLOAT32_T */
#ifndef HAVE_IEEE754_FLOAT32_T
typedef float ieee754_float32_t;
#endif
/* add ieee754_float64_t type */
/* #undef HAVE_IEEE754_FLOAT64_T */
#ifndef HAVE_IEEE754_FLOAT64_T
typedef double ieee754_float64_t;
#endif
/* system has 80 bit floats */
/* #undef HAVE_IEEE854_FLOAT80 */
/* add ieee854_float80_t type */
/* #undef HAVE_IEEE854_FLOAT80_T */
#ifndef HAVE_IEEE854_FLOAT80_T
typedef long double ieee854_float80_t;
#endif
/* add int16_t type */
#define HAVE_INT16_T 1
#ifndef HAVE_INT16_T
typedef short int16_t;
#endif
/* add int32_t type */
#define HAVE_INT32_T 1
#ifndef HAVE_INT32_T
#define A_INT32_T int
typedef A_INT32_T int32_t;
#endif
/* add int64_t type */
#define HAVE_INT64_T 1
#ifndef HAVE_INT64_T
#define A_INT64_T long long
typedef A_INT64_T int64_t;
#endif
/* add int8_t type */
#define HAVE_INT8_T 1
#ifndef HAVE_INT8_T
typedef char int8_t;
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <linux/soundcard.h> header file. */
#define HAVE_LINUX_SOUNDCARD_H 1
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
/* #undef HAVE_LONG_DOUBLE */
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
/* #undef HAVE_LONG_DOUBLE_WIDER */
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* build with mpglib support */
/* #undef HAVE_MPGLIB */
/* have nasm */
/* #undef HAVE_NASM */
/* Define to 1 if you have the <ncurses/termcap.h> header file. */
/* #undef HAVE_NCURSES_TERMCAP_H */
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the <sys/soundcard.h> header file. */
#define HAVE_SYS_SOUNDCARD_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* have termcap */
/* #undef HAVE_TERMCAP */
/* Define to 1 if you have the <termcap.h> header file. */
/* #undef HAVE_TERMCAP_H */
/* add uint16_t type */
#define HAVE_UINT16_T 1
#ifndef HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
/* add uint32_t type */
#define HAVE_UINT32_T 1
#ifndef HAVE_UINT32_T
#define A_UINT32_T unsigned int
typedef A_UINT32_T uint32_t;
#endif
/* add uint64_t type */
#define HAVE_UINT64_T 1
#ifndef HAVE_UINT64_T
#define A_UINT64_T unsigned long long
typedef A_UINT64_T uint64_t;
#endif
/* add uint8_t type */
#define HAVE_UINT8_T 1
#ifndef HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <xmmintrin.h> header file. */
/* #undef HAVE_XMMINTRIN_H */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* requested by Frank, seems to be temporary needed for a smooth transition */
#define LAME_LIBRARY_BUILD 1
/* set to 1 if you have libsndfile */
/* #undef LIBSNDFILE */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* use MMX version of choose_table */
/* #undef MMX_choose_table */
/* no debug build */
#define NDEBUG 1
/* build without hooks for analyzer */
/* #undef NOANALYSIS */
/* Name of package */
#define PACKAGE "lame"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "lame-dev@lists.sf.net"
/* Define to the full name of this package. */
#define PACKAGE_NAME "lame"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "lame 3.99.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "lame"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.99.5"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
/* The size of `double', as computed by sizeof. */
#define SIZEOF_DOUBLE 8
/* The size of `float', as computed by sizeof. */
#define SIZEOF_FLOAT 4
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 4
/* The size of `long double', as computed by sizeof. */
/* #undef SIZEOF_LONG_DOUBLE */
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 4
/* The size of `unsigned long long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG 8
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* IEEE754 compatible machine */
/* #undef TAKEHIRO_IEEE754_HACK */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* faster log implementation with less but enough precission */
/* #undef USE_FAST_LOG */
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Version number of package */
#define VERSION "3.99.5"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#define _FILE_OFFSET_BITS 64
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* we're on DEC Alpha */
/* #undef __DECALPHA__ */
/* work around a glibc bug */
/* #undef __NO_MATH_INLINES */
/* Define like PROTOTYPES; this can be used by system headers. */
#define __PROTOTYPES 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
#endif /* LAME_CONFIG_H */

375
node_modules/lame/deps/lame/config/linux/ia32/config.h generated vendored Normal file
View File

@ -0,0 +1,375 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef LAME_CONFIG_H
#define LAME_CONFIG_H
/* debug define */
/* #undef ABORTFP */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* alot of debug output */
/* #undef DEBUG */
/* allow to compute a more accurate replaygain value */
/* #undef DECODE_ON_THE_FLY */
/* double is faster than float on Alpha */
/* #undef FLOAT */
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* we link against libefence */
/* #undef HAVE_EFENCE */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define if you have the iconv() function and it works. */
#define HAVE_ICONV 1
/* add ieee754_float32_t type */
/* #undef HAVE_IEEE754_FLOAT32_T */
#ifndef HAVE_IEEE754_FLOAT32_T
typedef float ieee754_float32_t;
#endif
/* add ieee754_float64_t type */
/* #undef HAVE_IEEE754_FLOAT64_T */
#ifndef HAVE_IEEE754_FLOAT64_T
typedef double ieee754_float64_t;
#endif
/* system has 80 bit floats */
#define HAVE_IEEE854_FLOAT80 1
/* add ieee854_float80_t type */
/* #undef HAVE_IEEE854_FLOAT80_T */
#ifndef HAVE_IEEE854_FLOAT80_T
typedef long double ieee854_float80_t;
#endif
/* add int16_t type */
#define HAVE_INT16_T 1
#ifndef HAVE_INT16_T
typedef short int16_t;
#endif
/* add int32_t type */
#define HAVE_INT32_T 1
#ifndef HAVE_INT32_T
#define A_INT32_T int
typedef A_INT32_T int32_t;
#endif
/* add int64_t type */
#define HAVE_INT64_T 1
#ifndef HAVE_INT64_T
#define A_INT64_T long long
typedef A_INT64_T int64_t;
#endif
/* add int8_t type */
#define HAVE_INT8_T 1
#ifndef HAVE_INT8_T
typedef char int8_t;
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <linux/soundcard.h> header file. */
#define HAVE_LINUX_SOUNDCARD_H 1
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE 1
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE_WIDER 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* build with mpglib support */
/* #undef HAVE_MPGLIB */
/* have nasm */
/* #undef HAVE_NASM */
/* Define to 1 if you have the <ncurses/termcap.h> header file. */
/* #undef HAVE_NCURSES_TERMCAP_H */
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the <sys/soundcard.h> header file. */
#define HAVE_SYS_SOUNDCARD_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* have termcap */
/* #undef HAVE_TERMCAP */
/* Define to 1 if you have the <termcap.h> header file. */
/* #undef HAVE_TERMCAP_H */
/* add uint16_t type */
#define HAVE_UINT16_T 1
#ifndef HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
/* add uint32_t type */
#define HAVE_UINT32_T 1
#ifndef HAVE_UINT32_T
#define A_UINT32_T unsigned int
typedef A_UINT32_T uint32_t;
#endif
/* add uint64_t type */
#define HAVE_UINT64_T 1
#ifndef HAVE_UINT64_T
#define A_UINT64_T unsigned long long
typedef A_UINT64_T uint64_t;
#endif
/* add uint8_t type */
#define HAVE_UINT8_T 1
#ifndef HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <xmmintrin.h> header file. */
/* #undef HAVE_XMMINTRIN_H */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* requested by Frank, seems to be temporary needed for a smooth transition */
#define LAME_LIBRARY_BUILD 1
/* set to 1 if you have libsndfile */
/* #undef LIBSNDFILE */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* use MMX version of choose_table */
/* #undef MMX_choose_table */
/* no debug build */
#define NDEBUG 1
/* build without hooks for analyzer */
/* #undef NOANALYSIS */
/* Name of package */
#define PACKAGE "lame"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "lame-dev@lists.sf.net"
/* Define to the full name of this package. */
#define PACKAGE_NAME "lame"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "lame 3.99.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "lame"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.99.5"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
/* The size of `double', as computed by sizeof. */
#define SIZEOF_DOUBLE 8
/* The size of `float', as computed by sizeof. */
#define SIZEOF_FLOAT 4
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 4
/* The size of `long double', as computed by sizeof. */
/* #undef SIZEOF_LONG_DOUBLE */
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 4
/* The size of `unsigned long long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG 8
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* IEEE754 compatible machine */
#define TAKEHIRO_IEEE754_HACK 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* faster log implementation with less but enough precission */
#define USE_FAST_LOG 1
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Version number of package */
#define VERSION "3.99.5"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#define _FILE_OFFSET_BITS 64
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* we're on DEC Alpha */
/* #undef __DECALPHA__ */
/* work around a glibc bug */
/* #undef __NO_MATH_INLINES */
/* Define like PROTOTYPES; this can be used by system headers. */
#define __PROTOTYPES 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
#endif /* LAME_CONFIG_H */

375
node_modules/lame/deps/lame/config/linux/x64/config.h generated vendored Normal file
View File

@ -0,0 +1,375 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef LAME_CONFIG_H
#define LAME_CONFIG_H
/* debug define */
/* #undef ABORTFP */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* alot of debug output */
/* #undef DEBUG */
/* allow to compute a more accurate replaygain value */
/* #undef DECODE_ON_THE_FLY */
/* double is faster than float on Alpha */
/* #undef FLOAT */
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* we link against libefence */
/* #undef HAVE_EFENCE */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define if you have the iconv() function and it works. */
#define HAVE_ICONV 1
/* add ieee754_float32_t type */
/* #undef HAVE_IEEE754_FLOAT32_T */
#ifndef HAVE_IEEE754_FLOAT32_T
typedef float ieee754_float32_t;
#endif
/* add ieee754_float64_t type */
/* #undef HAVE_IEEE754_FLOAT64_T */
#ifndef HAVE_IEEE754_FLOAT64_T
typedef double ieee754_float64_t;
#endif
/* system has 80 bit floats */
#define HAVE_IEEE854_FLOAT80 1
/* add ieee854_float80_t type */
/* #undef HAVE_IEEE854_FLOAT80_T */
#ifndef HAVE_IEEE854_FLOAT80_T
typedef long double ieee854_float80_t;
#endif
/* add int16_t type */
#define HAVE_INT16_T 1
#ifndef HAVE_INT16_T
typedef short int16_t;
#endif
/* add int32_t type */
#define HAVE_INT32_T 1
#ifndef HAVE_INT32_T
#define A_INT32_T int
typedef A_INT32_T int32_t;
#endif
/* add int64_t type */
#define HAVE_INT64_T 1
#ifndef HAVE_INT64_T
#define A_INT64_T long
typedef A_INT64_T int64_t;
#endif
/* add int8_t type */
#define HAVE_INT8_T 1
#ifndef HAVE_INT8_T
typedef char int8_t;
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <linux/soundcard.h> header file. */
#define HAVE_LINUX_SOUNDCARD_H 1
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE 1
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE_WIDER 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* build with mpglib support */
/* #undef HAVE_MPGLIB */
/* have nasm */
/* #undef HAVE_NASM */
/* Define to 1 if you have the <ncurses/termcap.h> header file. */
/* #undef HAVE_NCURSES_TERMCAP_H */
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the <sys/soundcard.h> header file. */
#define HAVE_SYS_SOUNDCARD_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* have termcap */
#define HAVE_TERMCAP 1
/* Define to 1 if you have the <termcap.h> header file. */
#define HAVE_TERMCAP_H 1
/* add uint16_t type */
#define HAVE_UINT16_T 1
#ifndef HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
/* add uint32_t type */
#define HAVE_UINT32_T 1
#ifndef HAVE_UINT32_T
#define A_UINT32_T unsigned int
typedef A_UINT32_T uint32_t;
#endif
/* add uint64_t type */
#define HAVE_UINT64_T 1
#ifndef HAVE_UINT64_T
#define A_UINT64_T unsigned long
typedef A_UINT64_T uint64_t;
#endif
/* add uint8_t type */
#define HAVE_UINT8_T 1
#ifndef HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <xmmintrin.h> header file. */
#define HAVE_XMMINTRIN_H 1
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* requested by Frank, seems to be temporary needed for a smooth transition */
#define LAME_LIBRARY_BUILD 1
/* set to 1 if you have libsndfile */
/* #undef LIBSNDFILE */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* use MMX version of choose_table */
/* #undef MMX_choose_table */
/* no debug build */
#define NDEBUG 1
/* build without hooks for analyzer */
/* #undef NOANALYSIS */
/* Name of package */
#define PACKAGE "lame"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "lame-dev@lists.sf.net"
/* Define to the full name of this package. */
#define PACKAGE_NAME "lame"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "lame 3.99.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "lame"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.99.5"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
/* The size of `double', as computed by sizeof. */
#define SIZEOF_DOUBLE 8
/* The size of `float', as computed by sizeof. */
#define SIZEOF_FLOAT 4
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 8
/* The size of `long double', as computed by sizeof. */
/* #undef SIZEOF_LONG_DOUBLE */
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 8
/* The size of `unsigned long long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG 8
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* IEEE754 compatible machine */
#define TAKEHIRO_IEEE754_HACK 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* faster log implementation with less but enough precission */
#define USE_FAST_LOG 1
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Version number of package */
#define VERSION "3.99.5"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* we're on DEC Alpha */
/* #undef __DECALPHA__ */
/* work around a glibc bug */
/* #undef __NO_MATH_INLINES */
/* Define like PROTOTYPES; this can be used by system headers. */
#define __PROTOTYPES 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
#endif /* LAME_CONFIG_H */

375
node_modules/lame/deps/lame/config/mac/ia32/config.h generated vendored Normal file
View File

@ -0,0 +1,375 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef LAME_CONFIG_H
#define LAME_CONFIG_H
/* debug define */
/* #undef ABORTFP */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* alot of debug output */
/* #undef DEBUG */
/* allow to compute a more accurate replaygain value */
/* #undef DECODE_ON_THE_FLY */
/* double is faster than float on Alpha */
/* #undef FLOAT */
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* we link against libefence */
/* #undef HAVE_EFENCE */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define if you have the iconv() function and it works. */
#define HAVE_ICONV 1
/* add ieee754_float32_t type */
/* #undef HAVE_IEEE754_FLOAT32_T */
#ifndef HAVE_IEEE754_FLOAT32_T
typedef float ieee754_float32_t;
#endif
/* add ieee754_float64_t type */
/* #undef HAVE_IEEE754_FLOAT64_T */
#ifndef HAVE_IEEE754_FLOAT64_T
typedef double ieee754_float64_t;
#endif
/* system has 80 bit floats */
#define HAVE_IEEE854_FLOAT80 1
/* add ieee854_float80_t type */
/* #undef HAVE_IEEE854_FLOAT80_T */
#ifndef HAVE_IEEE854_FLOAT80_T
typedef long double ieee854_float80_t;
#endif
/* add int16_t type */
#define HAVE_INT16_T 1
#ifndef HAVE_INT16_T
typedef short int16_t;
#endif
/* add int32_t type */
#define HAVE_INT32_T 1
#ifndef HAVE_INT32_T
#define A_INT32_T int
typedef A_INT32_T int32_t;
#endif
/* add int64_t type */
#define HAVE_INT64_T 1
#ifndef HAVE_INT64_T
#define A_INT64_T long long
typedef A_INT64_T int64_t;
#endif
/* add int8_t type */
#define HAVE_INT8_T 1
#ifndef HAVE_INT8_T
typedef char int8_t;
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <linux/soundcard.h> header file. */
/* #undef HAVE_LINUX_SOUNDCARD_H */
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE 1
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE_WIDER 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* build with mpglib support */
/* #undef HAVE_MPGLIB */
/* have nasm */
/* #undef HAVE_NASM */
/* Define to 1 if you have the <ncurses/termcap.h> header file. */
/* #undef HAVE_NCURSES_TERMCAP_H */
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the <sys/soundcard.h> header file. */
/* #undef HAVE_SYS_SOUNDCARD_H */
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* have termcap */
#define HAVE_TERMCAP 1
/* Define to 1 if you have the <termcap.h> header file. */
#define HAVE_TERMCAP_H 1
/* add uint16_t type */
#define HAVE_UINT16_T 1
#ifndef HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
/* add uint32_t type */
#define HAVE_UINT32_T 1
#ifndef HAVE_UINT32_T
#define A_UINT32_T unsigned int
typedef A_UINT32_T uint32_t;
#endif
/* add uint64_t type */
#define HAVE_UINT64_T 1
#ifndef HAVE_UINT64_T
#define A_UINT64_T unsigned long long
typedef A_UINT64_T uint64_t;
#endif
/* add uint8_t type */
#define HAVE_UINT8_T 1
#ifndef HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <xmmintrin.h> header file. */
#define HAVE_XMMINTRIN_H 1
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* requested by Frank, seems to be temporary needed for a smooth transition */
#define LAME_LIBRARY_BUILD 1
/* set to 1 if you have libsndfile */
/* #undef LIBSNDFILE */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* use MMX version of choose_table */
/* #undef MMX_choose_table */
/* no debug build */
#define NDEBUG 1
/* build without hooks for analyzer */
/* #undef NOANALYSIS */
/* Name of package */
#define PACKAGE "lame"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "lame-dev@lists.sf.net"
/* Define to the full name of this package. */
#define PACKAGE_NAME "lame"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "lame 3.99.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "lame"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.99.5"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
/* The size of `double', as computed by sizeof. */
#define SIZEOF_DOUBLE 8
/* The size of `float', as computed by sizeof. */
#define SIZEOF_FLOAT 4
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 4
/* The size of `long double', as computed by sizeof. */
/* #undef SIZEOF_LONG_DOUBLE */
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 4
/* The size of `unsigned long long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG 8
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* IEEE754 compatible machine */
#define TAKEHIRO_IEEE754_HACK 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* faster log implementation with less but enough precission */
#define USE_FAST_LOG 1
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Version number of package */
#define VERSION "3.99.5"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* we're on DEC Alpha */
/* #undef __DECALPHA__ */
/* work around a glibc bug */
/* #undef __NO_MATH_INLINES */
/* Define like PROTOTYPES; this can be used by system headers. */
#define __PROTOTYPES 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
#endif /* LAME_CONFIG_H */

375
node_modules/lame/deps/lame/config/mac/x64/config.h generated vendored Normal file
View File

@ -0,0 +1,375 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef LAME_CONFIG_H
#define LAME_CONFIG_H
/* debug define */
/* #undef ABORTFP */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* alot of debug output */
/* #undef DEBUG */
/* allow to compute a more accurate replaygain value */
/* #undef DECODE_ON_THE_FLY */
/* double is faster than float on Alpha */
/* #undef FLOAT */
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* we link against libefence */
/* #undef HAVE_EFENCE */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define if you have the iconv() function and it works. */
#define HAVE_ICONV 1
/* add ieee754_float32_t type */
/* #undef HAVE_IEEE754_FLOAT32_T */
#ifndef HAVE_IEEE754_FLOAT32_T
typedef float ieee754_float32_t;
#endif
/* add ieee754_float64_t type */
/* #undef HAVE_IEEE754_FLOAT64_T */
#ifndef HAVE_IEEE754_FLOAT64_T
typedef double ieee754_float64_t;
#endif
/* system has 80 bit floats */
#define HAVE_IEEE854_FLOAT80 1
/* add ieee854_float80_t type */
/* #undef HAVE_IEEE854_FLOAT80_T */
#ifndef HAVE_IEEE854_FLOAT80_T
typedef long double ieee854_float80_t;
#endif
/* add int16_t type */
#define HAVE_INT16_T 1
#ifndef HAVE_INT16_T
typedef short int16_t;
#endif
/* add int32_t type */
#define HAVE_INT32_T 1
#ifndef HAVE_INT32_T
#define A_INT32_T int
typedef A_INT32_T int32_t;
#endif
/* add int64_t type */
#define HAVE_INT64_T 1
#ifndef HAVE_INT64_T
#define A_INT64_T long
typedef A_INT64_T int64_t;
#endif
/* add int8_t type */
#define HAVE_INT8_T 1
#ifndef HAVE_INT8_T
typedef char int8_t;
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <linux/soundcard.h> header file. */
/* #undef HAVE_LINUX_SOUNDCARD_H */
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE 1
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE_WIDER 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* build with mpglib support */
/* #undef HAVE_MPGLIB */
/* have nasm */
/* #undef HAVE_NASM */
/* Define to 1 if you have the <ncurses/termcap.h> header file. */
/* #undef HAVE_NCURSES_TERMCAP_H */
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the <sys/soundcard.h> header file. */
/* #undef HAVE_SYS_SOUNDCARD_H */
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* have termcap */
#define HAVE_TERMCAP 1
/* Define to 1 if you have the <termcap.h> header file. */
#define HAVE_TERMCAP_H 1
/* add uint16_t type */
#define HAVE_UINT16_T 1
#ifndef HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
/* add uint32_t type */
#define HAVE_UINT32_T 1
#ifndef HAVE_UINT32_T
#define A_UINT32_T unsigned int
typedef A_UINT32_T uint32_t;
#endif
/* add uint64_t type */
#define HAVE_UINT64_T 1
#ifndef HAVE_UINT64_T
#define A_UINT64_T unsigned long
typedef A_UINT64_T uint64_t;
#endif
/* add uint8_t type */
#define HAVE_UINT8_T 1
#ifndef HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <xmmintrin.h> header file. */
#define HAVE_XMMINTRIN_H 1
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* requested by Frank, seems to be temporary needed for a smooth transition */
#define LAME_LIBRARY_BUILD 1
/* set to 1 if you have libsndfile */
/* #undef LIBSNDFILE */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* use MMX version of choose_table */
/* #undef MMX_choose_table */
/* no debug build */
#define NDEBUG 1
/* build without hooks for analyzer */
/* #undef NOANALYSIS */
/* Name of package */
#define PACKAGE "lame"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "lame-dev@lists.sf.net"
/* Define to the full name of this package. */
#define PACKAGE_NAME "lame"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "lame 3.99.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "lame"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.99.5"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
/* The size of `double', as computed by sizeof. */
#define SIZEOF_DOUBLE 8
/* The size of `float', as computed by sizeof. */
#define SIZEOF_FLOAT 4
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 8
/* The size of `long double', as computed by sizeof. */
/* #undef SIZEOF_LONG_DOUBLE */
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 8
/* The size of `unsigned long long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG 8
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* IEEE754 compatible machine */
#define TAKEHIRO_IEEE754_HACK 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* faster log implementation with less but enough precission */
#define USE_FAST_LOG 1
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Version number of package */
#define VERSION "3.99.5"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* we're on DEC Alpha */
/* #undef __DECALPHA__ */
/* work around a glibc bug */
/* #undef __NO_MATH_INLINES */
/* Define like PROTOTYPES; this can be used by system headers. */
#define __PROTOTYPES 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
#endif /* LAME_CONFIG_H */

View File

@ -0,0 +1,375 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef LAME_CONFIG_H
#define LAME_CONFIG_H
/* debug define */
/* #undef ABORTFP */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* alot of debug output */
/* #undef DEBUG */
/* allow to compute a more accurate replaygain value */
/* #undef DECODE_ON_THE_FLY */
/* double is faster than float on Alpha */
/* #undef FLOAT */
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* we link against libefence */
/* #undef HAVE_EFENCE */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define if you have the iconv() function and it works. */
#define HAVE_ICONV 1
/* add ieee754_float32_t type */
/* #undef HAVE_IEEE754_FLOAT32_T */
#ifndef HAVE_IEEE754_FLOAT32_T
typedef float ieee754_float32_t;
#endif
/* add ieee754_float64_t type */
/* #undef HAVE_IEEE754_FLOAT64_T */
#ifndef HAVE_IEEE754_FLOAT64_T
typedef double ieee754_float64_t;
#endif
/* system has 80 bit floats */
#define HAVE_IEEE854_FLOAT80 1
/* add ieee854_float80_t type */
/* #undef HAVE_IEEE854_FLOAT80_T */
#ifndef HAVE_IEEE854_FLOAT80_T
typedef long double ieee854_float80_t;
#endif
/* add int16_t type */
#define HAVE_INT16_T 1
#ifndef HAVE_INT16_T
typedef short int16_t;
#endif
/* add int32_t type */
#define HAVE_INT32_T 1
#ifndef HAVE_INT32_T
#define A_INT32_T int
typedef A_INT32_T int32_t;
#endif
/* add int64_t type */
#define HAVE_INT64_T 1
#ifndef HAVE_INT64_T
#define A_INT64_T long long
typedef A_INT64_T int64_t;
#endif
/* add int8_t type */
#define HAVE_INT8_T 1
#ifndef HAVE_INT8_T
typedef char int8_t;
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <linux/soundcard.h> header file. */
/* #undef HAVE_LINUX_SOUNDCARD_H */
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE 1
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE_WIDER 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* build with mpglib support */
/* #undef HAVE_MPGLIB */
/* have nasm */
/* #undef HAVE_NASM */
/* Define to 1 if you have the <ncurses/termcap.h> header file. */
#define HAVE_NCURSES_TERMCAP_H 1
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the <sys/soundcard.h> header file. */
#define HAVE_SYS_SOUNDCARD_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* have termcap */
#define HAVE_TERMCAP 1
/* Define to 1 if you have the <termcap.h> header file. */
/* #undef HAVE_TERMCAP_H */
/* add uint16_t type */
#define HAVE_UINT16_T 1
#ifndef HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
/* add uint32_t type */
#define HAVE_UINT32_T 1
#ifndef HAVE_UINT32_T
#define A_UINT32_T unsigned int
typedef A_UINT32_T uint32_t;
#endif
/* add uint64_t type */
#define HAVE_UINT64_T 1
#ifndef HAVE_UINT64_T
#define A_UINT64_T unsigned long long
typedef A_UINT64_T uint64_t;
#endif
/* add uint8_t type */
#define HAVE_UINT8_T 1
#ifndef HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <xmmintrin.h> header file. */
#define HAVE_XMMINTRIN_H 1
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST const
/* requested by Frank, seems to be temporary needed for a smooth transition */
#define LAME_LIBRARY_BUILD 1
/* set to 1 if you have libsndfile */
/* #undef LIBSNDFILE */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* use MMX version of choose_table */
/* #undef MMX_choose_table */
/* no debug build */
#define NDEBUG 1
/* build without hooks for analyzer */
/* #undef NOANALYSIS */
/* Name of package */
#define PACKAGE "lame"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "lame-dev@lists.sf.net"
/* Define to the full name of this package. */
#define PACKAGE_NAME "lame"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "lame 3.99.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "lame"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.99.5"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
/* The size of `double', as computed by sizeof. */
#define SIZEOF_DOUBLE 8
/* The size of `float', as computed by sizeof. */
#define SIZEOF_FLOAT 4
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 4
/* The size of `long double', as computed by sizeof. */
/* #undef SIZEOF_LONG_DOUBLE */
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 4
/* The size of `unsigned long long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG 8
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* IEEE754 compatible machine */
#define TAKEHIRO_IEEE754_HACK 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* faster log implementation with less but enough precission */
#define USE_FAST_LOG 1
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Version number of package */
#define VERSION "3.99.5"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#define _FILE_OFFSET_BITS 64
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* we're on DEC Alpha */
/* #undef __DECALPHA__ */
/* work around a glibc bug */
/* #undef __NO_MATH_INLINES */
/* Define like PROTOTYPES; this can be used by system headers. */
#define __PROTOTYPES 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
#endif /* LAME_CONFIG_H */

375
node_modules/lame/deps/lame/config/solaris/x64/config.h generated vendored Normal file
View File

@ -0,0 +1,375 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef LAME_CONFIG_H
#define LAME_CONFIG_H
/* debug define */
/* #undef ABORTFP */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* alot of debug output */
/* #undef DEBUG */
/* allow to compute a more accurate replaygain value */
/* #undef DECODE_ON_THE_FLY */
/* double is faster than float on Alpha */
/* #undef FLOAT */
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* we link against libefence */
/* #undef HAVE_EFENCE */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define if you have the iconv() function and it works. */
/* #undef HAVE_ICONV */
/* add ieee754_float32_t type */
/* #undef HAVE_IEEE754_FLOAT32_T */
#ifndef HAVE_IEEE754_FLOAT32_T
typedef float ieee754_float32_t;
#endif
/* add ieee754_float64_t type */
/* #undef HAVE_IEEE754_FLOAT64_T */
#ifndef HAVE_IEEE754_FLOAT64_T
typedef double ieee754_float64_t;
#endif
/* system has 80 bit floats */
#define HAVE_IEEE854_FLOAT80 1
/* add ieee854_float80_t type */
/* #undef HAVE_IEEE854_FLOAT80_T */
#ifndef HAVE_IEEE854_FLOAT80_T
typedef long double ieee854_float80_t;
#endif
/* add int16_t type */
#define HAVE_INT16_T 1
#ifndef HAVE_INT16_T
typedef short int16_t;
#endif
/* add int32_t type */
#define HAVE_INT32_T 1
#ifndef HAVE_INT32_T
#define A_INT32_T int
typedef A_INT32_T int32_t;
#endif
/* add int64_t type */
#define HAVE_INT64_T 1
#ifndef HAVE_INT64_T
#define A_INT64_T long
typedef A_INT64_T int64_t;
#endif
/* add int8_t type */
#define HAVE_INT8_T 1
#ifndef HAVE_INT8_T
typedef char int8_t;
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <linux/soundcard.h> header file. */
/* #undef HAVE_LINUX_SOUNDCARD_H */
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE 1
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
#define HAVE_LONG_DOUBLE_WIDER 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* build with mpglib support */
/* #undef HAVE_MPGLIB */
/* have nasm */
/* #undef HAVE_NASM */
/* Define to 1 if you have the <ncurses/termcap.h> header file. */
#define HAVE_NCURSES_TERMCAP_H 1
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the <sys/soundcard.h> header file. */
#define HAVE_SYS_SOUNDCARD_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* have termcap */
#define HAVE_TERMCAP 1
/* Define to 1 if you have the <termcap.h> header file. */
/* #undef HAVE_TERMCAP_H */
/* add uint16_t type */
#define HAVE_UINT16_T 1
#ifndef HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
/* add uint32_t type */
#define HAVE_UINT32_T 1
#ifndef HAVE_UINT32_T
#define A_UINT32_T unsigned int
typedef A_UINT32_T uint32_t;
#endif
/* add uint64_t type */
#define HAVE_UINT64_T 1
#ifndef HAVE_UINT64_T
#define A_UINT64_T unsigned long
typedef A_UINT64_T uint64_t;
#endif
/* add uint8_t type */
#define HAVE_UINT8_T 1
#ifndef HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <xmmintrin.h> header file. */
#define HAVE_XMMINTRIN_H 1
/* Define as const if the declaration of iconv() needs const. */
/* #undef ICONV_CONST */
/* requested by Frank, seems to be temporary needed for a smooth transition */
#define LAME_LIBRARY_BUILD 1
/* set to 1 if you have libsndfile */
/* #undef LIBSNDFILE */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* use MMX version of choose_table */
/* #undef MMX_choose_table */
/* no debug build */
#define NDEBUG 1
/* build without hooks for analyzer */
/* #undef NOANALYSIS */
/* Name of package */
#define PACKAGE "lame"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "lame-dev@lists.sf.net"
/* Define to the full name of this package. */
#define PACKAGE_NAME "lame"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "lame 3.99.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "lame"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.99.5"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
/* The size of `double', as computed by sizeof. */
#define SIZEOF_DOUBLE 8
/* The size of `float', as computed by sizeof. */
#define SIZEOF_FLOAT 4
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 8
/* The size of `long double', as computed by sizeof. */
/* #undef SIZEOF_LONG_DOUBLE */
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 8
/* The size of `unsigned long long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG 8
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* IEEE754 compatible machine */
#define TAKEHIRO_IEEE754_HACK 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* faster log implementation with less but enough precission */
#define USE_FAST_LOG 1
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Version number of package */
#define VERSION "3.99.5"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* we're on DEC Alpha */
/* #undef __DECALPHA__ */
/* work around a glibc bug */
/* #undef __NO_MATH_INLINES */
/* Define like PROTOTYPES; this can be used by system headers. */
#define __PROTOTYPES 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
#endif /* LAME_CONFIG_H */

120
node_modules/lame/deps/lame/config/win/ia32/config.h generated vendored Normal file
View File

@ -0,0 +1,120 @@
#ifndef CONFIGMS_H_INCLUDED
#define CONFIGMS_H_INCLUDED
/* The number of bytes in a double. */
#define SIZEOF_DOUBLE 8
/* The number of bytes in a float. */
#define SIZEOF_FLOAT 4
/* The number of bytes in a int. */
#define SIZEOF_INT 4
/* The number of bytes in a long. */
#define SIZEOF_LONG 4
/* The number of bytes in a long double. */
#define SIZEOF_LONG_DOUBLE 12
/* The number of bytes in a short. */
#define SIZEOF_SHORT 2
/* The number of bytes in a unsigned int. */
#define SIZEOF_UNSIGNED_INT 4
/* The number of bytes in a unsigned long. */
#define SIZEOF_UNSIGNED_LONG 4
/* The number of bytes in a unsigned short. */
#define SIZEOF_UNSIGNED_SHORT 2
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS
/* Define if you have the <errno.h> header file. */
#define HAVE_ERRNO_H
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H
/* Name of package */
#define PACKAGE "lame"
/* Define if compiler has function prototypes */
#define PROTOTYPES 1
/* faster log implementation with less but enough precission */
#define USE_FAST_LOG 1
#define HAVE_STRCHR
#define HAVE_MEMCPY
#if defined(_MSC_VER) || defined(__BORLANDC__)
#pragma warning( disable : 4305 )
typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;
typedef float float32_t;
typedef double float64_t;
#elif defined (__GNUC__)
#define __int8_t_defined
#define uint8_t unsigned char
#define uint16_t unsigned short
#define uint32_t unsigned int
#define uint64_t unsigned long long
#define int8_t signed char
#define int16_t signed short
#define int32_t signed int
#define int64_t signed long long
#endif
typedef long double ieee854_float80_t;
typedef double ieee754_float64_t;
typedef float ieee754_float32_t;
#ifdef HAVE_MPGLIB
# define DECODE_ON_THE_FLY 1
#endif
#ifdef LAME_ACM
/* memory hacking for driver purposes */
#define calloc(x,y) acm_Calloc(x,y)
#define free(x) acm_Free(x)
#define malloc(x) acm_Malloc(x)
#include <stddef.h>
void *acm_Calloc( size_t num, size_t size );
void *acm_Malloc( size_t size );
void acm_Free( void * mem);
#endif /* LAME_ACM */
#define LAME_LIBRARY_BUILD
#ifdef HAVE_NASM
#if (defined(__ICL) && (__ICL >= 450))
#define HAVE_XMMINTRIN_H
#elif defined(_MSC_VER)
#include <malloc.h>
#ifdef _mm_malloc
#define HAVE_XMMINTRIN_H
#endif
#endif
#endif
#if defined(_M_X64) && !defined(HAVE_XMMINTRIN_H)
#define HAVE_XMMINTRIN_H
#endif
#endif

120
node_modules/lame/deps/lame/config/win/x64/config.h generated vendored Normal file
View File

@ -0,0 +1,120 @@
#ifndef CONFIGMS_H_INCLUDED
#define CONFIGMS_H_INCLUDED
/* The number of bytes in a double. */
#define SIZEOF_DOUBLE 8
/* The number of bytes in a float. */
#define SIZEOF_FLOAT 4
/* The number of bytes in a int. */
#define SIZEOF_INT 4
/* The number of bytes in a long. */
#define SIZEOF_LONG 4
/* The number of bytes in a long double. */
#define SIZEOF_LONG_DOUBLE 12
/* The number of bytes in a short. */
#define SIZEOF_SHORT 2
/* The number of bytes in a unsigned int. */
#define SIZEOF_UNSIGNED_INT 4
/* The number of bytes in a unsigned long. */
#define SIZEOF_UNSIGNED_LONG 4
/* The number of bytes in a unsigned short. */
#define SIZEOF_UNSIGNED_SHORT 2
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS
/* Define if you have the <errno.h> header file. */
#define HAVE_ERRNO_H
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H
/* Name of package */
#define PACKAGE "lame"
/* Define if compiler has function prototypes */
#define PROTOTYPES 1
/* faster log implementation with less but enough precission */
#define USE_FAST_LOG 1
#define HAVE_STRCHR
#define HAVE_MEMCPY
#if defined(_MSC_VER) || defined(__BORLANDC__)
#pragma warning( disable : 4305 )
typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;
typedef float float32_t;
typedef double float64_t;
#elif defined (__GNUC__)
#define __int8_t_defined
#define uint8_t unsigned char
#define uint16_t unsigned short
#define uint32_t unsigned int
#define uint64_t unsigned long long
#define int8_t signed char
#define int16_t signed short
#define int32_t signed int
#define int64_t signed long long
#endif
typedef long double ieee854_float80_t;
typedef double ieee754_float64_t;
typedef float ieee754_float32_t;
#ifdef HAVE_MPGLIB
# define DECODE_ON_THE_FLY 1
#endif
#ifdef LAME_ACM
/* memory hacking for driver purposes */
#define calloc(x,y) acm_Calloc(x,y)
#define free(x) acm_Free(x)
#define malloc(x) acm_Malloc(x)
#include <stddef.h>
void *acm_Calloc( size_t num, size_t size );
void *acm_Malloc( size_t size );
void acm_Free( void * mem);
#endif /* LAME_ACM */
#define LAME_LIBRARY_BUILD
#ifdef HAVE_NASM
#if (defined(__ICL) && (__ICL >= 450))
#define HAVE_XMMINTRIN_H
#elif defined(_MSC_VER)
#include <malloc.h>
#ifdef _mm_malloc
#define HAVE_XMMINTRIN_H
#endif
#endif
#endif
#if defined(_M_X64) && !defined(HAVE_XMMINTRIN_H)
#define HAVE_XMMINTRIN_H
#endif
#endif

120
node_modules/lame/deps/lame/configMS.h generated vendored Normal file
View File

@ -0,0 +1,120 @@
#ifndef CONFIGMS_H_INCLUDED
#define CONFIGMS_H_INCLUDED
/* The number of bytes in a double. */
#define SIZEOF_DOUBLE 8
/* The number of bytes in a float. */
#define SIZEOF_FLOAT 4
/* The number of bytes in a int. */
#define SIZEOF_INT 4
/* The number of bytes in a long. */
#define SIZEOF_LONG 4
/* The number of bytes in a long double. */
#define SIZEOF_LONG_DOUBLE 12
/* The number of bytes in a short. */
#define SIZEOF_SHORT 2
/* The number of bytes in a unsigned int. */
#define SIZEOF_UNSIGNED_INT 4
/* The number of bytes in a unsigned long. */
#define SIZEOF_UNSIGNED_LONG 4
/* The number of bytes in a unsigned short. */
#define SIZEOF_UNSIGNED_SHORT 2
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS
/* Define if you have the <errno.h> header file. */
#define HAVE_ERRNO_H
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H
/* Name of package */
#define PACKAGE "lame"
/* Define if compiler has function prototypes */
#define PROTOTYPES 1
/* faster log implementation with less but enough precission */
#define USE_FAST_LOG 1
#define HAVE_STRCHR
#define HAVE_MEMCPY
#if defined(_MSC_VER) || defined(__BORLANDC__)
#pragma warning( disable : 4305 )
typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;
typedef float float32_t;
typedef double float64_t;
#elif defined (__GNUC__)
#define __int8_t_defined
#define uint8_t unsigned char
#define uint16_t unsigned short
#define uint32_t unsigned int
#define uint64_t unsigned long long
#define int8_t signed char
#define int16_t signed short
#define int32_t signed int
#define int64_t signed long long
#endif
typedef long double ieee854_float80_t;
typedef double ieee754_float64_t;
typedef float ieee754_float32_t;
#ifdef HAVE_MPGLIB
# define DECODE_ON_THE_FLY 1
#endif
#ifdef LAME_ACM
/* memory hacking for driver purposes */
#define calloc(x,y) acm_Calloc(x,y)
#define free(x) acm_Free(x)
#define malloc(x) acm_Malloc(x)
#include <stddef.h>
void *acm_Calloc( size_t num, size_t size );
void *acm_Malloc( size_t size );
void acm_Free( void * mem);
#endif /* LAME_ACM */
#define LAME_LIBRARY_BUILD
#ifdef HAVE_NASM
#if (defined(__ICL) && (__ICL >= 450))
#define HAVE_XMMINTRIN_H
#elif defined(_MSC_VER)
#include <malloc.h>
#ifdef _mm_malloc
#define HAVE_XMMINTRIN_H
#endif
#endif
#endif
#if defined(_M_X64) && !defined(HAVE_XMMINTRIN_H)
#define HAVE_XMMINTRIN_H
#endif
#endif

18697
node_modules/lame/deps/lame/configure generated vendored Executable file

File diff suppressed because it is too large Load Diff

1157
node_modules/lame/deps/lame/configure.in generated vendored Normal file

File diff suppressed because it is too large Load Diff

20
node_modules/lame/deps/lame/debian/Makefile.am generated vendored Normal file
View File

@ -0,0 +1,20 @@
## $Id: Makefile.am,v 1.8 2011/10/15 14:31:09 robert Exp $
include $(top_srcdir)/Makefile.am.global
EXTRA_DIST = \
changelog \
compat \
control \
copyright \
libmp3lame-dev.install \
libmp3lame0.install \
lame.docs \
lame.install \
lame.manpages \
rules \
watch
dist-hook:
chmod +x $(distdir)/rules

405
node_modules/lame/deps/lame/debian/Makefile.in generated vendored Normal file
View File

@ -0,0 +1,405 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# global section for every Makefile.am
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/Makefile.am.global
subdir = debian
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONFIG_DEFS = @CONFIG_DEFS@
CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPUCCODE = @CPUCCODE@
CPUTYPE = @CPUTYPE@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
FRONTEND_LDADD = @FRONTEND_LDADD@
FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_CONFIG = @GTK_CONFIG@
GTK_LIBS = @GTK_LIBS@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDADD = @LDADD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEDEP = @MAKEDEP@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NASM = @NASM@
NASM_FORMAT = @NASM_FORMAT@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RM_F = @RM_F@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
SNDFILE_LIBS = @SNDFILE_LIBS@
STRIP = @STRIP@
U = @U@
VERSION = @VERSION@
WITH_FRONTEND = @WITH_FRONTEND@
WITH_MP3RTP = @WITH_MP3RTP@
WITH_MP3X = @WITH_MP3X@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.11 foreign $(top_srcdir)/ansi2knr
EXTRA_DIST = \
changelog \
compat \
control \
copyright \
libmp3lame-dev.install \
libmp3lame0.install \
lame.docs \
lame.install \
lame.manpages \
rules \
watch
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign debian/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign debian/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
dist-hook distclean distclean-generic distclean-libtool \
distdir dvi dvi-am html html-am info info-am install \
install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
uninstall uninstall-am
# end global section
dist-hook:
chmod +x $(distdir)/rules
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

277
node_modules/lame/deps/lame/debian/changelog generated vendored Normal file
View File

@ -0,0 +1,277 @@
lame (3.99~cvs20110302) UNRELEASED; urgency=low
* New update of the debian infra-structure.
* debian/rules:
+ Transition to the short debhelper 7 format.
+ Use the --parallel flag so that building in parallel is supported.
* debian/control:
+ Rewrap the Build-Depends field for legibility.
+ Change B-D on nasm to allow any i386 platform (no amd64, though).
+ Update the B-D on debhelper to >= 7.0.50~, as we use overrides in
debian/rules.
+ Fix lintian's debhelper-but-no-misc-depends from the binary packages.
+ Remove unused Conflicts: and Replaces: fields.
+ Verified that the packaging conforms to the Policy version 3.9.1.
* debian/changelog:
+ Put my SF email or we get warnings from lintian.
-- Rogério Brito <rbrito@users.sf.net> Wed, 02 Mar 2011 13:31:29 -0300
lame (3.99~cvs20091122) unstable; urgency=low
* Update based on many suggestions by Fabian Greffrath.
* debian/compat: update to 7.
* debian/control:
+ remame libmp3lame0-dev to libmp3lame-dev.
+ remove dependency on libc6-dev from libmp3lame-dev.
+ bump dependency on debhelper to 7.
+ bump Standards-Version to 3.8.0.
* debian/libmp3lame0-dev.files: rename to libmp3lame-dev.files.
* debian/*.files: rename to *.install.
* debian/rules:
+ replace obsolete dh_clean -k with dh_prep.
+ substitute the use of dh_movefiles with dh_install.
+ changed the *FLAGS variables to use appends, not attributions.
+ include options -O1, -z,defs for the linker.
+ no need to pass options to dh_installman.
+ no need to pass options to dh_installchangelogs.
* Initial transition to source format "3.0 (quilt)".
-- Rogério Brito <rbrito@users.sf.net> Sun, 22 Nov 2009 19:19:39 -0200
lame (3.99~cvs20090419) unstable; urgency=low
* Updating the packaging of lame.
* debian/control: include autotools-dev as a build dependency.
* debian/rules:
+ made use of autotools-dev.
+ remove switch --without-vorbis.
+ substituted `pwd` by $(CURDIR).
* debian/watch: also consider versions with a letter in them.
-- Rogério Brito <rbrito@users.sf.net> Sun, 19 Apr 2009 20:20:27 -0300
lame (3.99~cvs20081106) unstable; urgency=low
* changes are now (mostly) committed to changelog.
* debian/rules: include -Wl,--as-needed for the loader at compile time.
* debian/rules: remove (not needed) hack for rpath (Tks Fabian Greffrath).
* debian/control: depend libsndfile1-dev (Tks Fabian Greffrath).
* debian/control: get rid of transitional liblame0.
-- Rogério Brito <rbrito@users.sf.net> Sat, 12 Jul 2008 09:14:54 -0300
lame (3.98) unstable; urgency=low
* Preparation for the final release.
-- Rogério Brito <rbrito@users.sf.net> Sun, 29 Jun 2008 18:29:09 -0300
lame (3.98~beta8+cvs20080624) unstable; urgency=low
* Preparation for the new upstream release (lame 3.98 final).
* debian/control: eliminate build dependency on gtk1.2-dev.
* debian/rules: include -Wextra in the CFLAGS variable.
* debian/rules: explicitly disable some features from the build.
-- Rogério Brito <rbrito@users.sf.net> Tue, 24 Jun 2008 15:16:22 -0300
lame (3.98~beta8+cvs20080514) unstable; urgency=low
* Fixing debian packaging details.
* debian/rules: put detection of architectures for cross-compilation.
* debian/rules: included support for noopt option.
* debian/rules: take more care of building everything under debian/tmp.
* debian/control: updated to Standards-Version 3.7.3 (no changes).
* debian/control: put correctly Conflicts: and Replaces in libmp3lame0{,-dev}.
* debian/lame.docs: remove TODO and sort by name.
* debian/libmp3lame0-dev.docs: include TODO.
* debian/libmp3lame0-dev: include liblame0.so in the package.
* debian/watch: include watchfile.
-- Rogério Brito <rbrito@users.sf.net> Wed, 14 May 2008 01:44:46 -0300
lame (3.98~alpha1) unstable; urgency=low
* New upstream release with various improvements;
* Use libsndfile for input files;
* Remove the parts that depend on gtk-1.2;
* debian/rules: remove the DH_COMPAT variable;
* debian/control: use ${binary:Version} to be up-to-date;
* debian/control: use debhelper version >= 5;
-- Rogério Brito <rbrito@users.sf.net> Wed, 09 Jan 2008 17:12:19 -0200
lame (3.98~alpha0) unstable; urgency=low
* debian/copyright: updated FSF real address;
* debian/rules: small fixes;
* doc/man/lame.1: used accented characters in troff format.
-- Rogério Brito <rbrito@users.sf.net> Mon, 10 Oct 2005 03:33:31 -0300
lame (3.97-8) unstable; urgency=low
* debian/rules: enable full optimization, now that it works with GCC 4.
-- Rogério Brito <rbrito@users.sf.net> Mon, 5 Sep 2005 01:24:44 -0300
lame (3.97-7) unstable; urgency=low
* debian/control: make libmp3lame0 provide and replace liblame0.
-- Rogério Brito <rbrito@users.sf.net> Tue, 16 Aug 2005 04:36:46 -0300
lame (3.97-6) unstable; urgency=low
* debian/control: make libmp3lame0 provide liblame0 for legacy apps;
* debian/control: fix typo in description of libmp3lame0-dev;
* debian/libmp3lame0-dev.files: don't ship shared libraries.
-- Rogério Brito <rbrito@users.sf.net> Tue, 16 Aug 2005 04:03:42 -0300
lame (3.97-5) unstable; urgency=low
* debian/control: fix use of SONAME in the package;
* debian/liblame0.*: renamed to libmp3lame0.* as per above;
* debian/liblame-dev: idem;
* debian/rules: incorporate some changes by Christian Marillat.
-- Rogério Brito <rbrito@users.sf.net> Mon, 15 Aug 2005 00:47:25 -0300
lame (3.97-4) unstable; urgency=low
* debian/control: exclude libsndfile0-dev as a build dependency.
* debian/control: include libgtk1.2-dev as a build dependency.
* debian/rules: s/--with-fileio=sndfile/--with-fileio=lame/, since
grabbing input from stdin is a very important feature.
-- Rogério Brito <rbrito@users.sf.net> Fri, 5 Aug 2005 02:01:40 -0300
lame (3.97-3) unstable; urgency=low
* doc/man/lame.1: document the --{un,}signed options.
* doc/man/lame.1: document the --{big,little}-endian options.
* debian/control: include libsndfile0-dev as a build dependency.
* debian/rules: s/--with-fileio=lame/--with-fileio=sndfile/ .
-- Rogério Brito <rbrito@users.sf.net> Wed, 3 Aug 2005 21:35:17 -0300
lame (3.97-2) unstable; urgency=low
* debian/rules: use dh_installman instead of dh_installmanpages.
* doc/man/lame.1: escape minus signals with backslash.
-- Rogério Brito <rbrito@users.sf.net> Wed, 27 Jul 2005 04:58:39 -0300
lame (3.97-1) unstable; urgency=low
* Preparation for the beta release of lame 3.97.
* Still more improvements to come.
-- Rogério Brito <rbrito@users.sf.net> Tue, 26 Jul 2005 18:16:34 -0300
lame (3.97-0.2) unstable; urgency=low
* Fixed debian/control according to the Debian Library Packaging Guide
-- Jack Bates <ms419@freezone.co.uk> Thu, 12 May 2005 13:41:28 -0700
lame (3.97-0.1) unstable; urgency=low
* Preparation for new upstream release.
* debian/control: modified short descriptions to be lower case.
-- Rogério Brito <rbrito@users.sf.net> Fri, 18 Mar 2005 01:18:42 -0300
lame (3.96-0.1) unstable; urgency=low
* Update debian packaging for lame 3.96
-- Geoffrey T. Dairiki <dairiki@dairiki.org> Fri, 9 Apr 2004 10:28:12 -0700
lame (3.94-0.1) unstable; urgency=low
* Update packaging for lame 3.94 alpha 14;
* Made progress to make the package as lintian-clean as possible:
* debian/copyright: removed the traces of the skeleton file;
* debian/rules: avoid using --host, as per warning of ./configure;
* debian/rules: use trick to avoind generating a library with rpath;
* debian/lame.docs: avoid generating duplicate html documentation;
* debian/control: added dependency on debhelper >= 3;
* still more work left, but progressing anyway (i.e., changes listed in
/usr/share/doc/debian-policy/upgrading-checklist.txt.gz should be
applied).
-- Rogério Brito <rbrito@users.sf.net> Tue, 15 Jul 2003 19:30:42 -0300
lame (3.93-0.1) unstable; urgency=low
* Prevent lame 3.93 shipping and still building a 3.92 debian package;
* Use --enable-nasm, as is shouldn't break compilation on non-x86;
* Use --enable-expopt, to get a bit more of speed.
-- Rogério Brito <rbrito@users.sf.net> Sun, 25 Aug 2002 18:58:16 -0300
lame (3.92-1) unstable; urgency=low
* New upstream release.
* Closes: #578135.
-- Rogério Brito <linuxsup@ig.com.br> Sun, 28 Jul 2002 03:08:04 -0300
lame (3.91-1) unstable; urgency=low
* New upstream release.
-- Rogerio Brito <linuxsup@ig.com.br> Sun, 20 Jan 2002 20:50:19 -0200
lame (3.90.1-0) unstable; urgency=low
* New upstream release.
* debian/control: nasm is only a build-dependency on x86;
* debian/control: added debhelper to build-dependency list;
* debian/control: changed description of the binary packages;
* debian/rules: enabled experimental/agressive optimizations;
* debian/rules: effectively spread the installed files in binary packages;
* debian/rules: now dh_makeshlibs creates good postinst and prerm scripts;
* Changed the lame-dev package to liblame0-dev;
* Removed references to lame-extras, since it doesn't exist anymore;
* Added LICENCE to copyright and excluded it from the binary package;
* Removed INSTALL from the binary package;
* lame is now almost lintian clean (the only problem remaining is
an rpath in liblame build process).
-- Rogerio Brito <linuxsup@ig.com.br> Fri, 28 Dec 2001 04:08:57 -0200
lame (3.90-1) unstable; urgency=low
* New upstream release.
-- Viral <viral@debian.org> Tue, 21 Aug 2001 13:50:14 +0530
lame (3.89-1) unstable; urgency=low
* New upstream version.
* Added --host=$$(dpkg-architecture -qDEB_HOST_GNU_TYPE) to configure.
* Added liblame0 package.
* Added doc-base entry.
* Actual ChangeLog is installed now instead of history.html
-- Viral <viral@debian.org> Sun, 22 Jul 2001 03:07:30 +0530
lame (3.88-0) unstable; urgency=low
* Updated debian/ directory to use configure.
-- Ingo Saitz <Ingo.Saitz@stud.uni-hannover.de> Mon, 11 Dec 2000 08:43:26 +0100
lame (3.86-1) unstable; urgency=low
* Initial Release.
-- Stefan Karrmann <S.Karrmann@gmx.net> Thu, 31 Aug 2000 22:15:07 +0200
Local variables:
mode: debian-changelog
End:

1
node_modules/lame/deps/lame/debian/compat generated vendored Normal file
View File

@ -0,0 +1 @@
7

51
node_modules/lame/deps/lame/debian/control generated vendored Normal file
View File

@ -0,0 +1,51 @@
Source: lame
Section: sound
Priority: optional
Maintainer: Rogério Brito <rbrito@users.sf.net>
Bugs: mailto:lame-dev@lists.sourceforge.net
Homepage: http://lame.sourceforge.net/
Build-Depends: debhelper (>= 7.0.50~),
libncurses5-dev,
nasm [any-i386],
libsndfile1-dev,
autotools-dev
Standards-Version: 3.9.1
Package: lame
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: open source MP3 encoder
Lame is a program which can be used to create compressed
audio files. (Lame aint MP3 encoder). These audio files
can be played back by popular mp3 players such as mpg123.
To read from stdin, use "-" for <infile>. To write to
stdout, use a "-" for <outfile>.
.
This package contains the frontend encoder binary.
Package: libmp3lame0
Architecture: any
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: shared libraries for MP3 encoding
Lame is a program which can be used to create compressed
audio files. (Lame aint MP3 encoder). These audio files
can be played back by popular mp3 players such as mpg123.
To read from stdin, use "-" for <infile>. To write to
stdout, use a "-" for <outfile>.
.
This package contains the dynamic library.
Package: libmp3lame-dev
Architecture: any
Section: libdevel
Depends: libmp3lame0 (= ${binary:Version}), ${misc:Depends}
Description: development files for lame
Lame is a program which can be used to create compressed
audio files. (Lame aint MP3 encoder). These audio files
can be played back by popular mp3 players such as mpg123.
To read from stdin, use "-" for <infile>. To write to
stdout, use a "-" for <outfile>.
.
This package contains the static library and header files
for development with lame.

55
node_modules/lame/deps/lame/debian/copyright generated vendored Normal file
View File

@ -0,0 +1,55 @@
This package was originally made by Stefan Karrmann <S.Karrmann@gmx.net>
on Thu, 31 Aug 2000 22:15:07 +0200.
The current maintainer is Rogério Brito <rbrito@users.sf.net>.
It was downloaded from the CVS repository at <http://sf.net/projects/lame>.
Upstream Authors: The LAME team <lame-dev@lists.sf.net>.
Copyright © 1999-2009 The LAME team <lame-dev@lists.sf.net> and contributors.
LAME is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
LAME is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
MA 02110-1301, USA.
Additionally, the original software's LICENCE file contains the following:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Can I use LAME in my commercial program?
Yes, you can, under the restrictions of the LGPL. The easiest
way to do this is to:
1. Link to LAME as separate library (libmp3lame.a on unix or
lame_enc.dll on windows)
2. Fully acknowledge that you are using LAME, and give a link
to our web site, www.mp3dev.org
3. If you make modifications to LAME, you *must* release these
these modifications back to the LAME project, under the LGPL.
*** IMPORTANT NOTE ***
The decoding functions provided in LAME use the mpglib decoding engine which
is under the GPL. They may not be used by any program not released under the
GPL unless you obtain such permission from the MPG123 project (www.mpg123.de).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
On Debian systems, the complete text of the GNU Library General Public
License can be found in `/usr/share/common-licenses/LGPL-2'.
The Debian packaging is © 2005-2009, Rogério Brito <rbrito@users.sf.net>
and is licensed under the GPL, see above.

1
node_modules/lame/deps/lame/debian/lame.docs generated vendored Normal file
View File

@ -0,0 +1 @@
USAGE

2
node_modules/lame/deps/lame/debian/lame.install generated vendored Normal file
View File

@ -0,0 +1,2 @@
usr/bin/lame
usr/share/doc/lame/html/*.html

1
node_modules/lame/deps/lame/debian/lame.manpages generated vendored Normal file
View File

@ -0,0 +1 @@
doc/man/lame.1

View File

@ -0,0 +1,3 @@
usr/include/lame/lame.h
usr/lib/*.{a,la}
usr/lib/libmp3lame*.so

View File

@ -0,0 +1 @@
usr/lib/libmp3lame.so.*

18
node_modules/lame/deps/lame/debian/rules generated vendored Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/make -f
%:
dh $@ --parallel
CFLAGS += -g -Wall -Wextra
LDFLAGS += -Wl,-O1 -Wl,-z,defs -Wl,--as-needed
override_dh_auto_configure:
dh_auto_configure -- \
--with-fileio=sndfile \
--enable-nasm \
--with-pic \
--disable-mp3x \
--disable-mp3rtp \
--disable-gtktest \
--enable-dynamic-frontends \
--enable-expopt=full

Some files were not shown because too many files have changed in this diff Show More