Browse Source

first commit

remotes/origin/master
falkTX 1 year ago
commit
0870b00a60
6 changed files with 135 additions and 0 deletions
  1. +2
    -0
      .gitignore
  2. +14
    -0
      COPYING
  3. +19
    -0
      Makefile
  4. +7
    -0
      README.md
  5. +61
    -0
      lv2-state-test.c
  6. +32
    -0
      lv2-state-test.lv2/manifest.ttl

+ 2
- 0
.gitignore View File

@@ -0,0 +1,2 @@
*.so


+ 14
- 0
COPYING View File

@@ -0,0 +1,14 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

+ 19
- 0
Makefile View File

@@ -0,0 +1,19 @@
# lv2-state-test

CC ?= gcc

CFLAGS += -O0 -g -Wall -Wextra -std=gnu99
CFLAGS += $(shell pkg-config --cflags lv2)

LDFLAGS += -Wl,--no-undefined
LDFLAGS += $(shell pkg-config --libs lv2)

TARGET = lv2-state-test.lv2/lv2-state-test.so

all: $(TARGET)

$(TARGET): lv2-state-test.c
$(CC) $< $(CFLAGS) $(LDFLAGS) -shared -o $@

clean:
rm -f $(TARGET)

+ 7
- 0
README.md View File

@@ -0,0 +1,7 @@
# lv2-state-test

A simple and dumb [lv2 plugin](https://lv2plug.in/) to test host state support.

The code is released under the WTF Public License, so yeah, just do whatever you want with the code.

There is no documentation or support for this project whatsoever.

+ 61
- 0
lv2-state-test.c View File

@@ -0,0 +1,61 @@
/*
Copyright (C) 2020 falkTX
This work is free. You can redistribute it and/or modify it under the
terms of the Do What The Fuck You Want To Public License, Version 2,
as published by Sam Hocevar. See the COPYING file for more details.
*/

#include <lv2.h>
#include <lv2/state/state.h>

#include <stdlib.h>

static LV2_Handle instantiate(const LV2_Descriptor* const descriptor,
const double sample_rate,
const char* const bundle_path,
const LV2_Feature* const* const features)
{
return NULL;
}

static void connect_port(LV2_Handle instance, uint32_t port, void* data_location)
{
}

static void activate(LV2_Handle instance)
{
}

static void run(LV2_Handle instance, uint32_t sample_count)
{
}

static void deactivate(LV2_Handle instance)
{
}

static void cleanup(LV2_Handle instance)
{
free(instance);
}

static const void* extension_data(const char* const uri)
{
return NULL;
}

LV2_SYMBOL_EXPORT
const LV2_Descriptor* lv2_descriptor(const uint32_t index)
{
static const LV2_Descriptor desc = {
.URI = "",
.connect_port = connect_port,
.activate = activate,
.run = run,
.deactivate = deactivate,
.cleanup = cleanup,
.extension_data = extension_data
};

return index == 0 ? &desc : NULL;
}

+ 32
- 0
lv2-state-test.lv2/manifest.ttl View File

@@ -0,0 +1,32 @@
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .

<https://git.kx.studio/falkTX/lv2-state-test>
a lv2:Plugin ;
lv2:binary <lv2-state-test.so> ;

lv2:extensionData state:interface ;

lv2:optionalFeature lv2:hardRTCapable ,
state:threadSafeRestore ;

lv2:requiredFeature state:freePath ,
state:loadDefaultState ,
state:makePath ,
state:mapPath ;

rdfs:comment "A simple and dumb lv2 plugin to test host state support." ;

doap:name "lv2 state test" ;
doap:license "WTFPLv2" ;

doap:maintainer [
foaf:name "falkTX" ;
foaf:homepage <https://www.falktx.com/> ;
] ;

lv2:microVersion 0 ;
lv2:minorVersion 2 .

Loading…
Cancel
Save