diff options
author | Robin Gareus <robin@gareus.org> | 2015-10-05 21:43:44 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-10-05 22:15:17 +0200 |
commit | 97bd6db2b7c52d636fca9dc340aeb3f6cef7de4d (patch) | |
tree | aa1d81caf3c4bbb83c4c4f0d225f4c2a3db22433 /libs/ardour/audioanalyser.cc | |
parent | b9c8814959eb184fff3e5552e2928a156b62602d (diff) |
remove i/ofstream from libardour
except:
* audio-unit (ifstream is known to work on OSX)
* evoral curve algorithm debugger
* cycle-timer debug code
* export_handler's CDMarker -> TODO
Diffstat (limited to 'libs/ardour/audioanalyser.cc')
-rw-r--r-- | libs/ardour/audioanalyser.cc | 30 |
1 files changed, 5 insertions, 25 deletions
diff --git a/libs/ardour/audioanalyser.cc b/libs/ardour/audioanalyser.cc index ac00a55ead..24aaa51437 100644 --- a/libs/ardour/audioanalyser.cc +++ b/libs/ardour/audioanalyser.cc @@ -102,7 +102,7 @@ AudioAnalyser::reset () int AudioAnalyser::analyse (const string& path, Readable* src, uint32_t channel) { - ofstream ofile; + stringstream outss; Plugin::FeatureSet features; int ret = -1; bool done = false; @@ -110,20 +110,6 @@ AudioAnalyser::analyse (const string& path, Readable* src, uint32_t channel) framecnt_t len = src->readable_length(); framepos_t pos = 0; float* bufs[1] = { 0 }; - string tmp_path; - - if (!path.empty()) { - - /* store data in tmp file, not the real one */ - - tmp_path = path; - tmp_path += ".tmp"; - - ofile.open (tmp_path.c_str()); - if (!ofile) { - goto out; - } - } data = new Sample[bufsize]; bufs[0] = data; @@ -148,7 +134,7 @@ AudioAnalyser::analyse (const string& path, Readable* src, uint32_t channel) features = plugin->process (bufs, RealTime::fromSeconds ((double) pos / sample_rate)); - if (use_features (features, (path.empty() ? 0 : &ofile))) { + if (use_features (features, (path.empty() ? 0 : &outss))) { goto out; } @@ -163,21 +149,15 @@ AudioAnalyser::analyse (const string& path, Readable* src, uint32_t channel) features = plugin->getRemainingFeatures (); - if (use_features (features, (path.empty() ? &ofile : 0))) { + if (use_features (features, (path.empty() ? 0 : &outss))) { goto out; } ret = 0; out: - /* works even if it has not been opened */ - ofile.close (); - - if (ret) { - g_remove (tmp_path.c_str()); - } else if (!path.empty()) { - /* move the data file to the requested path */ - g_rename (tmp_path.c_str(), path.c_str()); + if (!ret) { + g_file_set_contents (path.c_str(), outss.str().c_str(), -1, NULL); } delete [] data; |