/*
- * JACK Rack
- *
- * Copyright (C) Robert Ham 2002, 2003 (node@users.sourceforge.net)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * JACK Rack
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * GNU General Public License for more details.
+ * Original:
+ * Copyright (C) Robert Ham 2002, 2003 (node@users.sourceforge.net)
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Modification for MLT:
+ * Copyright (C) 2004 Ushodaya Enterprises Limited
+ * Author: Dan Dennedy <dan@dennedy.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <math.h>
pd->object_file = NULL;
pd->id = 0;
pd->name = NULL;
+ pd->maker = NULL;
pd->properties = 0;
pd->channels = 0;
pd->port_count = 0;
pd->control_port_indicies = NULL;
pd->aux_channels = 0;
pd->aux_are_input = TRUE;
+ pd->has_input = TRUE;
}
static void
{
plugin_desc_set_object_file (pd, NULL);
plugin_desc_set_name (pd, NULL);
+ plugin_desc_set_maker (pd, NULL);
plugin_desc_free_ports (pd);
}
plugin_desc_set_index (pd, index);
plugin_desc_set_id (pd, descriptor->UniqueID);
plugin_desc_set_name (pd, descriptor->Name);
+ plugin_desc_set_maker (pd, descriptor->Maker);
plugin_desc_set_properties (pd, descriptor->Properties);
plugin_desc_set_ports (pd,
descriptor->PortCount,
set_string_property (pd->name, name);
}
+void
+plugin_desc_set_maker (plugin_desc_t * pd, const char * maker)
+{
+ set_string_property (pd->maker, maker);
+}
+
void
plugin_desc_set_properties (plugin_desc_t * pd, LADSPA_Properties properties)
{
{
(*current_port_count)++;
- if (*current_port_count == 1)
+ if (*current_port_count == 0)
*indicies = g_malloc (sizeof (unsigned long) * *current_port_count);
else
*indicies = g_realloc (*indicies, sizeof (unsigned long) * *current_port_count);
continue;
pd->control_port_count++;
- if (pd->control_port_count == 1)
+ if (pd->control_port_count == 0)
pd->control_port_indicies = g_malloc (sizeof (unsigned long) * pd->control_port_count);
else
pd->control_port_indicies = g_realloc (pd->control_port_indicies,
if (icount == ocount)
pd->channels = icount;
+ else if( icount == 0 )
+ {
+ pd->channels = ocount;
+ pd->has_input = FALSE;
+ }
else
{ /* deal with auxilliary ports */
unsigned long ** port_indicies;
unsigned long port_count;
unsigned long i, j;
-
+
if (icount > ocount)
{
pd->channels = ocount;