DSF2FLAC
|
#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 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
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 | ||
) |
int main(int argc, char **argv)
Main
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
dsf2flac_float64 lastPos [static] |
cpu_timer timer [static] |