extensive changes to PresentationInfo API
[ardour.git] / libs / ardour / import.cc
index eb2ed769d1fe8b4f93117218ecddb76a540dcd90..dbb3db62855edfe08380a3ae696b94cf8b9fdf7d 100644 (file)
@@ -34,7 +34,7 @@
 #include <sndfile.h>
 #include <samplerate.h>
 
-#include <glib/gstdio.h>
+#include "pbd/gstdio_compat.h"
 #include <glibmm.h>
 
 #include <boost/scoped_array.hpp>
@@ -392,9 +392,9 @@ write_midi_data_to_new_files (Evoral::SMF* source, ImportStatus& status,
 
                                smfs->append_event_beats(
                                        source_lock,
-                                       Evoral::Event<Evoral::MusicalTime>(
+                                       Evoral::Event<Evoral::Beats>(
                                                0,
-                                               Evoral::MusicalTime::ticks_at_rate(t, source->ppqn()),
+                                               Evoral::Beats::ticks_at_rate(t, source->ppqn()),
                                                size,
                                                buf));
 
@@ -407,9 +407,9 @@ write_midi_data_to_new_files (Evoral::SMF* source, ImportStatus& status,
 
                                /* we wrote something */
 
-                               const framepos_t          pos = 0;
-                               const Evoral::MusicalTime length_beats = Evoral::MusicalTime::ticks_at_rate(t, source->ppqn());
-                               BeatsFramesConverter      converter(smfs->session().tempo_map(), pos);
+                               const framepos_t     pos          = 0;
+                               const Evoral::Beats  length_beats = Evoral::Beats::ticks_at_rate(t, source->ppqn());
+                               BeatsFramesConverter converter(smfs->session().tempo_map(), pos);
                                smfs->update_length(pos + converter.to(length_beats.round_up_to_beat()));
                                smfs->mark_streaming_write_completed (source_lock);
 
@@ -417,14 +417,14 @@ write_midi_data_to_new_files (Evoral::SMF* source, ImportStatus& status,
                                        break;
                                }
                        } else {
-                               info << string_compose (_("Track %1 of %2 contained no usable MIDI data"), i, source->file_path()) << endmsg;
+                               info << string_compose (_("Track %1 of %2 contained no usable MIDI data"), i, source->num_tracks()) << endmsg;
                        }
 
                        ++s; // next source
                }
 
-       } catch (...) {
-               error << string_compose (_("MIDI file %1 was not readable (no reason available)"), source->file_path()) << endmsg;
+       } catch (exception& e) {
+               error << string_compose (_("MIDI file could not be written (best guess: %1)"), e.what()) << endmsg;
        }
 
        if (buf) {
@@ -459,7 +459,7 @@ Session::import_files (ImportStatus& status)
 
        status.sources.clear ();
 
-       for (vector<string>::iterator p = status.paths.begin();
+       for (vector<string>::const_iterator p = status.paths.begin();
             p != status.paths.end() && !status.cancel;
             ++p)
        {
@@ -488,7 +488,7 @@ Session::import_files (ImportStatus& status)
                                return;
                        }
                }
-               
+
                if (channels == 0) {
                        error << _("Import: file contains no channels.") << endmsg;
                        continue;
@@ -553,7 +553,7 @@ Session::import_files (ImportStatus& status)
                                        Analyser::queue_source_for_analysis (boost::static_pointer_cast<Source>(*x), false);
                                }
                        }
-                       
+
                        /* imported, copied files cannot be written or removed
                         */
 
@@ -591,7 +591,7 @@ Session::import_files (ImportStatus& status)
                } catch (...) {
                        error << _("Failed to remove some files after failed/cancelled import operation") << endmsg;
                }
-                               
+
        }
 
        status.done = true;