• Home
  • Raw
  • Download

Lines Matching full:plugin

3    Linux Audio Developer's Simple Plugin API Version 1.1[LGPL].
39 Developer's Simple Plugin API') attempts to give programmers the
40 ability to write simple `plugin' audio processors in C/C++ and link
42 It should be possible for any host and any plugin to communicate
55 control data and each plugin is `run' for a `block' corresponding
58 to be processed by the plugin in a single pass. Control data is
62 duration. The plugin may assume that all its input and output ports
68 `plugin types' that can be used to instantiate actual plugins
69 (sometimes known as `plugin instances') that can be connected
76 /* Fundamental data type passed in and out of plugin. This data type
78 assumed that the plugin will work sensibly given any numeric input
88 /* Special Plugin Properties:
90 Optional features of the plugin type are encapsulated in the
96 /* Property LADSPA_PROPERTY_REALTIME indicates that the plugin has a
101 /* Property LADSPA_PROPERTY_INPLACE_BROKEN indicates that the plugin
105 hosts to use the plugin to process audio `in-place.' */
108 /* Property LADSPA_PROPERTY_HARD_RT_CAPABLE indicates that the plugin
110 `hard real-time' environment. To qualify for this the plugin must
113 (1) The plugin must not use malloc(), free() or other heap memory
118 (2) The plugin will not attempt to make use of any library
122 (3) The plugin will not access files, devices, pipes, sockets, IPC
126 (4) The plugin will take an amount of time to execute a run() or
129 may not depend on input signals or plugin state. The host is left
140 /* Plugin Ports:
175 /* Plugin Port Range Hints:
178 leaving a plugin (e.g. to generate a GUI automatically). To make
179 this more meaningful, the plugin should provide `hints' to the host
183 plugin must not assume that data supplied to it is meaningful. If
184 the plugin receives invalid input data it is expected to continue
356 /* Plugin Handles:
358 This plugin handle indicates a particular instance of the plugin
360 otherwise the host should not attempt to interpret it. The plugin
367 /* Descriptor for a Type of Plugin:
369 This structure is used to describe a plugin type. It provides a
375 /* This numeric identifier indicates the plugin type
376 uniquely. Plugin programmers may reserve ranges of IDs from a
382 identifier for the plugin type within the plugin file. Plugin
384 or plugin name, which may be changed in new plugin
388 /* This indicates a number of properties of the plugin. */
391 /* This member points to the null-terminated name of the plugin
396 maker of the plugin. This can be an empty string but not NULL. */
400 copyright applying to the plugin. If no Copyright applies the
405 the plugin. */
421 /* This may be used by the plugin developer to pass any custom
423 or interpreted by the host. It is expected that most plugin
428 /* This member is a function pointer that instantiates a plugin. A
429 handle is returned indicating the new plugin instance. The
431 plugin descriptor from which this instantiate function was found
441 instantiated plugin to a memory location at which a block of data
445 managed by the host. The plugin must read/write the data at these
450 connect_port() may be called more than once for a plugin instance
451 to allow the host to change the buffers that the plugin is
457 LADSPA_Data the plugin should pay careful attention to the block
461 Plugin writers should be aware that the host may elect to use the
470 /* This member is a function pointer that initialises a plugin
473 reinitialise a plugin instance by calling deactivate() and then
474 activate(). In this case the plugin instance must reset all state
475 information dependent on the history of the plugin instance
478 activate() to do then the plugin writer may provide a NULL rather
492 plugin for a block. Two parameters are required: the first is a
494 indicates the block size (in samples) for which the plugin
499 plugin instance then the plugin instance may not be reused until
502 If the plugin has the property LADSPA_PROPERTY_HARD_RT_CAPABLE
503 then there are various things that the plugin should not do
509 plugin for a block. This has identical behaviour to run() except
510 in the way data is output from the plugin. When run() is used,
518 run_adding() is optional. When it is not provided by a plugin,
530 This function should be provided by the plugin if and only if the
537 nothing for deactivate() to do then the plugin writer may provide
547 Deactivation is not similar to pausing as the plugin instance
551 /* Once an instance of a plugin has been finished with it can be
555 If activate() was called for a plugin instance then a
564 /* Accessing a Plugin: */
568 object file containing the plugin types. To allow multiple hosts to
569 share plugin types, hosts may wish to check for environment
572 (in order) when loading plugin types.
574 A plugin programmer must include a function called
580 A host will find the plugin shared object file by one means or
584 Plugin types are accessed by index (not ID) using values from 0
586 returning NULL, so the plugin count can be determined by checking