commit 1c91519de9305b8e31adbd3ef3043e5c4617a2de
parent a2cc7a5b1d069794824b6297682b0c55ae604efe
Author: AdamPorcineFudgepuppy <>
Date: Mon, 3 Jun 2024 11:39:45 -0500
update changelog, and description
Diffstat:
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/CHANGELOG.MD b/CHANGELOG.MD
@@ -1,6 +1,7 @@
# 2.1.1
Toly Pools
- Make a new module with new slug, Toly Pools v2 with better rotation options and behavior
+- New Toly Pools v2 has Auto output channels mode by default, and positive/negative rotation
- Deprecate the old Toly Pools. It will still work in old patches, but won't show up in browser
# 2.1.0
diff --git a/doc/poly-utilities.md b/doc/poly-utilities.md
@@ -27,6 +27,11 @@ Sequentially output the individual channel voltages of a polyphonic signal. Con
* CV output of the input channel count (1 - 16 channels is linearly mapped to 0 - 10 volts)
* Knob and CV for setting output channel count (0 - 10 volts linearly mapped to 1-16 output channels)
* Knob and CV for rotating the polyphonic signal (0 - 10 volts sets rotation of 0-15 channels. For example: rotation of "1" will move input channel 2 -> output channel 1, input channel 3->output channel 2, ... input channel 16 -> output channel 1)
+* The default output polyphony setting is "A": Automatic which will set the output polyphony equal to the input polyphony
+* Different rotation modes via context menu:
+- "Repeat Input Channels": If the output polyphony is set higher than input polyphony (channel count), the input channels will be repeated to fill the output
+- "Rotate Through Maximum of Output, Input Channels": If the output polyphony is higher than the input polyphony, all input channels will be used and the remainder will be filled with 0v
+- "Rotate Through 16 Channels (Legacy)": The input signal will be padded to 16 channels polyphony with 0v always. This is the "old" Toly Pools behavior, and results in a lot of 0v signals.
### Poly Channels Knob
diff --git a/src/ComputerscareTolyPools-v2.cpp b/src/ComputerscareTolyPools-v2.cpp
@@ -102,7 +102,7 @@ struct ComputerscareTolyPoolsV2 : Module {
if(rotationModeEnum == 0) {
rotationBase = numInputChannels;
} else if(rotationModeEnum == 1) {
- rotationBase = numOutputChannels;
+ rotationBase = std::max(numOutputChannels,numInputChannels);
} else if(rotationModeEnum == 2) {
rotationBase = 16;
}
@@ -255,8 +255,8 @@ struct PoolsModeItem : MenuItem {
menu->addChild(construct<MenuLabel>(&MenuLabel::text, ""));
menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Rotation Mode"));
- menu->addChild(construct<PoolsModeItem>(&MenuItem::text, "Rotate Through all Input Channels", &PoolsModeItem::pools, pools, &PoolsModeItem::modeEnum, 0));
- menu->addChild(construct<PoolsModeItem>(&MenuItem::text, "Rotate Through all Output Channels", &PoolsModeItem::pools, pools, &PoolsModeItem::modeEnum, 1));
+ menu->addChild(construct<PoolsModeItem>(&MenuItem::text, "Repeat Input Channels", &PoolsModeItem::pools, pools, &PoolsModeItem::modeEnum, 0));
+ menu->addChild(construct<PoolsModeItem>(&MenuItem::text, "Rotate Through Maximum of Output, Input Channels", &PoolsModeItem::pools, pools, &PoolsModeItem::modeEnum, 1));
menu->addChild(construct<PoolsModeItem>(&MenuItem::text, "Rotate Through 16 Channels (Legacy)", &PoolsModeItem::pools, pools, &PoolsModeItem::modeEnum, 2));
}