diff options
author | Sakari Bergen <sakari.bergen@beatwaves.net> | 2012-10-30 21:14:03 +0000 |
---|---|---|
committer | Sakari Bergen <sakari.bergen@beatwaves.net> | 2012-10-30 21:14:03 +0000 |
commit | c8a4bdc4a4aecca78a986aa419fc0ccdea1c8a69 (patch) | |
tree | 2574487edd8f7f43a8434f37755a270e758fdf06 /libs/ardour/export_graph_builder.cc | |
parent | b5c5fc7a08a4f02d80a664ee18812e84d08dc6fd (diff) |
Create export temporary files in the export directory
git-svn-id: svn://localhost/ardour2/branches/3.0@13371 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/export_graph_builder.cc')
-rw-r--r-- | libs/ardour/export_graph_builder.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libs/ardour/export_graph_builder.cc b/libs/ardour/export_graph_builder.cc index 2be9044415..fd39aa6cd6 100644 --- a/libs/ardour/export_graph_builder.cc +++ b/libs/ardour/export_graph_builder.cc @@ -1,5 +1,7 @@ #include "ardour/export_graph_builder.h" +#include <glibmm/miscutils.h> + #include "audiographer/process_context.h" #include "audiographer/general/chunker.h" #include "audiographer/general/interleaver.h" @@ -17,6 +19,7 @@ #include "ardour/export_filename.h" #include "ardour/export_format_specification.h" #include "ardour/export_timespan.h" +#include "ardour/session_directory.h" #include "ardour/sndfile_helpers.h" #include "pbd/file_utils.h" @@ -292,6 +295,12 @@ ExportGraphBuilder::SFC::operator== (FileSpec const & other_config) const ExportGraphBuilder::Normalizer::Normalizer (ExportGraphBuilder & parent, FileSpec const & new_config, framecnt_t /*max_frames*/) : parent (parent) { + std::string tmpfile_path = parent.session.session_directory().export_path(); + tmpfile_path = Glib::build_filename(tmpfile_path, "XXXXXX"); + char tmpfile_path_buf[tmpfile_path.size() + 1]; + std::copy(tmpfile_path.begin(), tmpfile_path.end(), tmpfile_path_buf); + tmpfile_path_buf[tmpfile_path.size()] = '\0'; + config = new_config; uint32_t const channels = config.channel_config->get_n_chans(); max_frames_out = 4086 - (4086 % channels); // TODO good chunk size @@ -305,7 +314,7 @@ ExportGraphBuilder::Normalizer::Normalizer (ExportGraphBuilder & parent, FileSpe normalizer->add_output (threader); int format = ExportFormatBase::F_RAW | ExportFormatBase::SF_Float; - tmp_file.reset (new TmpFile<float> (format, channels, config.format->sample_rate())); + tmp_file.reset (new TmpFile<float> (tmpfile_path_buf, format, channels, config.format->sample_rate())); tmp_file->FileWritten.connect_same_thread (post_processing_connection, boost::bind (&Normalizer::start_post_processing, this)); |