aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/log
diff options
context:
space:
mode:
Diffstat (limited to 'lv2/log')
-rw-r--r--lv2/log/log.h113
-rw-r--r--lv2/log/log.meta.ttl126
-rw-r--r--lv2/log/log.ttl49
-rw-r--r--lv2/log/logger.h157
-rw-r--r--lv2/log/manifest.ttl9
-rw-r--r--lv2/log/meson.build41
6 files changed, 0 insertions, 495 deletions
diff --git a/lv2/log/log.h b/lv2/log/log.h
deleted file mode 100644
index cc62bef..0000000
--- a/lv2/log/log.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- Copyright 2012-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.
-*/
-
-#ifndef LV2_LOG_H
-#define LV2_LOG_H
-
-/**
- @defgroup log Log
- @ingroup lv2
-
- Interface for plugins to log via the host.
-
- See <http://lv2plug.in/ns/ext/log> for details.
-
- @{
-*/
-
-// clang-format off
-
-#define LV2_LOG_URI "http://lv2plug.in/ns/ext/log" ///< http://lv2plug.in/ns/ext/log
-#define LV2_LOG_PREFIX LV2_LOG_URI "#" ///< http://lv2plug.in/ns/ext/log#
-
-#define LV2_LOG__Entry LV2_LOG_PREFIX "Entry" ///< http://lv2plug.in/ns/ext/log#Entry
-#define LV2_LOG__Error LV2_LOG_PREFIX "Error" ///< http://lv2plug.in/ns/ext/log#Error
-#define LV2_LOG__Note LV2_LOG_PREFIX "Note" ///< http://lv2plug.in/ns/ext/log#Note
-#define LV2_LOG__Trace LV2_LOG_PREFIX "Trace" ///< http://lv2plug.in/ns/ext/log#Trace
-#define LV2_LOG__Warning LV2_LOG_PREFIX "Warning" ///< http://lv2plug.in/ns/ext/log#Warning
-#define LV2_LOG__log LV2_LOG_PREFIX "log" ///< http://lv2plug.in/ns/ext/log#log
-
-// clang-format on
-
-#include "lv2/urid/urid.h"
-
-#include <stdarg.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @cond */
-#ifdef __GNUC__
-/** Allow type checking of printf-like functions. */
-# define LV2_LOG_FUNC(fmt, arg1) __attribute__((format(printf, fmt, arg1)))
-#else
-# define LV2_LOG_FUNC(fmt, arg1)
-#endif
-/** @endcond */
-
-/**
- Opaque data to host data for LV2_Log_Log.
-*/
-typedef void* LV2_Log_Handle;
-
-/**
- Log feature (LV2_LOG__log)
-*/
-typedef struct {
- /**
- Opaque pointer to host data.
-
- This MUST be passed to methods in this struct whenever they are called.
- Otherwise, it must not be interpreted in any way.
- */
- LV2_Log_Handle handle;
-
- /**
- Log a message, passing format parameters directly.
-
- The API of this function matches that of the standard C printf function,
- except for the addition of the first two parameters. This function may
- be called from any non-realtime context, or from any context if `type`
- is @ref LV2_LOG__Trace.
- */
- LV2_LOG_FUNC(3, 4)
- int (*printf)(LV2_Log_Handle handle, LV2_URID type, const char* fmt, ...);
-
- /**
- Log a message, passing format parameters in a va_list.
-
- The API of this function matches that of the standard C vprintf
- function, except for the addition of the first two parameters. This
- function may be called from any non-realtime context, or from any
- context if `type` is @ref LV2_LOG__Trace.
- */
- LV2_LOG_FUNC(3, 0)
- int (*vprintf)(LV2_Log_Handle handle,
- LV2_URID type,
- const char* fmt,
- va_list ap);
-} LV2_Log_Log;
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-/**
- @}
-*/
-
-#endif /* LV2_LOG_H */
diff --git a/lv2/log/log.meta.ttl b/lv2/log/log.meta.ttl
deleted file mode 100644
index 87cff43..0000000
--- a/lv2/log/log.meta.ttl
+++ /dev/null
@@ -1,126 +0,0 @@
-@prefix dcs: <http://ontologi.es/doap-changeset#> .
-@prefix doap: <http://usefulinc.com/ns/doap#> .
-@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-@prefix log: <http://lv2plug.in/ns/ext/log#> .
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://lv2plug.in/ns/ext/log>
- a doap:Project ;
- doap:name "LV2 Log" ;
- doap:shortdesc "A feature for writing log messages." ;
- doap:created "2012-01-12" ;
- doap:developer <http://drobilla.net/drobilla#me> ;
- doap:release [
- doap:revision "2.4" ;
- doap:created "2016-07-30" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.14.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add lv2_log_logger_set_map() for changing the URI map of an existing logger."
- ]
- ]
- ] , [
- doap:revision "2.2" ;
- doap:created "2014-01-04" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.8.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add missing include string.h to logger.h for memset."
- ]
- ]
- ] , [
- doap:revision "2.0" ;
- doap:created "2013-01-08" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.4.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add logger convenience API."
- ]
- ]
- ] , [
- doap:revision "1.0" ;
- doap:created "2012-04-17" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.0.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Initial release."
- ]
- ]
- ] ;
- lv2:documentation """
-
-This extension defines a feature, log:log, which allows plugins to print log
-messages with an API similar to the standard C `printf` function. This allows,
-for example, plugin logs to be nicely presented to the user in a graphical user
-interface.
-
-Different log levels are defined by URI and passed as an LV2_URID. This
-extensions defines standard levels which are expected to be understood by all
-implementations and should be sufficient in most cases, but advanced
-implementations may define and use additional levels to suit their needs.
-
-"""^^lv2:Markdown .
-
-log:Entry
- a rdfs:Class ;
- rdfs:label "Log Entry" ;
- lv2:documentation """
-
-Subclasses of this are passed as the `type` parameter to LV2_Log_Log methods to
-describe the nature of the log entry.
-
-"""^^lv2:Markdown .
-
-log:Error
- lv2:documentation """
-
-An error should only be posted when a serious unexpected error occurs, and
-should be actively shown to the user by the host.
-
-"""^^lv2:Markdown .
-
-log:Note
- lv2:documentation """
-
-A note records some useful piece of information, but may be ignored. The host
-should provide passive access to note entries to the user.
-
-"""^^lv2:Markdown .
-
-log:Warning
- lv2:documentation """
-
-A warning should be posted when an unexpected, but non-critical, error occurs.
-The host should provide passive access to warnings entries to the user, but may
-also choose to actively show them.
-
-"""^^lv2:Markdown .
-
-log:Trace
- lv2:documentation """
-
-A trace should not be displayed during normal operation, but the host may
-implement an option to display them for debugging purposes.
-
-This entry type is special in that one may be posted in a real-time thread. It
-is assumed that if debug tracing is enabled, real-time performance is not a
-concern. However, the host MUST guarantee that posting a trace _is_ real-time
-safe if debug tracing is not enabled (for example, by simply ignoring the call
-as early as possible).
-
-"""^^lv2:Markdown .
-
-log:log
- lv2:documentation """
-
-A feature which plugins may use to log messages. To support this feature,
-the host must pass an LV2_Feature to LV2_Descriptor::instantiate() with URI
-LV2_LOG__log and data pointed to an instance of LV2_Log_Log.
-
-"""^^lv2:Markdown .
-
diff --git a/lv2/log/log.ttl b/lv2/log/log.ttl
deleted file mode 100644
index a8c4236..0000000
--- a/lv2/log/log.ttl
+++ /dev/null
@@ -1,49 +0,0 @@
-@prefix log: <http://lv2plug.in/ns/ext/log#> .
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix owl: <http://www.w3.org/2002/07/owl#> .
-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-<http://lv2plug.in/ns/ext/log>
- a owl:Ontology ;
- rdfs:label "LV2 Log" ;
- rdfs:comment "A feature for writing log messages." ;
- rdfs:seeAlso <log.h> ,
- <log.meta.ttl> ;
- owl:imports <http://lv2plug.in/ns/lv2core> .
-
-log:Entry
- a rdfs:Class ;
- rdfs:label "Entry" ;
- rdfs:comment "A log entry." .
-
-log:Error
- a rdfs:Class ;
- rdfs:label "Error" ;
- rdfs:subClassOf log:Entry ;
- rdfs:comment "An error message." .
-
-log:Note
- a rdfs:Class ;
- rdfs:label "Note" ;
- rdfs:subClassOf log:Entry ;
- rdfs:comment "An informative message." .
-
-log:Warning
- a rdfs:Class ;
- rdfs:label "Warning" ;
- rdfs:subClassOf log:Entry ;
- rdfs:comment "A warning message." .
-
-log:Trace
- a rdfs:Class ;
- rdfs:label "Trace" ;
- rdfs:subClassOf log:Entry ;
- rdfs:comment "A debugging trace message." .
-
-log:log
- a lv2:Feature ;
- rdfs:label "log" ;
- rdfs:comment "Logging feature." .
-
diff --git a/lv2/log/logger.h b/lv2/log/logger.h
deleted file mode 100644
index d6919a2..0000000
--- a/lv2/log/logger.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- Copyright 2012-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.
-*/
-
-#ifndef LV2_ATOM_LOGGER_H
-#define LV2_ATOM_LOGGER_H
-
-/**
- @defgroup logger Logger
- @ingroup log
-
- Convenience API for easy logging in plugin code. This API provides simple
- wrappers for logging from a plugin, which automatically fall back to
- printing to stderr if host support is unavailable.
-
- @{
-*/
-
-#include "lv2/log/log.h"
-#include "lv2/urid/urid.h"
-
-#include <stdarg.h>
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Logger convenience API state.
-*/
-typedef struct {
- LV2_Log_Log* log;
-
- LV2_URID Error;
- LV2_URID Note;
- LV2_URID Trace;
- LV2_URID Warning;
-} LV2_Log_Logger;
-
-/**
- Set `map` as the URI map for `logger`.
-
- This affects the message type URIDs (Error, Warning, etc) which are passed
- to the log's print functions.
-*/
-static inline void
-lv2_log_logger_set_map(LV2_Log_Logger* logger, LV2_URID_Map* map)
-{
- if (map) {
- logger->Error = map->map(map->handle, LV2_LOG__Error);
- logger->Note = map->map(map->handle, LV2_LOG__Note);
- logger->Trace = map->map(map->handle, LV2_LOG__Trace);
- logger->Warning = map->map(map->handle, LV2_LOG__Warning);
- } else {
- logger->Error = logger->Note = logger->Trace = logger->Warning = 0;
- }
-}
-
-/**
- Initialise `logger`.
-
- URIs will be mapped using `map` and stored, a reference to `map` itself is
- not held. Both `map` and `log` may be NULL when unsupported by the host,
- in which case the implementation will fall back to printing to stderr.
-*/
-static inline void
-lv2_log_logger_init(LV2_Log_Logger* logger, LV2_URID_Map* map, LV2_Log_Log* log)
-{
- logger->log = log;
- lv2_log_logger_set_map(logger, map);
-}
-
-/**
- Log a message to the host, or stderr if support is unavailable.
-*/
-LV2_LOG_FUNC(3, 0)
-static inline int
-lv2_log_vprintf(LV2_Log_Logger* logger,
- LV2_URID type,
- const char* fmt,
- va_list args)
-{
- return ((logger && logger->log)
- ? logger->log->vprintf(logger->log->handle, type, fmt, args)
- : vfprintf(stderr, fmt, args));
-}
-
-/** Log an error via lv2_log_vprintf(). */
-LV2_LOG_FUNC(2, 3)
-static inline int
-lv2_log_error(LV2_Log_Logger* logger, const char* fmt, ...)
-{
- va_list args;
- va_start(args, fmt);
- const int ret = lv2_log_vprintf(logger, logger->Error, fmt, args);
- va_end(args);
- return ret;
-}
-
-/** Log a note via lv2_log_vprintf(). */
-LV2_LOG_FUNC(2, 3)
-static inline int
-lv2_log_note(LV2_Log_Logger* logger, const char* fmt, ...)
-{
- va_list args;
- va_start(args, fmt);
- const int ret = lv2_log_vprintf(logger, logger->Note, fmt, args);
- va_end(args);
- return ret;
-}
-
-/** Log a trace via lv2_log_vprintf(). */
-LV2_LOG_FUNC(2, 3)
-static inline int
-lv2_log_trace(LV2_Log_Logger* logger, const char* fmt, ...)
-{
- va_list args;
- va_start(args, fmt);
- const int ret = lv2_log_vprintf(logger, logger->Trace, fmt, args);
- va_end(args);
- return ret;
-}
-
-/** Log a warning via lv2_log_vprintf(). */
-LV2_LOG_FUNC(2, 3)
-static inline int
-lv2_log_warning(LV2_Log_Logger* logger, const char* fmt, ...)
-{
- va_list args;
- va_start(args, fmt);
- const int ret = lv2_log_vprintf(logger, logger->Warning, fmt, args);
- va_end(args);
- return ret;
-}
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-/**
- @}
-*/
-
-#endif /* LV2_LOG_LOGGER_H */
diff --git a/lv2/log/manifest.ttl b/lv2/log/manifest.ttl
deleted file mode 100644
index bcaeff3..0000000
--- a/lv2/log/manifest.ttl
+++ /dev/null
@@ -1,9 +0,0 @@
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://lv2plug.in/ns/ext/log>
- a lv2:Specification ;
- lv2:minorVersion 2 ;
- lv2:microVersion 4 ;
- rdfs:seeAlso <log.ttl> .
-
diff --git a/lv2/log/meson.build b/lv2/log/meson.build
deleted file mode 100644
index 9b13db0..0000000
--- a/lv2/log/meson.build
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'log'
-path = 'ns' / 'ext' / 'log'
-
-log_data = files(
- 'log.meta.ttl',
- 'log.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'log.h',
- 'logger.h',
-)
-
-# Install specification bundle
-install_data(log_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_log_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('log.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif