naspro
changeset 174:4f7243a606b1 trunk
Updated copyright notices and build system
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/naspro-bridges-bad/AUTHORS Sat May 01 21:51:33 2010 +0300 1.3 @@ -0,0 +1,1 @@ 1.4 +Stefano D'Angelo <zanga.mail@gmail.com>
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/naspro-bridges-bad/CMakeLists.txt Sat May 01 21:51:33 2010 +0300 2.3 @@ -0,0 +1,79 @@ 2.4 +cmake_minimum_required(VERSION 2.8) 2.5 + 2.6 +set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") 2.7 + 2.8 +project(NABRIDGESBAD) 2.9 + 2.10 +set(NABRIDGESBAD_VERSION 0.2.0) 2.11 + 2.12 +set(NABRIDGESBAD_LADSPA_SOURCES ladspa/descriptor.c ladspa/lrdf.c ladspa/lv2api.c ladspa/manifest.c ladspa/pluglib.c) 2.13 +set(NABRIDGESBAD_DSSI_SOURCES dssi/descriptor.c dssi/lv2api.c dssi/manifest.c dssi/pluglib.c) 2.14 + 2.15 +set(SO_FILE_EXT "${CMAKE_SHARED_MODULE_SUFFIX}") 2.16 + 2.17 +include(FindPkgConfig) 2.18 +pkg_check_modules(NACORE REQUIRED nacore>=0.2.0) 2.19 + 2.20 +include(FindRedland) 2.21 +if (NOT "${REDLAND_FOUND}") 2.22 + message(FATAL_ERROR "Redland not found") 2.23 +endif () 2.24 + 2.25 +pkg_check_modules(LV2 REQUIRED lv2core) 2.26 + 2.27 +pkg_search_module(ALSA REQUIRED alsa libdssialsacompat) 2.28 + 2.29 +include(CheckIncludeFile) 2.30 +check_include_file(ladspa.h HAVE_LADSPA_H) 2.31 +if (NOT "${HAVE_LADSPA_H}") 2.32 + message(FATAL_ERROR "ladspa.h not found") 2.33 +endif () 2.34 + 2.35 +pkg_check_modules(DSSI REQUIRED dssi) 2.36 + 2.37 +include_directories(. ${NACORE_INCLUDE_DIRS} ${REDLAND_INCLUDE_DIR} ${LV2_INCLUDE_DIR} ${ALSA_INCLUDE_DIR} ${DSSI_INCLUDE_DIR}) 2.38 +link_directories(${NACORE_LIBRARY_DIRS} ${ALSA_LIBRARY_DIRS}) 2.39 + 2.40 +add_library(ladspa MODULE ${NABRIDGESBAD_LADSPA_SOURCES}) 2.41 +set_target_properties(ladspa PROPERTIES PREFIX "") 2.42 +target_link_libraries(ladspa ${REDLAND_LIBRARIES} ${NACORE_LIBRARIES}) 2.43 +configure_file("${NABRIDGESBAD_SOURCE_DIR}/ladspa/manifest.ttl.in" "${NABRIDGESBAD_BINARY_DIR}/ladspa/manifest.ttl" @ONLY) 2.44 + 2.45 +add_library(dssi MODULE ${NABRIDGESBAD_DSSI_SOURCES}) 2.46 +set_target_properties(dssi PROPERTIES PREFIX "") 2.47 +target_link_libraries(dssi ${ALSA_LIBRARIES} ${NACORE_LIBRARIES}) 2.48 +configure_file("${NABRIDGESBAD_SOURCE_DIR}/dssi/manifest.ttl.in" "${NABRIDGESBAD_BINARY_DIR}/dssi/manifest.ttl" @ONLY) 2.49 + 2.50 +if (NOT DEFINED LV2DIR_INSTALL) 2.51 + set(LV2DIR_INSTALL lib/lv2) 2.52 +endif () 2.53 + 2.54 +install(TARGETS ladspa DESTINATION "${LV2DIR_INSTALL}/naspro-ladspa.lv2") 2.55 +install(FILES ladspa/manifest.ttl DESTINATION "${LV2DIR_INSTALL}/naspro-ladspa.lv2") 2.56 + 2.57 +install(TARGETS dssi DESTINATION "${LV2DIR_INSTALL}/naspro-dssi.lv2") 2.58 +install(FILES dssi/manifest.ttl DESTINATION "${LV2DIR_INSTALL}/naspro-dssi.lv2") 2.59 + 2.60 +set(CPACK_PACKAGE_VERSION_MAJOR 0) 2.61 +set(CPACK_PACKAGE_VERSION_MINOR 2) 2.62 +set(CPACK_PACKAGE_VERSION_PATCH 0) 2.63 +set(CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}) 2.64 +set(CPACK_SOURCE_GENERATOR TGZ) 2.65 +set(CPACK_SOURCE_PACKAGE_FILE_NAME naspro-bridges-bad-${CPACK_PACKAGE_VERSION}) 2.66 +set(CPACK_SOURCE_IGNORE_FILES 2.67 + "^${NABRIDGESBAD_BINARY_DIR}/CMakeCache.*" 2.68 + "^${NABRIDGESBAD_BINARY_DIR}/CMakeFiles.*" 2.69 + "^${NABRIDGESBAD_BINARY_DIR}/cmake_.*" 2.70 + "^${NABRIDGESBAD_BINARY_DIR}/install.*" 2.71 + "^${NABRIDGESBAD_BINARY_DIR}/_CPack.*" 2.72 + "^${NABRIDGESBAD_BINARY_DIR}/CPack.*" 2.73 + "^${NABRIDGESBAD_BINARY_DIR}/Makefile$" 2.74 + "^${NABRIDGESBAD_BINARY_DIR}/naspro-.*" 2.75 + "^${NABRIDGESBAD_BINARY_DIR}/ladspa/manifest.ttl$" 2.76 + "^${NABRIDGESBAD_BINARY_DIR}/dssi/manifest.ttl$" 2.77 + "^${NABRIDGESBAD_BINARY_DIR}/.*\\\\.o$" 2.78 + "^${NABRIDGESBAD_BINARY_DIR}/ladspa.*${CMAKE_SHARED_LIBRARY_SUFFIX}$" 2.79 + "^${NABRIDGESBAD_BINARY_DIR}/dssi.*${CMAKE_SHARED_LIBRARY_SUFFIX}$" 2.80 +) 2.81 + 2.82 +include(CPack)
3.1 --- a/naspro-bridges-bad/COPYING Fri Mar 26 18:54:24 2010 +0200 3.2 +++ b/naspro-bridges-bad/COPYING Sat May 01 21:51:33 2010 +0300 3.3 @@ -1,4 +1,4 @@ 3.4 -Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 3.5 +Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 3.6 All rights reserved. 3.7 3.8 Redistribution and use in source and binary forms, with or without
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/naspro-bridges-bad/INSTALL Sat May 01 21:51:33 2010 +0300 4.3 @@ -0,0 +1,56 @@ 4.4 +Build and installation instructions 4.5 +=================================== 4.6 + 4.7 +Build-time requirements 4.8 +----------------------- 4.9 + 4.10 +* CMake >= 2.8.0 (http://www.cmake.org) 4.11 +* pkg-config (http://pkg-config.freedesktop.org) 4.12 +* NASPRO core >= 0.2.0 (http://naspro.atheme.org) 4.13 +* Redland (http://www.librdf.org) 4.14 +* LV2 core (http://lv2plug.in) 4.15 +* LADSPA SDK (http://www.ladspa.org) 4.16 +* DSSI SDK (http://dssi.sourceforge.net) 4.17 +* ALSA (http://www.alsa-project.org) 4.18 + or libdssialsacompat (http://www.smbolton.com/linux.html) 4.19 +* Some C compiler (only tested with gcc) 4.20 + 4.21 +Runtime requirements 4.22 +-------------------- 4.23 + 4.24 +* NASPRO core >= 0.2.0 (http://naspro.atheme.org) 4.25 +* Redland (http://www.librdf.org) 4.26 +* ALSA (http://www.alsa-project.org) 4.27 + or libdssialsacompat (http://www.smbolton.com/linux.html) 4.28 + 4.29 +Building 4.30 +-------- 4.31 + 4.32 +To configure the package use: 4.33 + 4.34 + $ cmake . 4.35 + 4.36 +or, if building in some other directory: 4.37 + 4.38 + $ cmake <top-level sources directory> 4.39 + 4.40 +You can specify installation directories like this: 4.41 + 4.42 + $ cmake -DVAR1=VALUE1 -DVAR2=VALUE2 ... 4.43 + 4.44 +If VALUE is a relative path, it is considered as relative to the prefix 4.45 +directory (CMAKE_INSTALL_PREFIX). 4.46 + 4.47 +The build system understands the following variables VARx: 4.48 + 4.49 + * CMAKE_INSTALL_PREFIX Installation prefix (the default value is determined 4.50 + by CMake) 4.51 + * LV2DIR_INSTALL Where to put LV2 bundles (the default is lib/lv2) 4.52 + 4.53 +Then, build with: 4.54 + 4.55 + $ make 4.56 + 4.57 +And install with: 4.58 + 4.59 + $ make install
5.1 --- a/naspro-bridges-bad/Makefile Fri Mar 26 18:54:24 2010 +0200 5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 5.3 @@ -1,27 +0,0 @@ 5.4 -.POSIX: 5.5 - 5.6 -.SUFFIXES: 5.7 - 5.8 -all: ladspa-bridge dssi-bridge 5.9 - 5.10 -install: ladspa-bridge-install dssi-bridge-install 5.11 - 5.12 -clean: ladspa-bridge-clean dssi-bridge-clean 5.13 - 5.14 -ladspa-bridge: 5.15 - cd ladspa && $(MAKE) && cd .. 5.16 - 5.17 -ladspa-bridge-install: 5.18 - cd ladspa && $(MAKE) install && cd .. 5.19 - 5.20 -ladspa-bridge-clean: 5.21 - cd ladspa && $(MAKE) clean && cd .. 5.22 - 5.23 -dssi-bridge: 5.24 - cd dssi && $(MAKE) && cd .. 5.25 - 5.26 -dssi-bridge-install: 5.27 - cd dssi && $(MAKE) install && cd .. 5.28 - 5.29 -dssi-bridge-clean: 5.30 - cd dssi && $(MAKE) clean && cd ..
6.1 --- a/naspro-bridges-bad/Makefile.haiku Fri Mar 26 18:54:24 2010 +0200 6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 6.3 @@ -1,27 +0,0 @@ 6.4 -.POSIX: 6.5 - 6.6 -.SUFFIXES: 6.7 - 6.8 -all: ladspa-bridge dssi-bridge 6.9 - 6.10 -install: ladspa-bridge-install dssi-bridge-install 6.11 - 6.12 -clean: ladspa-bridge-clean dssi-bridge-clean 6.13 - 6.14 -ladspa-bridge: 6.15 - cd ladspa && $(MAKE) -f Makefile.haiku && cd .. 6.16 - 6.17 -ladspa-bridge-install: 6.18 - cd ladspa && $(MAKE) -f Makefile.haiku install && cd .. 6.19 - 6.20 -ladspa-bridge-clean: 6.21 - cd ladspa && $(MAKE) -f Makefile.haiku clean && cd .. 6.22 - 6.23 -dssi-bridge: 6.24 - cd dssi && $(MAKE) -f Makefile.haiku && cd .. 6.25 - 6.26 -dssi-bridge-install: 6.27 - cd dssi && $(MAKE) -f Makefile.haiku install && cd .. 6.28 - 6.29 -dssi-bridge-clean: 6.30 - cd dssi && $(MAKE) -f Makefile.haiku clean && cd ..
7.1 --- a/naspro-bridges-bad/Makefile.osx Fri Mar 26 18:54:24 2010 +0200 7.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 7.3 @@ -1,27 +0,0 @@ 7.4 -.POSIX: 7.5 - 7.6 -.SUFFIXES: 7.7 - 7.8 -all: ladspa-bridge dssi-bridge 7.9 - 7.10 -install: ladspa-bridge-install dssi-bridge-install 7.11 - 7.12 -clean: ladspa-bridge-clean dssi-bridge-clean 7.13 - 7.14 -ladspa-bridge: 7.15 - cd ladspa && $(MAKE) -f Makefile.osx && cd .. 7.16 - 7.17 -ladspa-bridge-install: 7.18 - cd ladspa && $(MAKE) -f Makefile.osx install && cd .. 7.19 - 7.20 -ladspa-bridge-clean: 7.21 - cd ladspa && $(MAKE) -f Makefile.osx clean && cd .. 7.22 - 7.23 -dssi-bridge: 7.24 - cd dssi && $(MAKE) -f Makefile.osx && cd .. 7.25 - 7.26 -dssi-bridge-install: 7.27 - cd dssi && $(MAKE) -f Makefile.osx install && cd .. 7.28 - 7.29 -dssi-bridge-clean: 7.30 - cd dssi && $(MAKE) -f Makefile.osx clean && cd ..
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/naspro-bridges-bad/README Sat May 01 21:51:33 2010 +0300 8.3 @@ -0,0 +1,23 @@ 8.4 +The "bad" NASPRO bridges 8.5 +======================== 8.6 + 8.7 +This is a collection of <API>-to-LV2 bridges which work fine, but do not 8.8 +completely support the original APIs. 8.9 + 8.10 +This release contains two such bridges: a LADSPA (+ LRDF) and a DSSI one. 8.11 + 8.12 +The LADSPA bridge supports every feature of LADSPA and LRDF except: 8.13 + * run_adding() and set_run_adding_gain() - no known LV2 extension to do that; 8.14 + * LRDF factory presets - I don't know any LADSPA plugin shipping any. 8.15 + 8.16 +The DSSI bridge does not support: 8.17 + * GUIs; 8.18 + * MIDI programs; 8.19 + * maximum number of events per run_synth() - it is 4096, should be enough in 8.20 + most cases; 8.21 + * run_synth_adding() - as before; 8.22 + * run_multiple_synths() and run_multiple_synths_adding() - no extension to do 8.23 + that and it may also be impossible to support those. 8.24 + 8.25 +You can always use the LADSPA_PATH, LADSPA_RDF_PATH and DSSI_PATH environment 8.26 +variables for plugin and plugin data discovery locations.
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 9.2 +++ b/naspro-bridges-bad/cmake/COPYING-CMAKE-SCRIPTS Sat May 01 21:51:33 2010 +0300 9.3 @@ -0,0 +1,22 @@ 9.4 +Redistribution and use in source and binary forms, with or without 9.5 +modification, are permitted provided that the following conditions 9.6 +are met: 9.7 + 9.8 +1. Redistributions of source code must retain the copyright 9.9 + notice, this list of conditions and the following disclaimer. 9.10 +2. Redistributions in binary form must reproduce the copyright 9.11 + notice, this list of conditions and the following disclaimer in the 9.12 + documentation and/or other materials provided with the distribution. 9.13 +3. The name of the author may not be used to endorse or promote products 9.14 + derived from this software without specific prior written permission. 9.15 + 9.16 +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 9.17 +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 9.18 +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 9.19 +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 9.20 +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 9.21 +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 9.22 +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 9.23 +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 9.24 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 9.25 +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2 +++ b/naspro-bridges-bad/cmake/CheckLibraryLoads.c Sat May 01 21:51:33 2010 +0300 10.3 @@ -0,0 +1,23 @@ 10.4 +#include <stdio.h> 10.5 +#include <dlfcn.h> 10.6 + 10.7 +/** 10.8 + * Attempts to load shared libraries 10.9 + * @param argc 10.10 + * @param argv files to check (pass only shared libs) 10.11 + * @return 0 - all shared libs loaded, 1 - error occured (invalid or broken files passed) 10.12 + */ 10.13 +int main(int argc, char* argv[]) 10.14 +{ 10.15 + int i; 10.16 + for (i = 1; i < argc; ++i) { 10.17 + void* handle = dlopen(argv[i], RTLD_NOW); 10.18 + if (!handle) { 10.19 + fprintf(stderr, "%s", dlerror()); 10.20 + return 1; 10.21 + } else { 10.22 + dlclose(handle); 10.23 + } 10.24 + } 10.25 + return 0; 10.26 +}
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 11.2 +++ b/naspro-bridges-bad/cmake/FindRedland.cmake Sat May 01 21:51:33 2010 +0300 11.3 @@ -0,0 +1,122 @@ 11.4 +# - Try to find the Redland rdf libraries (http://librdf.org/) 11.5 +# Once done this will define 11.6 +# 11.7 +# REDLAND_FOUND - system has Redland 11.8 +# REDLAND_LIBRARIES - Link these to use REDLAND 11.9 +# REDLAND_INCLUDE_DIR - Include directory for using the redland library 11.10 +# REDLAND_VERSION - The redland version string 11.11 +# 11.12 +# Specifying the minimum required version via the find_package() interface 11.13 +# is also supported by this module. 11.14 + 11.15 +# Always empty, so remove it from the docs for now, Alex 11.16 +# REDLAND_DEFINITIONS - Compiler switches required for using REDLAND 11.17 + 11.18 +# (c) 2007-2009 Sebastian Trueg <trueg@kde.org> 11.19 +# 11.20 +# Based on FindFontconfig Copyright (c) 2006,2007 Laurent Montel, <montel@kde.org> 11.21 +# 11.22 +# Redistribution and use is allowed according to the terms of the BSD license. 11.23 +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. 11.24 + 11.25 + 11.26 +find_program( 11.27 + REDLAND_CONFIG_EXECUTABLE 11.28 + NAMES redland-config 11.29 + ) 11.30 + 11.31 +if(REDLAND_CONFIG_EXECUTABLE) 11.32 + EXECUTE_PROCESS( 11.33 + COMMAND ${REDLAND_CONFIG_EXECUTABLE} --version 11.34 + OUTPUT_VARIABLE REDLAND_VERSION 11.35 + OUTPUT_STRIP_TRAILING_WHITESPACE 11.36 + ) 11.37 + if(REDLAND_VERSION) 11.38 + 11.39 + # extract include paths from redland-config 11.40 + execute_process( 11.41 + COMMAND ${REDLAND_CONFIG_EXECUTABLE} --cflags 11.42 + OUTPUT_VARIABLE redland_LIBS_ARGS) 11.43 + string( REPLACE " " ";" redland_LIBS_ARGS ${redland_LIBS_ARGS} ) 11.44 + foreach( _ARG ${redland_LIBS_ARGS} ) 11.45 + if(${_ARG} MATCHES "^-I") 11.46 + string(REGEX REPLACE "^-I" "" _ARG ${_ARG}) 11.47 + string( REPLACE "\n" "" _ARG ${_ARG} ) 11.48 + list(APPEND redland_INCLUDE_DIRS ${_ARG}) 11.49 + endif(${_ARG} MATCHES "^-I") 11.50 + endforeach(_ARG) 11.51 + 11.52 + # extract lib paths from redland-config 11.53 + execute_process( 11.54 + COMMAND ${REDLAND_CONFIG_EXECUTABLE} --libs 11.55 + OUTPUT_VARIABLE redland_CFLAGS_ARGS) 11.56 + string( REPLACE " " ";" redland_CFLAGS_ARGS ${redland_CFLAGS_ARGS} ) 11.57 + foreach( _ARG ${redland_CFLAGS_ARGS} ) 11.58 + if(${_ARG} MATCHES "^-L") 11.59 + string(REGEX REPLACE "^-L" "" _ARG ${_ARG}) 11.60 + list(APPEND redland_LIBRARY_DIRS ${_ARG}) 11.61 + endif(${_ARG} MATCHES "^-L") 11.62 + endforeach(_ARG) 11.63 + endif(REDLAND_VERSION) 11.64 +endif(REDLAND_CONFIG_EXECUTABLE) 11.65 + 11.66 +# This one is always empty, Alex 11.67 +# set(REDLAND_DEFINITIONS ${redland_CFLAGS}) 11.68 + 11.69 + 11.70 +find_path(REDLAND_INCLUDE_DIR redland.h 11.71 + HINTS 11.72 + ${redland_INCLUDE_DIRS} 11.73 + /usr/X11/include 11.74 + PATH_SUFFIXES redland 11.75 + ) 11.76 + 11.77 +find_library(REDLAND_LIBRARIES NAMES rdf librdf 11.78 + HINTS 11.79 + ${redland_LIBRARY_DIRS} 11.80 + ) 11.81 + 11.82 +set(_REDLAND_VERSION_OK TRUE) 11.83 +if(NOT WIN32) 11.84 + 11.85 + # Look for unresolved symbols in shared librdf_storage_* libs 11.86 + set(_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) 11.87 + set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX}) 11.88 + set(_REDLAND_STORAGE_LIBS) 11.89 + foreach(_STORAGE_LIB rdf_storage_mysql rdf_storage_sqlite rdf_storage_tstore rdf_storage_postgresql rdf_storage_virtuoso) 11.90 + set(_LIB_PATH NOTFOUND) 11.91 + find_library(_LIB_PATH 11.92 + ${_STORAGE_LIB} 11.93 + HINTS 11.94 + ${redland_LIBRARY_DIRS} 11.95 + PATH_SUFFIXES redland 11.96 + ) 11.97 + if(_LIB_PATH) 11.98 + set(_REDLAND_STORAGE_LIBS ${_REDLAND_STORAGE_LIBS} ${_LIB_PATH}) 11.99 + endif(_LIB_PATH) 11.100 + endforeach(_STORAGE_LIB) 11.101 + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_SUFFIXES}) 11.102 + if(_REDLAND_STORAGE_LIBS) 11.103 + message(STATUS "Found Redland storage: ${_REDLAND_STORAGE_LIBS}") 11.104 + try_run(_TEST_EXITCODE _TEST_COMPILED 11.105 + "${CMAKE_CURRENT_BINARY_DIR}" 11.106 + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/CheckLibraryLoads.c" 11.107 + CMAKE_FLAGS "-DLINK_LIBRARIES=dl" 11.108 + RUN_OUTPUT_VARIABLE _OUTPUT 11.109 + ARGS ${_REDLAND_STORAGE_LIBS} 11.110 + ) 11.111 + if(NOT "${_TEST_EXITCODE}" EQUAL 0) 11.112 + set(_REDLAND_VERSION_OK) 11.113 + message(STATUS "${_OUTPUT}") 11.114 + message(STATUS "Redland with broken NEEDED section detected, disabling") 11.115 + endif(NOT "${_TEST_EXITCODE}" EQUAL 0) 11.116 + endif(_REDLAND_STORAGE_LIBS) 11.117 + 11.118 +endif(NOT WIN32) 11.119 + 11.120 +include(FindPackageHandleStandardArgs) 11.121 +find_package_handle_standard_args(Redland DEFAULT_MSG REDLAND_CONFIG_EXECUTABLE REDLAND_LIBRARIES REDLAND_LIBRARIES _REDLAND_VERSION_OK) 11.122 + 11.123 +mark_as_advanced(REDLAND_INCLUDE_DIR_TMP 11.124 + REDLAND_INCLUDE_DIR 11.125 + REDLAND_LIBRARIES)
12.1 --- a/naspro-bridges-bad/dssi/Makefile Fri Mar 26 18:54:24 2010 +0200 12.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 12.3 @@ -1,56 +0,0 @@ 12.4 -.POSIX: 12.5 - 12.6 -.SUFFIXES: 12.7 - 12.8 -### Change this... 12.9 - 12.10 -DESTDIR = 12.11 -PREFIX = /usr/local 12.12 -LIB_DIR = $(PREFIX)/lib 12.13 - 12.14 -LV2_DIR = $(LIB_DIR)/lv2 12.15 - 12.16 -DSSI_BRIDGE_BUNDLE_DIR = $(LV2_DIR)/naspro-dssi.lv2 12.17 - 12.18 -CC = gcc 12.19 -CFLAGS = -O2 -ansi -pedantic -Wall -fPIC 12.20 - 12.21 -DL_LDFLAGS = -ldl 12.22 -LDFLAGS = -shared $(DL_LDFLAGS) 12.23 - 12.24 -SO_FILE_EXT = .so 12.25 - 12.26 -DSSI_DEFAULT_SYSTEM_PATH = /usr/local/lib/dssi:/usr/lib/dssi 12.27 -DSSI_DEFAULT_HOME_PATH = .dssi 12.28 - 12.29 -### ... but not this 12.30 - 12.31 -TARGETS = dssi$(SO_FILE_EXT) manifest.ttl 12.32 - 12.33 -DSSI_BRIDGE_SOURCES = descriptor.c \ 12.34 - descriptor.h \ 12.35 - lv2api.c \ 12.36 - lv2api.h \ 12.37 - manifest.c \ 12.38 - pluglib.c \ 12.39 - pluglib.h 12.40 -DSSI_BRIDGE_LIBS = -lnacore -lasound 12.41 - 12.42 -DEFS = -DDSSI_DEFAULT_SYSTEM_PATH="\"$(DSSI_DEFAULT_SYSTEM_PATH)\"" \ 12.43 - -DDSSI_DEFAULT_HOME_PATH="\"$(DSSI_DEFAULT_HOME_PATH)\"" 12.44 - 12.45 -all: $(TARGETS) 12.46 - 12.47 -manifest.ttl: manifest.ttl.in 12.48 - sed 's/@SO_FILE_EXT@/$(SO_FILE_EXT)/g' manifest.ttl.in > manifest.ttl 12.49 - 12.50 -dssi$(SO_FILE_EXT): $(DSSI_BRIDGE_SOURCES) 12.51 - $(CC) $(CFLAGS) $(DEFS) $(LDFLAGS) $(DSSI_BRIDGE_SOURCES) \ 12.52 - $(DSSI_BRIDGE_LIBS) -o $@ 12.53 - 12.54 -install: $(TARGETS) manifest.ttl 12.55 - mkdir -p $(DESTDIR)$(DSSI_BRIDGE_BUNDLE_DIR) 12.56 - cp dssi$(SO_FILE_EXT) manifest.ttl $(DESTDIR)$(DSSI_BRIDGE_BUNDLE_DIR) 12.57 - 12.58 -clean: 12.59 - rm -f $(TARGETS)
13.1 --- a/naspro-bridges-bad/dssi/Makefile.haiku Fri Mar 26 18:54:24 2010 +0200 13.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 13.3 @@ -1,31 +0,0 @@ 13.4 -.POSIX: 13.5 - 13.6 -.SUFFIXES: 13.7 - 13.8 -### Change this... 13.9 - 13.10 -PREFIX = /boot/common 13.11 -ADDONS_DIR = $(PREFIX)/add-ons 13.12 - 13.13 -LV2_DIR = $(ADDONS_DIR)/lv2 13.14 - 13.15 -DL_LDFLAGS = 13.16 - 13.17 -DSSI_DEFAULT_SYSTEM_PATH = $(ADDONS_DIR)/dssi 13.18 -DSSI_DEFAULT_HOME_PATH = .dssi 13.19 - 13.20 -### ... but not this 13.21 - 13.22 -MAKE_VARS = PREFIX="$(PREFIX)" LV2_DIR="$(LV2_DIR)" \ 13.23 - DL_LDFLAGS="$(DL_LDFLAGS)" \ 13.24 - DSSI_DEFAULT_SYSTEM_PATH="$(DSSI_DEFAULT_SYSTEM_PATH)" \ 13.25 - DSSI_DEFAULT_HOME_PATH="$(DSSI_DEFAULT_HOME_PATH)" 13.26 - 13.27 -all: 13.28 - $(MAKE) $(MAKE_VARS) all 13.29 - 13.30 -install: 13.31 - $(MAKE) $(MAKE_VARS) install 13.32 - 13.33 -clean: 13.34 - $(MAKE) $(MAKE_VARS) clean
14.1 --- a/naspro-bridges-bad/dssi/Makefile.osx Fri Mar 26 18:54:24 2010 +0200 14.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 14.3 @@ -1,32 +0,0 @@ 14.4 -.POSIX: 14.5 - 14.6 -.SUFFIXES: 14.7 - 14.8 -### Change this... 14.9 - 14.10 -PREFIX = 14.11 -ADDONS_DIR = $(PREFIX)/Library 14.12 - 14.13 -LV2_DIR = $(ADDONS_DIR)/Audio/Plug-Ins/LV2 14.14 - 14.15 -SO_FILE_EXT = .dylib 14.16 - 14.17 -DSSI_DEFAULT_SYSTEM_PATH = \ 14.18 - /Library/Audio/Plug-Ins/DSSI:/usr/local/lib/dssi:/usr/lib/dssi 14.19 -DSSI_DEFAULT_HOME_PATH = Library/Audio/Plug-Ins/DSSI:.dssi 14.20 - 14.21 -### ... but not this 14.22 - 14.23 -MAKE_VARS = PREFIX="$(PREFIX)" LV2_DIR="$(LV2_DIR)" \ 14.24 - SO_FILE_EXT="$(SO_FILE_EXT)" \ 14.25 - DSSI_DEFAULT_SYSTEM_PATH="$(DSSI_DEFAULT_SYSTEM_PATH)" \ 14.26 - DSSI_DEFAULT_HOME_PATH="$(DSSI_DEFAULT_HOME_PATH)" 14.27 - 14.28 -all: 14.29 - $(MAKE) $(MAKE_VARS) all 14.30 - 14.31 -install: 14.32 - $(MAKE) $(MAKE_VARS) install 14.33 - 14.34 -clean: 14.35 - $(MAKE) $(MAKE_VARS) clean
15.1 --- a/naspro-bridges-bad/dssi/descriptor.c Fri Mar 26 18:54:24 2010 +0200 15.2 +++ b/naspro-bridges-bad/dssi/descriptor.c Sat May 01 21:51:33 2010 +0300 15.3 @@ -2,7 +2,7 @@ 15.4 * NASPRO - NASPRO Architecture for Sound Processing 15.5 * DSSI bridge 15.6 * 15.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 15.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 15.9 * 15.10 * See the COPYING file for license conditions. 15.11 */
16.1 --- a/naspro-bridges-bad/dssi/descriptor.h Fri Mar 26 18:54:24 2010 +0200 16.2 +++ b/naspro-bridges-bad/dssi/descriptor.h Sat May 01 21:51:33 2010 +0300 16.3 @@ -2,7 +2,7 @@ 16.4 * NASPRO - NASPRO Architecture for Sound Processing 16.5 * DSSI bridge 16.6 * 16.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 16.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 16.9 * 16.10 * See the COPYING file for license conditions. 16.11 */
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2 +++ b/naspro-bridges-bad/dssi/dyn-manifest.h Sat May 01 21:51:33 2010 +0300 17.3 @@ -0,0 +1,245 @@ 17.4 +/* Dynamic manifest specification for LV2 17.5 + * Revision 2 17.6 + * 17.7 + * Copyright (C) 2008-2010 Stefano D'Angelo <zanga.mail@gmail.com> 17.8 + * All rights reserved. 17.9 + * 17.10 + * Redistribution and use in source and binary forms, with or without 17.11 + * modification, are permitted provided that the following conditions 17.12 + * are met: 17.13 + * 1. Redistributions of source code must retain the above copyright 17.14 + * notice, this list of conditions and the following disclaimer. 17.15 + * 2. Redistributions in binary form must reproduce the above copyright 17.16 + * notice, this list of conditions and the following disclaimer in the 17.17 + * documentation and/or other materials provided with the distribution. 17.18 + * 3. The name of the author may not be used to endorse or promote products 17.19 + * derived from this software without specific prior written permission. 17.20 + * 17.21 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17.22 + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17.23 + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 17.24 + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 17.25 + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 17.26 + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 17.27 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 17.28 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 17.29 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 17.30 + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 17.31 + */ 17.32 + 17.33 +#ifndef LV2_DYN_MANIFEST_H_INCLUDED 17.34 +#define LV2_DYN_MANIFEST_H_INCLUDED 17.35 + 17.36 +#include <stdio.h> 17.37 +#include <lv2.h> 17.38 + 17.39 +#define LV2_DYN_MANIFEST_URI "http://lv2plug.in/ns/ext/dyn-manifest" 17.40 + 17.41 +#ifdef __cplusplus 17.42 +extern "C" { 17.43 +#endif 17.44 + 17.45 + 17.46 +/* ************************************************************************* */ 17.47 + 17.48 + 17.49 +/** @file 17.50 + * 17.51 + * Revision: 2 17.52 + * 17.53 + * == Overview == 17.54 + * 17.55 + * The LV2 API, on its own, cannot be used to write plugin libraries where 17.56 + * data is dynamically generated at runtime (e.g. API wrappers), since LV2 17.57 + * requires needed information to be provided in one or more static data (RDF) 17.58 + * files. This API addresses this limitation by extending the LV2 API. 17.59 + * 17.60 + * A host implementing support for this API should first detect that the plugin 17.61 + * library implements a dynamic manifest generator by examining its static 17.62 + * manifest file, then fetch data from the shared object file by accessing it as 17.63 + * usual (dlopen() and family) and using this API. 17.64 + * 17.65 + * The host is allowed to request regeneration of the dynamic manifest multiple 17.66 + * times, and the plugin library is expected to provide updated data if/when 17.67 + * possible. All data and references provided via this API before the last 17.68 + * regeneration of the dynamic manifest is to be considered invalid by the 17.69 + * host, including plugin descriptors whose URIs were discovered using this API. 17.70 + * 17.71 + * This API is extensible in a similar fashion as the LV2 plugin API. 17.72 + * 17.73 + * == Accessing data == 17.74 + * 17.75 + * Whenever a host wants to access data using this API, it could: 17.76 + * 17.77 + * -# Call lv2_dyn_manifest_open(); 17.78 + * -# Create an empty resource identified by a FILE *; 17.79 + * -# Get a "list" of exposed subject URIs using 17.80 + * lv2_dyn_manifest_get_subjects(); 17.81 + * -# Call lv2_dyn_manifest_get_data() for each URI of interest, in order to 17.82 + * get data related to that URI (either by calling the function subsequently 17.83 + * with the same FILE * resource, or by creating more FILE * resources to 17.84 + * perform parallel calls); 17.85 + * -# Call lv2_dyn_manifest_close(); 17.86 + * -# Parse the content of the FILE * resource(s). 17.87 + * -# Free/delete/unlink the FILE * resource(s). 17.88 + * 17.89 + * The content of the FILE * resources has to be interpreted by the host as a 17.90 + * regular file in Turtle syntax. This also means that each FILE * resource 17.91 + * should also contain needed prefix definitions, in case any are used. 17.92 + * 17.93 + * Each call to lv2_dyn_manifest_open() automatically implies the (re)generation 17.94 + * of the dynamic manifest on the library side. 17.95 + * 17.96 + * When such calls are made, data fetched from the involved library using this 17.97 + * API before such call is to be considered no more valid. 17.98 + * 17.99 + * In case the library uses this same API to access other dynamic manifests, it 17.100 + * MUST implement some mechanism to avoid potentially endless loops (such as A 17.101 + * loads B, B loads A, etc.) in functions from the Dynamic manifest open class 17.102 + * (the open-like operation MUST fail). For this purpose, use of a static 17.103 + * boolean flag is suggested. 17.104 + * 17.105 + * == Threading rules == 17.106 + * 17.107 + * This specification defines threading rule classes, similarly to the LV2 17.108 + * specification. 17.109 + * 17.110 + * The functions defined by this API belong to: 17.111 + * 17.112 + * - Dynamic manifest open class: lv2_dyn_manifest_open() 17.113 + * - Dynamic manifest close class: lv2_dyn_manifest_close() 17.114 + * - Dynamic manifest file class: lv2_dyn_manifest_get_subjects(), 17.115 + * lv2_dyn_manifest_get_data() 17.116 + * 17.117 + * The rules that hosts must follow are these: 17.118 + * 17.119 + * - When a function from the Dynamic manifest open or the Dynamic manifest 17.120 + * close class is running, no other functions in the same shared object file 17.121 + * may run. 17.122 + * - When a function from the Dynamic manifest file class is called, no other 17.123 + * functions from the same class may run if they are given at least one 17.124 + * FILE * argument with the same value. 17.125 + * - A function from the Dynamic manifest open class may not run after a 17.126 + * successful call to a function from the same class, in case a function from 17.127 + * the Dynamic manifest close class was not successfully called in the 17.128 + * meanwhile. 17.129 + * - A function from the Dynamic manifest close class may only run after a 17.130 + * successful call to a function from the Dynamic manifest open class. 17.131 + * - A function from the Dynamic manifest file class may only run beetween a 17.132 + * successful call to a function from the Dynamic manifest open class and the 17.133 + * following successful call to a function from the Dynamic manifest close 17.134 + * class. 17.135 + * 17.136 + * Extensions to this specification which add new functions MUST declare in 17.137 + * which of these classes the functions belong, or define new classes for them; 17.138 + * furthermore, classes defined by such extensions MUST only allow calls after 17.139 + * a successful call to a function from the Dynamic manifest open class and 17.140 + * before the following successful call to a function from the Dynamic manifest 17.141 + * close class. 17.142 + * 17.143 + * Any simultaneous calls that are not explicitly forbidden by these rules are 17.144 + * allowed. 17.145 + */ 17.146 + 17.147 + 17.148 +/* ************************************************************************* */ 17.149 + 17.150 + 17.151 +/** Dynamic manifest generator handle. 17.152 + * 17.153 + * This handle indicates a particular status of a dynamic manifest generator. 17.154 + * The host MUST NOT attempt to interpret it and, unlikely LV2_Handle, it is NOT 17.155 + * even valid to compare this to NULL. The dynamic manifest generator may use it 17.156 + * to reference internal data. */ 17.157 +typedef void * LV2_Dyn_Manifest_Handle; 17.158 + 17.159 + 17.160 +/* ************************************************************************* */ 17.161 + 17.162 + 17.163 +/** Function that (re)generates the dynamic manifest. 17.164 + * 17.165 + * handle is a pointer to an uninitialized dynamic manifest generator handle. 17.166 + * 17.167 + * features is a NULL terminated array of LV2_Feature structs which 17.168 + * represent the features the host supports. The dynamic manifest geenrator may 17.169 + * refuse to (re)generate the dynamic manifest if required features are not 17.170 + * found here (however hosts SHOULD NOT use this as a discovery mechanism, 17.171 + * instead of reading the static manifest file). This array must always exist; 17.172 + * if a host has no features, it MUST pass a single element array containing 17.173 + * NULL. 17.174 + * 17.175 + * This function MUST return 0 on success, otherwise a non-zero error code, and 17.176 + * the host SHOULD evaluate the result of the operation by examining the 17.177 + * returned value, rather than try to interpret the value of handle. 17.178 + */ 17.179 +int lv2_dyn_manifest_open(LV2_Dyn_Manifest_Handle * handle, 17.180 + const LV2_Feature *const * features); 17.181 + 17.182 +/** Function that fetches a "list" of subject URIs exposed by the dynamic 17.183 + * manifest generator. 17.184 + * 17.185 + * handle is the dynamic manifest generator handle. 17.186 + * 17.187 + * fp is the FILE * identifying the resource the host has to set up for the 17.188 + * dynamic manifest generator. The host MUST pass a writable, empty resource to 17.189 + * this function, and the dynamic manifest generator MUST ONLY perform write 17.190 + * operations on it at the end of the stream (e.g. use only fprintf(), fwrite() 17.191 + * and similar). 17.192 + * 17.193 + * The dynamic manifest generator has to fill the resource only with the needed 17.194 + * triples to make the host aware of the "objects" it wants to expose. For 17.195 + * example, if the library exposes a regular LV2 plugin, it should output only a 17.196 + * triple like the following: 17.197 + * 17.198 + * <http://www.example.com/plugin/uri> a lv2:Plugin; 17.199 + * 17.200 + * This function MUST return 0 on success, otherwise a non-zero error code. 17.201 + */ 17.202 +int lv2_dyn_manifest_get_subjects(LV2_Dyn_Manifest_Handle handle, 17.203 + FILE * fp); 17.204 + 17.205 +/** Function that fetches data related to a specific URI. 17.206 + * 17.207 + * handle is the dynamic manifest generator handle. 17.208 + * 17.209 + * fp is the FILE * identifying the resource the host has to set up for the 17.210 + * dynamic manifest generator. The host MUST pass a writable resource to this 17.211 + * function, and the dynamic manifest generator MUST ONLY perform write 17.212 + * operations on it at the current position of the stream (e.g. use only 17.213 + * fprintf(), fwrite() and similar). 17.214 + * 17.215 + * uri is the URI to get data about (in the "plain" form, a.k.a. without RDF 17.216 + * prefixes). 17.217 + * 17.218 + * The dynamic manifest generator has to fill the resource with data related to 17.219 + * the URI. For example, if the library exposes a regular LV2 plugin whose URI, 17.220 + * as retrieved by the host using lv2_dyn_manifest_get_subjects() is 17.221 + * http://www.example.com/plugin/uri, it should output something like: 17.222 + * 17.223 + * <http://www.example.com/plugin/uri> a lv2:Plugin; 17.224 + * lv2:binary <mylib.so>; 17.225 + * doap:name "My Plugin"; 17.226 + * ... etc... 17.227 + * 17.228 + * This function MUST return 0 on success, otherwise a non-zero error code. 17.229 + */ 17.230 +int lv2_dyn_manifest_get_data(LV2_Dyn_Manifest_Handle handle, 17.231 + FILE * fp, 17.232 + const char * uri); 17.233 + 17.234 +/** Function that ends the operations on the dynamic manifest generator. 17.235 + * 17.236 + * handle is the dynamic manifest generator handle. 17.237 + * 17.238 + * This function should be used by the dynamic manifest generator to perform 17.239 + * cleanup operations, etc. 17.240 + */ 17.241 +void lv2_dyn_manifest_close(LV2_Dyn_Manifest_Handle handle); 17.242 + 17.243 +#ifdef __cplusplus 17.244 +} 17.245 +#endif 17.246 + 17.247 +#endif /* LV2_DYN_MANIFEST_H_INCLUDED */ 17.248 +
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 18.2 +++ b/naspro-bridges-bad/dssi/event.h Sat May 01 21:51:33 2010 +0300 18.3 @@ -0,0 +1,260 @@ 18.4 +/* lv2_event.h - C header file for the LV2 events extension. 18.5 + * 18.6 + * Copyright (C) 2006-2007 Lars Luthman <lars.luthman@gmail.com> 18.7 + * Copyright (C) 2008-2009 Dave Robillard <http://drobilla.net> 18.8 + * 18.9 + * This header is free software; you can redistribute it and/or modify it 18.10 + * under the terms of the GNU Lesser General Public License as published 18.11 + * by the Free Software Foundation; either version 2 of the License, or 18.12 + * (at your option) any later version. 18.13 + * 18.14 + * This header is distributed in the hope that it will be useful, but WITHOUT 18.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 18.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 18.17 + * License for more details. 18.18 + * 18.19 + * You should have received a copy of the GNU Lesser General Public License 18.20 + * along with this header; if not, write to the Free Software Foundation, 18.21 + * Inc., 59 Temple Place, Suite 330, Boston, MA 01222-1307 USA 18.22 + */ 18.23 + 18.24 +#ifndef LV2_EVENT_H 18.25 +#define LV2_EVENT_H 18.26 + 18.27 +#define LV2_EVENT_URI "http://lv2plug.in/ns/ext/event" 18.28 +#define LV2_EVENT_AUDIO_STAMP 0 18.29 + 18.30 +#include <stdint.h> 18.31 + 18.32 +/** @file 18.33 + * This header defines the code portion of the LV2 events extension with URI 18.34 + * <http://lv2plug.in/ns/ext/event> ('lv2ev'). 18.35 + * 18.36 + * This extension is a generic transport mechanism for time stamped events 18.37 + * of any type (e.g. MIDI, OSC, ramps, etc). Each port can transport mixed 18.38 + * events of any type; the type of events and timestamps are defined by a URI 18.39 + * which is mapped to an integer by the host for performance reasons. 18.40 + * 18.41 + * This extension requires the host to support the LV2 URI Map extension. 18.42 + * Any host which supports this extension MUST guarantee that any call to 18.43 + * the LV2 URI Map uri_to_id function with the URI of this extension as the 18.44 + * 'map' argument returns a value within the range of uint16_t. 18.45 + */ 18.46 + 18.47 + 18.48 +/** The best Pulses Per Quarter Note for tempo-based uint32_t timestmaps. 18.49 + * Equal to 2^12 * 5 * 7 * 9 * 11 * 13 * 17, which is evenly divisble 18.50 + * by all integers from 1 through 18 inclusive, and powers of 2 up to 2^12. 18.51 + */ 18.52 +static const uint32_t LV2_EVENT_PPQN = 3136573440U; 18.53 + 18.54 + 18.55 +/** An LV2 event (header only). 18.56 + * 18.57 + * LV2 events are generic time-stamped containers for any type of event. 18.58 + * The type field defines the format of a given event's contents. 18.59 + * 18.60 + * This struct defines the header of an LV2 event. An LV2 event is a single 18.61 + * chunk of POD (plain old data), usually contained in a flat buffer 18.62 + * (see LV2_EventBuffer below). Unless a required feature says otherwise, 18.63 + * hosts may assume a deep copy of an LV2 event can be created safely 18.64 + * using a simple: 18.65 + * 18.66 + * memcpy(ev_copy, ev, sizeof(LV2_Event) + ev->size); (or equivalent) 18.67 + */ 18.68 +typedef struct { 18.69 + 18.70 + /** The frames portion of timestamp. The units used here can optionally be 18.71 + * set for a port (with the lv2ev:timeUnits property), otherwise this 18.72 + * is audio frames, corresponding to the sample_count parameter of the 18.73 + * LV2 run method (e.g. frame 0 is the first frame for that call to run). 18.74 + */ 18.75 + uint32_t frames; 18.76 + 18.77 + /** The sub-frames portion of timestamp. The units used here can 18.78 + * optionally be set for a port (with the lv2ev:timeUnits property), 18.79 + * otherwise this is 1/(2^32) of an audio frame. 18.80 + */ 18.81 + uint32_t subframes; 18.82 + 18.83 + /** The type of this event, as a number which represents some URI 18.84 + * defining an event type. This value MUST be some value previously 18.85 + * returned from a call to the uri_to_id function defined in the LV2 18.86 + * URI map extension (see lv2_uri_map.h). 18.87 + * There are special rules which must be followed depending on the type 18.88 + * of an event. If the plugin recognizes an event type, the definition 18.89 + * of that event type will describe how to interpret the event, and 18.90 + * any required behaviour. Otherwise, if the type is 0, this event is a 18.91 + * non-POD event and lv2_event_unref MUST be called if the event is 18.92 + * 'dropped' (see above). Even if the plugin does not understand an event, 18.93 + * it may pass the event through to an output by simply copying (and NOT 18.94 + * calling lv2_event_unref). These rules are designed to allow for generic 18.95 + * event handling plugins and large non-POD events, but with minimal hassle 18.96 + * on simple plugins that "don't care" about these more advanced features. 18.97 + */ 18.98 + uint16_t type; 18.99 + 18.100 + /** The size of the data portion of this event in bytes, which immediately 18.101 + * follows. The header size (12 bytes) is not included in this value. 18.102 + */ 18.103 + uint16_t size; 18.104 + 18.105 + /* size bytes of data follow here */ 18.106 + 18.107 +} LV2_Event; 18.108 + 18.109 + 18.110 + 18.111 +/** A buffer of LV2 events (header only). 18.112 + * 18.113 + * Like events (which this contains) an event buffer is a single chunk of POD: 18.114 + * the entire buffer (including contents) can be copied with a single memcpy. 18.115 + * The first contained event begins sizeof(LV2_EventBuffer) bytes after 18.116 + * the start of this struct. 18.117 + * 18.118 + * After this header, the buffer contains an event header (defined by struct 18.119 + * LV2_Event), followed by that event's contents (padded to 64 bits), followed by 18.120 + * another header, etc: 18.121 + * 18.122 + * | | | | | | | 18.123 + * | | | | | | | | | | | | | | | | | | | | | | | | | 18.124 + * |FRAMES |SUBFRMS|TYP|LEN|DATA..DATA..PAD|FRAMES | ... 18.125 + */ 18.126 +typedef struct { 18.127 + 18.128 + /** The contents of the event buffer. This may or may not reside in the 18.129 + * same block of memory as this header, plugins must not assume either. 18.130 + * The host guarantees this points to at least capacity bytes of allocated 18.131 + * memory (though only size bytes of that are valid events). 18.132 + */ 18.133 + uint8_t* data; 18.134 + 18.135 + /** The size of this event header in bytes (including everything). 18.136 + * 18.137 + * This is to allow for extending this header in the future without 18.138 + * breaking binary compatibility. Whenever this header is copied, 18.139 + * it MUST be done using this field (and NOT the sizeof this struct). 18.140 + */ 18.141 + uint16_t header_size; 18.142 + 18.143 + /** The type of the time stamps for events in this buffer. 18.144 + * As a special exception, '0' always means audio frames and subframes 18.145 + * (1/UINT32_MAX'th of a frame) in the sample rate passed to instantiate. 18.146 + * INPUTS: The host must set this field to the numeric ID of some URI 18.147 + * defining the meaning of the frames/subframes fields of contained 18.148 + * events (obtained by the LV2 URI Map uri_to_id function with the URI 18.149 + * of this extension as the 'map' argument, see lv2_uri_map.h). 18.150 + * The host must never pass a plugin a buffer which uses a stamp type 18.151 + * the plugin does not 'understand'. The value of this field must 18.152 + * never change, except when connect_port is called on the input 18.153 + * port, at which time the host MUST have set the stamp_type field to 18.154 + * the value that will be used for all subsequent run calls. 18.155 + * OUTPUTS: The plugin may set this to any value that has been returned 18.156 + * from uri_to_id with the URI of this extension for a 'map' argument. 18.157 + * When connected to a buffer with connect_port, output ports MUST set 18.158 + * this field to the type of time stamp they will be writing. On any 18.159 + * call to connect_port on an event input port, the plugin may change 18.160 + * this field on any output port, it is the responsibility of the host 18.161 + * to check if any of these values have changed and act accordingly. 18.162 + */ 18.163 + uint16_t stamp_type; 18.164 + 18.165 + /** The number of events in this buffer. 18.166 + * INPUTS: The host must set this field to the number of events 18.167 + * contained in the data buffer before calling run(). 18.168 + * The plugin must not change this field. 18.169 + * OUTPUTS: The plugin must set this field to the number of events it 18.170 + * has written to the buffer before returning from run(). 18.171 + * Any initial value should be ignored by the plugin. 18.172 + */ 18.173 + uint32_t event_count; 18.174 + 18.175 + /** The size of the data buffer in bytes. 18.176 + * This is set by the host and must not be changed by the plugin. 18.177 + * The host is allowed to change this between run() calls. 18.178 + */ 18.179 + uint32_t capacity; 18.180 + 18.181 + /** The size of the initial portion of the data buffer containing data. 18.182 + * INPUTS: The host must set this field to the number of bytes used 18.183 + * by all events it has written to the buffer (including headers) 18.184 + * before calling the plugin's run(). 18.185 + * The plugin must not change this field. 18.186 + * OUTPUTS: The plugin must set this field to the number of bytes 18.187 + * used by all events it has written to the buffer (including headers) 18.188 + * before returning from run(). 18.189 + * Any initial value should be ignored by the plugin. 18.190 + */ 18.191 + uint32_t size; 18.192 + 18.193 +} LV2_Event_Buffer; 18.194 + 18.195 + 18.196 +/** Opaque pointer to host data. */ 18.197 +typedef void* LV2_Event_Callback_Data; 18.198 + 18.199 + 18.200 +/** The data field of the LV2_Feature for this extension. 18.201 + * 18.202 + * To support this feature the host must pass an LV2_Feature struct to the 18.203 + * plugin's instantiate method with URI "http://lv2plug.in/ns/ext/event" 18.204 + * and data pointed to an instance of this struct. 18.205 + */ 18.206 +typedef struct { 18.207 + 18.208 + /** Opaque pointer to host data. 18.209 + * 18.210 + * The plugin MUST pass this to any call to functions in this struct. 18.211 + * Otherwise, it must not be interpreted in any way. 18.212 + */ 18.213 + LV2_Event_Callback_Data callback_data; 18.214 + 18.215 + /** Take a reference to a non-POD event. 18.216 + * 18.217 + * If a plugin receives an event with type 0, it means the event is a 18.218 + * pointer to some object in memory and not a flat sequence of bytes 18.219 + * in the buffer. When receiving a non-POD event, the plugin already 18.220 + * has an implicit reference to the event. If the event is stored AND 18.221 + * passed to an output, lv2_event_ref MUST be called on that event. 18.222 + * If the event is only stored OR passed through, this is not necessary 18.223 + * (as the plugin already has 1 implicit reference). 18.224 + * 18.225 + * @param event An event received at an input that will not be copied to 18.226 + * an output or stored in any way. 18.227 + * @param context The calling context. (Like event types) this is a mapped 18.228 + * URI, see lv2_context.h. Simple plugin with just a run() 18.229 + * method should pass 0 here (the ID of the 'standard' LV2 18.230 + * run context). The host guarantees that this function is 18.231 + * realtime safe iff @a context is realtime safe. 18.232 + * 18.233 + * PLUGINS THAT VIOLATE THESE RULES MAY CAUSE CRASHES AND MEMORY LEAKS. 18.234 + */ 18.235 + uint32_t (*lv2_event_ref)(LV2_Event_Callback_Data callback_data, 18.236 + LV2_Event* event); 18.237 + 18.238 + /** Drop a reference to a non-POD event. 18.239 + * 18.240 + * If a plugin receives an event with type 0, it means the event is a 18.241 + * pointer to some object in memory and not a flat sequence of bytes 18.242 + * in the buffer. If the plugin does not pass the event through to 18.243 + * an output or store it internally somehow, it MUST call this function 18.244 + * on the event (more information on using non-POD events below). 18.245 + * 18.246 + * @param event An event received at an input that will not be copied to 18.247 + * an output or stored in any way. 18.248 + * @param context The calling context. (Like event types) this is a mapped 18.249 + * URI, see lv2_context.h. Simple plugin with just a run() 18.250 + * method should pass 0 here (the ID of the 'standard' LV2 18.251 + * run context). The host guarantees that this function is 18.252 + * realtime safe iff @a context is realtime safe. 18.253 + * 18.254 + * PLUGINS THAT VIOLATE THESE RULES MAY CAUSE CRASHES AND MEMORY LEAKS. 18.255 + */ 18.256 + uint32_t (*lv2_event_unref)(LV2_Event_Callback_Data callback_data, 18.257 + LV2_Event* event); 18.258 + 18.259 +} LV2_Event_Feature; 18.260 + 18.261 + 18.262 +#endif // LV2_EVENT_H 18.263 +
19.1 --- a/naspro-bridges-bad/dssi/lv2api.c Fri Mar 26 18:54:24 2010 +0200 19.2 +++ b/naspro-bridges-bad/dssi/lv2api.c Sat May 01 21:51:33 2010 +0300 19.3 @@ -2,7 +2,7 @@ 19.4 * NASPRO - NASPRO Architecture for Sound Processing 19.5 * LADSPA bridge 19.6 * 19.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 19.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 19.9 * 19.10 * See the COPYING file for license conditions. 19.11 */ 19.12 @@ -17,8 +17,8 @@ 19.13 #include <ladspa.h> 19.14 19.15 #include <lv2.h> 19.16 -#include <lv2_uri_map.h> 19.17 -#include <lv2_event.h> 19.18 +#include "uri-map.h" 19.19 +#include "event.h" 19.20 19.21 #include <NASPRO/core/lib.h> 19.22
20.1 --- a/naspro-bridges-bad/dssi/lv2api.h Fri Mar 26 18:54:24 2010 +0200 20.2 +++ b/naspro-bridges-bad/dssi/lv2api.h Sat May 01 21:51:33 2010 +0300 20.3 @@ -2,7 +2,7 @@ 20.4 * NASPRO - NASPRO Architecture for Sound Processing 20.5 * DSSI bridge 20.6 * 20.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 20.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 20.9 * 20.10 * See the COPYING file for license conditions. 20.11 */
21.1 --- a/naspro-bridges-bad/dssi/manifest.c Fri Mar 26 18:54:24 2010 +0200 21.2 +++ b/naspro-bridges-bad/dssi/manifest.c Sat May 01 21:51:33 2010 +0300 21.3 @@ -2,14 +2,14 @@ 21.4 * NASPRO - NASPRO Architecture for Sound Processing 21.5 * DSSI bridge 21.6 * 21.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 21.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 21.9 * 21.10 * See the COPYING file for license conditions. 21.11 */ 21.12 21.13 #include <stdio.h> 21.14 21.15 -#include <lv2_dyn_manifest.h> 21.16 +#include "dyn-manifest.h" 21.17 21.18 #include <NASPRO/core/lib.h> 21.19
22.1 --- a/naspro-bridges-bad/dssi/manifest.ttl.in Fri Mar 26 18:54:24 2010 +0200 22.2 +++ b/naspro-bridges-bad/dssi/manifest.ttl.in Sat May 01 21:51:33 2010 +0300 22.3 @@ -2,7 +2,7 @@ 22.4 # NASPRO - NASPRO Architecture for Sound Processing 22.5 # DSSI bridge 22.6 # 22.7 -# Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 22.8 +# Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 22.9 # 22.10 # See the COPYING file for license conditions. 22.11 #
23.1 --- a/naspro-bridges-bad/dssi/pluglib.c Fri Mar 26 18:54:24 2010 +0200 23.2 +++ b/naspro-bridges-bad/dssi/pluglib.c Sat May 01 21:51:33 2010 +0300 23.3 @@ -2,7 +2,7 @@ 23.4 * NASPRO - NASPRO Architecture for Sound Processing 23.5 * DSSI bridge 23.6 * 23.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 23.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 23.9 * 23.10 * See the COPYING file for license conditions. 23.11 */ 23.12 @@ -183,11 +183,33 @@ 23.13 if (NACORE_STRING_IS_NULL_OR_EMPTY(ladspa_path) 23.14 && NACORE_STRING_IS_NULL_OR_EMPTY(dssi_path)) 23.15 { 23.16 - nacore_path_home_for_each(DSSI_DEFAULT_HOME_PATH, pluglib_load, 23.17 +#ifdef __APPLE__ 23.18 + nacore_path_home_for_each("Library/Audio/Plug-Ins/DSSI:.dssi", 23.19 + pluglib_load, 23.20 nacore_dl_filename_filter, NULL); 23.21 - nacore_path_for_each(DSSI_DEFAULT_SYSTEM_PATH, 23.22 + nacore_path_for_each("/Library/Audio/Plug-Ins/DSSI" 23.23 + "/usr/local/lib/dssi:/usr/lib/dssi", 23.24 pluglib_load, nacore_dl_filename_filter, 23.25 NULL); 23.26 +#elif defined (__HAIKU__) 23.27 + /* FIXME: find_directory() should be used */ 23.28 + nacore_path_home_for_each("config/add-ons/dssi", pluglib_load, 23.29 + nacore_dl_filename_filter, NULL); 23.30 + nacore_path_for_each("/boot/common/add-ons/dssi", 23.31 + pluglib_load, nacore_dl_filename_filter, 23.32 + NULL); 23.33 +#elif defined (__SYLLABLE__) 23.34 + nacore_path_home_for_each("extensions/dssi", pluglib_load, 23.35 + nacore_dl_filename_filter, NULL); 23.36 + nacore_path_for_each("/system/extensions/dssi", pluglib_load, 23.37 + nacore_dl_filename_filter, NULL); 23.38 +#else 23.39 + nacore_path_home_for_each(".dssi", pluglib_load, 23.40 + nacore_dl_filename_filter, NULL); 23.41 + nacore_path_for_each("/usr/local/lib/dssi:/usr/lib/dssi", 23.42 + pluglib_load, nacore_dl_filename_filter, 23.43 + NULL); 23.44 +#endif 23.45 } 23.46 else 23.47 {
24.1 --- a/naspro-bridges-bad/dssi/pluglib.h Fri Mar 26 18:54:24 2010 +0200 24.2 +++ b/naspro-bridges-bad/dssi/pluglib.h Sat May 01 21:51:33 2010 +0300 24.3 @@ -2,7 +2,7 @@ 24.4 * NASPRO - NASPRO Architecture for Sound Processing 24.5 * DSSI bridge 24.6 * 24.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 24.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 24.9 * 24.10 * See the COPYING file for license conditions. 24.11 */
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 25.2 +++ b/naspro-bridges-bad/dssi/uri-map.h Sat May 01 21:51:33 2010 +0300 25.3 @@ -0,0 +1,88 @@ 25.4 +/* lv2_uri_map.h - C header file for the LV2 URI Map extension. 25.5 + * 25.6 + * Copyright (C) 2008-2009 Dave Robillard <http://drobilla.net> 25.7 + * 25.8 + * This header is free software; you can redistribute it and/or modify it 25.9 + * under the terms of the GNU Lesser General Public License as published 25.10 + * by the Free Software Foundation; either version 2 of the License, or 25.11 + * (at your option) any later version. 25.12 + * 25.13 + * This header is distributed in the hope that it will be useful, but WITHOUT 25.14 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 25.15 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 25.16 + * License for more details. 25.17 + * 25.18 + * You should have received a copy of the GNU Lesser General Public License 25.19 + * along with this header; if not, write to the Free Software Foundation, 25.20 + * Inc., 59 Temple Place, Suite 330, Boston, MA 01222-1307 USA 25.21 + */ 25.22 + 25.23 +#ifndef LV2_URI_MAP_H 25.24 +#define LV2_URI_MAP_H 25.25 + 25.26 +#define LV2_URI_MAP_URI "http://lv2plug.in/ns/ext/uri-map" 25.27 + 25.28 +#include <stdint.h> 25.29 + 25.30 +/** @file 25.31 + * This header defines the LV2 URI Map extension with the URI 25.32 + * <http://lv2plug.in/ns/ext/uri-map> (preferred prefix 'lv2urimap'). 25.33 + * 25.34 + * This extension defines a simple mechanism for plugins to map URIs to 25.35 + * integers, usually for performance reasons (e.g. processing events 25.36 + * typed by URIs in real time). The expected use case is for plugins to 25.37 + * map URIs to integers for things they 'understand' at instantiation time, 25.38 + * and store those values for use in the audio thread without doing any string 25.39 + * comparison. This allows the extensibility of RDF with the performance of 25.40 + * integers (or centrally defined enumerations). 25.41 + */ 25.42 + 25.43 + 25.44 +/** Opaque pointer to host data. */ 25.45 +typedef void* LV2_URI_Map_Callback_Data; 25.46 + 25.47 + 25.48 +/** The data field of the LV2_Feature for this extension. 25.49 + * 25.50 + * To support this feature the host must pass an LV2_Feature struct to the 25.51 + * plugin's instantiate method with URI "http://lv2plug.in/ns/ext/uri-map" 25.52 + * and data pointed to an instance of this struct. 25.53 + */ 25.54 +typedef struct { 25.55 + 25.56 + /** Opaque pointer to host data. 25.57 + * 25.58 + * The plugin MUST pass this to any call to functions in this struct. 25.59 + * Otherwise, it must not be interpreted in any way. 25.60 + */ 25.61 + LV2_URI_Map_Callback_Data callback_data; 25.62 + 25.63 + /** Get the numeric ID of a URI from the host. 25.64 + * 25.65 + * @param callback_data Must be the callback_data member of this struct. 25.66 + * @param map The 'context' of this URI. Certain extensions may define a 25.67 + * URI that must be passed here with certain restrictions on the 25.68 + * return value (e.g. limited range). This value may be NULL if 25.69 + * the plugin needs an ID for a URI in general. 25.70 + * @param uri The URI to be mapped to an integer ID. 25.71 + * 25.72 + * This function is referentially transparent - any number of calls with 25.73 + * the same arguments is guaranteed to return the same value over the life 25.74 + * of a plugin instance (though the same URI may return different values 25.75 + * with a different map parameter). However, this function is not 25.76 + * necessarily very fast: plugins should cache any IDs they might need in 25.77 + * performance critical situations. 25.78 + * The return value 0 is reserved and means an ID for that URI could not 25.79 + * be created for whatever reason. Extensions may define more precisely 25.80 + * what this means, but in general plugins should gracefully handle 0 25.81 + * and consider whatever they wanted the URI for "unsupported". 25.82 + */ 25.83 + uint32_t (*uri_to_id)(LV2_URI_Map_Callback_Data callback_data, 25.84 + const char* map, 25.85 + const char* uri); 25.86 + 25.87 +} LV2_URI_Map_Feature; 25.88 + 25.89 + 25.90 +#endif // LV2_URI_MAP_H 25.91 +
26.1 --- a/naspro-bridges-bad/ladspa/Makefile Fri Mar 26 18:54:24 2010 +0200 26.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 26.3 @@ -1,63 +0,0 @@ 26.4 -.POSIX: 26.5 - 26.6 -.SUFFIXES: 26.7 - 26.8 -### Change this... 26.9 - 26.10 -DESTDIR = 26.11 -PREFIX = /usr/local 26.12 -LIB_DIR = $(PREFIX)/lib 26.13 - 26.14 -LV2_DIR = $(LIB_DIR)/lv2 26.15 - 26.16 -LADSPA_BRIDGE_BUNDLE_DIR = $(LV2_DIR)/naspro-ladspa.lv2 26.17 - 26.18 -CC = gcc 26.19 -CFLAGS = -O2 -ansi -pedantic -Wall -fPIC 26.20 - 26.21 -DL_LDFLAGS = -ldl 26.22 -LDFLAGS = -shared $(DL_LDFLAGS) 26.23 - 26.24 -SO_FILE_EXT = .so 26.25 - 26.26 -LADSPA_DEFAULT_SYSTEM_PATH = /usr/local/lib/ladspa:/usr/lib/ladspa 26.27 -LADSPA_DEFAULT_HOME_PATH = .ladspa 26.28 -LRDF_DEFAULT_SYSTEM_PATH = /usr/local/share/ladspa/rdf:/usr/share/ladspa/rdf 26.29 -LRDF_DEFAULT_HOME_PATH = .ladspa/rdf 26.30 - 26.31 -### ... but not this 26.32 - 26.33 -TARGETS = ladspa$(SO_FILE_EXT) manifest.ttl 26.34 - 26.35 -LADSPA_BRIDGE_SOURCES = descriptor.c \ 26.36 - descriptor.h \ 26.37 - lrdf.c \ 26.38 - lrdf.h \ 26.39 - lv2api.c \ 26.40 - lv2api.h \ 26.41 - manifest.c \ 26.42 - pluglib.c \ 26.43 - pluglib.h 26.44 -LADSPA_BRIDGE_LIBS = -lnacore -lrdf 26.45 - 26.46 -DEFS = -DLRDF_DEFAULT_SYSTEM_PATH="\"$(LRDF_DEFAULT_SYSTEM_PATH)\"" \ 26.47 - -DLRDF_DEFAULT_HOME_PATH="\"$(LRDF_DEFAULT_HOME_PATH)\"" \ 26.48 - -DLADSPA_DEFAULT_SYSTEM_PATH="\"$(LADSPA_DEFAULT_SYSTEM_PATH)\"" \ 26.49 - -DLADSPA_DEFAULT_HOME_PATH="\"$(LADSPA_DEFAULT_HOME_PATH)\"" 26.50 - 26.51 -all: $(TARGETS) 26.52 - 26.53 -ladspa$(SO_FILE_EXT): $(LADSPA_BRIDGE_SOURCES) 26.54 - $(CC) $(CFLAGS) $(DEFS) $(LDFLAGS) $(LADSPA_BRIDGE_SOURCES) \ 26.55 - $(LADSPA_BRIDGE_LIBS) -o $@ 26.56 - 26.57 -manifest.ttl: manifest.ttl.in 26.58 - sed 's/@SO_FILE_EXT@/$(SO_FILE_EXT)/g' manifest.ttl.in > manifest.ttl 26.59 - 26.60 -install: $(TARGETS) manifest.ttl 26.61 - mkdir -p $(DESTDIR)$(LADSPA_BRIDGE_BUNDLE_DIR) 26.62 - cp ladspa$(SO_FILE_EXT) manifest.ttl \ 26.63 - $(DESTDIR)$(LADSPA_BRIDGE_BUNDLE_DIR) 26.64 - 26.65 -clean: 26.66 - rm -f $(TARGETS)
27.1 --- a/naspro-bridges-bad/ladspa/Makefile.haiku Fri Mar 26 18:54:24 2010 +0200 27.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 27.3 @@ -1,35 +0,0 @@ 27.4 -.POSIX: 27.5 - 27.6 -.SUFFIXES: 27.7 - 27.8 -### Change this... 27.9 - 27.10 -PREFIX = /boot/common 27.11 -ADDONS_DIR = $(PREFIX)/add-ons 27.12 - 27.13 -LV2_DIR = $(ADDONS_DIR)/lv2 27.14 - 27.15 -DL_LDFLAGS = 27.16 - 27.17 -LADSPA_DEFAULT_SYSTEM_PATH = $(ADDONS_DIR)/ladspa 27.18 -LADSPA_DEFAULT_HOME_PATH = .ladspa 27.19 -LRDF_DEFAULT_SYSTEM_PATH = $(ADDONS_DIR)/ladspa/rdf 27.20 -LRDF_DEFAULT_HOME_PATH = .ladspa/rdf 27.21 - 27.22 -### ... but not this 27.23 - 27.24 -MAKE_VARS = PREFIX="$(PREFIX)" LV2_DIR="$(LV2_DIR)" \ 27.25 - DL_LDFLAGS="$(DL_LDFLAGS)" \ 27.26 - LADSPA_DEFAULT_SYSTEM_PATH="$(LADSPA_DEFAULT_SYSTEM_PATH)" \ 27.27 - LADSPA_DEFAULT_HOME_PATH="$(LADSPA_DEFAULT_HOME_PATH)" \ 27.28 - LRDF_DEFAULT_SYSTEM_PATH="$(LRDF_DEFAULT_SYSTEM_PATH)" \ 27.29 - LRDF_DEFAULT_HOME_PATH="$(LRDF_DEFAULT_HOME_PATH)" 27.30 - 27.31 -all: 27.32 - $(MAKE) $(MAKE_VARS) all 27.33 - 27.34 -install: 27.35 - $(MAKE) $(MAKE_VARS) install 27.36 - 27.37 -clean: 27.38 - $(MAKE) $(MAKE_VARS) clean
28.1 --- a/naspro-bridges-bad/ladspa/Makefile.osx Fri Mar 26 18:54:24 2010 +0200 28.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 28.3 @@ -1,36 +0,0 @@ 28.4 -.POSIX: 28.5 - 28.6 -.SUFFIXES: 28.7 - 28.8 -### Change this... 28.9 - 28.10 -PREFIX = 28.11 -LIB_DIR = $(PREFIX)/Library 28.12 - 28.13 -LV2_DIR = $(LIB_DIR)/Audio/Plug-Ins/LV2 28.14 - 28.15 -SO_FILE_EXT = .dylib 28.16 - 28.17 -LADSPA_DEFAULT_SYSTEM_PATH = \ 28.18 - /Library/Audio/Plug-Ins/LADSPA:/usr/local/lib/ladspa:/usr/lib/ladspa 28.19 -LADSPA_DEFAULT_HOME_PATH = Library/Audio/Plug-Ins/LADSPA:.ladspa 28.20 -LRDF_DEFAULT_SYSTEM_PATH = /Library/Audio/Plug-Ins/LADSPA/rdf:/usr/local/share/ladspa/rdf:/usr/share/ladspa/rdf 28.21 -LRDF_DEFAULT_HOME_PATH = Library/Audio/Plug-Ins/LADSPA/rdf:.ladspa/rdf 28.22 - 28.23 -### ... but not this 28.24 - 28.25 -MAKE_VARS = PREFIX="$(PREFIX)" LIB_DIR="$(LIB_DIR)" LV2_DIR="$(LV2_DIR)" \ 28.26 - SO_FILE_EXT="$(SO_FILE_EXT)" \ 28.27 - LADSPA_DEFAULT_SYSTEM_PATH="$(LADSPA_DEFAULT_SYSTEM_PATH)" \ 28.28 - LADSPA_DEFAULT_HOME_PATH="$(LADSPA_DEFAULT_HOME_PATH)" \ 28.29 - LRDF_DEFAULT_SYSTEM_PATH="$(LRDF_DEFAULT_SYSTEM_PATH)" \ 28.30 - LRDF_DEFAULT_HOME_PATH="$(LRDF_DEFAULT_HOME_PATH)" 28.31 - 28.32 -all: 28.33 - $(MAKE) $(MAKE_VARS) all 28.34 - 28.35 -install: 28.36 - $(MAKE) $(MAKE_VARS) install 28.37 - 28.38 -clean: 28.39 - $(MAKE) $(MAKE_VARS) clean
29.1 --- a/naspro-bridges-bad/ladspa/descriptor.c Fri Mar 26 18:54:24 2010 +0200 29.2 +++ b/naspro-bridges-bad/ladspa/descriptor.c Sat May 01 21:51:33 2010 +0300 29.3 @@ -2,7 +2,7 @@ 29.4 * NASPRO - NASPRO Architecture for Sound Processing 29.5 * LADSPA bridge 29.6 * 29.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 29.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 29.9 * 29.10 * See the COPYING file for license conditions. 29.11 */
30.1 --- a/naspro-bridges-bad/ladspa/descriptor.h Fri Mar 26 18:54:24 2010 +0200 30.2 +++ b/naspro-bridges-bad/ladspa/descriptor.h Sat May 01 21:51:33 2010 +0300 30.3 @@ -2,7 +2,7 @@ 30.4 * NASPRO - NASPRO Architecture for Sound Processing 30.5 * LADSPA bridge 30.6 * 30.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 30.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 30.9 * 30.10 * See the COPYING file for license conditions. 30.11 */
31.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 31.2 +++ b/naspro-bridges-bad/ladspa/dyn-manifest.h Sat May 01 21:51:33 2010 +0300 31.3 @@ -0,0 +1,245 @@ 31.4 +/* Dynamic manifest specification for LV2 31.5 + * Revision 2 31.6 + * 31.7 + * Copyright (C) 2008-2010 Stefano D'Angelo <zanga.mail@gmail.com> 31.8 + * All rights reserved. 31.9 + * 31.10 + * Redistribution and use in source and binary forms, with or without 31.11 + * modification, are permitted provided that the following conditions 31.12 + * are met: 31.13 + * 1. Redistributions of source code must retain the above copyright 31.14 + * notice, this list of conditions and the following disclaimer. 31.15 + * 2. Redistributions in binary form must reproduce the above copyright 31.16 + * notice, this list of conditions and the following disclaimer in the 31.17 + * documentation and/or other materials provided with the distribution. 31.18 + * 3. The name of the author may not be used to endorse or promote products 31.19 + * derived from this software without specific prior written permission. 31.20 + * 31.21 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 31.22 + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 31.23 + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 31.24 + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 31.25 + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 31.26 + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 31.27 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 31.28 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31.29 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 31.30 + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31.31 + */ 31.32 + 31.33 +#ifndef LV2_DYN_MANIFEST_H_INCLUDED 31.34 +#define LV2_DYN_MANIFEST_H_INCLUDED 31.35 + 31.36 +#include <stdio.h> 31.37 +#include <lv2.h> 31.38 + 31.39 +#define LV2_DYN_MANIFEST_URI "http://lv2plug.in/ns/ext/dyn-manifest" 31.40 + 31.41 +#ifdef __cplusplus 31.42 +extern "C" { 31.43 +#endif 31.44 + 31.45 + 31.46 +/* ************************************************************************* */ 31.47 + 31.48 + 31.49 +/** @file 31.50 + * 31.51 + * Revision: 2 31.52 + * 31.53 + * == Overview == 31.54 + * 31.55 + * The LV2 API, on its own, cannot be used to write plugin libraries where 31.56 + * data is dynamically generated at runtime (e.g. API wrappers), since LV2 31.57 + * requires needed information to be provided in one or more static data (RDF) 31.58 + * files. This API addresses this limitation by extending the LV2 API. 31.59 + * 31.60 + * A host implementing support for this API should first detect that the plugin 31.61 + * library implements a dynamic manifest generator by examining its static 31.62 + * manifest file, then fetch data from the shared object file by accessing it as 31.63 + * usual (dlopen() and family) and using this API. 31.64 + * 31.65 + * The host is allowed to request regeneration of the dynamic manifest multiple 31.66 + * times, and the plugin library is expected to provide updated data if/when 31.67 + * possible. All data and references provided via this API before the last 31.68 + * regeneration of the dynamic manifest is to be considered invalid by the 31.69 + * host, including plugin descriptors whose URIs were discovered using this API. 31.70 + * 31.71 + * This API is extensible in a similar fashion as the LV2 plugin API. 31.72 + * 31.73 + * == Accessing data == 31.74 + * 31.75 + * Whenever a host wants to access data using this API, it could: 31.76 + * 31.77 + * -# Call lv2_dyn_manifest_open(); 31.78 + * -# Create an empty resource identified by a FILE *; 31.79 + * -# Get a "list" of exposed subject URIs using 31.80 + * lv2_dyn_manifest_get_subjects(); 31.81 + * -# Call lv2_dyn_manifest_get_data() for each URI of interest, in order to 31.82 + * get data related to that URI (either by calling the function subsequently 31.83 + * with the same FILE * resource, or by creating more FILE * resources to 31.84 + * perform parallel calls); 31.85 + * -# Call lv2_dyn_manifest_close(); 31.86 + * -# Parse the content of the FILE * resource(s). 31.87 + * -# Free/delete/unlink the FILE * resource(s). 31.88 + * 31.89 + * The content of the FILE * resources has to be interpreted by the host as a 31.90 + * regular file in Turtle syntax. This also means that each FILE * resource 31.91 + * should also contain needed prefix definitions, in case any are used. 31.92 + * 31.93 + * Each call to lv2_dyn_manifest_open() automatically implies the (re)generation 31.94 + * of the dynamic manifest on the library side. 31.95 + * 31.96 + * When such calls are made, data fetched from the involved library using this 31.97 + * API before such call is to be considered no more valid. 31.98 + * 31.99 + * In case the library uses this same API to access other dynamic manifests, it 31.100 + * MUST implement some mechanism to avoid potentially endless loops (such as A 31.101 + * loads B, B loads A, etc.) in functions from the Dynamic manifest open class 31.102 + * (the open-like operation MUST fail). For this purpose, use of a static 31.103 + * boolean flag is suggested. 31.104 + * 31.105 + * == Threading rules == 31.106 + * 31.107 + * This specification defines threading rule classes, similarly to the LV2 31.108 + * specification. 31.109 + * 31.110 + * The functions defined by this API belong to: 31.111 + * 31.112 + * - Dynamic manifest open class: lv2_dyn_manifest_open() 31.113 + * - Dynamic manifest close class: lv2_dyn_manifest_close() 31.114 + * - Dynamic manifest file class: lv2_dyn_manifest_get_subjects(), 31.115 + * lv2_dyn_manifest_get_data() 31.116 + * 31.117 + * The rules that hosts must follow are these: 31.118 + * 31.119 + * - When a function from the Dynamic manifest open or the Dynamic manifest 31.120 + * close class is running, no other functions in the same shared object file 31.121 + * may run. 31.122 + * - When a function from the Dynamic manifest file class is called, no other 31.123 + * functions from the same class may run if they are given at least one 31.124 + * FILE * argument with the same value. 31.125 + * - A function from the Dynamic manifest open class may not run after a 31.126 + * successful call to a function from the same class, in case a function from 31.127 + * the Dynamic manifest close class was not successfully called in the 31.128 + * meanwhile. 31.129 + * - A function from the Dynamic manifest close class may only run after a 31.130 + * successful call to a function from the Dynamic manifest open class. 31.131 + * - A function from the Dynamic manifest file class may only run beetween a 31.132 + * successful call to a function from the Dynamic manifest open class and the 31.133 + * following successful call to a function from the Dynamic manifest close 31.134 + * class. 31.135 + * 31.136 + * Extensions to this specification which add new functions MUST declare in 31.137 + * which of these classes the functions belong, or define new classes for them; 31.138 + * furthermore, classes defined by such extensions MUST only allow calls after 31.139 + * a successful call to a function from the Dynamic manifest open class and 31.140 + * before the following successful call to a function from the Dynamic manifest 31.141 + * close class. 31.142 + * 31.143 + * Any simultaneous calls that are not explicitly forbidden by these rules are 31.144 + * allowed. 31.145 + */ 31.146 + 31.147 + 31.148 +/* ************************************************************************* */ 31.149 + 31.150 + 31.151 +/** Dynamic manifest generator handle. 31.152 + * 31.153 + * This handle indicates a particular status of a dynamic manifest generator. 31.154 + * The host MUST NOT attempt to interpret it and, unlikely LV2_Handle, it is NOT 31.155 + * even valid to compare this to NULL. The dynamic manifest generator may use it 31.156 + * to reference internal data. */ 31.157 +typedef void * LV2_Dyn_Manifest_Handle; 31.158 + 31.159 + 31.160 +/* ************************************************************************* */ 31.161 + 31.162 + 31.163 +/** Function that (re)generates the dynamic manifest. 31.164 + * 31.165 + * handle is a pointer to an uninitialized dynamic manifest generator handle. 31.166 + * 31.167 + * features is a NULL terminated array of LV2_Feature structs which 31.168 + * represent the features the host supports. The dynamic manifest geenrator may 31.169 + * refuse to (re)generate the dynamic manifest if required features are not 31.170 + * found here (however hosts SHOULD NOT use this as a discovery mechanism, 31.171 + * instead of reading the static manifest file). This array must always exist; 31.172 + * if a host has no features, it MUST pass a single element array containing 31.173 + * NULL. 31.174 + * 31.175 + * This function MUST return 0 on success, otherwise a non-zero error code, and 31.176 + * the host SHOULD evaluate the result of the operation by examining the 31.177 + * returned value, rather than try to interpret the value of handle. 31.178 + */ 31.179 +int lv2_dyn_manifest_open(LV2_Dyn_Manifest_Handle * handle, 31.180 + const LV2_Feature *const * features); 31.181 + 31.182 +/** Function that fetches a "list" of subject URIs exposed by the dynamic 31.183 + * manifest generator. 31.184 + * 31.185 + * handle is the dynamic manifest generator handle. 31.186 + * 31.187 + * fp is the FILE * identifying the resource the host has to set up for the 31.188 + * dynamic manifest generator. The host MUST pass a writable, empty resource to 31.189 + * this function, and the dynamic manifest generator MUST ONLY perform write 31.190 + * operations on it at the end of the stream (e.g. use only fprintf(), fwrite() 31.191 + * and similar). 31.192 + * 31.193 + * The dynamic manifest generator has to fill the resource only with the needed 31.194 + * triples to make the host aware of the "objects" it wants to expose. For 31.195 + * example, if the library exposes a regular LV2 plugin, it should output only a 31.196 + * triple like the following: 31.197 + * 31.198 + * <http://www.example.com/plugin/uri> a lv2:Plugin; 31.199 + * 31.200 + * This function MUST return 0 on success, otherwise a non-zero error code. 31.201 + */ 31.202 +int lv2_dyn_manifest_get_subjects(LV2_Dyn_Manifest_Handle handle, 31.203 + FILE * fp); 31.204 + 31.205 +/** Function that fetches data related to a specific URI. 31.206 + * 31.207 + * handle is the dynamic manifest generator handle. 31.208 + * 31.209 + * fp is the FILE * identifying the resource the host has to set up for the 31.210 + * dynamic manifest generator. The host MUST pass a writable resource to this 31.211 + * function, and the dynamic manifest generator MUST ONLY perform write 31.212 + * operations on it at the current position of the stream (e.g. use only 31.213 + * fprintf(), fwrite() and similar). 31.214 + * 31.215 + * uri is the URI to get data about (in the "plain" form, a.k.a. without RDF 31.216 + * prefixes). 31.217 + * 31.218 + * The dynamic manifest generator has to fill the resource with data related to 31.219 + * the URI. For example, if the library exposes a regular LV2 plugin whose URI, 31.220 + * as retrieved by the host using lv2_dyn_manifest_get_subjects() is 31.221 + * http://www.example.com/plugin/uri, it should output something like: 31.222 + * 31.223 + * <http://www.example.com/plugin/uri> a lv2:Plugin; 31.224 + * lv2:binary <mylib.so>; 31.225 + * doap:name "My Plugin"; 31.226 + * ... etc... 31.227 + * 31.228 + * This function MUST return 0 on success, otherwise a non-zero error code. 31.229 + */ 31.230 +int lv2_dyn_manifest_get_data(LV2_Dyn_Manifest_Handle handle, 31.231 + FILE * fp, 31.232 + const char * uri); 31.233 + 31.234 +/** Function that ends the operations on the dynamic manifest generator. 31.235 + * 31.236 + * handle is the dynamic manifest generator handle. 31.237 + * 31.238 + * This function should be used by the dynamic manifest generator to perform 31.239 + * cleanup operations, etc. 31.240 + */ 31.241 +void lv2_dyn_manifest_close(LV2_Dyn_Manifest_Handle handle); 31.242 + 31.243 +#ifdef __cplusplus 31.244 +} 31.245 +#endif 31.246 + 31.247 +#endif /* LV2_DYN_MANIFEST_H_INCLUDED */ 31.248 +
32.1 --- a/naspro-bridges-bad/ladspa/lrdf.c Fri Mar 26 18:54:24 2010 +0200 32.2 +++ b/naspro-bridges-bad/ladspa/lrdf.c Sat May 01 21:51:33 2010 +0300 32.3 @@ -2,7 +2,7 @@ 32.4 * NASPRO - NASPRO Architecture for Sound Processing 32.5 * LADSPA bridge 32.6 * 32.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 32.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 32.9 * 32.10 * See the COPYING file for license conditions. 32.11 */ 32.12 @@ -91,10 +91,32 @@ 32.13 lrdf_path = nacore_env_get_var("LADSPA_RDF_PATH"); 32.14 if (NACORE_STRING_IS_NULL_OR_EMPTY(lrdf_path)) 32.15 { 32.16 - nacore_path_home_for_each(LRDF_DEFAULT_HOME_PATH, parse_file, 32.17 +#ifdef __APPLE__ 32.18 + nacore_path_home_for_each("Library/Audio/Plug-Ins/LADSPA/rdf" 32.19 + ":.ladspa/rdf", parse_file, 32.20 rdf_filter, NULL); 32.21 - nacore_path_for_each(LRDF_DEFAULT_SYSTEM_PATH, parse_file, 32.22 + nacore_path_for_each("/Library/Audio/Plug-Ins/LADSPA/rdf" 32.23 + ":/usr/local/share/ladspa/rdf" 32.24 + ":/usr/share/ladspa/rdf", parse_file, 32.25 rdf_filter, NULL); 32.26 +#elif defined (__HAIKU__) 32.27 + /* FIXME: find_directory() should be used */ 32.28 + nacore_path_home_for_each("config/add-ons/ladspa/rdf", 32.29 + parse_file, rdf_filter, NULL); 32.30 + nacore_path_for_each("/boot/common/add-ons/ladspa/rdf", 32.31 + parse_file, rdf_filter, NULL); 32.32 +#elif defined (__SYLLABLE__) 32.33 + nacore_path_home_for_each("extensions/ladspa/rdf", 32.34 + parse_file, rdf_filter, NULL); 32.35 + nacore_path_for_each("/system/extensions/ladspa/rdf", 32.36 + parse_file, rdf_filter, NULL); 32.37 +#else 32.38 + nacore_path_home_for_each(".ladspa/rdf", parse_file, rdf_filter, 32.39 + NULL); 32.40 + nacore_path_for_each("/usr/local/share/ladspa/rdf" 32.41 + ":/usr/share/ladspa/rdf", 32.42 + parse_file, rdf_filter, NULL); 32.43 +#endif 32.44 } 32.45 else 32.46 nacore_path_for_each(lrdf_path, parse_file, rdf_filter, NULL);
33.1 --- a/naspro-bridges-bad/ladspa/lrdf.h Fri Mar 26 18:54:24 2010 +0200 33.2 +++ b/naspro-bridges-bad/ladspa/lrdf.h Sat May 01 21:51:33 2010 +0300 33.3 @@ -2,7 +2,7 @@ 33.4 * NASPRO - NASPRO Architecture for Sound Processing 33.5 * LADSPA bridge 33.6 * 33.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 33.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 33.9 * 33.10 * See the COPYING file for license conditions. 33.11 */
34.1 --- a/naspro-bridges-bad/ladspa/lv2api.c Fri Mar 26 18:54:24 2010 +0200 34.2 +++ b/naspro-bridges-bad/ladspa/lv2api.c Sat May 01 21:51:33 2010 +0300 34.3 @@ -2,7 +2,7 @@ 34.4 * NASPRO - NASPRO Architecture for Sound Processing 34.5 * LADSPA bridge 34.6 * 34.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 34.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 34.9 * 34.10 * See the COPYING file for license conditions. 34.11 */
35.1 --- a/naspro-bridges-bad/ladspa/lv2api.h Fri Mar 26 18:54:24 2010 +0200 35.2 +++ b/naspro-bridges-bad/ladspa/lv2api.h Sat May 01 21:51:33 2010 +0300 35.3 @@ -2,7 +2,7 @@ 35.4 * NASPRO - NASPRO Architecture for Sound Processing 35.5 * LADSPA bridge 35.6 * 35.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 35.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 35.9 * 35.10 * See the COPYING file for license conditions. 35.11 */
36.1 --- a/naspro-bridges-bad/ladspa/manifest.c Fri Mar 26 18:54:24 2010 +0200 36.2 +++ b/naspro-bridges-bad/ladspa/manifest.c Sat May 01 21:51:33 2010 +0300 36.3 @@ -2,14 +2,14 @@ 36.4 * NASPRO - NASPRO Architecture for Sound Processing 36.5 * LADSPA bridge 36.6 * 36.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 36.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 36.9 * 36.10 * See the COPYING file for license conditions. 36.11 */ 36.12 36.13 #include <stdio.h> 36.14 36.15 -#include <lv2_dyn_manifest.h> 36.16 +#include "dyn-manifest.h" 36.17 36.18 #include <NASPRO/core/lib.h> 36.19
37.1 --- a/naspro-bridges-bad/ladspa/manifest.ttl.in Fri Mar 26 18:54:24 2010 +0200 37.2 +++ b/naspro-bridges-bad/ladspa/manifest.ttl.in Sat May 01 21:51:33 2010 +0300 37.3 @@ -2,7 +2,7 @@ 37.4 # NASPRO - NASPRO Architecture for Sound Processing 37.5 # LADSPA bridge 37.6 # 37.7 -# Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 37.8 +# Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 37.9 # 37.10 # See the COPYING file for license conditions. 37.11 #
38.1 --- a/naspro-bridges-bad/ladspa/pluglib.c Fri Mar 26 18:54:24 2010 +0200 38.2 +++ b/naspro-bridges-bad/ladspa/pluglib.c Sat May 01 21:51:33 2010 +0300 38.3 @@ -2,7 +2,7 @@ 38.4 * NASPRO - NASPRO Architecture for Sound Processing 38.5 * LADSPA bridge 38.6 * 38.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 38.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 38.9 * 38.10 * See the COPYING file for license conditions. 38.11 */ 38.12 @@ -221,12 +221,34 @@ 38.13 ladspa_path = nacore_env_get_var("LADSPA_PATH"); 38.14 if (NACORE_STRING_IS_NULL_OR_EMPTY(ladspa_path)) 38.15 { 38.16 - nacore_path_home_for_each(LADSPA_DEFAULT_HOME_PATH, 38.17 - pluglib_load, 38.18 +#ifdef __APPLE__ 38.19 + nacore_path_home_for_each("Library/Audio/Plug-Ins/LADSPA" 38.20 + ":.ladspa", pluglib_load, 38.21 nacore_dl_filename_filter, NULL); 38.22 - nacore_path_for_each(LADSPA_DEFAULT_SYSTEM_PATH, 38.23 + nacore_path_for_each("/Library/Audio/Plug-Ins/LADSPA" 38.24 + ":/usr/local/lib/ladspa:/usr/lib/ladspa", 38.25 pluglib_load, nacore_dl_filename_filter, 38.26 NULL); 38.27 +#elif defined (__HAIKU__) 38.28 + /* FIXME: find_directory() should be used */ 38.29 + nacore_path_home_for_each(".ladspa", pluglib_load, 38.30 + nacore_dl_filename_filter, NULL); 38.31 + nacore_path_for_each("/usr/local/lib/ladspa:/usr/lib/ladspa", 38.32 + pluglib_load, nacore_dl_filename_filter, 38.33 + NULL); 38.34 +#elif defined (__SYLLABLE__) 38.35 + nacore_path_home_for_each("extensions/ladspa", pluglib_load, 38.36 + nacore_dl_filename_filter, NULL); 38.37 + nacore_path_for_each("/system/extensions/ladspa", 38.38 + pluglib_load, nacore_dl_filename_filter, 38.39 + NULL); 38.40 +#else 38.41 + nacore_path_home_for_each(".ladspa", pluglib_load, 38.42 + nacore_dl_filename_filter, NULL); 38.43 + nacore_path_for_each("/usr/local/lib/ladspa:/usr/lib/ladspa", 38.44 + pluglib_load, nacore_dl_filename_filter, 38.45 + NULL); 38.46 +#endif 38.47 } 38.48 else 38.49 nacore_path_for_each(ladspa_path, pluglib_load,
39.1 --- a/naspro-bridges-bad/ladspa/pluglib.h Fri Mar 26 18:54:24 2010 +0200 39.2 +++ b/naspro-bridges-bad/ladspa/pluglib.h Sat May 01 21:51:33 2010 +0300 39.3 @@ -2,7 +2,7 @@ 39.4 * NASPRO - NASPRO Architecture for Sound Processing 39.5 * LADSPA bridge 39.6 * 39.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 39.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 39.9 * 39.10 * See the COPYING file for license conditions. 39.11 */
40.1 --- a/naspro-core/CMakeLists.txt Fri Mar 26 18:54:24 2010 +0200 40.2 +++ b/naspro-core/CMakeLists.txt Sat May 01 21:51:33 2010 +0300 40.3 @@ -5,21 +5,32 @@ 40.4 set(NACORE_VERSION 0.2.0) 40.5 40.6 set(NACORE_SOURCES src/avl.c src/init.c src/lv2api.c src/manifest.c) 40.7 -if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") 40.8 - set(NACORE_SOURCES ${NACORE_SOURCES} src/posix/dl.c src/posix/env.c src/posix/path.c) 40.9 - set(LIBS_DL -ldl) 40.10 -endif () 40.11 +set(NACORE_SOURCES ${NACORE_SOURCES} src/posix/dl.c src/posix/env.c src/posix/path.c) 40.12 + 40.13 +include(FindPkgConfig) 40.14 +pkg_check_modules(LV2 REQUIRED lv2core) 40.15 + 40.16 +include_directories(. ${LV2_INCLUDE_DIRS}) 40.17 40.18 include_directories("${NACORE_SOURCE_DIR}" "${NACORE_SOURCE_DIR}/include") 40.19 add_library(nacore SHARED ${NACORE_SOURCES}) 40.20 set_target_properties(nacore PROPERTIES VERSION 2.0.0 SOVERSION 2) 40.21 +find_library(LIBDL dl) 40.22 +if (NOT "${LIBDL}" MATCHES LIBDL-NOTFOUND) 40.23 + set(LIBS ${LIBDL}) 40.24 +endif () 40.25 +if ("${CMAKE_SYSTEM_NAME}" MATCHES Haiku) 40.26 + find_library(LIBROOT root) 40.27 + set(LIBS ${LIBS} ${LIBROOT}) 40.28 +endif () 40.29 +target_link_libraries(nacore ${LIBS}) 40.30 40.31 if (NOT DEFINED LIBDIR_INSTALL) 40.32 - set(LIBDIR_INSTALL "${CMAKE_INSTALL_PREFIX}/lib") 40.33 + set(LIBDIR_INSTALL lib) 40.34 endif () 40.35 40.36 if (NOT DEFINED INCLUDEDIR_INSTALL) 40.37 - set(INCLUDEDIR_INSTALL "${CMAKE_INSTALL_PREFIX}/include") 40.38 + set(INCLUDEDIR_INSTALL include) 40.39 endif () 40.40 40.41 if (NOT DEFINED PKGCONFIGDIR_INSTALL) 40.42 @@ -30,18 +41,14 @@ 40.43 configure_file("${NACORE_SOURCE_DIR}/config.h.in" "${NACORE_BINARY_DIR}/config.h" @ONLY) 40.44 configure_file("${NACORE_SOURCE_DIR}/nacore.pc.in" "${NACORE_BINARY_DIR}/nacore.pc" @ONLY) 40.45 40.46 -install(TARGETS nacore DESTINATION ${LIBDIR_INSTALL}) 40.47 -install(DIRECTORY include/NASPRO DESTINATION ${INCLUDEDIR_INSTALL}) 40.48 -install(FILES nacore.pc DESTINATION ${PKGCONFIGDIR_INSTALL}) 40.49 +install(TARGETS nacore DESTINATION "${LIBDIR_INSTALL}") 40.50 +install(DIRECTORY include/NASPRO DESTINATION "${INCLUDEDIR_INSTALL}") 40.51 +install(FILES nacore.pc DESTINATION "${PKGCONFIGDIR_INSTALL}") 40.52 40.53 -set(CPACK_PACKAGE_DESCRIPTION_FILE ${NACORE_SOURCE_DIR}/README) 40.54 -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The NASPRO core library") 40.55 -set(CPACK_PACKAGE_NAME "NASPRO core") 40.56 set(CPACK_PACKAGE_VERSION_MAJOR 0) 40.57 set(CPACK_PACKAGE_VERSION_MINOR 2) 40.58 set(CPACK_PACKAGE_VERSION_PATCH 0) 40.59 set(CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}) 40.60 -set(CPACK_PACKAGE_FILE_NAME naspro-core-${CPACK_PACKAGE_VERSION}-${CMAKE_SYSTEM}) 40.61 set(CPACK_SOURCE_GENERATOR TGZ) 40.62 set(CPACK_SOURCE_PACKAGE_FILE_NAME naspro-core-${CPACK_PACKAGE_VERSION}) 40.63 set(CPACK_SOURCE_IGNORE_FILES 40.64 @@ -58,7 +65,5 @@ 40.65 "^${NACORE_BINARY_DIR}/.*\\\\.o$" 40.66 "^${NACORE_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}nacore.*${CMAKE_SHARED_LIBRARY_SUFFIX}.*$" 40.67 ) 40.68 -set(CPACK_RESOURCE_FILE_LICENSE ${NACORE_SOURCE_DIR}/COPYING) 40.69 -set(CPACK_RESOURCE_FILE_README ${NACORE_SOURCE_DIR}/README) 40.70 40.71 include(CPack)
41.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 41.2 +++ b/naspro-core/INSTALL Sat May 01 21:51:33 2010 +0300 41.3 @@ -0,0 +1,50 @@ 41.4 +Build and installation instructions 41.5 +=================================== 41.6 + 41.7 +Build-time requirements 41.8 +----------------------- 41.9 + 41.10 +* CMake >= 2.8.0 (http://www.cmake.org) 41.11 +* pkg-config (http://pkg-config.freedesktop.org/wiki/) 41.12 +* LV2 core (http://lv2plug.in) 41.13 +* Some C compiler (only tested with gcc) 41.14 + 41.15 +Runtime requirements 41.16 +-------------------- 41.17 + 41.18 +A POSIX-compliant OS. 41.19 + 41.20 +Building 41.21 +-------- 41.22 + 41.23 +To configure the package use: 41.24 + 41.25 + $ cmake . 41.26 + 41.27 +or, if building in some other directory: 41.28 + 41.29 + $ cmake <top-level sources directory> 41.30 + 41.31 +You can specify installation directories like this: 41.32 + 41.33 + $ cmake -DVAR1=VALUE1 -DVAR2=VALUE2 ... 41.34 + 41.35 +If VALUE is a relative path, it is considered as relative to the prefix 41.36 +directory (CMAKE_INSTALL_PREFIX). 41.37 + 41.38 +The build system understands the following variables VARx: 41.39 + 41.40 + * CMAKE_INSTALL_PREFIX Installation prefix (the default value is determined 41.41 + by CMake) 41.42 + * LIBDIR_INSTALL Where to put library files (the default is lib) 41.43 + * INCLUDEDIR_INSTALL Where to put header files (the default is include) 41.44 + * PKGCONFIGDIR_INSTALL Where to put pkg-config files 41.45 + (the default is LIBDIR_INSTALL/pkgconfig) 41.46 + 41.47 +Then, build with: 41.48 + 41.49 + $ make 41.50 + 41.51 +And install with: 41.52 + 41.53 + $ make install
42.1 --- a/naspro-core/README Fri Mar 26 18:54:24 2010 +0200 42.2 +++ b/naspro-core/README Sat May 01 21:51:33 2010 +0300 42.3 @@ -12,9 +12,12 @@ 42.4 * OS-independent dynamic loading; 42.5 * AVL trees. 42.6 42.7 -It supports the LV2 core specification (r3) and the following extensions: 42.8 +It supports the LV2 core specification (r3) and the following 42.9 +specifications/extensions: 42.10 42.11 - * LV2 Units extension (http://lv2plug.in/ns/extensions/units); 42.12 + * LV2 Dynamic Manifest (http://lv2plug.in/ns/ext/dyn-manifest); 42.13 + * LV2 Units (http://lv2plug.in/ns/extensions/units); 42.14 + * LV2 URI Map (http://lv2plug.in/ns/ext/uri-map); 42.15 * LV2 Events (http://lv2plug.in/ns/ext/event); 42.16 * LV2 MIDI Events (http://lv2plug.in/ns/ext/midi); 42.17 * LV2 Extended Port Information (http://lv2plug.in/ns/dev/extportinfo) - only
43.1 --- a/naspro-core/include/NASPRO/core/avl.h Fri Mar 26 18:54:24 2010 +0200 43.2 +++ b/naspro-core/include/NASPRO/core/avl.h Sat May 01 21:51:33 2010 +0300 43.3 @@ -2,7 +2,7 @@ 43.4 * NASPRO - NASPRO Architecture for Sound Processing 43.5 * Core library 43.6 * 43.7 - * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 43.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 43.9 * 43.10 * See the COPYING file for license conditions. 43.11 */
44.1 --- a/naspro-core/include/NASPRO/core/bridge.h Fri Mar 26 18:54:24 2010 +0200 44.2 +++ b/naspro-core/include/NASPRO/core/bridge.h Sat May 01 21:51:33 2010 +0300 44.3 @@ -2,7 +2,7 @@ 44.4 * NASPRO - NASPRO Architecture for Sound Processing 44.5 * Core library 44.6 * 44.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 44.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 44.9 * 44.10 * See the COPYING file for license conditions. 44.11 */
45.1 --- a/naspro-core/include/NASPRO/core/dl.h Fri Mar 26 18:54:24 2010 +0200 45.2 +++ b/naspro-core/include/NASPRO/core/dl.h Sat May 01 21:51:33 2010 +0300 45.3 @@ -2,7 +2,7 @@ 45.4 * NASPRO - NASPRO Architecture for Sound Processing 45.5 * Core library 45.6 * 45.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 45.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 45.9 * 45.10 * See the COPYING file for license conditions. 45.11 */
46.1 --- a/naspro-core/include/NASPRO/core/env.h Fri Mar 26 18:54:24 2010 +0200 46.2 +++ b/naspro-core/include/NASPRO/core/env.h Sat May 01 21:51:33 2010 +0300 46.3 @@ -2,7 +2,7 @@ 46.4 * NASPRO - NASPRO Architecture for Sound Processing 46.5 * Core library 46.6 * 46.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 46.8 + * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 46.9 * 46.10 * See the COPYING file for license conditions. 46.11 */
47.1 --- a/naspro-core/include/NASPRO/core/lib.h Fri Mar 26 18:54:24 2010 +0200 47.2 +++ b/naspro-core/include/NASPRO/core/lib.h Sat May 01 21:51:33 2010 +0300 47.3 @@ -2,7 +2,7 @@ 47.4 * NASPRO - NASPRO Architecture for Sound Processing 47.5 * Core library 47.6 * 47.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 47.8 + * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 47.9 * 47.10 * See the COPYING file for license conditions. 47.11 */
48.1 --- a/naspro-core/include/NASPRO/core/lv2api.h Fri Mar 26 18:54:24 2010 +0200 48.2 +++ b/naspro-core/include/NASPRO/core/lv2api.h Sat May 01 21:51:33 2010 +0300 48.3 @@ -2,7 +2,7 @@ 48.4 * NASPRO - NASPRO Architecture for Sound Processing 48.5 * Core library 48.6 * 48.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 48.8 + * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 48.9 * 48.10 * See the COPYING file for license conditions. 48.11 */
49.1 --- a/naspro-core/include/NASPRO/core/manifest.h Fri Mar 26 18:54:24 2010 +0200 49.2 +++ b/naspro-core/include/NASPRO/core/manifest.h Sat May 01 21:51:33 2010 +0300 49.3 @@ -2,7 +2,7 @@ 49.4 * NASPRO - NASPRO Architecture for Sound Processing 49.5 * Core library 49.6 * 49.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 49.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 49.9 * 49.10 * See the COPYING file for license conditions. 49.11 */
50.1 --- a/naspro-core/include/NASPRO/core/path.h Fri Mar 26 18:54:24 2010 +0200 50.2 +++ b/naspro-core/include/NASPRO/core/path.h Sat May 01 21:51:33 2010 +0300 50.3 @@ -2,7 +2,7 @@ 50.4 * NASPRO - NASPRO Architecture for Sound Processing 50.5 * Core library 50.6 * 50.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 50.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 50.9 * 50.10 * See the COPYING file for license conditions. 50.11 */
51.1 --- a/naspro-core/include/NASPRO/core/string.h Fri Mar 26 18:54:24 2010 +0200 51.2 +++ b/naspro-core/include/NASPRO/core/string.h Sat May 01 21:51:33 2010 +0300 51.3 @@ -2,7 +2,7 @@ 51.4 * NASPRO - NASPRO Architecture for Sound Processing 51.5 * Core library 51.6 * 51.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 51.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 51.9 * 51.10 * See the COPYING file for license conditions. 51.11 */
52.1 --- a/naspro-core/nacore.pc.in Fri Mar 26 18:54:24 2010 +0200 52.2 +++ b/naspro-core/nacore.pc.in Sat May 01 21:51:33 2010 +0300 52.3 @@ -1,5 +1,6 @@ 52.4 -libdir=@LIBDIR_INSTALL@ 52.5 -includedir=@INCLUDEDIR_INSTALL@ 52.6 +prefix=@CMAKE_INSTALL_PREFIX@ 52.7 +libdir=${prefix}/@LIBDIR_INSTALL@ 52.8 +includedir=${prefix}/@INCLUDEDIR_INSTALL@ 52.9 52.10 Name: NASPRO core 52.11 Description: The NASPRO core library 52.12 @@ -7,5 +8,6 @@ 52.13 Requires: 52.14 Conflicts: 52.15 Version: @NACORE_VERSION@ 52.16 -Libs: -L${libdir} -lnacore @LIBS_DL@ 52.17 +Libs: -L${libdir} -lnacore 52.18 +Libs.private: @LIBS@ 52.19 Cflags: -I${includedir}
53.1 --- a/naspro-core/src/avl.c Fri Mar 26 18:54:24 2010 +0200 53.2 +++ b/naspro-core/src/avl.c Sat May 01 21:51:33 2010 +0300 53.3 @@ -2,7 +2,7 @@ 53.4 * NASPRO - NASPRO Architecture for Sound Processing 53.5 * Core library 53.6 * 53.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 53.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 53.9 * 53.10 * See the COPYING file for license conditions. 53.11 */
54.1 --- a/naspro-core/src/dl.h Fri Mar 26 18:54:24 2010 +0200 54.2 +++ b/naspro-core/src/dl.h Sat May 01 21:51:33 2010 +0300 54.3 @@ -2,7 +2,7 @@ 54.4 * NASPRO - NASPRO Architecture for Sound Processing 54.5 * Core library 54.6 * 54.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 54.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 54.9 * 54.10 * See the COPYING file for license conditions. 54.11 */
55.1 --- a/naspro-core/src/init.c Fri Mar 26 18:54:24 2010 +0200 55.2 +++ b/naspro-core/src/init.c Sat May 01 21:51:33 2010 +0300 55.3 @@ -2,7 +2,7 @@ 55.4 * NASPRO - NASPRO Architecture for Sound Processing 55.5 * Core library 55.6 * 55.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 55.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 55.9 * 55.10 * See the COPYING file for license conditions. 55.11 */
56.1 --- a/naspro-core/src/lv2api.c Fri Mar 26 18:54:24 2010 +0200 56.2 +++ b/naspro-core/src/lv2api.c Sat May 01 21:51:33 2010 +0300 56.3 @@ -2,11 +2,13 @@ 56.4 * NASPRO - NASPRO Architecture for Sound Processing 56.5 * Core library 56.6 * 56.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 56.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 56.9 * 56.10 * See the COPYING file for license conditions. 56.11 */ 56.12 56.13 +#include <lv2.h> 56.14 + 56.15 #include <NASPRO/core/lib.h> 56.16 56.17 void
57.1 --- a/naspro-core/src/manifest.c Fri Mar 26 18:54:24 2010 +0200 57.2 +++ b/naspro-core/src/manifest.c Sat May 01 21:51:33 2010 +0300 57.3 @@ -2,7 +2,7 @@ 57.4 * NASPRO - NASPRO Architecture for Sound Processing 57.5 * Core library 57.6 * 57.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 57.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 57.9 * 57.10 * See the COPYING file for license conditions. 57.11 */
58.1 --- a/naspro-core/src/path.h Fri Mar 26 18:54:24 2010 +0200 58.2 +++ b/naspro-core/src/path.h Sat May 01 21:51:33 2010 +0300 58.3 @@ -2,7 +2,7 @@ 58.4 * NASPRO - NASPRO Architecture for Sound Processing 58.5 * Core library 58.6 * 58.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 58.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 58.9 * 58.10 * See the COPYING file for license conditions. 58.11 */
59.1 --- a/naspro-core/src/posix/dl.c Fri Mar 26 18:54:24 2010 +0200 59.2 +++ b/naspro-core/src/posix/dl.c Sat May 01 21:51:33 2010 +0300 59.3 @@ -2,7 +2,7 @@ 59.4 * NASPRO - NASPRO Architecture for Sound Processing 59.5 * Core library 59.6 * 59.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 59.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 59.9 * 59.10 * See the COPYING file for license conditions. 59.11 */
60.1 --- a/naspro-core/src/posix/env.c Fri Mar 26 18:54:24 2010 +0200 60.2 +++ b/naspro-core/src/posix/env.c Sat May 01 21:51:33 2010 +0300 60.3 @@ -2,7 +2,7 @@ 60.4 * NASPRO - NASPRO Architecture for Sound Processing 60.5 * Core library 60.6 * 60.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 60.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 60.9 * 60.10 * See the COPYING file for license conditions. 60.11 */
61.1 --- a/naspro-core/src/posix/path.c Fri Mar 26 18:54:24 2010 +0200 61.2 +++ b/naspro-core/src/posix/path.c Sat May 01 21:51:33 2010 +0300 61.3 @@ -2,7 +2,7 @@ 61.4 * NASPRO - NASPRO Architecture for Sound Processing 61.5 * Core library 61.6 * 61.7 - * Copyright (C) 2007-2009 Stefano D'Angelo <zanga.mail@gmail.com> 61.8 + * Copyright (C) 2007-2010 Stefano D'Angelo <zanga.mail@gmail.com> 61.9 * 61.10 * See the COPYING file for license conditions. 61.11 */
