A few minor things I noticed not directly in the StringVoice module, but might as well be handled here.
I don't like kDelayLineSize being a globally available const for all of daisysp. It's too generic. we should move it inside the String class.
It should be valid to put it inside the class and change it to:
static constexpr size_t kDelayLineSize = 1024;
I think the enum should also move inside the class, though the naming for that is unlikely to cause conflict (you can take STRING prefix off of the actual member names if you want since it'll be in the String class
Apart from that this seems fine. I was able to get it to crash once (sweeping frequency), but i'm guessing that's related to #72 that's being fixed separately.
A few minor things I noticed not directly in the StringVoice module, but might as well be handled here.
I don't like
kDelayLineSize
being a globally available const for all of daisysp. It's too generic. we should move it inside the String class.It should be valid to put it inside the class and change it to:
static constexpr size_t kDelayLineSize = 1024;
I think the enum should also move inside the class, though the naming for that is unlikely to cause conflict (you can take
STRING
prefix off of the actual member names if you want since it'll be in theString
classApart from that this seems fine. I was able to get it to crash once (sweeping frequency), but i'm guessing that's related to #72 that's being fixed separately.