Almost working Arp

pull/764/head
jnonis 7 months ago
parent 0cb0553f25
commit d4f99f88ae
  1. 5
      src/midi_arp.cpp
  2. 30
      src/modarpeggiator/common/midiHandler.cpp
  3. 6
      src/modarpeggiator/common/midiHandler.hpp

@ -11,7 +11,7 @@ MidiArp::MidiArp(float32_t samplerate, CDexedAdapter* synth)
arpeggiator.setSampleRate(samplerate); arpeggiator.setSampleRate(samplerate);
arpeggiator.setDivision(7); arpeggiator.setDivision(7);
arpeggiator.getMidiBuffer(); arpeggiator.setBpm(120);
} }
MidiArp::~MidiArp() MidiArp::~MidiArp()
@ -45,6 +45,7 @@ void MidiArp::process(uint16_t len)
arpeggiator.emptyMidiBuffer(); arpeggiator.emptyMidiBuffer();
// Check if host supports Bar-Beat-Tick position // Check if host supports Bar-Beat-Tick position
arpeggiator.setSyncMode(0);
/* /*
const TimePosition& position = getTimePosition(); const TimePosition& position = getTimePosition();
if (!position.bbt.valid) { if (!position.bbt.valid) {
@ -60,7 +61,6 @@ void MidiArp::process(uint16_t len)
events.clear(); events.clear();
events.shrink_to_fit(); events.shrink_to_fit();
/*
printf("Before Send Midi\n"); printf("Before Send Midi\n");
fflush(NULL); fflush(NULL);
struct MidiBuffer buffer = arpeggiator.getMidiBuffer(); struct MidiBuffer buffer = arpeggiator.getMidiBuffer();
@ -97,5 +97,4 @@ void MidiArp::process(uint16_t len)
} }
printf("After Send Midi\n"); printf("After Send Midi\n");
fflush(NULL); fflush(NULL);
*/
} }

@ -4,33 +4,21 @@
MidiHandler::MidiHandler() MidiHandler::MidiHandler()
{ {
printf("MidiHandler constructor\n"); printf("MidiHandler constructor\n");
printf("MidiEvent size: %d\n", sizeof(MidiEvent));
fflush(NULL); fflush(NULL);
/* buffer.bufferedEvents = new MidiEvent[MIDI_BUFFER_SIZE];
memset(buffer.bufferedEvents, 0, MIDI_BUFFER_SIZE * sizeof(MidiEvent)); buffer.bufferedMidiThroughEvents = new MidiEvent[MIDI_BUFFER_SIZE];
memset(buffer.bufferedMidiThroughEvents, 0, MIDI_BUFFER_SIZE * sizeof(MidiEvent)); buffer.midiOutputBuffer = new MidiEvent[MIDI_BUFFER_SIZE];
memset(buffer.midiOutputBuffer, 0, MIDI_BUFFER_SIZE * sizeof(MidiEvent));
*/
for (unsigned i = 0; i < MIDI_BUFFER_SIZE; i++) {
printf("i: %d\n", i);
fflush(NULL);
for (unsigned x = 0; x < buffer.bufferedEvents[i].kDataSize; i++) {
printf("x: %d\n", x);
fflush(NULL);
/*
buffer.bufferedEvents[i].data[x] = 0;
buffer.bufferedMidiThroughEvents[i].data[x] = 0;
buffer.midiOutputBuffer[i].data[x] = 0;
*/
}
}
emptyMidiBuffer(); emptyMidiBuffer();
//printf("buffer.bufferedEvents: %d\n", buffer.bufferedEvents[0].data); printf("MidiHandler constructor finished\n");
//fflush(NULL); fflush(NULL);
} }
MidiHandler::~MidiHandler() MidiHandler::~MidiHandler()
{ {
delete buffer.bufferedEvents;
delete buffer.bufferedMidiThroughEvents;
delete buffer.midiOutputBuffer;
} }
void MidiHandler::emptyMidiBuffer() void MidiHandler::emptyMidiBuffer()

@ -31,13 +31,13 @@
struct MidiBuffer { struct MidiBuffer {
unsigned maxBufferSize = MIDI_BUFFER_SIZE; unsigned maxBufferSize = MIDI_BUFFER_SIZE;
MidiEvent bufferedEvents[MIDI_BUFFER_SIZE]; MidiEvent* bufferedEvents;
unsigned numBufferedEvents; unsigned numBufferedEvents;
MidiEvent bufferedMidiThroughEvents[MIDI_BUFFER_SIZE]; MidiEvent* bufferedMidiThroughEvents;
unsigned numBufferedThroughEvents; unsigned numBufferedThroughEvents;
MidiEvent midiOutputBuffer[MIDI_BUFFER_SIZE]; MidiEvent* midiOutputBuffer;
unsigned numOutputEvents; unsigned numOutputEvents;
}; };

Loading…
Cancel
Save