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

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

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

Loading…
Cancel
Save