SLV2 0.6.6
|
00001 /* SLV2 00002 * Copyright (C) 2007-2009 Dave Robillard <http://drobilla.net> 00003 * 00004 * This library is free software; you can redistribute it and/or modify it 00005 * under the terms of the GNU General Public License as published by the Free 00006 * Software Foundation; either version 2 of the License, or (at your option) 00007 * any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, but WITHOUT 00010 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00011 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00012 * for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License along 00015 * with this program; if not, write to the Free Software Foundation, Inc., 00016 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 00017 */ 00018 00019 #ifndef __SLV2_PORT_H__ 00020 #define __SLV2_PORT_H__ 00021 00022 #ifdef __cplusplus 00023 extern "C" { 00024 #endif 00025 00026 #include "slv2/types.h" 00027 #include "slv2/plugin.h" 00028 #include "slv2/port.h" 00029 #include "slv2/collections.h" 00030 00040 SLV2Values 00041 slv2_port_get_value(SLV2Plugin plugin, 00042 SLV2Port port, 00043 SLV2Value predicate); 00044 00045 00050 SLV2Values 00051 slv2_port_get_value_by_qname(SLV2Plugin plugin, 00052 SLV2Port port, 00053 const char* property_uri); 00054 00055 00060 SLV2Values 00061 slv2_port_get_value_by_qname_i18n(SLV2Plugin plugin, 00062 SLV2Port port, 00063 const char* property_uri); 00064 00065 00070 SLV2Values 00071 slv2_port_get_properties(SLV2Plugin plugin, 00072 SLV2Port port); 00073 00074 00079 bool 00080 slv2_port_has_property(SLV2Plugin p, 00081 SLV2Port port, 00082 SLV2Value property_uri); 00083 00084 00089 bool 00090 slv2_port_supports_event(SLV2Plugin p, 00091 SLV2Port port, 00092 SLV2Value event_uri); 00093 00094 00102 SLV2Value 00103 slv2_port_get_symbol(SLV2Plugin plugin, 00104 SLV2Port port); 00105 00114 SLV2Value 00115 slv2_port_get_name(SLV2Plugin plugin, 00116 SLV2Port port); 00117 00118 00129 SLV2Values 00130 slv2_port_get_classes(SLV2Plugin plugin, 00131 SLV2Port port); 00132 00133 00145 bool 00146 slv2_port_is_a(SLV2Plugin plugin, 00147 SLV2Port port, 00148 SLV2Value port_class); 00149 00150 00160 void 00161 slv2_port_get_range(SLV2Plugin plugin, 00162 SLV2Port port, 00163 SLV2Value* def, 00164 SLV2Value* min, 00165 SLV2Value* max); 00166 00167 00176 SLV2ScalePoints 00177 slv2_port_get_scale_points(SLV2Plugin plugin, 00178 SLV2Port port); 00179 00180 00183 #ifdef __cplusplus 00184 } /* extern "C" */ 00185 #endif 00186 00187 #endif /* __SLV2_PORT_H__ */