Next revision
|
Previous revision
|
dev:midi_dataflows [2013/03/27 20:09] tedfelix created |
dev:midi_dataflows [2022/05/06 16:07] (current) |
====== Rosegarden MIDI Dataflows ====== | ====== Rosegarden MIDI Dataflows ====== |
| |
| These were assembled March 2013, so they may be out of date. |
| |
===== Playback Dataflow (Old) ===== | ===== Playback Dataflow (Old) ===== |
{{dev:rg-midi-playback-dataflow-old.png}} | {{dev:rg-midi-playback-dataflow-old.png }} |
| |
| 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) ===== | ===== Playback Dataflow (New) ===== |
{{dev:rg-midi-playback-dataflow-new.png}} | {{dev:rg-midi-playback-dataflow-new.png }} |
| |
| 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 ===== | ===== Record Dataflow ===== |
{{dev:rg-midi-record-dataflow.png}} | {{dev:rg-midi-record-dataflow.png }} |
| |
| Specfic routines involved: |
| |
| * AlsaDriver::getMappedEventList() |
| * RosegardenSequencer::processRecordedMidi() |
| * SequencerDataBlock::addRecordedEvents() |
| * SequencerDataBlock::getRecordedEvents() |
| * RosegardenMainWindow::processRecordedEvents() |
| * RosegardenDocument::insertRecordedMidi() |