Hack round a maybe delightful (for some values of delightful) and certainly evil confluence of small bugs causing no MIDI notes on record (#3820).
git-svn-id: svn://localhost/ardour2/branches/3.0@9064 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
d08e3b94c5
commit
7b15526750
@ -452,6 +452,20 @@ MidiStreamView::setup_rec_box ()
|
||||
|
||||
plist.add (ARDOUR::Properties::start, start);
|
||||
plist.add (ARDOUR::Properties::length, 1);
|
||||
/* Just above we're setting this nascent region's length to 1. I think this
|
||||
is so that the RegionView gets created with a non-zero width, as apparently
|
||||
creating a RegionView with a zero width causes it never to be displayed
|
||||
(there is a warning in TimeAxisViewItem::init about this). However, we
|
||||
must also set length_beats to something non-zero, otherwise the frame length
|
||||
of 1 causes length_beats to be set to some small quantity << 1. Then
|
||||
when the position is set up below, this length_beats is used to recompute
|
||||
length using Tempo::framepos_plus_bbt, which is slightly innacurate for small
|
||||
beats values (see comment in Tempo::framepos_plus_bbt) [mostly because
|
||||
it converts floating point beats to bars, beats and integer ticks]. The upshot
|
||||
of which being that length gets set back to 0, meaning no region view is ever
|
||||
seen, meaning no MIDI notes during record (#3820).
|
||||
*/
|
||||
plist.add (ARDOUR::Properties::length_beats, 1);
|
||||
plist.add (ARDOUR::Properties::name, string());
|
||||
plist.add (ARDOUR::Properties::layer, 0);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user