summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-04-10 01:35:11 +0000
committerCarl Hetherington <carl@carlh.net>2010-04-10 01:35:11 +0000
commit33028f4d6d993f8dbb644a3d869aba94738b5542 (patch)
tree380a44ae3cd478945f4fedc818ffebc0414ec67c /libs
parent2a4f4e27632cbda32ec908bfecececefcd48b023 (diff)
Fix import dialogue to correctly report (x of N) with multiple files, and slightly prettify it. Partially fixes #3064.
git-svn-id: svn://localhost/ardour2/branches/3.0@6882 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/import_status.h1
-rw-r--r--libs/ardour/import.cc15
2 files changed, 9 insertions, 7 deletions
diff --git a/libs/ardour/ardour/import_status.h b/libs/ardour/ardour/import_status.h
index e6207c6ee8..90513e8639 100644
--- a/libs/ardour/ardour/import_status.h
+++ b/libs/ardour/ardour/import_status.h
@@ -33,6 +33,7 @@ struct ImportStatus : public InterThreadInfo {
std::string doing_what;
/* control info */
+ uint32_t current;
uint32_t total;
SrcQuality quality;
volatile bool freeze;
diff --git a/libs/ardour/import.cc b/libs/ardour/import.cc
index 61eb959829..64eadbb973 100644
--- a/libs/ardour/import.cc
+++ b/libs/ardour/import.cc
@@ -250,14 +250,14 @@ compose_status_message (const string& path,
uint total_files)
{
if (file_samplerate != session_samplerate) {
- return string_compose (_("resampling %1 from %2kHz to %3kHz\n(%4 of %5)"),
- Glib::path_get_basename (path),
+ return string_compose (_("<b>Resampling</b> from %1kHz to %2kHz.\n<i>%3</i>\n(%4 of %5)"),
file_samplerate/1000.0f,
session_samplerate/1000.0f,
+ Glib::path_get_basename (path),
current_file, total_files);
}
- return string_compose (_("copying %1\n(%2 of %3)"),
+ return string_compose (_("<b>Copying</b>\n<i>%1</i>\n(%2 of %3)"),
Glib::path_get_basename (path),
current_file, total_files);
}
@@ -442,7 +442,6 @@ remove_file_source (boost::shared_ptr<Source> source)
void
Session::import_audiofiles (ImportStatus& status)
{
- uint32_t cnt = 1;
typedef vector<boost::shared_ptr<Source> > Sources;
Sources all_new_sources;
boost::shared_ptr<AudioFileSource> afs;
@@ -452,8 +451,8 @@ Session::import_audiofiles (ImportStatus& status)
status.sources.clear ();
for (vector<Glib::ustring>::iterator p = status.paths.begin();
- p != status.paths.end() && !status.cancel;
- ++p, ++cnt)
+ p != status.paths.end() && !status.cancel;
+ ++p)
{
boost::shared_ptr<ImportableSource> source;
std::auto_ptr<Evoral::SMF> smf_reader;
@@ -510,12 +509,14 @@ Session::import_audiofiles (ImportStatus& status)
if (source) { // audio
status.doing_what = compose_status_message (*p, source->samplerate(),
- frame_rate(), cnt, status.total);
+ frame_rate(), status.current, status.total);
write_audio_data_to_new_files (source.get(), status, newfiles);
} else if (smf_reader.get()) { // midi
status.doing_what = string_compose(_("Loading MIDI file %1"), *p);
write_midi_data_to_new_files (smf_reader.get(), status, newfiles);
}
+
+ ++status.current;
}
if (!status.cancel) {