From 2811066546dfe0bd9349502572ee3b35c2532bad Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 28 Jul 2008 23:38:03 +0000 Subject: Compatibility hacks for old Om patchages (many Smack patches now load successfully). git-svn-id: http://svn.drobilla.net/lad/ingen@1299 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/LADSPANode.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/libs/engine') diff --git a/src/libs/engine/LADSPANode.cpp b/src/libs/engine/LADSPANode.cpp index dd3ce0c2..ef4b0ece 100644 --- a/src/libs/engine/LADSPANode.cpp +++ b/src/libs/engine/LADSPANode.cpp @@ -104,6 +104,22 @@ LADSPANode::apply_poly(Raul::Maid& maid, uint32_t poly) return true; } + +static string +nameify_if_invalid(const string& name) +{ + if (Path::is_valid_name(name)) { + return name; + } else { + const string new_name = Path::nameify(name); + assert(Path::is_valid_name(new_name)); + if (new_name != name) + cerr << "WARNING: Illegal LADSPA port name '" + << name << "' converted to '" << new_name << "'" << endl; + return new_name; + } +} + /** Instantiate self from LADSPA plugin descriptor. * @@ -137,7 +153,7 @@ LADSPANode::instantiate() PortImpl* port = NULL; for (size_t j=0; j < _descriptor->PortCount; ++j) { - port_name = Path::nameify(_descriptor->PortNames[j]); + port_name = nameify_if_invalid(_descriptor->PortNames[j]); string::size_type slash_index; -- cgit v1.2.1