#include "pbd/stl_delete.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
#include <locale.h>
using namespace std;
*_latency_control_port = 0;
}
- if (!LADSPA_IS_PORT_INPUT(port_descriptor (i))) {
- continue;
- }
-
_shadow_data[i] = _default_value (i);
+ _control_data[i] = _shadow_data[i];
}
}
LadspaPlugin::add_state (XMLNode* root) const
{
XMLNode *child;
- char buf[16];
- LocaleGuard lg (X_("POSIX"));
+ char buf[32];
+ LocaleGuard lg;
for (uint32_t i = 0; i < parameter_count(); ++i){
#ifndef NO_PLUGIN_STATE
XMLNodeList nodes;
- XMLProperty *prop;
+ XMLProperty const * prop;
XMLNodeConstIterator iter;
XMLNode *child;
const char *port;
const char *data;
uint32_t port_id;
#endif
- LocaleGuard lg (X_("POSIX"));
+ LocaleGuard lg;
if (node.name() != state_node_name()) {
error << _("Bad node sent to LadspaPlugin::set_state") << endmsg;
{
#ifndef NO_PLUGIN_STATE
XMLNodeList nodes;
- XMLProperty *prop;
+ XMLProperty const * prop;
XMLNodeConstIterator iter;
XMLNode *child;
const char *port;
const char *data;
uint32_t port_id;
#endif
- LocaleGuard lg (X_("POSIX"));
+ LocaleGuard lg;
if (node.name() != state_node_name()) {
error << _("Bad node sent to LadspaPlugin::set_state") << endmsg;
int
LadspaPlugin::connect_and_run (BufferSet& bufs,
+ framepos_t start, framepos_t end, double speed,
ChanMapping in_map, ChanMapping out_map,
pframes_t nframes, framecnt_t offset)
{
- Plugin::connect_and_run (bufs, in_map, out_map, nframes, offset);
+ Plugin::connect_and_run (bufs, start, end, speed, in_map, out_map, nframes, offset);
cycles_t now;
cycles_t then = get_cycles ();
}
}
+std::vector<Plugin::PresetRecord>
+LadspaPluginInfo::get_presets (bool /*user_only*/) const
+{
+ std::vector<Plugin::PresetRecord> p;
+#if (defined HAVE_LRDF && !defined NO_PLUGIN_STATE)
+ if (!isdigit (unique_id[0])) {
+ return p;
+ }
+ uint32_t id = atol (unique_id);
+ lrdf_uris* set_uris = lrdf_get_setting_uris(id);
+
+ if (set_uris) {
+ for (uint32_t i = 0; i < (uint32_t) set_uris->count; ++i) {
+ if (char* label = lrdf_get_label (set_uris->items[i])) {
+ p.push_back (Plugin::PresetRecord (set_uris->items[i], label));
+ }
+ }
+ lrdf_free_uris(set_uris);
+ }
+#endif
+ return p;
+}
+
LadspaPluginInfo::LadspaPluginInfo()
{
type = ARDOUR::LADSPA;
LADSPA_PortDescriptor
LadspaPlugin::port_descriptor (uint32_t i) const
{
- if (i < _descriptor->PortCount) {
+ if (i < _descriptor->PortCount) {
return _descriptor->PortDescriptors[i];
}
-
+
warning << "LADSPA plugin port index " << i << " out of range." << endmsg;
return 0;
}
-
-
+
+