From 2722f6585456d77f19f81bc6bf4326c30cf75158 Mon Sep 17 00:00:00 2001 From: Nils <> Date: Sat, 26 Dec 2020 17:03:45 +0100 Subject: [PATCH] regenerate documentation --- README.md | 8 +--- docs/api/index.html | 78 +++++++++++++++++++++++++++++----- docs/index.html | 6 +-- docs/src/index.adoc | 2 +- docs/src/jackpatch.1 | 4 +- docs/src/non-session-manager.1 | 4 +- docs/src/nsm-legacy-gui.1 | 4 +- docs/src/nsm-proxy-gui.1 | 4 +- docs/src/nsm-proxy.1 | 4 +- docs/src/nsmd.1 | 7 ++- meson.build | 2 +- 11 files changed, 89 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index ed6dcee..8d9007f 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,5 @@ # New Session Manager -Quick Links: -* API Specifications - * https://linuxaudio.github.io/new-session-manager/api/index.html -* WIKI with supported clients and information how to build NSM-capability into your own program - * https://github.com/linuxaudio/new-session-manager/wiki - ## Introduction New Session Manager (NSM) is a tool to assist music production by grouping standalone programs into sessions. @@ -71,7 +65,7 @@ which was released under the GNU GENERAL PUBLIC LICENSE Version 2, June 1991. All files, except nsm.h kept in this fork were GPL "version 2 of the License, or (at your option) any later version." -`extras/nsm.h/nsm.h` is licensed under the ISC License. +`nsm.h` is licensed under the ISC License. New-Session-Manager changed the license to GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007. See file COPYING diff --git a/docs/api/index.html b/docs/api/index.html index eef355c..12b2ed8 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -443,7 +443,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
However, the same server-side API can also be implemented by other programs (such as Carla),
although consistency and robustness will likely suffer if non-NSM compliant clients are allowed to
-participate in a session. There is no direct dependency for client implementations, as long as they
-can send and receive OSC. Some clients use liblo
(the OSC library), which becomes a dependency if
-you choose to implement NSM-support with the provided header file nsm.h
.
There is no direct dependency for client implementations, as long as they
+can send and receive OSC.
+Some clients use liblo
(the OSC library), which becomes a dependency if you choose to implement
+NSM-support with the provided header file nsm.h
(extras/nsm.h/nsm.h
in the git repository).
+Some clients use the provided single-file python library pynsm
(extras/pynsm/nsmclient.py
in the git repository)
+which has no dependencies outside the Python3 standard library.
The aim of this project is to thoroughly define the behavior required of clients. Often the @@ -691,6 +703,30 @@ session. The symlinks thus created should, at the very least, be named after the to. Some unique component may be required to prevent collisions.
Subdirectories MAY be made to organize sessions into meaningful structures, such as album/track or
+composer/genre/piece. For example: Johann Sebastian Bach/Kantaten/Wie schön leuchtet der Morgenstern
.
+Which results in the same directory structure on disk. Session names can contain any characters that
+are supported by the underlying file system, usually UTF-8.
Subdirectories are created by either nsmd
itself or by the users themselves, through their file
+manager or a GUI (while the session is not open).
The project_name from /nsm/server/new s:project_name
accepts the format a/b/c/d
.
Any session itself MUST be a "leaf" in this directory tree. A session MUST NOT contain further
+session subdirectories: any directory that contains a file session.nsm
is the final
+element in the hierarchy.
optional-gui
server responds to optional-gui messages. If this capability is not present then clients with optional-guis MUST always keep them visible
server responds to optional-gui messages. This capability is always present and MUST be supported by any server implementation.
New Session Manager
1.4.0
1.5.0
New Session Manager API
1.1.0 NEW nsmd.cpp
1.1.1 NEW nsmd.cpp
New API Document
1.4.0 Here
1.5.0 Here
Server-capability :optional-gui: is now mandatory for SERVER implementations. Reasoning: +This is an important core feature of NSM and thus will be treated as such by guaranteeing it to exist. +After looking at all currently known clients and server-implementations it turns out that all servers +support :optional-gui: and the vast majority of clients not only support it, but actually assume it +and do not test for the server capability, as it was written in this document. +There are now two choices: Adjust this document to the (good) reality or consider all clients broken. +Summary: We consider this API document wrong and therefore fix it, thus increasing API version +patch-level from 1.1.0 to 1.1.1
+Add API-section "Subdirectories / Hierarchical Structure" that explains the session directory. +This behaviour was already the case for nsm-legacy-gui and nsmd 1.5.0 was patched to adhere to this +behaviour more strictly as well, removing false session entries in 3rd party clients such as Agordejo.
+