Miserlou / RJModules

Various modules for VCV Rack
https://github.com/Miserlou/RJModules
MIT License
98 stars 18 forks source link

Splitter has duplicate output port IDs #43

Closed cschol closed 5 years ago

cschol commented 5 years ago

Rack 1.2 (currently dev) will have an assert to catch duplicate port IDs.

Splitter asserts.

[snip]
#3  0x00007fa277b2d412 in __GI___assert_fail (assertion=assertion@entry=0x563d5dc16768 "output->portId != output2->portId", file=file@entry=0x563d5dc165a0 "src/app/ModuleWidget.cpp", line=line@entry=454, function=function@entry=0x563d5dc169c0 <rack::app::ModuleWidget::addOutput(rack::app::PortWidget*)::__PRETTY_FUNCTION__> "void rack::app::ModuleWidget::addOutput(rack::app::PortWidget*)") at assert.c:101
#4  0x0000563d5d947c7f in rack::app::ModuleWidget::addOutput(rack::app::PortWidget*) (this=this@entry=0x563d5f7ce6a0, output=<optimized out>, output@entry=0x563d5f7bda20) at src/app/ModuleWidget.cpp:454
#5  0x00007fa2690fceac in SplitterWidget::SplitterWidget(Splitter*) (this=0x563d5f7ce6a0, module=0x0) at src/Splitter.cpp:76

Offending code:

addOutput(createPort<PJ301MPort>(Vec(24, 223), PortWidget::OUTPUT, module, Splitter::CH5_OUTPUT));
addOutput(createPort<PJ301MPort>(Vec(65, 223), PortWidget::OUTPUT, module, Splitter::CH6_OUTPUT));
addOutput(createPort<PJ301MPort>(Vec(105, 223), PortWidget::OUTPUT, module, Splitter::CH6_OUTPUT));
Miserlou commented 5 years ago

Hoist by my own petard.

cschol commented 5 years ago

Ha! :)

Miserlou commented 5 years ago

Thanks for the report, should be fixed now.