X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_audio_import.cc;h=1e8d157f14f1e133023aac9be5361b1537ba5b8c;hb=0310f8997147cc50600a98f05ef1a6c486e688c7;hp=adbb113aaccb422d958b2668244a18d18d3661aa;hpb=97c4c2a28c19b7979ecbfd2eff28a351dfae1e6a;p=ardour.git diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc index adbb113aac..1e8d157f14 100644 --- a/gtk2_ardour/editor_audio_import.cc +++ b/gtk2_ardour/editor_audio_import.cc @@ -285,7 +285,7 @@ Editor::import_smf_tempo_map (Evoral::SMF const & smf, framepos_t pos) Evoral::SMF::Tempo* t = smf.nth_tempo (n); assert (t); - Tempo tempo (t->tempo(), 4.0); + Tempo tempo (t->tempo(), 32.0 / (double) t->notes_per_note); Meter meter (t->numerator, t->denominator); Timecode::BBT_Time bbt; /* 1|1|0 which is correct for the no-meter case */ @@ -629,7 +629,7 @@ Editor::embed_sndfiles (vector paths, SoundFileInfo finfo; CursorContext::Handle cursor_ctx = CursorContext::create(*this, _cursors->wait); - gdk_flush (); + gdk_flush (); for (vector::iterator p = paths.begin(); p != paths.end(); ++p) { @@ -913,33 +913,33 @@ Editor::add_sources (vector paths, boost::shared_ptr ar = boost::dynamic_pointer_cast (*r); if (use_timestamp) { - if (ar) { - - /* get timestamp for this region */ - - const boost::shared_ptr s (ar->sources().front()); - const boost::shared_ptr as = boost::dynamic_pointer_cast (s); - - assert (as); - - if (as->natural_position() != 0) { - pos = as->natural_position(); - } else if (target_tracks == 1) { - /* hmm, no timestamp available, put it after the previous region - */ - if (n == 0) { - pos = get_preferred_edit_position (); - } else { - pos += rlen; - } - } else { - pos = get_preferred_edit_position (); - } - } else { - /* should really get first position in MIDI file, but for now, use edit position*/ - pos = get_preferred_edit_position (); - } - } + if (ar) { + + /* get timestamp for this region */ + + const boost::shared_ptr s (ar->sources().front()); + const boost::shared_ptr as = boost::dynamic_pointer_cast (s); + + assert (as); + + if (as->natural_position() != 0) { + pos = as->natural_position(); + } else if (target_tracks == 1) { + /* hmm, no timestamp available, put it after the previous region + */ + if (n == 0) { + pos = get_preferred_edit_position (); + } else { + pos += rlen; + } + } else { + pos = get_preferred_edit_position (); + } + } else { + /* should really get first position in MIDI file, but for now, use edit position*/ + pos = get_preferred_edit_position (); + } + } finish_bringing_in_material (*r, input_chan, output_chan, pos, mode, track, track_names[n], instrument); @@ -1029,7 +1029,7 @@ Editor::finish_bringing_in_material (boost::shared_ptr region, } else if (mr) { list > mt ( _session->new_midi_track (ChanCount (DataType::MIDI, 1), - ChanCount (DataType::MIDI, 1), + ChanCount (DataType::MIDI, 1), Config->get_strict_io () || Profile->get_mixbus (), instrument, (Plugin::PresetRecord*) 0, (RouteGroup*) 0,