Audacity 3.2.0
Classes | Namespaces | Macros | Typedefs | Enumerations | Variables
ExportFLAC.cpp File Reference
#include <rapidjson/document.h>
#include "Export.h"
#include <wx/ffile.h>
#include <wx/log.h>
#include "FLAC++/encoder.h"
#include "float_cast.h"
#include "Mix.h"
#include "Prefs.h"
#include "Tags.h"
#include "Track.h"
#include "wxFileNameWrapper.h"
#include "ExportPluginHelpers.h"
#include "ExportPluginRegistry.h"
#include "PlainExportOptionsEditor.h"
Include dependency graph for ExportFLAC.cpp:

Go to the source code of this file.

Classes

struct  FLAC__StreamMetadataDeleter
 
class  FLACExportProcessor
 
class  ExportFLAC
 

Namespaces

namespace  anonymous_namespace{ExportFLAC.cpp}
 

Macros

#define SAMPLES_PER_RUN   8192u
 
#define LEGACY_FLAC
 

Typedefs

using FLAC__StreamMetadataHandle = std::unique_ptr< FLAC__StreamMetadata, FLAC__StreamMetadataDeleter >
 

Enumerations

enum  : int { anonymous_namespace{ExportFLAC.cpp}::FlacOptionIDBitDepth = 0 , anonymous_namespace{ExportFLAC.cpp}::FlacOptionIDLevel }
 

Variables

const std::initializer_list< PlainExportOptionsEditor::OptionDescanonymous_namespace{ExportFLAC.cpp}::FlacOptions
 
ChoiceSetting FLACBitDepth
 
ChoiceSetting FLACLevel
 
struct {
   bool   do_exhaustive_model_search
 
   bool   do_escape_coding
 
   bool   do_mid_side_stereo
 
   bool   loose_mid_side_stereo
 
   unsigned   qlp_coeff_precision
 
   unsigned   min_residual_partition_order
 
   unsigned   max_residual_partition_order
 
   unsigned   rice_parameter_search_dist
 
   unsigned   max_lpc_order
 
flacLevels []
 
static ExportPluginRegistry::RegisteredPlugin sRegisteredPlugin
 

Macro Definition Documentation

◆ LEGACY_FLAC

#define LEGACY_FLAC

Definition at line 137 of file ExportFLAC.cpp.

◆ SAMPLES_PER_RUN

#define SAMPLES_PER_RUN   8192u

Definition at line 133 of file ExportFLAC.cpp.

Typedef Documentation

◆ FLAC__StreamMetadataHandle

using FLAC__StreamMetadataHandle = std::unique_ptr< FLAC__StreamMetadata, FLAC__StreamMetadataDeleter >

Definition at line 171 of file ExportFLAC.cpp.

Variable Documentation

◆ do_escape_coding

bool do_escape_coding

Definition at line 145 of file ExportFLAC.cpp.

Referenced by FLACExportProcessor::Initialize().

◆ do_exhaustive_model_search

bool do_exhaustive_model_search

Definition at line 144 of file ExportFLAC.cpp.

Referenced by FLACExportProcessor::Initialize().

◆ do_mid_side_stereo

bool do_mid_side_stereo

Definition at line 146 of file ExportFLAC.cpp.

Referenced by FLACExportProcessor::Initialize().

◆ FLACBitDepth

ChoiceSetting FLACBitDepth
Initial value:
{
wxT("/FileFormats/FLACBitDepth"),
{
{ XO("16 bit") , XO("24 bit") , },
{ wxT("16") , wxT("24") , }
},
0
}
wxT("CloseDown"))
XO("Cut/Copy/Paste")
ByColumns_t ByColumns
Definition: Prefs.cpp:515

Definition at line 93 of file ExportFLAC.cpp.

◆ FLACLevel

ChoiceSetting FLACLevel
Initial value:
{
wxT("/FileFormats/FLACLevel"),
{
{
XO("0 (fastest)") ,
XO("1") ,
XO("2") ,
XO("3") ,
XO("4") ,
XO("5") ,
XO("6") ,
XO("7") ,
XO("8 (best)") ,
},
{
wxT("0") ,
wxT("1") ,
wxT("2") ,
wxT("3") ,
wxT("4") ,
wxT("5") ,
wxT("6") ,
wxT("7") ,
wxT("8") ,
}
},
5
}

Definition at line 103 of file ExportFLAC.cpp.

◆ 

struct { ... } flacLevels[]
Initial value:
= {
{ false, false, false, false, 0, 2, 2, 0, 0 },
{ false, false, true, true, 0, 2, 2, 0, 0 },
{ false, false, true, false, 0, 0, 3, 0, 0 },
{ false, false, false, false, 0, 3, 3, 0, 6 },
{ false, false, true, true, 0, 3, 3, 0, 8 },
{ false, false, true, false, 0, 3, 3, 0, 8 },
{ false, false, true, false, 0, 0, 4, 0, 8 },
{ true, false, true, false, 0, 0, 6, 0, 8 },
{ true, false, true, false, 0, 0, 6, 0, 12 },
}

Referenced by FLACExportProcessor::Initialize().

◆ loose_mid_side_stereo

bool loose_mid_side_stereo

Definition at line 147 of file ExportFLAC.cpp.

Referenced by FLACExportProcessor::Initialize().

◆ max_lpc_order

unsigned max_lpc_order

Definition at line 152 of file ExportFLAC.cpp.

Referenced by FLACExportProcessor::Initialize().

◆ max_residual_partition_order

unsigned max_residual_partition_order

Definition at line 150 of file ExportFLAC.cpp.

Referenced by FLACExportProcessor::Initialize().

◆ min_residual_partition_order

unsigned min_residual_partition_order

Definition at line 149 of file ExportFLAC.cpp.

Referenced by FLACExportProcessor::Initialize().

◆ qlp_coeff_precision

unsigned qlp_coeff_precision

Definition at line 148 of file ExportFLAC.cpp.

Referenced by FLACExportProcessor::Initialize().

◆ rice_parameter_search_dist

unsigned rice_parameter_search_dist

Definition at line 151 of file ExportFLAC.cpp.

Referenced by FLACExportProcessor::Initialize().

◆ sRegisteredPlugin

ExportPluginRegistry::RegisteredPlugin sRegisteredPlugin
static
Initial value:
{ "FLAC",
[]{ return std::make_unique< ExportFLAC >(); }
}

Definition at line 528 of file ExportFLAC.cpp.