After getting a lot of use out of the
filter messages to
fluid.datasetquery~ (particularly once wrapped up in syntax abstraction) in the last update of SP-Tools I got to thinking that it would be great to apply this on a stream of descriptors, and route accordingly.
As in, having a list (or buffer) or descriptors for a given frame/window, and then be able to check if
filter loudness > -45 or
filter centroid < 90 or more usefully
filter centroid > 90 and loudness < -50.
I initially tried to think of some awful thing with chained/parallel vanilla Max comparators and then parsing all the messages so it compares the logic, but that seemed brutal.
I remembered @tremblap mentioning the use of
frombuffer direct into a
fluid.dataset~, so I decided to try and use
fluid.datasetquery~ as single entry filtering. It works really well, but I’m not entirely sure how the threading is handled here.
None of the dataset-based objects have any threading messages, so I can’t explicitly put them in
@blocking 2 or anything. I vaguely remember some mention that they inherit their thread from whatever calls them, which in this case is the higher priority thread. Is that correct?
frombuffer-ing a single buffer with 8 points, and moving a single column with the
fluid.datasetquery~ message as I don’t care what gets moved, only if something got moved. But I’d not want to get my hopes up if this is problematic with regards to threading etc…