@@ -50,13 +50,13 @@ OnixSourceEditor::OnixSourceEditor(GenericProcessor* parentNode, OnixSource* oni
5050 headstageComboBoxA->setSelectedId (1 , dontSendNotification);
5151 addAndMakeVisible (headstageComboBoxA.get ());
5252
53- passthroughEditorA = std::make_unique<ToggleParameterEditor>(onixSource-> getParameter ( " passthroughA " ) );
54- passthroughEditorA-> setLayout (ParameterEditor::nameHidden );
55- passthroughEditorA-> setBounds (headstageComboBoxA-> getX (), headstageComboBoxA-> getBottom () + 4 , 60 , headstageComboBoxA-> getHeight () );
56- addAndMakeVisible (passthroughEditorA .get ());
53+ portVoltageOverrideLabelA = std::make_unique<Label>( " voltageOverrideLabelA " , " Voltage " );
54+ portVoltageOverrideLabelA-> setBounds (headstageComboBoxA-> getX (), headstageComboBoxA-> getBottom () + 4 , 50 , headstageComboBoxA-> getHeight () );
55+ portVoltageOverrideLabelA-> setFont (fontOptionSmall );
56+ addAndMakeVisible (portVoltageOverrideLabelA .get ());
5757
5858 portVoltageValueA = std::make_unique<Label>(" voltageValueA" , " " );
59- portVoltageValueA->setBounds (passthroughEditorA ->getRight () + 10 , passthroughEditorA ->getY (), 35 , passthroughEditorA ->getHeight ());
59+ portVoltageValueA->setBounds (portVoltageOverrideLabelA ->getRight () + 3 , portVoltageOverrideLabelA ->getY (), 25 , portVoltageOverrideLabelA ->getHeight ());
6060 portVoltageValueA->setFont (fontOptionSmall);
6161 portVoltageValueA->setEditable (true );
6262 portVoltageValueA->setColour (Label::textColourId, Colours::black);
@@ -66,7 +66,7 @@ OnixSourceEditor::OnixSourceEditor(GenericProcessor* parentNode, OnixSource* oni
6666 addAndMakeVisible (portVoltageValueA.get ());
6767
6868 portLabelB = std::make_unique<Label>(" portLabelB" , " Port B:" );
69- portLabelB->setBounds (portLabelA->getX (), passthroughEditorA ->getBottom () + 5 , portLabelA->getWidth (), portLabelA->getHeight ());
69+ portLabelB->setBounds (portLabelA->getX (), portVoltageOverrideLabelA ->getBottom () + 5 , portLabelA->getWidth (), portLabelA->getHeight ());
7070 portLabelB->setFont (fontOptionTitle);
7171 addAndMakeVisible (portLabelB.get ());
7272
@@ -83,13 +83,13 @@ OnixSourceEditor::OnixSourceEditor(GenericProcessor* parentNode, OnixSource* oni
8383 headstageComboBoxB->setSelectedId (1 , dontSendNotification);
8484 addAndMakeVisible (headstageComboBoxB.get ());
8585
86- passthroughEditorB = std::make_unique<ToggleParameterEditor>(onixSource-> getParameter ( " passthroughB " ) );
87- passthroughEditorB-> setLayout (ParameterEditor::nameHidden );
88- passthroughEditorB-> setBounds (headstageComboBoxB-> getX (), headstageComboBoxB-> getBottom () + 4 , passthroughEditorA-> getWidth (), passthroughEditorA-> getHeight () );
89- addAndMakeVisible (passthroughEditorB .get ());
86+ portVoltageOverrideLabelB = std::make_unique<Label>( " voltageOverrideLabelB " , " Voltage " );
87+ portVoltageOverrideLabelB-> setBounds (headstageComboBoxB-> getX (), headstageComboBoxB-> getBottom () + 4 , portVoltageOverrideLabelA-> getWidth (), portVoltageOverrideLabelA-> getHeight () );
88+ portVoltageOverrideLabelB-> setFont (fontOptionSmall );
89+ addAndMakeVisible (portVoltageOverrideLabelB .get ());
9090
9191 portVoltageValueB = std::make_unique<Label>(" voltageValueB" , " " );
92- portVoltageValueB->setBounds (passthroughEditorB-> getRight () + 10 , passthroughEditorB ->getY (), portVoltageValueA->getWidth (), passthroughEditorB ->getHeight ());
92+ portVoltageValueB->setBounds (portVoltageValueA-> getX (), portVoltageOverrideLabelB ->getY (), portVoltageValueA->getWidth (), portVoltageValueA ->getHeight ());
9393 portVoltageValueB->setFont (fontOptionSmall);
9494 portVoltageValueB->setEditable (true );
9595 portVoltageValueB->setColour (Label::textColourId, Colours::black);
@@ -183,13 +183,31 @@ void OnixSourceEditor::comboBoxChanged(ComboBox* cb)
183183 String headstage = headstageComboBoxA->getText ();
184184
185185 thread->updateDiscoveryParameters (PortName::PortA, PortController::getHeadstageDiscoveryParameters (headstage));
186+
187+ if (headstage == " Neuropixels 1.0f" )
188+ {
189+ thread->getParameter (" passthroughA" )->setNextValue (false );
190+ }
191+ else
192+ {
193+ thread->getParameter (" passthroughA" )->setNextValue (true );
194+ }
186195 }
187196 else if (cb == headstageComboBoxB.get ())
188197 {
189198 // TODO: Call canvas to remove / add tabs as needed depending on what is chosen
190199 String headstage = headstageComboBoxB->getText ();
191200
192201 thread->updateDiscoveryParameters (PortName::PortB, PortController::getHeadstageDiscoveryParameters (headstage));
202+
203+ if (headstage == " Neuropixels 1.0f" )
204+ {
205+ thread->getParameter (" passthroughB" )->setNextValue (false );
206+ }
207+ else
208+ {
209+ thread->getParameter (" passthroughB" )->setNextValue (true );
210+ }
193211 }
194212}
195213
0 commit comments