Para la gestión de guardado de las secuencias, se ha ideado un sistema de estructuras concatenadas para guardar todas las variables estáticas de la secuencia.

struct Step {
  byte note;
  byte ccValue;
  byte velocity;
  byte ccSmoothCurve;
  uint8_t mutes : 1;
  uint8_t ccMutes : 1;
  uint8_t octave : 4;
};

struct Sequence {
  Step steps[N_MAX_STEPS];
  Step ext_steps[N_MAX_STEPS];
  byte canal;
  byte seqMode;
  byte ccNumber;
  byte escalaSeleccionada;
  byte noteTone;

  byte nTotalSteps;
  byte subdivMode;
  byte indexSubdivisiones;
  byte indComplexSubdivY;
  byte indComplexSubdivX;

  byte ext_nTotalSteps;
  byte ext_subdivMode;
  byte ext_indexSubdivisiones;
  byte ext_indComplexSubdivY;
  byte ext_indComplexSubdivX;

  uint8_t armed : 1;
  uint8_t extensionArmed : 1;
};

struct Pattern {
  Sequence nSequence[N_MAX_SEQS];
  char nombreSequencia[10];
  Sequence seq_slots[3][N_MAX_SEQS];
};