Pensive
Well-known member
Hi all,
in building my beatmaker I have fully designed (but not developed) a sequencer solution which was supposed to be more efficient than midi - but by the time i got to the end it became clear that it wasn't really much more efficient, and was probably not the best idea.
SO - back to the drawing board - lets do something industry standard.
I'm going to store raw MIDI data in some kind of data repository in ram.
Its a list of events. Each event features a Delta Time for the event (variable length value), relative to the last event, plus one midi packet of 3 bytes.
So each packet will vary in size according to how recently the last event occurred. Inserting events might begin to leave "holes" where Delta Times have suddenly reduced, if you know what i mean.
I'm thinking of some kind of indexed/linked list of simple MIDI union-ed objects, but does anyone have a hint on a superior way of referencing and manipulating this information?
Cheers
J
in building my beatmaker I have fully designed (but not developed) a sequencer solution which was supposed to be more efficient than midi - but by the time i got to the end it became clear that it wasn't really much more efficient, and was probably not the best idea.
SO - back to the drawing board - lets do something industry standard.
I'm going to store raw MIDI data in some kind of data repository in ram.
Its a list of events. Each event features a Delta Time for the event (variable length value), relative to the last event, plus one midi packet of 3 bytes.
So each packet will vary in size according to how recently the last event occurred. Inserting events might begin to leave "holes" where Delta Times have suddenly reduced, if you know what i mean.
- I need to plonk midi packets in memory as and when they occur, taking into account the time sinc the last event and how it affects the delat time on the following event.
- I also need to be able to "query" them in the order they occur for the sake of the CPU.
- SDcard live storage or Audio board SPI flash is out of the question (in real time at least), so filebased formats like XML are probably a bad idea.
I'm thinking of some kind of indexed/linked list of simple MIDI union-ed objects, but does anyone have a hint on a superior way of referencing and manipulating this information?
Cheers
J
Last edited: