+ /* Fudge region length to ensure it is non-zero; make it 1 beat at 120bpm
+ for want of a better idea. It can't be too small, otherwise if this
+ is a MIDI region the conversion from frames -> beats -> frames will
+ round it back down to 0 again.
+ */
+ framecnt_t len = (*x)->length (pos);
+ if (len == 0) {
+ len = (60 / 120) * _session->frame_rate ();
+ }
+
+ plist.add (ARDOUR::Properties::start, 0);
+ plist.add (ARDOUR::Properties::length, len);
+ plist.add (ARDOUR::Properties::name, region_name);
+ plist.add (ARDOUR::Properties::layer, 0);
+ plist.add (ARDOUR::Properties::whole_file, true);
+ plist.add (ARDOUR::Properties::external, true);
+
+ boost::shared_ptr<Region> r = RegionFactory::create (just_one, plist);
+
+ if (use_timestamp && boost::dynamic_pointer_cast<AudioRegion>(r)) {
+ boost::dynamic_pointer_cast<AudioRegion>(r)->special_set_position((*x)->natural_position());
+ }
+
+ regions.push_back (r);