mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-25 07:43:54 +02:00
Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches
This commit is contained in:
80
src/SampleFormat.h
Normal file
80
src/SampleFormat.h
Normal file
@@ -0,0 +1,80 @@
|
||||
/**********************************************************************
|
||||
|
||||
Audacity: A Digital Audio Editor
|
||||
|
||||
SampleFormat.h
|
||||
|
||||
Dominic Mazzoni
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __AUDACITY_SAMPLE_FORMAT__
|
||||
#define __AUDACITY_SAMPLE_FORMAT__
|
||||
|
||||
#include "Audacity.h"
|
||||
#include <wx/defs.h>
|
||||
|
||||
//
|
||||
// Definitions / Meta-Information
|
||||
//
|
||||
|
||||
typedef enum {
|
||||
int16Sample = 0x00020001,
|
||||
int24Sample = 0x00040001,
|
||||
floatSample = 0x0004000F
|
||||
} sampleFormat;
|
||||
|
||||
/** \brief Return the size (in memory) of one sample (bytes) */
|
||||
#define SAMPLE_SIZE(SampleFormat) (SampleFormat >> 16)
|
||||
/** \brief Return the size on disk of one uncompressed sample (bytes) */
|
||||
#define SAMPLE_SIZE_DISK(SampleFormat) ((SampleFormat == int24Sample) ? \
|
||||
3 : SAMPLE_SIZE(SampleFormat) )
|
||||
|
||||
typedef char *samplePtr;
|
||||
|
||||
const wxChar *GetSampleFormatStr(sampleFormat format);
|
||||
|
||||
//
|
||||
// Allocating/Freeing Samples
|
||||
//
|
||||
|
||||
AUDACITY_DLL_API samplePtr NewSamples(int count, sampleFormat format);
|
||||
AUDACITY_DLL_API void DeleteSamples(samplePtr p);
|
||||
|
||||
//
|
||||
// Copying, Converting and Clearing Samples
|
||||
//
|
||||
|
||||
void CopySamples(samplePtr src, sampleFormat srcFormat,
|
||||
samplePtr dst, sampleFormat dstFormat,
|
||||
unsigned int len, bool highQuality=true,
|
||||
unsigned int stride=1);
|
||||
|
||||
void CopySamplesNoDither(samplePtr src, sampleFormat srcFormat,
|
||||
samplePtr dst, sampleFormat dstFormat,
|
||||
unsigned int len,
|
||||
unsigned int stride=1);
|
||||
|
||||
void ClearSamples(samplePtr buffer, sampleFormat format,
|
||||
int start, int len);
|
||||
|
||||
//
|
||||
// This must be called on startup and everytime new ditherers
|
||||
// are set in preferences.
|
||||
//
|
||||
|
||||
void InitDitherers();
|
||||
|
||||
#endif
|
||||
|
||||
// Indentation settings for Vim and Emacs and unique identifier for Arch, a
|
||||
// version control system. Please do not modify past this point.
|
||||
//
|
||||
// Local Variables:
|
||||
// c-basic-offset: 3
|
||||
// indent-tabs-mode: nil
|
||||
// End:
|
||||
//
|
||||
// vim: et sts=3 sw=3
|
||||
// arch-tag: 89cae057-838e-417c-b312-16dca9c38f43
|
||||
|
||||
Reference in New Issue
Block a user