Rosegarden MIDI Dataflows
These were assembled March 2013, so they may be out of date.
Playback Dataflow (Old)
Specfic routines involved:
Segment (which is part of the document)
SegmentMapper::dump()
MappedSegment::getBuffer()
MappedSegment::m_buffer
MappedSegment::iterator::peek()
MappedSegmentsMetaIterator::fillCompositionWithEventsUntil()
RosegardenSequencer::getSlice()
RosegardenSequencer::fetchEvents()
RosegardenSequencer::keepPlaying()
AlsaDriver::processEventsOut()
AlsaDriver::processMIDIOut()
Playback Dataflow (New)
Specfic routines involved:
Segment
InternalSegmentMapper::fillBuffer()
MappedEventBuffer::mapAnEvent()
MappedEventBuffer::getBuffer()
MappedEventBuffer::m_buffer
MappedEventBuffer::iterator::peek()
MappedBufMetaIterator::fetchEventsNoncompeting()
MappedBufMetaIterator::fetchEvents()
RosegardenSequencer::getSlice()
RosegardenSequencer::fetchEvents()
RosegardenSequencer::keepPlaying()
AlsaDriver::processEventsOut()
AlsaDriver::processMIDIOut()
Record Dataflow
Specfic routines involved:
AlsaDriver::getMappedEventList()
RosegardenSequencer::processRecordedMidi()
SequencerDataBlock::addRecordedEvents()
SequencerDataBlock::getRecordedEvents()
RosegardenMainWindow::processRecordedEvents()
RosegardenDocument::insertRecordedMidi()