27 using Decimal::Decimal;
29 auto& sampleHolder = getCurrentAudioClip()->sampleHolder;
30 this->setValue(computeCurrentValueForTranspose(sampleHolder.transpose, sampleHolder.cents));
32 void writeCurrentValue()
override {
33 int32_t transpose, cents;
34 computeFinalValuesForTranspose(this->getValue(), &transpose, ¢s);
36 auto& sampleHolder = getCurrentAudioClip()->sampleHolder;
37 sampleHolder.transpose = transpose;
38 sampleHolder.cents = cents;
39 sampleHolder.recalculateNeutralPhaseIncrement();
42 [[nodiscard]] int32_t getMinValue()
const override {
return -9600; }
43 [[nodiscard]] int32_t getMaxValue()
const override {
return 9600; }
44 [[nodiscard]] int32_t getNumDecimalPlaces()
const override {
return 2; }
46 void unlearnAction()
override { MenuItemWithCCLearning::unlearnAction(); }
47 bool allowsLearnMode()
override {
return MenuItemWithCCLearning::allowsLearnMode(); }
48 void learnKnob(
MIDICable* cable, int32_t whichKnob, int32_t modKnobMode, int32_t midiChannel)
override {
49 MenuItemWithCCLearning::learnKnob(cable, whichKnob, modKnobMode, midiChannel);
55 + deluge::modulation::params::UNPATCHED_PITCH_ADJUST);
56 return paramDescriptor;