[SCM] calf/master: + Small modules: logical AND/OR/NOT control signal plugins, add custom classification instead of polluting "Utility" class, refer to lv2:portProperty properly
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:37:37 UTC 2013
The following commit has been merged in the master branch:
commit d63c33bc0167907f7f7ac9f797d3e5bd7aaeccb2
Author: kfoltman <kfoltman at 78b06b96-2940-0410-b7fc-879d825d01d8>
Date: Thu Sep 25 20:37:53 2008 +0000
+ Small modules: logical AND/OR/NOT control signal plugins, add custom classification instead of polluting "Utility" class, refer to lv2:portProperty properly
git-svn-id: https://calf.svn.sourceforge.net/svnroot/calf/trunk@297 78b06b96-2940-0410-b7fc-879d825d01d8
diff --git a/src/calf/modulelist.h b/src/calf/modulelist.h
index 34c5389..aceed87 100644
--- a/src/calf/modulelist.h
+++ b/src/calf/modulelist.h
@@ -33,6 +33,9 @@
PER_SMALL_MODULE_ITEM(exp_inertia_c, "exp_inertia_c")
PER_SMALL_MODULE_ITEM(sample_hold_edge_c, "sample_hold_edge_c")
PER_SMALL_MODULE_ITEM(sample_hold_level_c, "sample_hold_level_c")
+ PER_SMALL_MODULE_ITEM(logical_and_c, "logical_and_c")
+ PER_SMALL_MODULE_ITEM(logical_or_c, "logical_or_c")
+ PER_SMALL_MODULE_ITEM(logical_not_c, "logical_not_c")
#endif
#undef PER_MODULE_ITEM
#undef PER_SMALL_MODULE_ITEM
diff --git a/src/makerdf.cpp b/src/makerdf.cpp
index ac811b9..32343d8 100644
--- a/src/makerdf.cpp
+++ b/src/makerdf.cpp
@@ -246,9 +246,9 @@ struct lv2_control_port_info: public lv2_port_base, public control_port_info_ifa
ss << ind << "lv2:symbol \"" << symbol << "\" ;\n";
ss << ind << "lv2:name \"" << name << "\" ;\n";
if (is_toggle)
- ss << ind << ":portProperty lv2:toggled ;\n";
+ ss << ind << "lv2:portProperty lv2:toggled ;\n";
if (is_integer)
- ss << ind << ":portProperty lv2:integer ;\n";
+ ss << ind << "lv2:portProperty lv2:integer ;\n";
if (is_input)
ss << ind << "lv2:default " << def_value << " ;\n";
if (has_min)
@@ -321,6 +321,7 @@ void make_ttl(string path_prefix)
"@prefix pg: <http://ll-plugins.nongnu.org/lv2/ext/portgroups#> .\n"
"@prefix ue: <http://lv2plug.in/ns/extensions/units#> .\n"
"@prefix epp: <http://lv2plug.in/ns/dev/extportinfo#> .\n"
+ "@prefix kf: <http://foltman.com/ns/> .\n"
"\n"
;
@@ -444,7 +445,12 @@ void make_manifest()
ttl =
"@prefix lv2: <http://lv2plug.in/ns/lv2core#> .\n"
- "@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .\n\n";
+ "@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .\n"
+ "@prefix kf: <http://foltman.com/ns/> .\n"
+ "\n"
+ "kf:BooleanPlugin a rdfs:Class ; rdfs:label \"Boolean functions\" ; rdfs:subClassOf lv2:UtilityPlugin ; rdfs:comment \"\"\"Operations on boolean signals\"\"\" .\n"
+ "kf:MathOperatorPlugin a rdfs:Class ; rdfs:label \"Math operators\" ; rdfs:subClassOf lv2:UtilityPlugin ; rdfs:comment \"\"\"Mathematical operators and utility functions\"\"\" .\n"
+ ;
vector<synth::giface_plugin_info> plugins;
synth::get_all_plugins(plugins);
diff --git a/src/modules_small.cpp b/src/modules_small.cpp
index 123ab60..bfd462f 100644
--- a/src/modules_small.cpp
+++ b/src/modules_small.cpp
@@ -231,7 +231,7 @@ public:
}
static void plugin_info(plugin_info_iface *pii)
{
- pii->names("min", "Function min (A)", "lv2:UtilityPlugin");
+ pii->names("min", "Function min (A)", "kf:MathOperatorPlugin");
port_info(pii);
}
};
@@ -245,7 +245,7 @@ public:
}
static void plugin_info(plugin_info_iface *pii)
{
- pii->names("max", "Function max (A)", "lv2:UtilityPlugin");
+ pii->names("max", "Function max (A)", "kf:MathOperatorPlugin");
port_info(pii);
}
};
@@ -259,7 +259,7 @@ public:
}
static void plugin_info(plugin_info_iface *pii)
{
- pii->names("minus", "Subtract (A)", "lv2:UtilityPlugin");
+ pii->names("minus", "Subtract (A)", "kf:MathOperatorPlugin");
port_info(pii);
}
};
@@ -273,7 +273,7 @@ public:
}
static void plugin_info(plugin_info_iface *pii)
{
- pii->names("mul", "Multiply (A)", "lv2:UtilityPlugin");
+ pii->names("mul", "Multiply (A)", "kf:MathOperatorPlugin");
port_info(pii);
}
};
@@ -287,7 +287,7 @@ public:
}
static void plugin_info(plugin_info_iface *pii)
{
- pii->names("neg", "Negative value (A)", "lv2:UtilityPlugin");
+ pii->names("neg", "Negative value (A)", "kf:MathOperatorPlugin");
port_info(pii);
}
};
@@ -324,13 +324,63 @@ public:
}
static void plugin_info(plugin_info_iface *pii)
{
- pii->names("level2edge_c", "Level to edge (C)", "lv2:UtilityPlugin");
+ pii->names("level2edge_c", "Level to edge (C)", "kf:BooleanPlugin");
control_port_info_iface *cports[2];
port_info(pii, cports);
cports[0]->toggle().trigger();
}
};
+class logical_and_c_audio_module: public control_operator_audio_module<2>
+{
+public:
+ void process(uint32_t count) {
+ *outs[0] = (*ins[0] > 0 && *ins[1] > 0) ? 1.f : 0.f;
+ }
+ static void plugin_info(plugin_info_iface *pii)
+ {
+ pii->names("logical_and_c", "Logical AND (C)", "kf:BooleanPlugin");
+ control_port_info_iface *cports[3];
+ port_info(pii, cports);
+ cports[0]->toggle();
+ cports[1]->toggle();
+ cports[2]->toggle();
+ }
+};
+
+class logical_or_c_audio_module: public control_operator_audio_module<2>
+{
+public:
+ void process(uint32_t count) {
+ *outs[0] = (*ins[0] > 0 || *ins[1] > 0) ? 1.f : 0.f;
+ }
+ static void plugin_info(plugin_info_iface *pii)
+ {
+ pii->names("logical_or_c", "Logical OR (C)", "kf:BooleanPlugin");
+ control_port_info_iface *cports[3];
+ port_info(pii, cports);
+ cports[0]->toggle();
+ cports[1]->toggle();
+ cports[2]->toggle();
+ }
+};
+
+class logical_not_c_audio_module: public control_operator_audio_module<1>
+{
+public:
+ void process(uint32_t count) {
+ *outs[0] = (*ins[0] > 0) ? 0.f : 1.f;
+ }
+ static void plugin_info(plugin_info_iface *pii)
+ {
+ pii->names("logical_not_c", "Logical NOT (C)", "kf:BooleanPlugin");
+ control_port_info_iface *cports[2];
+ port_info(pii, cports);
+ cports[0]->toggle();
+ cports[1]->toggle();
+ }
+};
+
class map_lin2exp_audio_module: public null_small_audio_module
{
public:
@@ -544,9 +594,9 @@ public:
{
const char *names[8] = {"xa", "x*a^1", "xaa", "x*a^2", "xaaa", "x*a^3", "xaaaa", "x*a^4" };
if (audio)
- pii->names("quadpower_a", "Quad Power (A)", "lv2:UtilityPlugin");
+ pii->names("quadpower_a", "Quad Power (A)", "kf:MathOperatorPlugin");
else
- pii->names("quadpower_c", "Quad Power (C)", "lv2:UtilityPlugin");
+ pii->names("quadpower_c", "Quad Power (C)", "kf:MathOperatorPlugin");
if (audio)
pii->audio_port("x", "x").input();
else
@@ -686,7 +736,7 @@ public:
}
static void plugin_info(plugin_info_iface *pii)
{
- pii->names("sample_hold_edge", "Sample&Hold (Edge, C)", "lv2:FilterPlugin");
+ pii->names("sample_hold_edge", "Sample&Hold (Edge, C)", "lv2:UtilityPlugin");
port_info(pii, "clock", "Clock");
}
};
@@ -707,7 +757,7 @@ public:
}
static void plugin_info(plugin_info_iface *pii)
{
- pii->names("sample_hold_level", "Sample&Hold (Level, C)", "lv2:FilterPlugin");
+ pii->names("sample_hold_level", "Sample&Hold (Level, C)", "lv2:UtilityPlugin");
port_info(pii, "gate", "Gate");
}
};
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list