mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-06 17:13:49 +01:00
Update local LV2 libraries to latest versions
lilv-0.24.6 lv2-1.16.0 serd-0.30.2 sord-0.16.4 sratom-0.6.4 suil-0.10.6
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
Lilv Test Plugin - Failed instantiation
|
||||
Copyright 2011-2019 David Robillard <d@drobilla.net>
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "lv2/core/lv2.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define PLUGIN_URI "http://example.org/failed-instantiation"
|
||||
|
||||
enum {
|
||||
TEST_INPUT = 0,
|
||||
TEST_OUTPUT = 1
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
float* input;
|
||||
float* output;
|
||||
} Test;
|
||||
|
||||
static void
|
||||
cleanup(LV2_Handle instance)
|
||||
{}
|
||||
|
||||
static void
|
||||
connect_port(LV2_Handle instance, uint32_t port, void* data)
|
||||
{}
|
||||
|
||||
static LV2_Handle
|
||||
instantiate(const LV2_Descriptor* descriptor,
|
||||
double rate,
|
||||
const char* path,
|
||||
const LV2_Feature* const* features)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
run(LV2_Handle instance, uint32_t sample_count)
|
||||
{}
|
||||
|
||||
static const LV2_Descriptor descriptor = {
|
||||
PLUGIN_URI,
|
||||
instantiate,
|
||||
connect_port,
|
||||
NULL, // activate,
|
||||
run,
|
||||
NULL, // deactivate,
|
||||
cleanup,
|
||||
NULL // extension_data
|
||||
};
|
||||
|
||||
LV2_SYMBOL_EXPORT
|
||||
const LV2_Descriptor* lv2_descriptor(uint32_t index)
|
||||
{
|
||||
return (index == 0) ? &descriptor : NULL;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
# Lilv Test Plugin - Failed instantiation
|
||||
# Copyright 2011-2016 David Robillard <d@drobilla.net>
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
@prefix doap: <http://usefulinc.com/ns/doap#> .
|
||||
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
||||
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
|
||||
@prefix ui: <http://lv2plug.in/ns/extensions/ui#> .
|
||||
|
||||
<http://example.org/failed-instantiation>
|
||||
a lv2:Plugin ;
|
||||
doap:license <http://opensource.org/licenses/isc> ;
|
||||
doap:name "New version" ;
|
||||
lv2:optionalFeature lv2:hardRTCapable ;
|
||||
lv2:minorVersion 2 ;
|
||||
lv2:microVersion 1 ;
|
||||
lv2:port [
|
||||
a lv2:InputPort ,
|
||||
lv2:ControlPort ;
|
||||
lv2:index 0 ;
|
||||
lv2:symbol "input" ;
|
||||
lv2:name "Input"
|
||||
] , [
|
||||
a lv2:OutputPort ,
|
||||
lv2:ControlPort ;
|
||||
lv2:index 1 ;
|
||||
lv2:symbol "output" ;
|
||||
lv2:name "Output"
|
||||
] .
|
||||
@@ -0,0 +1,7 @@
|
||||
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
|
||||
<http://example.org/failed-instantiation>
|
||||
a lv2:Plugin ;
|
||||
lv2:binary <failed_instantiation@SHLIB_EXT@> ;
|
||||
rdfs:seeAlso <failed_instantiation.ttl> .
|
||||
@@ -0,0 +1,52 @@
|
||||
#include "../src/lilv_internal.h"
|
||||
|
||||
#include "lilv/lilv.h"
|
||||
#include "serd/serd.h"
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define PLUGIN_URI "http://example.org/failed-instantiation"
|
||||
|
||||
#define TEST_ASSERT(check) do {\
|
||||
if (!(check)) {\
|
||||
fprintf(stderr, "%s:%d: failed test: %s\n", __FILE__, __LINE__, #check);\
|
||||
return 1;\
|
||||
}\
|
||||
} while (0)
|
||||
|
||||
int
|
||||
main(int argc, char** argv)
|
||||
{
|
||||
if (argc != 2) {
|
||||
fprintf(stderr, "USAGE: %s BUNDLE\n", argv[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
const char* bundle_path = argv[1];
|
||||
LilvWorld* world = lilv_world_new();
|
||||
|
||||
// Load test plugin bundle
|
||||
uint8_t* abs_bundle = (uint8_t*)lilv_path_absolute(bundle_path);
|
||||
SerdNode bundle = serd_node_new_file_uri(abs_bundle, 0, 0, true);
|
||||
LilvNode* bundle_uri = lilv_new_uri(world, (const char*)bundle.buf);
|
||||
lilv_world_load_bundle(world, bundle_uri);
|
||||
free(abs_bundle);
|
||||
serd_node_free(&bundle);
|
||||
lilv_node_free(bundle_uri);
|
||||
|
||||
LilvNode* plugin_uri = lilv_new_uri(world, PLUGIN_URI);
|
||||
const LilvPlugins* plugins = lilv_world_get_all_plugins(world);
|
||||
const LilvPlugin* plugin = lilv_plugins_get_by_uri(plugins, plugin_uri);
|
||||
TEST_ASSERT(plugin);
|
||||
|
||||
TEST_ASSERT(!lilv_plugin_instantiate(plugin, 48000, NULL));
|
||||
|
||||
lilv_node_free(plugin_uri);
|
||||
lilv_world_free(world);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user