Deluge Firmware
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
NoteRow Class Reference

#include <NoteRow.h>

Collaboration diagram for NoteRow:
Collaboration graph

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
 
Drumdrum
 
DrumNamefirstOldDrumName
 
NoteVector notes
 
LearnedMIDI muteMIDICommand
 
LearnedMIDI midiInput
 
int8_t colourOffset
 
uint8_t soundingStatus
 
bool skipNextNote
 

Constructor & Destructor Documentation

◆ NoteRow()

NoteRow::NoteRow ( int16_t  newY = -32768)

◆ ~NoteRow()

NoteRow::~NoteRow ( )

Member Function Documentation

◆ addCorrespondingNotes()

int NoteRow::addCorrespondingNotes ( int32_t  pos,
int32_t  length,
uint8_t  velocity,
ModelStackWithNoteRow modelStack,
bool  allowNoteTails,
Action action 
)

◆ appendNoteRow()

int NoteRow::appendNoteRow ( ModelStackWithNoteRow thisModelStack,
ModelStackWithNoteRow otherModelStack,
int  offset,
int  whichRepeatThisIs,
int32_t  otherClipLength 
)

◆ attemptNoteAdd()

int NoteRow::attemptNoteAdd ( int32_t  pos,
int32_t  length,
int  velocity,
int  probability,
ModelStackWithNoteRow modelStack,
Action action 
)

◆ attemptNoteAddReversed()

int NoteRow::attemptNoteAddReversed ( ModelStackWithNoteRow modelStack,
int32_t  pos,
int  velocity,
bool  allowingNoteTails 
)

◆ beenCloned()

int NoteRow::beenCloned ( ModelStackWithNoteRow modelStack,
bool  shouldFlattenReversing 
)

◆ changeNotesAcrossAllScreens()

int NoteRow::changeNotesAcrossAllScreens ( int32_t  editPos,
ModelStackWithNoteRow modelStack,
Action action,
int  changeType,
int  changeValue 
)

◆ clear()

void NoteRow::clear ( Action action,
ModelStackWithNoteRow modelStack 
)

◆ clearArea()

int NoteRow::clearArea ( int32_t  areaStart,
int32_t  areaWidth,
ModelStackWithNoteRow modelStack,
Action action,
uint32_t  wrapEditLevel,
bool  actuallyExtendNoteAtStartOfArea = false 
)

◆ clearMPEUpUntilNextNote()

void NoteRow::clearMPEUpUntilNextNote ( ModelStackWithNoteRow modelStack,
int32_t  pos,
int32_t  wrapEditLevel,
bool  shouldJustDeleteNodes = false 
)

◆ complexSetNoteLength()

void NoteRow::complexSetNoteLength ( Note thisNote,
uint32_t  newLength,
ModelStackWithNoteRow modelStack,
Action action 
)

◆ deleteNoteByIndex()

void NoteRow::deleteNoteByIndex ( int  index,
Action action,
int  noteRowId,
InstrumentClip clip 
)

◆ deleteNoteByPos()

void NoteRow::deleteNoteByPos ( ModelStackWithNoteRow modelStack,
int32_t  pos,
Action action 
)

◆ deleteOldDrumNames()

void NoteRow::deleteOldDrumNames ( bool  shouldUpdatePointer = true)

◆ deleteParamManager()

void NoteRow::deleteParamManager ( bool  shouldUpdatePointer = true)

◆ doesProbabilityExist()

bool NoteRow::doesProbabilityExist ( int32_t  apartFromPos,
int  probability,
int  secondProbability = -1 
)

◆ editNoteRepeatAcrossAllScreens()

int NoteRow::editNoteRepeatAcrossAllScreens ( int32_t  editPos,
int32_t  squareWidth,
ModelStackWithNoteRow modelStack,
Action action,
uint32_t  wrapEditLevel,
int  newNumNotes 
)

◆ generateRepeats()

bool NoteRow::generateRepeats ( ModelStackWithNoteRow modelStack,
uint32_t  oldLength,
uint32_t  newLength,
int  numRepeatsRounded,
Action action 
)

◆ getColourOffset()

int8_t NoteRow::getColourOffset ( InstrumentClip clip)

◆ getDistanceToNextNote()

int32_t NoteRow::getDistanceToNextNote ( int32_t  pos,
ModelStackWithNoteRow const *  modelStack,
bool  reversed = false 
)

◆ getEffectiveSequenceDirectionMode()

int NoteRow::getEffectiveSequenceDirectionMode ( ModelStackWithNoteRow const *  modelStack)

◆ getLivePos()

uint32_t NoteRow::getLivePos ( ModelStackWithNoteRow const *  modelStack)

◆ getMPEValues()

void NoteRow::getMPEValues ( ModelStackWithNoteRow modelStack,
int16_t *  mpeValues 
)

◆ getNoteCode()

int NoteRow::getNoteCode ( )
inline

◆ getNumNotes()

unsigned int NoteRow::getNumNotes ( )

◆ getSquareType()

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 
)

◆ giveMidiCommandsToDrum()

void NoteRow::giveMidiCommandsToDrum ( )

◆ grabMidiCommandsFromDrum()

void NoteRow::grabMidiCommandsFromDrum ( )

◆ hasIndependentPlayPos()

bool NoteRow::hasIndependentPlayPos ( )

◆ hasNoNotes()

bool NoteRow::hasNoNotes ( )

◆ isAuditioning()

bool NoteRow::isAuditioning ( ModelStackWithNoteRow modelStack)

◆ nudgeNotesAcrossAllScreens()

int NoteRow::nudgeNotesAcrossAllScreens ( int32_t  editPos,
ModelStackWithNoteRow modelStack,
Action action,
uint32_t  wrapEditLevel,
int  nudgeOffset 
)

◆ paste()

bool NoteRow::paste ( ModelStackWithNoteRow modelStack,
CopiedNoteRow copiedNoteRow,
float  scaleFactor,
int32_t  screenEndPos,
Action action 
)

◆ processCurrentPos()

int32_t NoteRow::processCurrentPos ( ModelStackWithNoteRow modelStack,
int32_t  ticksSinceLast,
PendingNoteOnList pendingNoteOnList 
)

◆ readFromFile()

int NoteRow::readFromFile ( int *  minY,
InstrumentClip parentClip,
Song song,
int32_t  readAutomationUpToPos 
)

◆ readFromFlash()

void NoteRow::readFromFlash ( InstrumentClip parentClip)

◆ recordNoteOff()

void NoteRow::recordNoteOff ( uint32_t  pos,
ModelStackWithNoteRow modelStack,
Action action,
int  velocity 
)

◆ recordPolyphonicExpressionEvent()

bool NoteRow::recordPolyphonicExpressionEvent ( ModelStackWithNoteRow modelStackWithNoteRow,
int32_t  newValueBig,
int  whichExpressionDimension,
bool  forDrum 
)

◆ rememberDrumName()

void NoteRow::rememberDrumName ( )

◆ renderRow()

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 
)

◆ resumeOriginalNoteRowFromThisClone()

void NoteRow::resumeOriginalNoteRowFromThisClone ( ModelStackWithNoteRow modelStackOriginal,
ModelStackWithNoteRow modelStackClone 
)

◆ resumePlayback()

void NoteRow::resumePlayback ( ModelStackWithNoteRow modelStack,
bool  clipMayMakeSound 
)

◆ setDrum()

void NoteRow::setDrum ( Drum newDrum,
Kit kit,
ModelStackWithNoteRow modelStack,
InstrumentClip favourClipForCloningParamManager = NULL,
ParamManager paramManager = NULL 
)

◆ setLength()

void NoteRow::setLength ( ModelStackWithNoteRow modelStack,
int32_t  newLength,
Action actionToRecordTo,
int32_t  oldPos,
bool  hadIndependentPlayPosBefore 
)

◆ setSequenceDirectionMode()

void NoteRow::setSequenceDirectionMode ( ModelStackWithNoteRow modelStack,
int  newMode 
)

◆ shiftHorizontally()

void NoteRow::shiftHorizontally ( int  amount,
ModelStackWithNoteRow modelStack 
)

◆ silentlyResumePlayback()

void NoteRow::silentlyResumePlayback ( ModelStackWithNoteRow modelStack)

◆ stopCurrentlyPlayingNote()

void NoteRow::stopCurrentlyPlayingNote ( ModelStackWithNoteRow modelStack,
bool  actuallySoundChange = true,
Note note = NULL 
)

◆ toggleMute()

void NoteRow::toggleMute ( ModelStackWithNoteRow modelStack,
bool  clipIsActiveAndPlaybackIsOn 
)

◆ trimNoteDataToNewClipLength()

void NoteRow::trimNoteDataToNewClipLength ( uint32_t  newLength,
InstrumentClip clip,
Action action,
int  noteRowId 
)

◆ trimParamManager()

void NoteRow::trimParamManager ( ModelStackWithNoteRow modelStack)

◆ trimToLength()

void NoteRow::trimToLength ( uint32_t  newLength,
ModelStackWithNoteRow modelStack,
Action action 
)

◆ writeToFile()

void NoteRow::writeToFile ( int  drumIndex,
InstrumentClip clip 
)

◆ writeToFlash()

void NoteRow::writeToFlash ( )

Member Data Documentation

◆ colourOffset

int8_t NoteRow::colourOffset

◆ currentlyPlayingReversedIfIndependent

bool NoteRow::currentlyPlayingReversedIfIndependent

◆ drum

Drum* NoteRow::drum

◆ firstOldDrumName

DrumName* NoteRow::firstOldDrumName

◆ lastProcessedPosIfIndependent

int32_t NoteRow::lastProcessedPosIfIndependent

◆ loopLengthIfIndependent

int32_t NoteRow::loopLengthIfIndependent

◆ midiInput

LearnedMIDI NoteRow::midiInput

◆ muted

bool NoteRow::muted

◆ muteMIDICommand

LearnedMIDI NoteRow::muteMIDICommand

◆ notes

NoteVector NoteRow::notes

◆ paramManager

ParamManagerForTimeline NoteRow::paramManager

◆ repeatCountIfIndependent

int32_t NoteRow::repeatCountIfIndependent

◆ sequenceDirectionMode

uint8_t NoteRow::sequenceDirectionMode

◆ skipNextNote

bool NoteRow::skipNextNote

◆ soundingStatus

uint8_t NoteRow::soundingStatus

◆ y

int16_t NoteRow::y

The documentation for this class was generated from the following files: