Skip to content

Commit 4bf2e0f

Browse files
committed
Add support for record engine selection by ID
1 parent 743dcc9 commit 4bf2e0f

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

Source/Processors/RecordNode/RecordNode.cpp

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,31 @@ String RecordNode::handleConfigMessage (const String& msg)
299299
{
300300
RecordNodeEditor* ed = static_cast<RecordNodeEditor*> (getEditor());
301301

302-
int engineIndex = tokens[1].getIntValue();
302+
String engineValue = tokens[1];
303+
int engineIndex = -1;
304+
305+
// Try to parse as an integer first
306+
if (engineValue.containsOnly ("0123456789"))
307+
{
308+
engineIndex = engineValue.getIntValue();
309+
}
310+
else // If not an integer, try to match by name
311+
{
312+
auto engines = getAvailableRecordEngines();
313+
for (int i = 0; i < engines.size(); ++i)
314+
{
315+
if (engines[i]->getID().toLowerCase() == engineValue.toLowerCase())
316+
{
317+
engineIndex = i;
318+
break;
319+
}
320+
}
321+
322+
if (engineIndex == -1)
323+
{
324+
return "Record Node: unknown engine name \"" + engineValue + "\"";
325+
}
326+
}
303327

304328
int numEngines = ((CategoricalParameter*) getParameter ("engine"))->getCategories().size();
305329

0 commit comments

Comments
 (0)