From c81c33404d3e7648c418ac949a71c6e441c81ea0 Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 8 Sep 2017 12:00:57 +0100 Subject: [PATCH] BLOCKS: Added support for tri-state button controls in littlefoot --- .../juce_blocks_basics/blocks/juce_BlockConfigManager.h | 7 ++++--- .../protocol/juce_BlocksProtocolDefinitions.h | 6 ++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/juce_blocks_basics/blocks/juce_BlockConfigManager.h b/modules/juce_blocks_basics/blocks/juce_BlockConfigManager.h index eb591576fb..f24540ded4 100644 --- a/modules/juce_blocks_basics/blocks/juce_BlockConfigManager.h +++ b/modules/juce_blocks_basics/blocks/juce_BlockConfigManager.h @@ -50,7 +50,7 @@ struct BlockConfigManager options }; - static constexpr uint32 numConfigItems = 60; + static constexpr uint32 numConfigItems = 61; struct ConfigDescription { @@ -93,6 +93,7 @@ struct BlockConfigManager { fixedVelocityValue, 127, 1, 127, false, "Fixed Velocity Value", ConfigType::integer, {}, "5D Touch" }, { pianoMode, 0, 0, 1, false, "Piano Mode", ConfigType::boolean, {}, "Play mode" }, { glideLock, 0, 0, 127, false, "Glide Rate", ConfigType::integer, {}, "Play mode" }, + { glideLockEnable, 0, 0, 1, false, "Glidelock Enable", ConfigType::boolean, {}, "Play mode" }, { mode, 4, 1, 5, false, "Mode", ConfigType::integer, {}, "Play mode" }, { volume, 100, 0, 127, false, "Volume", ConfigType::integer, {}, "Play mode" }, { scale, 0, 0, 18, false, "Scale", ConfigType::integer, {}, "Play mode" }, // NOTE: Should be options @@ -255,8 +256,8 @@ struct BlockConfigManager void resetConfigListActiveStatus() { - for (uint32 i = 0; i < numConfigItems; ++i) - configList[i].isActive = false; + for (auto& i : configList) + i.isActive = false; } //============================================================================== diff --git a/modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h b/modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h index 94910de1f1..5cf40376b0 100644 --- a/modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h +++ b/modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h @@ -214,6 +214,7 @@ enum ConfigItemId fixedVelocityValue = 16, pianoMode = 17, glideLock = 18, + glideLockEnable = 19, // Live mode = 20, volume = 21, @@ -505,6 +506,11 @@ static constexpr const char* ledProgramLittleFootFunctions[] = "onControlPress/vi", "onControlRelease/vi", "initControl/viiiiiiiii", + "setButtonMode/vii", + "setButtonType/viii", + "setButtonMinMaxDefault/viiii", + "setButtonColours/viii", + "setButtonTriState/vii", nullptr };