var searchIndex = {}; searchIndex["ladspa"] = {"doc":"The ```ladspa``` crate provides an interface for writing [LADSPA](http://www.ladspa.org/)\nplugins safely in Rust.","items":[[3,"PluginDescriptor","ladspa","Describes the properties of a ```Plugin``` to be exposed as a LADSPA plugin.",null,null],[12,"unique_id","","Unique IDs are an unfortunate remnant of the LADSPA API. During development, it is\nsuggested to pick one under 1000, but it should be changed before release. More information\nis available here: http://www.ladspa.org/ladspa_sdk/unique_ids.html",0,null],[12,"label","","Plugin labels are expected to be a unique descriptor string for this specific plugin within\nthe library. Labels are case sensitive and expected not to contain spaces.",0,null],[12,"properties","","The properties of a plugin describe restrictions and features for it's use. See\ndocumentation for ```Properties``` for info on available options.",0,null],[12,"name","","The name of the plugin. This is usually how it is identified.",0,null],[12,"maker","","The maker of the plugin. Can be empty.",0,null],[12,"copyright","","Indicates copyright of the plugin. If no copyright applies, "None" should be used.",0,null],[12,"ports","","A vector of input and output ports exposed by the plugin. See the documentation for\n```Port``` for more information.",0,null],[12,"new","","A function which creates a new instance of the plugin.",0,null],[3,"Port","","Represents an input or output to the plugin representing either audio or\ncontrol data.",null,null],[12,"name","","The name of the port. For control ports, this will likely be shown by the host in an\nautomatically generated GUI next to the control. For audio ports, it is mostly just\nfor identification in your code but some hosts may display it.",1,null],[12,"desc","","Describes the type of port: audio or control, input or output.",1,null],[12,"hint","","Most useful on control inputs but can be used on any type of port.",1,null],[12,"default","","Most useful on control inputs but can be used on any type of port.",1,null],[12,"lower_bound","","The lower bound of values to accepted by default (the host may ignore this).",1,null],[12,"upper_bound","","The upper bound of values to accepted by default (the host may ignore this).",1,null],[3,"ControlHint","","Represents the special properties a control port may hold. These are merely hints as to the\nuse of the port and may be completely ignored by the host. For audio ports, use ```CONTROL_HINT_NONE```.\nTo attach multiple properties, bitwise-or them together.\nSee documentation for the constants beginning with HINT_ for the more information.",null,null],[3,"PortConnection","","Represents a connection between a port and the data attached to the port by the plugin\nhost.",null,null],[12,"port","","The port which the data is connected to.",2,null],[12,"data","","The data connected to the port. It's usually simpler to use the various unwrap_* functions\nthan to interface with this directly.",2,null],[3,"Properties","","Represents the special properties a LADSPA plugin can have.\nTo attach multiple properties, bitwise-or them together, for example\n```PROP_REALTIME | PROP_INPLACE_BROKEN```.\nSee documentation for the constants beginning with PROP_ for the more information.",null,null],[4,"PortDescriptor","","Represents the 4 types of ports: audio or control, input or output.",null,null],[13,"Invalid","","",3,null],[13,"AudioInput","","",3,null],[13,"AudioOutput","","",3,null],[13,"ControlInput","","",3,null],[13,"ControlOutput","","",3,null],[4,"DefaultValue","","The default values that a control port may hold. For audio ports, use DefaultControlValue::None.",null,null],[13,"Minimum","","Equal to the ```lower_bound``` of the ```Port```.",4,null],[13,"Low","","For ports with\n```LADSPA_HINT_LOGARITHMIC```, this should be ```exp(log(lower_bound) * 0.75 +\nlog(upper_bound) * 0.25)```. Otherwise, this should be ```(lower_bound * 0.75 +\nupper_bound * 0.25)```.",4,null],[13,"Middle","","For ports with\n```CONTROL_HINT_LOGARITHMIC```, this should be ```exp(log(lower_bound) * 0.5 +\nlog(upper_bound) * 0.5)```. Otherwise, this should be ```(lower_bound * 0.5 +\nupper_bound * 0.5)```.",4,null],[13,"High","","For ports with\n```LADSPA_HINT_LOGARITHMIC```, this should be ```exp(log(lower_bound) * 0.25 +\nlog(upper_bound) * 0.75)```. Otherwise, this should be ```(lower_bound * 0.25 +\nupper_bound * 0.75)```.",4,null],[13,"Maximum","","Equal to the ```upper_bound``` of the ```Port```.",4,null],[13,"Value0","","Equal to 0 or false for toggled values.",4,null],[13,"Value1","","Equal to 1 or true for toggled values.",4,null],[13,"Value100","","Equal to 100.",4,null],[13,"Value440","","Equal to 440, concert A. This may be off by a few Hz if the host is using an alternate\ntuning.",4,null],[4,"PortData","","Represents the four types of data a port can hold.",null,null],[13,"AudioInput","","",5,null],[13,"AudioOutput","","",5,null],[13,"ControlInput","","",5,null],[13,"ControlOutput","","",5,null],[5,"get_ladspa_descriptor","","Your plugin must implement this function.\n```get_ladspa_descriptor``` returns a description of a supported plugin for a given plugin\nindex. When the index is out of bounds for the number of plugins supported by your library,\nyou are expected to return ```None```.",null,null],[6,"Data","","The data type used internally by LADSPA for audio and control ports.",null,null],[17,"HINT_TOGGLED","","Indicates that this is a toggled port. Toggled ports may only have default values\nof zero or one, although the host may send any value, where <= 0 is false and > 0 is true.",null,null],[17,"HINT_SAMPLE_RATE","","Indicates that all values related to the port will be multiplied by the sample rate by\nthe host before passing them to your plugin. This includes the lower and upper bounds. If you\nwant an upper bound of 22050 with this property and a sample rate of 44100, set the upper bound\nto 0.5",null,null],[17,"HINT_LOGARITHMIC","","Indicates that the data passed through this port would be better represented on a\nlogarithmic scale",null,null],[17,"HINT_INTEGER","","Indicates that the data passed through this port should be represented as integers. Bounds\nmay be interpreted exclusively depending on the host",null,null],[17,"PROP_NONE","","No properties.",null,null],[17,"PROP_REALTIME","","Indicates that the plugin has a realtime dependency so it's output may not be cached.",null,null],[17,"PROP_INPLACE_BROKEN","","Indicates that the plugin will not function correctly if the input and output audio\ndata has the same memory location. This could be an issue if you copy input to output\nthen refer back to previous values of the input as they will be overwritten. It is\nrecommended that you avoid using this flag if possible as it can decrease the speed of\nthe plugin.",null,null],[17,"PROP_HARD_REALTIME_CAPABLE","","Indicates that the plugin is capable of running not only in a conventional host but\nalso in a 'hard real-time' environment. To qualify for this the plugin must\nsatisfy all of the following:",null,null],[8,"Plugin","","Represents an instance of a plugin which may be exposed as a LADSPA plugin using\n```get_ladspa_descriptor```. It is not necessary to implement activate to deactivate.",null,null],[11,"activate","","The plugin instance must reset all state information dependent\non the history of the plugin instance here.\nWill be called before `run` is called for the first time.",6,null],[10,"run","","Runs the plugin on a number of samples, given the connected ports.",6,null],[11,"deactivate","","Indicates the plugin is no longer live.",6,null],[11,"default","","",1,{"inputs":[],"output":{"name":"port"}}],[11,"clone","","",1,null],[11,"clone","","",3,null],[11,"default","","",3,{"inputs":[],"output":{"name":"portdescriptor"}}],[11,"hash","","",7,null],[11,"cmp","","",7,null],[11,"partial_cmp","","",7,null],[11,"lt","","",7,null],[11,"le","","",7,null],[11,"gt","","",7,null],[11,"ge","","",7,null],[11,"clone","","",7,null],[11,"eq","","",7,null],[11,"ne","","",7,null],[11,"fmt","","",7,null],[11,"empty","","Returns an empty set of flags.",7,{"inputs":[],"output":{"name":"controlhint"}}],[11,"all","","Returns the set containing all flags.",7,{"inputs":[],"output":{"name":"controlhint"}}],[11,"bits","","Returns the raw value of the flags currently stored.",7,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",7,{"inputs":[{"name":"i32"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",7,{"inputs":[{"name":"i32"}],"output":{"name":"controlhint"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",7,null],[11,"is_all","","Returns `true` if all flags are currently set.",7,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",7,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",7,null],[11,"insert","","Inserts the specified flags in-place.",7,null],[11,"remove","","Removes the specified flags in-place.",7,null],[11,"toggle","","Toggles the specified flags in-place.",7,null],[11,"bitor","","Returns the union of the two sets of flags.",7,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",7,null],[11,"bitand","","Returns the intersection between the two sets of flags.",7,null],[11,"sub","","Returns the set difference of the two sets of flags.",7,null],[11,"not","","Returns the complement of this set of flags.",7,null],[11,"from_iter","","",7,{"inputs":[{"name":"t"}],"output":{"name":"controlhint"}}],[11,"clone","","",4,null],[11,"unwrap_audio","","Returns a slice pointing to the internal data of an audio input port. Panics if this port\nis not an ```AudioIn``` port.",2,null],[11,"unwrap_audio_mut","","Returns a mutable slice pointing to the internal data of an audio output port. Panics if\nthis port is not an ```AudioOut``` port.",2,null],[11,"unwrap_control","","Returns a refrence to the internal data of an control input port. Panics if this port\nis not an ```ControlIn``` port.",2,null],[11,"unwrap_control_mut","","Returns a mutable refrence to the internal data of an audio output port. Panics if\nthis port is not an ```ControlOut``` port.",2,null],[11,"hash","","",8,null],[11,"cmp","","",8,null],[11,"partial_cmp","","",8,null],[11,"lt","","",8,null],[11,"le","","",8,null],[11,"gt","","",8,null],[11,"ge","","",8,null],[11,"clone","","",8,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"fmt","","",8,null],[11,"empty","","Returns an empty set of flags.",8,{"inputs":[],"output":{"name":"properties"}}],[11,"all","","Returns the set containing all flags.",8,{"inputs":[],"output":{"name":"properties"}}],[11,"bits","","Returns the raw value of the flags currently stored.",8,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",8,{"inputs":[{"name":"i32"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",8,{"inputs":[{"name":"i32"}],"output":{"name":"properties"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",8,null],[11,"is_all","","Returns `true` if all flags are currently set.",8,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",8,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",8,null],[11,"insert","","Inserts the specified flags in-place.",8,null],[11,"remove","","Removes the specified flags in-place.",8,null],[11,"toggle","","Toggles the specified flags in-place.",8,null],[11,"bitor","","Returns the union of the two sets of flags.",8,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",8,null],[11,"bitand","","Returns the intersection between the two sets of flags.",8,null],[11,"sub","","Returns the set difference of the two sets of flags.",8,null],[11,"not","","Returns the complement of this set of flags.",8,null],[11,"from_iter","","",8,{"inputs":[{"name":"t"}],"output":{"name":"properties"}}]],"paths":[[3,"PluginDescriptor"],[3,"Port"],[3,"PortConnection"],[4,"PortDescriptor"],[4,"DefaultValue"],[4,"PortData"],[8,"Plugin"],[3,"ControlHint"],[3,"Properties"]]}; initSearch(searchIndex);