View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003595 | ardour | bugs | public | 2010-12-08 20:31 | 2020-04-19 20:14 |
| Reporter | warrenfalk | Assigned To | cth103 | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Summary | 0003595: [PATCH] MIDI Fork operation incorrect if region is not at start of timeline or region start endpoint has changed | ||||
| Description | If 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 Information | I 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); | ||||
| Tags | No tags attached. | ||||
|
|
Hi, Thanks for the patch! A slightly modified version has been committed to SVN. |
|
|
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. |
| 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 |