| 6 | #include "NeuralNoteMainView.h" |
| 7 | |
| 8 | NoteOptionsView::NoteOptionsView(NeuralNoteAudioProcessor& processor) |
| 9 | : mProcessor(processor) |
| 10 | { |
| 11 | mEnableButton = std::make_unique<TextButton>("EnableNoteOptionsButton"); |
| 12 | mEnableButton->setButtonText(""); |
| 13 | mEnableButton->setClickingTogglesState(true); |
| 14 | |
| 15 | mEnableButton->setColour(TextButton::buttonColourId, Colours::white.withAlpha(0.2f)); |
| 16 | mEnableButton->setColour(TextButton::buttonOnColourId, BLACK); |
| 17 | mEnableButton->setTooltip(NeuralNoteTooltips::sq_enable); |
| 18 | |
| 19 | mEnableAttachment = std::make_unique<AudioProcessorValueTreeState::ButtonAttachment>( |
| 20 | mProcessor.getAPVTS(), ParameterHelpers::getIdStr(ParameterHelpers::EnableNoteQuantizationId), *mEnableButton); |
| 21 | addAndMakeVisible(mEnableButton.get()); |
| 22 | |
| 23 | mMinMaxNoteSlider = std::make_unique<MinMaxNoteSlider>(*mProcessor.getParams()[ParameterHelpers::MinMidiNoteId], |
| 24 | *mProcessor.getParams()[ParameterHelpers::MaxMidiNoteId]); |
| 25 | mMinMaxNoteSlider->setTooltip(NeuralNoteTooltips::sq_note_range); |
| 26 | addAndMakeVisible(mMinMaxNoteSlider.get()); |
| 27 | |
| 28 | mRootNoteDropdown = std::make_unique<ComboBox>("KeyRootNoteDropDown"); |
| 29 | mRootNoteDropdown->setEditableText(false); |
| 30 | mRootNoteDropdown->setJustificationType(Justification::centredLeft); |
| 31 | mRootNoteDropdown->addItemList(NoteUtils::RootNotesSharpStr, 1); |
| 32 | mRootNoteDropdown->setTooltip(NeuralNoteTooltips::sq_root_note); |
| 33 | mKeyAttachment = std::make_unique<ComboBoxParameterAttachment>( |
| 34 | *mProcessor.getParams()[ParameterHelpers::KeyRootNoteId], *mRootNoteDropdown); |
| 35 | addAndMakeVisible(mRootNoteDropdown.get()); |
| 36 | |
| 37 | mKeyType = std::make_unique<ComboBox>("ScaleTypeDropDown"); |
| 38 | mKeyType->setEditableText(false); |
| 39 | mKeyType->setJustificationType(Justification::centredLeft); |
| 40 | mKeyType->addItemList(NoteUtils::ScaleTypesStr, 1); |
| 41 | mKeyType->setTooltip(NeuralNoteTooltips::sq_scale_type); |
| 42 | mKeyTypeAttachment = |
| 43 | std::make_unique<ComboBoxParameterAttachment>(*mProcessor.getParams()[ParameterHelpers::KeyTypeId], *mKeyType); |
| 44 | addAndMakeVisible(mKeyType.get()); |
| 45 | |
| 46 | mSnapMode = std::make_unique<ComboBox>("SnapModeDropDown"); |
| 47 | mSnapMode->setEditableText(false); |
| 48 | mSnapMode->setJustificationType(Justification::centredLeft); |
| 49 | mSnapMode->addItemList(NoteUtils::SnapModesStr, 1); |
| 50 | mSnapMode->setTooltip(NeuralNoteTooltips::sq_snap_mode); |
| 51 | mSnapModeAttachment = std::make_unique<ComboBoxParameterAttachment>( |
| 52 | *mProcessor.getParams()[ParameterHelpers::KeySnapModeId], *mSnapMode); |
| 53 | addAndMakeVisible(mSnapMode.get()); |
| 54 | |
| 55 | setSize(266, 139); |
| 56 | |
| 57 | mProcessor.getParams()[static_cast<size_t>(ParameterHelpers::EnableNoteQuantizationId)]->addListener(this); |
| 58 | |
| 59 | bool is_enabled = mProcessor.getParameterValue(ParameterHelpers::EnableNoteQuantizationId) > 0.5f; |
| 60 | _enableView(is_enabled); |
| 61 | } |
| 62 | |
| 63 | NoteOptionsView::~NoteOptionsView() |
| 64 | { |
nothing calls this directly
no test coverage detected