DSF2FLAC
Defines | Functions | Variables
main.cpp File Reference
#include <boost/timer/timer.hpp>
#include <boost/filesystem.hpp>
#include <dsd_decimator.h>
#include <dsf_file_reader.h>
#include <dsdiff_file_reader.h>
#include <tagConversion.h>
#include "FLAC++/metadata.h"
#include "FLAC++/encoder.h"
#include "math.h"
#include "cmdline.h"
#include <sstream>
#include "dop_packer.h"

Defines

#define flacBlockLen   100

Functions

static nanosecond_type reportInterval (100000000LL)
void setupTimer (dsf2flac_float64 currPos)
void checkTimer (dsf2flac_float64 currPos, dsf2flac_float64 percent)
boost::filesystem::path muti_track_name_helper (boost::filesystem::path outpath, int n)
int pcm_track_helper (boost::filesystem::path outpath, dsdDecimator *dec, int bits, dsf2flac_float64 scale, dsf2flac_float64 tpdfDitherPeakAmplitude, dsf2flac_float64 startPos, dsf2flac_float64 endPos, ID3_Tag id3tag)
int do_pcm_conversion (dsdSampleReader *dsr, int fs, int bits, bool dither, dsf2flac_float64 userScale, boost::filesystem::path inpath, boost::filesystem::path outpath)
int dop_track_helper (boost::filesystem::path outpath, dsdSampleReader *dsr, dsf2flac_int64 startPos, dsf2flac_int64 endPos, ID3_Tag id3tag)
int do_dop_conversion (dsdSampleReader *dsr, boost::filesystem::path inpath, boost::filesystem::path outpath)
int main (int argc, char **argv)

Variables

static cpu_timer timer
static dsf2flac_float64 lastPos

Define Documentation

#define flacBlockLen   100

dsf2flac - http://code.google.com/p/dsf2flac/

A file conversion tool for translating dsf dsd audio files into flac pcm audio files.

Copyright (c) 2013 by respective authors.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Acknowledgements

Many thanks to the following authors and projects whose work has greatly helped the development of this tool.

Sebastian Gesemann - dsd2pcm (http://code.google.com/p/dsd2pcm/) SACD Ripper (http://code.google.com/p/sacd-ripper/) Maxim V.Anisiutkin - foo_input_sacd (http://sourceforge.net/projects/sacddecoder/files/) Vladislav Goncharov - foo_input_sacd_hq (http://vladgsound.wordpress.com) Jesus R - www.sonore.us


Function Documentation

void checkTimer ( dsf2flac_float64  currPos,
dsf2flac_float64  percent 
)

void checkTimer(dsf2flac_float64 currPos, dsf2flac_float64 percent)

called to report progress to the user.

int do_dop_conversion ( dsdSampleReader dsr,
boost::filesystem::path  inpath,
boost::filesystem::path  outpath 
)

int do_dop_conversion

this function handles conversion into DoP encoded flac

int do_pcm_conversion ( dsdSampleReader dsr,
int  fs,
int  bits,
bool  dither,
dsf2flac_float64  userScale,
boost::filesystem::path  inpath,
boost::filesystem::path  outpath 
)
int dop_track_helper ( boost::filesystem::path  outpath,
dsdSampleReader dsr,
dsf2flac_int64  startPos,
dsf2flac_int64  endPos,
ID3_Tag  id3tag 
)

dop_track_helper

int main ( int  argc,
char **  argv 
)
boost::filesystem::path muti_track_name_helper ( boost::filesystem::path  outpath,
int  n 
)

muti_track_name_helper

little helper to construct file names for multiple track files.

int pcm_track_helper ( boost::filesystem::path  outpath,
dsdDecimator dec,
int  bits,
dsf2flac_float64  scale,
dsf2flac_float64  tpdfDitherPeakAmplitude,
dsf2flac_float64  startPos,
dsf2flac_float64  endPos,
ID3_Tag  id3tag 
)

int track_helper()

converts a track at a time to PCM FLAC

static nanosecond_type reportInterval ( 100000000LL  ) [static]
void setupTimer ( dsf2flac_float64  currPos)

void setupTimer(dsf2flac_float64 currPos)

called by main to setup the boost timer for reporting progress to the user


Variable Documentation

cpu_timer timer [static]
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines