[20:56:17] Speaking of which; I have had an idea for further diskstreming optimisation in the way we store the samples in the files [20:56:23] today we do sample interleaving [20:57:07] [sample 1 ch 1][sample 1 ch 2]...[sample 2 ch 1][sample 2 ch 2]... and so on [20:57:36] when we read those into memory we need to deinterleave them which is a rather straining on memory operations [20:57:48] the engine works in "chunks" of say 4k [20:58:12] So if we instead make the files contain the samples "chunk interleaved" [20:58:46] [sample 1 ch 1][sample 2 ch1]...[sample 4k ch1][sample 1 ch 2][sample 2 ch2]...[sample 4k ch2].... [20:59:06] then we would save a lot of sample moving in memory when reading [20:59:47] the downside would however be that it will not be possible to play the wav files in a regular wav player because the samples would have the wrong ordering [20:59:59] ... it would play but it would sound strange [21:01:21] We would basically be making our own wav format for the kits with that approach, which I suppose might be ok in the name of The Holy Distreamer :p [21:01:28] *Diskstreamer [21:02:12] >>Thou Shalt Never Spell The Name Of The Holy Diskstreamer Wrongly<< [21:02:30] *deva starts looking for a rock to climb under [21:04:19] What happened here? :D [21:04:21] Let me read. [21:04:58] Sorry ... I got carried a bit away ;) [21:07:39] :D [21:08:24] Isn't there maybe a wav data format for that? [21:08:33] I don't think so [21:08:57] Basically we would need it to be wav anymore, but merely a header and an "array" of floats [21:09:12] Perhaps not even the header, but headers are usually a good idea :p [21:09:38] We would no longer need libsndfile either [21:09:56] And removing a depency is never a bad thing :-)