Closed jmidt closed 5 years ago
I'm not really sure i agree with you splitting up these issues, but alrightey, lets roll with it.
There are two main ways to group samples: which kit they belong to, and which "slot" they belong to. Not sure which one makes most sense here
Because I am crazy/stupid/(had specific needs) i wrote a wav parser myselv which we are using. It also parses AIFF, but currently both of those have to be 32bit float pcm. It could probably fairly easilly be extended to include othere formats, or we could look into using an external library, but i only remember finding one, which was less than optimal.
Another option is to just automatically convert the samples to the format we need when they are first installed. After all we have the whole power of the linux ecosystem avaliable, so we can just use whichever linux tools are usually used for this stuff. That being said, as far as i know most samples are wawv/aiff anyway, so as long as we can support more variants of those, we're probably fine.
Outdated. Closing.
The first encoder should change the sample file. To bring some order into this, instead of just going through an unordered list of filenames, we should have some sort of file structure. You might want to go to the 'Kick' category to search for a kick drum. Or you might want to find the corresponding note in a sample pack of piano notes that you made.
To keep it general, I propose that in a designated 'samples' folder, each 'category' is kept in separate folders. In the sample list in OTTO, these categories are then grouped together by category and sorted alphabetically within them. A shift+encoder turn moves the selection to the first sample in the next folder. This works much like the Korg Electribe.
The reason for alphabetical ordering is that it allows you to order tuned samples by name, e.g. "piano_2C.wav" comes before "piano_2D.wav".
Types of samples: Ideally, it should be possible to use different file formats, cutting down on prep time. But this is only to be done as long as it doesn't introduce other problems.