Deluge Firmware
|
#include <NoteRow.h>
Public Member Functions | |
NoteRow (int16_t newY=-32768) | |
~NoteRow () | |
void | renderRow (TimelineView *editorScreen, uint8_t[], uint8_t[], uint8_t[], uint8_t *image, uint8_t[], bool, uint32_t, bool allowNoteTails, int imageWidth, int32_t xScroll, uint32_t xZoom, int xStart=0, int xEnd=displayWidth, bool drawRepeats=false) |
void | deleteNoteByPos (ModelStackWithNoteRow *modelStack, int32_t pos, Action *action) |
void | stopCurrentlyPlayingNote (ModelStackWithNoteRow *modelStack, bool actuallySoundChange=true, Note *note=NULL) |
bool | generateRepeats (ModelStackWithNoteRow *modelStack, uint32_t oldLength, uint32_t newLength, int numRepeatsRounded, Action *action) |
void | toggleMute (ModelStackWithNoteRow *modelStack, bool clipIsActiveAndPlaybackIsOn) |
bool | hasNoNotes () |
void | resumePlayback (ModelStackWithNoteRow *modelStack, bool clipMayMakeSound) |
void | writeToFile (int drumIndex, InstrumentClip *clip) |
int | readFromFile (int *, InstrumentClip *, Song *song, int32_t readAutomationUpToPos) |
int | getNoteCode () |
void | writeToFlash () |
void | readFromFlash (InstrumentClip *parentClip) |
unsigned int | getNumNotes () |
void | setDrum (Drum *newDrum, Kit *kit, ModelStackWithNoteRow *modelStack, InstrumentClip *favourClipForCloningParamManager=NULL, ParamManager *paramManager=NULL) |
int32_t | getDistanceToNextNote (int32_t pos, ModelStackWithNoteRow const *modelStack, bool reversed=false) |
uint32_t | getLivePos (ModelStackWithNoteRow const *modelStack) |
bool | hasIndependentPlayPos () |
int | attemptNoteAdd (int32_t pos, int32_t length, int velocity, int probability, ModelStackWithNoteRow *modelStack, Action *action) |
int | attemptNoteAddReversed (ModelStackWithNoteRow *modelStack, int32_t pos, int velocity, bool allowingNoteTails) |
int | addCorrespondingNotes (int32_t pos, int32_t length, uint8_t velocity, ModelStackWithNoteRow *modelStack, bool allowNoteTails, Action *action) |
int32_t | processCurrentPos (ModelStackWithNoteRow *modelStack, int32_t ticksSinceLast, PendingNoteOnList *pendingNoteOnList) |
uint8_t | getSquareType (int32_t squareStart, int32_t squareWidth, Note **firstNote, Note **lastNote, ModelStackWithNoteRow *modelStack, bool allowNoteTails, int32_t desiredNoteLength, Action *action, bool clipCurrentlyPlaying, bool extendPreviousNoteIfPossible) |
int | clearArea (int32_t areaStart, int32_t areaWidth, ModelStackWithNoteRow *modelStack, Action *action, uint32_t wrapEditLevel, bool actuallyExtendNoteAtStartOfArea=false) |
void | trimToLength (uint32_t newLength, ModelStackWithNoteRow *modelStack, Action *action) |
void | trimNoteDataToNewClipLength (uint32_t newLength, InstrumentClip *clip, Action *action, int noteRowId) |
void | recordNoteOff (uint32_t pos, ModelStackWithNoteRow *modelStack, Action *action, int velocity) |
int8_t | getColourOffset (InstrumentClip *clip) |
void | rememberDrumName () |
void | shiftHorizontally (int amount, ModelStackWithNoteRow *modelStack) |
void | clear (Action *action, ModelStackWithNoteRow *modelStack) |
bool | doesProbabilityExist (int32_t apartFromPos, int probability, int secondProbability=-1) |
bool | paste (ModelStackWithNoteRow *modelStack, CopiedNoteRow *copiedNoteRow, float scaleFactor, int32_t screenEndPos, Action *action) |
void | giveMidiCommandsToDrum () |
void | grabMidiCommandsFromDrum () |
void | deleteParamManager (bool shouldUpdatePointer=true) |
void | deleteOldDrumNames (bool shouldUpdatePointer=true) |
int | appendNoteRow (ModelStackWithNoteRow *thisModelStack, ModelStackWithNoteRow *otherModelStack, int offset, int whichRepeatThisIs, int32_t otherClipLength) |
int | beenCloned (ModelStackWithNoteRow *modelStack, bool shouldFlattenReversing) |
void | resumeOriginalNoteRowFromThisClone (ModelStackWithNoteRow *modelStackOriginal, ModelStackWithNoteRow *modelStackClone) |
void | silentlyResumePlayback (ModelStackWithNoteRow *modelStack) |
void | trimParamManager (ModelStackWithNoteRow *modelStack) |
void | deleteNoteByIndex (int index, Action *action, int noteRowId, InstrumentClip *clip) |
void | complexSetNoteLength (Note *thisNote, uint32_t newLength, ModelStackWithNoteRow *modelStack, Action *action) |
int | changeNotesAcrossAllScreens (int32_t editPos, ModelStackWithNoteRow *modelStack, Action *action, int changeType, int changeValue) |
int | nudgeNotesAcrossAllScreens (int32_t editPos, ModelStackWithNoteRow *modelStack, Action *action, uint32_t wrapEditLevel, int nudgeOffset) |
int | editNoteRepeatAcrossAllScreens (int32_t editPos, int32_t squareWidth, ModelStackWithNoteRow *modelStack, Action *action, uint32_t wrapEditLevel, int newNumNotes) |
void | setLength (ModelStackWithNoteRow *modelStack, int32_t newLength, Action *actionToRecordTo, int32_t oldPos, bool hadIndependentPlayPosBefore) |
void | getMPEValues (ModelStackWithNoteRow *modelStack, int16_t *mpeValues) |
void | clearMPEUpUntilNextNote (ModelStackWithNoteRow *modelStack, int32_t pos, int32_t wrapEditLevel, bool shouldJustDeleteNodes=false) |
int | getEffectiveSequenceDirectionMode (ModelStackWithNoteRow const *modelStack) |
bool | recordPolyphonicExpressionEvent (ModelStackWithNoteRow *modelStackWithNoteRow, int32_t newValueBig, int whichExpressionDimension, bool forDrum) |
void | setSequenceDirectionMode (ModelStackWithNoteRow *modelStack, int newMode) |
bool | isAuditioning (ModelStackWithNoteRow *modelStack) |
Public Attributes | |
int16_t | y |
bool | muted |
int32_t | loopLengthIfIndependent |
int32_t | lastProcessedPosIfIndependent |
int32_t | repeatCountIfIndependent |
bool | currentlyPlayingReversedIfIndependent |
uint8_t | sequenceDirectionMode |
ParamManagerForTimeline | paramManager |
Drum * | drum |
DrumName * | firstOldDrumName |
NoteVector | notes |
LearnedMIDI | muteMIDICommand |
LearnedMIDI | midiInput |
int8_t | colourOffset |
uint8_t | soundingStatus |
bool | skipNextNote |
NoteRow::NoteRow | ( | int16_t | newY = -32768 | ) |
NoteRow::~NoteRow | ( | ) |
int NoteRow::addCorrespondingNotes | ( | int32_t | pos, |
int32_t | length, | ||
uint8_t | velocity, | ||
ModelStackWithNoteRow * | modelStack, | ||
bool | allowNoteTails, | ||
Action * | action | ||
) |
int NoteRow::appendNoteRow | ( | ModelStackWithNoteRow * | thisModelStack, |
ModelStackWithNoteRow * | otherModelStack, | ||
int | offset, | ||
int | whichRepeatThisIs, | ||
int32_t | otherClipLength | ||
) |
int NoteRow::attemptNoteAdd | ( | int32_t | pos, |
int32_t | length, | ||
int | velocity, | ||
int | probability, | ||
ModelStackWithNoteRow * | modelStack, | ||
Action * | action | ||
) |
int NoteRow::attemptNoteAddReversed | ( | ModelStackWithNoteRow * | modelStack, |
int32_t | pos, | ||
int | velocity, | ||
bool | allowingNoteTails | ||
) |
int NoteRow::beenCloned | ( | ModelStackWithNoteRow * | modelStack, |
bool | shouldFlattenReversing | ||
) |
int NoteRow::changeNotesAcrossAllScreens | ( | int32_t | editPos, |
ModelStackWithNoteRow * | modelStack, | ||
Action * | action, | ||
int | changeType, | ||
int | changeValue | ||
) |
void NoteRow::clear | ( | Action * | action, |
ModelStackWithNoteRow * | modelStack | ||
) |
int NoteRow::clearArea | ( | int32_t | areaStart, |
int32_t | areaWidth, | ||
ModelStackWithNoteRow * | modelStack, | ||
Action * | action, | ||
uint32_t | wrapEditLevel, | ||
bool | actuallyExtendNoteAtStartOfArea = false |
||
) |
void NoteRow::clearMPEUpUntilNextNote | ( | ModelStackWithNoteRow * | modelStack, |
int32_t | pos, | ||
int32_t | wrapEditLevel, | ||
bool | shouldJustDeleteNodes = false |
||
) |
void NoteRow::complexSetNoteLength | ( | Note * | thisNote, |
uint32_t | newLength, | ||
ModelStackWithNoteRow * | modelStack, | ||
Action * | action | ||
) |
void NoteRow::deleteNoteByIndex | ( | int | index, |
Action * | action, | ||
int | noteRowId, | ||
InstrumentClip * | clip | ||
) |
void NoteRow::deleteNoteByPos | ( | ModelStackWithNoteRow * | modelStack, |
int32_t | pos, | ||
Action * | action | ||
) |
void NoteRow::deleteOldDrumNames | ( | bool | shouldUpdatePointer = true | ) |
void NoteRow::deleteParamManager | ( | bool | shouldUpdatePointer = true | ) |
bool NoteRow::doesProbabilityExist | ( | int32_t | apartFromPos, |
int | probability, | ||
int | secondProbability = -1 |
||
) |
int NoteRow::editNoteRepeatAcrossAllScreens | ( | int32_t | editPos, |
int32_t | squareWidth, | ||
ModelStackWithNoteRow * | modelStack, | ||
Action * | action, | ||
uint32_t | wrapEditLevel, | ||
int | newNumNotes | ||
) |
bool NoteRow::generateRepeats | ( | ModelStackWithNoteRow * | modelStack, |
uint32_t | oldLength, | ||
uint32_t | newLength, | ||
int | numRepeatsRounded, | ||
Action * | action | ||
) |
int8_t NoteRow::getColourOffset | ( | InstrumentClip * | clip | ) |
int32_t NoteRow::getDistanceToNextNote | ( | int32_t | pos, |
ModelStackWithNoteRow const * | modelStack, | ||
bool | reversed = false |
||
) |
int NoteRow::getEffectiveSequenceDirectionMode | ( | ModelStackWithNoteRow const * | modelStack | ) |
uint32_t NoteRow::getLivePos | ( | ModelStackWithNoteRow const * | modelStack | ) |
void NoteRow::getMPEValues | ( | ModelStackWithNoteRow * | modelStack, |
int16_t * | mpeValues | ||
) |
|
inline |
unsigned int NoteRow::getNumNotes | ( | ) |
uint8_t NoteRow::getSquareType | ( | int32_t | squareStart, |
int32_t | squareWidth, | ||
Note ** | firstNote, | ||
Note ** | lastNote, | ||
ModelStackWithNoteRow * | modelStack, | ||
bool | allowNoteTails, | ||
int32_t | desiredNoteLength, | ||
Action * | action, | ||
bool | clipCurrentlyPlaying, | ||
bool | extendPreviousNoteIfPossible | ||
) |
void NoteRow::giveMidiCommandsToDrum | ( | ) |
void NoteRow::grabMidiCommandsFromDrum | ( | ) |
bool NoteRow::hasIndependentPlayPos | ( | ) |
bool NoteRow::hasNoNotes | ( | ) |
bool NoteRow::isAuditioning | ( | ModelStackWithNoteRow * | modelStack | ) |
int NoteRow::nudgeNotesAcrossAllScreens | ( | int32_t | editPos, |
ModelStackWithNoteRow * | modelStack, | ||
Action * | action, | ||
uint32_t | wrapEditLevel, | ||
int | nudgeOffset | ||
) |
bool NoteRow::paste | ( | ModelStackWithNoteRow * | modelStack, |
CopiedNoteRow * | copiedNoteRow, | ||
float | scaleFactor, | ||
int32_t | screenEndPos, | ||
Action * | action | ||
) |
int32_t NoteRow::processCurrentPos | ( | ModelStackWithNoteRow * | modelStack, |
int32_t | ticksSinceLast, | ||
PendingNoteOnList * | pendingNoteOnList | ||
) |
int NoteRow::readFromFile | ( | int * | minY, |
InstrumentClip * | parentClip, | ||
Song * | song, | ||
int32_t | readAutomationUpToPos | ||
) |
void NoteRow::readFromFlash | ( | InstrumentClip * | parentClip | ) |
void NoteRow::recordNoteOff | ( | uint32_t | pos, |
ModelStackWithNoteRow * | modelStack, | ||
Action * | action, | ||
int | velocity | ||
) |
bool NoteRow::recordPolyphonicExpressionEvent | ( | ModelStackWithNoteRow * | modelStackWithNoteRow, |
int32_t | newValueBig, | ||
int | whichExpressionDimension, | ||
bool | forDrum | ||
) |
void NoteRow::rememberDrumName | ( | ) |
void NoteRow::renderRow | ( | TimelineView * | editorScreen, |
uint8_t | rowColour[], | ||
uint8_t | rowTailColour[], | ||
uint8_t | rowBlurColour[], | ||
uint8_t * | image, | ||
uint8_t | occupancyMask[], | ||
bool | overwriteExisting, | ||
uint32_t | effectiveRowLength, | ||
bool | allowNoteTails, | ||
int | imageWidth, | ||
int32_t | xScroll, | ||
uint32_t | xZoom, | ||
int | xStart = 0 , |
||
int | xEnd = displayWidth , |
||
bool | drawRepeats = false |
||
) |
void NoteRow::resumeOriginalNoteRowFromThisClone | ( | ModelStackWithNoteRow * | modelStackOriginal, |
ModelStackWithNoteRow * | modelStackClone | ||
) |
void NoteRow::resumePlayback | ( | ModelStackWithNoteRow * | modelStack, |
bool | clipMayMakeSound | ||
) |
void NoteRow::setDrum | ( | Drum * | newDrum, |
Kit * | kit, | ||
ModelStackWithNoteRow * | modelStack, | ||
InstrumentClip * | favourClipForCloningParamManager = NULL , |
||
ParamManager * | paramManager = NULL |
||
) |
void NoteRow::setLength | ( | ModelStackWithNoteRow * | modelStack, |
int32_t | newLength, | ||
Action * | actionToRecordTo, | ||
int32_t | oldPos, | ||
bool | hadIndependentPlayPosBefore | ||
) |
void NoteRow::setSequenceDirectionMode | ( | ModelStackWithNoteRow * | modelStack, |
int | newMode | ||
) |
void NoteRow::shiftHorizontally | ( | int | amount, |
ModelStackWithNoteRow * | modelStack | ||
) |
void NoteRow::silentlyResumePlayback | ( | ModelStackWithNoteRow * | modelStack | ) |
void NoteRow::stopCurrentlyPlayingNote | ( | ModelStackWithNoteRow * | modelStack, |
bool | actuallySoundChange = true , |
||
Note * | note = NULL |
||
) |
void NoteRow::toggleMute | ( | ModelStackWithNoteRow * | modelStack, |
bool | clipIsActiveAndPlaybackIsOn | ||
) |
void NoteRow::trimNoteDataToNewClipLength | ( | uint32_t | newLength, |
InstrumentClip * | clip, | ||
Action * | action, | ||
int | noteRowId | ||
) |
void NoteRow::trimParamManager | ( | ModelStackWithNoteRow * | modelStack | ) |
void NoteRow::trimToLength | ( | uint32_t | newLength, |
ModelStackWithNoteRow * | modelStack, | ||
Action * | action | ||
) |
void NoteRow::writeToFile | ( | int | drumIndex, |
InstrumentClip * | clip | ||
) |
void NoteRow::writeToFlash | ( | ) |
int8_t NoteRow::colourOffset |
bool NoteRow::currentlyPlayingReversedIfIndependent |
Drum* NoteRow::drum |
DrumName* NoteRow::firstOldDrumName |
int32_t NoteRow::lastProcessedPosIfIndependent |
int32_t NoteRow::loopLengthIfIndependent |
LearnedMIDI NoteRow::midiInput |
bool NoteRow::muted |
LearnedMIDI NoteRow::muteMIDICommand |
NoteVector NoteRow::notes |
ParamManagerForTimeline NoteRow::paramManager |
int32_t NoteRow::repeatCountIfIndependent |
uint8_t NoteRow::sequenceDirectionMode |
bool NoteRow::skipNextNote |
uint8_t NoteRow::soundingStatus |
int16_t NoteRow::y |