diff options
author | David Robillard <d@drobilla.net> | 2008-09-30 00:45:26 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-09-30 00:45:26 +0000 |
commit | 9a30bb2aecabcdd16568e6548dd1aeade8effa48 (patch) | |
tree | 08a5f0bc2edf652518fd03d5de2cb742ad1d5dc4 /libs/ardour/import.cc | |
parent | b5ec66ae6cb60fa43c343d3d29340b2370d0b9d1 (diff) |
Separate low level details of SMF reading/writing from concept of 'midi source in ardour'.
git-svn-id: svn://localhost/ardour2/branches/3.0@3839 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/import.cc')
-rw-r--r-- | libs/ardour/import.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/libs/ardour/import.cc b/libs/ardour/import.cc index 370991be5f..3f6e60af33 100644 --- a/libs/ardour/import.cc +++ b/libs/ardour/import.cc @@ -37,6 +37,8 @@ #include <pbd/basename.h> #include <pbd/convert.h> +#include <evoral/SMFReader.hpp> + #include <ardour/ardour.h> #include <ardour/session.h> #include <ardour/session_directory.h> @@ -50,7 +52,6 @@ #include <ardour/resampled_source.h> #include <ardour/sndfileimportable.h> #include <ardour/analyser.h> -#include <ardour/smf_reader.h> #include <ardour/smf_source.h> #include <ardour/tempo.h> @@ -302,7 +303,7 @@ write_audio_data_to_new_files (ImportableSource* source, Session::import_status& } static void -write_midi_data_to_new_files (SMFReader* source, Session::import_status& status, +write_midi_data_to_new_files (Evoral::SMFReader* source, Session::import_status& status, vector<boost::shared_ptr<Source> >& newfiles) { Evoral::Event ev(0, 0.0, 4, NULL, true); @@ -344,9 +345,7 @@ write_midi_data_to_new_files (SMFReader* source, Session::import_status& status, smfs->session().tempo_map().meter_at(timeline_position)); smfs->update_length(0, (nframes_t) ceil ((t / (double)source->ppqn()) * frames_per_beat)); - - smfs->flush_header(); - smfs->flush_footer(); + smfs->end_write(); if (status.cancel) break; @@ -384,7 +383,7 @@ Session::import_audiofiles (import_status& status) ++p, ++cnt) { boost::shared_ptr<ImportableSource> source; - std::auto_ptr<SMFReader> smf_reader; + std::auto_ptr<Evoral::SMFReader> smf_reader; const DataType type = ((*p).rfind(".mid") != string::npos) ? DataType::MIDI : DataType::AUDIO; @@ -400,9 +399,9 @@ Session::import_audiofiles (import_status& status) } else { try { - smf_reader = std::auto_ptr<SMFReader>(new SMFReader(*p)); + smf_reader = std::auto_ptr<Evoral::SMFReader>(new Evoral::SMFReader(*p)); channels = smf_reader->num_tracks(); - } catch (const SMFReader::UnsupportedTime& err) { + } catch (const Evoral::SMFReader::UnsupportedTime& err) { error << _("Import: unsupported MIDI time stamp format") << endmsg; status.done = status.cancel = true; return; |