benwiley4000 / volca-sampler

Send a new sound to your volca sample!

Home Page:https://volcasampler.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Multi-select/multi-transfer support

benwiley4000 opened this issue · comments

I guess the actions available for multi-select would be delete, maybe some sort of export, and multiple transfer to the Volca Sample.

UI would be needed for all of this.

For the multi transfer, I would need to update the syro bindings, dividing prepareSampleBufferFromWavData into three functions,
allocateSyroData (which accepts the number of SyroData to allocate and returns the pointer), createSyroDataFromWavData (like prepareSampleBufferFromWavData but accepts also an existing SyroData pointer instead of malloc-ing one, and a SyroData index to use to find the offset, and doesn't start working on the sample buffer) and prepareSampleBufferFromSyroData- which exists, but we need to also pass the number of syro data, all of which we will copy into the buffer passed to the worker. Also the front of the buffer passed to the worker needs to include a uint8, which is the number of syrodata and wav datas being passed. The buffer content needs to be the count, then all the syrodata, then all the wav data in series.

Once all that is passed to the worker, the worker needs to re-hook up all the pointers to each wav data from each syrodata, one at a time. Then it needs to pass the syrodata as well as the count to startSampleBuffer.

At this point the rest of the process should be the same.

I think we should try implementing the bindings before anything else to prove that this is viable.