View Issue Details

IDProjectCategoryView StatusLast Update
0003595ardourbugspublic2020-04-19 20:14
Reporterwarrenfalk Assigned Tocth103  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Summary0003595: [PATCH] MIDI Fork operation incorrect if region is not at start of timeline or region start endpoint has changed
DescriptionIf you do a fork operation on a MIDI region, it works only if the region is at the beginning of the timeline. If you move the region elsewhere (or you record it elsewhere) or you drag the starting point of the region, then the newly forked region will either have all notes offset, or be missing some notes, or usually completely empty.

To reproduce: (last reproduced in rev 8218)
Create a new MIDI region that doesn't start at the beginning of the timeline. Right click, select MIDI->Fork. See behavior.
Additional InformationI believe the following patch results in correct behavior

Index: libs/ardour/midi_region.cc
===================================================================
--- libs/ardour/midi_region.cc (revision 8218)
+++ libs/ardour/midi_region.cc (working copy)
@@ -98,17 +98,13 @@
 boost::shared_ptr<MidiRegion>
 MidiRegion::clone ()
 {
- BeatsFramesConverter bfc (_session.tempo_map(), _position);
- double bbegin = bfc.from (_position);
- double bend = bfc.from (last_frame() + 1);
+ boost::shared_ptr<MidiSource> ms = midi_source(0)->clone (Evoral::MinMusicalTime, Evoral::MaxMusicalTime);
 
- boost::shared_ptr<MidiSource> ms = midi_source(0)->clone (bbegin, bend);
-
         PropertyList plist;
 
         plist.add (Properties::name, ms->name());
         plist.add (Properties::whole_file, true);
- plist.add (Properties::start, 0);
+ plist.add (Properties::start, _start);
         plist.add (Properties::length, _length);
         plist.add (Properties::layer, 0);


TagsNo tags attached.

Activities

cth103

2010-12-12 00:41

administrator   ~0009598

Hi,

Thanks for the patch! A slightly modified version has been committed to SVN.

system

2020-04-19 20:14

developer   ~0022293

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2010-12-08 20:31 warrenfalk New Issue
2010-12-08 23:04 cth103 cost => 0.00
2010-12-08 23:04 cth103 Target Version => 3.0-alpha1
2010-12-08 23:04 cth103 Summary MIDI Fork operation incorrect if region is not at start of timeline or region start endpoint has changed => [PATCH] MIDI Fork operation incorrect if region is not at start of timeline or region start endpoint has changed
2010-12-12 00:41 cth103 Note Added: 0009598
2010-12-12 00:41 cth103 Status new => resolved
2010-12-12 00:41 cth103 Resolution open => fixed
2010-12-12 00:41 cth103 Assigned To => cth103
2020-04-19 20:14 system Note Added: 0022293
2020-04-19 20:14 system Status resolved => closed