I'm not sure if there's a dedicated space for feature requests, so I'm just putting this here.
The play_note() function takes a microsecond duration parameter so the note knows how long to hold. Setting this to 0 makes the entire sample play, and setting it to -1 will play the sample indefinitely until the key that triggered the NCB is released. It would be extremely beneficial to me if there was some additional option to to say "play this note until you reach this point in the sample". So for example, if a sample is 1000k microsecs, I could tell it to play a note starting at the 200k point and release it at the 800k point (however long it takes to get there). Setting loop points will not work for what I'm doing. Currently, the only option is to create a very fast listener (mine is running at 1 millisecond) to constantly check if a given note has passed its cutoff point that I attached to the note with a custom event parameter. This has two problems: it's very CPU intensive, and it produces very volatile results. If I play a very high-pitched/high-speed note, it's going to get further past the cutoff point before the listener realizes and cuts it than a low-pitched/low-speed note moving very slowly. Even if they were the same static speed, the exact moment will be slightly different depending on when they were first played relative to the cycle of the listener.
This would be a huge help. Thanks.