int set_state (const XMLNode&, int version);
bool length_mutable() const { return true; }
+
+ void set_length_beats(double l) { _length_beats = l; }
double length_beats() const { return _length_beats; }
virtual void load_model(bool lock=true, bool force_reload=false) = 0;
_write_source->mark_streaming_write_completed ();
+ /* set length in beats to entire capture length */
+
+ BeatsFramesConverter converter (_session.tempo_map(), capture_info.front()->start);
+ const double total_capture_beats = converter.from(total_capture);
+ _write_source->set_length_beats(total_capture_beats);
+
/* make it not a stub anymore */
_write_source->unstubify ();
/* Basic MidiRegion constructor (many channels) */
MidiRegion::MidiRegion (const SourceList& srcs)
: Region (srcs)
- , _length_beats (Properties::length_beats, (Evoral::MusicalTime) 0)
+ , _length_beats (Properties::length_beats, midi_source(0)->length_beats())
{
- _length_beats = midi_source(0)->length_beats();
- cout << "NEW MIDI REGION LENGTH BEATS: " << _length_beats << endl;
-
register_properties ();
midi_source(0)->ModelChanged.connect_same_thread (_source_connection, boost::bind (&MidiRegion::model_changed, this));