• Main Page
  • Modules
  • Files
  • File List

port.h

00001 /* SLV2
00002  * Copyright (C) 2007-2009 David 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 SLV2_API
00041 SLV2Values
00042 slv2_port_get_value(SLV2Plugin plugin,
00043                     SLV2Port   port,
00044                     SLV2Value  predicate);
00045 
00046 
00051 SLV2_API
00052 SLV2Values
00053 slv2_port_get_value_by_qname(SLV2Plugin  plugin,
00054                              SLV2Port    port,
00055                              const char* property_uri);
00056 
00057 
00062 SLV2_API
00063 SLV2Values
00064 slv2_port_get_value_by_qname_i18n(SLV2Plugin  plugin,
00065                   SLV2Port    port,
00066                   const char* property_uri);
00067 
00068 
00073 SLV2_API
00074 SLV2Values
00075 slv2_port_get_properties(SLV2Plugin plugin,
00076                          SLV2Port   port);
00077 
00078 
00083 SLV2_API
00084 bool
00085 slv2_port_has_property(SLV2Plugin p,
00086                        SLV2Port   port,
00087                        SLV2Value  property_uri);
00088 
00089 
00094 SLV2_API
00095 bool
00096 slv2_port_supports_event(SLV2Plugin p,
00097                          SLV2Port   port,
00098                          SLV2Value  event_uri);
00099 
00100 
00108 SLV2_API
00109 SLV2Value
00110 slv2_port_get_symbol(SLV2Plugin plugin,
00111                      SLV2Port   port);
00112 
00121 SLV2_API
00122 SLV2Value
00123 slv2_port_get_name(SLV2Plugin plugin,
00124                    SLV2Port   port);
00125 
00126 
00137 SLV2_API
00138 SLV2Values
00139 slv2_port_get_classes(SLV2Plugin plugin,
00140                       SLV2Port   port);
00141 
00142 
00154 SLV2_API
00155 bool
00156 slv2_port_is_a(SLV2Plugin plugin,
00157                SLV2Port   port,
00158                SLV2Value  port_class);
00159 
00160 
00170 SLV2_API
00171 void
00172 slv2_port_get_range(SLV2Plugin plugin,
00173                     SLV2Port   port,
00174                     SLV2Value* def,
00175                     SLV2Value* min,
00176                     SLV2Value* max);
00177 
00178 
00187 SLV2_API
00188 SLV2ScalePoints
00189 slv2_port_get_scale_points(SLV2Plugin plugin,
00190                            SLV2Port   port);
00191 
00192 
00195 #ifdef __cplusplus
00196 } /* extern "C" */
00197 #endif
00198 
00199 #endif /* __SLV2_PORT_H__ */

Generated on Fri Sep 3 2010 21:44:10 for SLV2 by  doxygen 1.7.1