From c8a4bdc4a4aecca78a986aa419fc0ccdea1c8a69 Mon Sep 17 00:00:00 2001 From: Sakari Bergen Date: Tue, 30 Oct 2012 21:14:03 +0000 Subject: Create export temporary files in the export directory git-svn-id: svn://localhost/ardour2/branches/3.0@13371 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/export_graph_builder.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'libs/ardour/export_graph_builder.cc') 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 + #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 (format, channels, config.format->sample_rate())); + tmp_file.reset (new TmpFile (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)); -- cgit v1.2.3