Non-Session-Manager (NSM)

Post fully complete "how to" guides and tutorials here. This is a great place to get feedback on stuff you might put in the wiki.

Moderators: MattKingUSA, khz

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Non-Session-Manager (NSM)

Post by studio32 »

Non-Session-Manager, is a session manager for Linuxaudio, like JackSession and Ladish (it launches apps, (re)stores JACK connections and saves your session), but, in my humble opinion, a better approach. The workflow is very pleasant and the technical design is extremely well though out. Here are the advantages I found when using NSM, compared to Ladish and JackSession:

Strong points of Non-Session-Manager:
* User friendly
* Works with default JACK 1 & 2 (no need for jackdbus)
* (Re)store JACK connections via client jackpatch
* Sessions can be archived, shared and used on other machines
* Easy switching LIVE sessions via OSC
* Easy network sessions
* You can launch apps (with command line options) without nsm support via client nsm-proxy
* Support apps without JACK support
* Support LADISH L1 via nsm-proxy http://ladish.org/wiki/level1
* It's possible to leave running JACK apps outside a session on purpose
* Use of templates via a duplicate function
* Non-destructive (doesn't remove data)
* It's possible to close a session without saving (abort)
* It's possible to use non-mixer in a session (not possible with other session solutions)
* Clear and consistent defined API
* Easy to implement in apps without extra dependencies (works via OSC, but you don't need it to implement. There is a C++ example in the Yoshimi patch and a C example in the Non-Daw source (nsm.h) or Azr3-Jack source). This makes implementing NSM just as easy or hard as implementing Ladish or JackSession.)


Supported apps (23 july 2012):
- Non-Daw
- Non-Mixer
- Non-Sequencer
- Zynaddsubfx
- Yoshimi (see patch below)
- Petri-Foo
- Azr3-Jack (patch below)
- Jack-Rack (git)

Demos:
http://youtu.be/3oo-3CLrIE4 / https://vimeo.com/46976783
http://www.youtube.com/watch?v=ui-gC_ZMeGM

Network session
http://www.youtube.com/watch?v=xzspJXbE ... e=youtu.be

Installation:
Non-session-manager is in the non-daw git repository.
In some distros non-session-manager is included in the non-daw package, so you need to install non-daw to get non-session-manager
(Distro packagers should package all the non-things as independent package instead!)

Download and build from git:

Code: Select all

git clone git://git.tuxfamily.org/gitroot/non/non.git
cd non
make
sudo make install
Get Ubuntu 12.04 packages here:
https://launchpad.net/~kxstudio-team/+a ... er=precise

Yoshimi patch:
http://non.tuxfamily.org/nsm/yoshimi-nsm.patch

Azr3-jack patch:
http://non.tuxfamily.org/nsm/azr3-jack-1.2.3-nsm.patch

Manual:
http://non.tuxfamily.org/nsm/

Developers info:
http://non.tuxfamily.org/nsm/API


* For (re)storing JACK connections, add the client jackpatch (installed by default)
* For adding apps without nsm support and use command line arguments, add client nsm-proxy (installed by default). (nsm-proxy also supports ladish L1)

(older screenshot with jackpatch)
Image
(newer screenshot with nsm-proxy)
Image

Guitarix using Ladish l1 in nsm-proxy
Image
Last edited by studio32 on Tue Oct 09, 2012 6:52 pm, edited 29 times in total.

wolftune
Established Member
Posts: 1307
Joined: Fri Feb 24, 2012 7:40 pm
Location: Portland, OR
Contact:

Re: Non-Session-Manager (NSM)

Post by wolftune »

seems great to me, I hope it'll be added to KXStudio… :mrgreen:
Aaron Wolf
Music teacher, scholar
http://wolftune.com

User avatar
laiis
Established Member
Posts: 24
Joined: Tue Apr 08, 2008 11:41 am
Location: suriname
Contact:

Re: Non-Session-Manager (NSM)

Post by laiis »

studio32 wrote:
[...]
* Non-destructive [...]
cool, is this another addition to the family of Non-* software?

(sry, couldn't resist, \me ducks and runs :)

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Post by studio32 »

I found another advantage: Easy switching between sessions during in LIVE setups (via osc) :)

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Post by studio32 »

Get and build the lastest Non-Things inclusive NSM:

Code: Select all


git clone git://git.tuxfamily.org/gitroot/non/daw.git
cd daw
make
sudo make install
Last edited by studio32 on Tue Aug 07, 2012 10:32 pm, edited 2 times in total.

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Post by studio32 »

Until Guitarix has NSM support, it is possible to start guitarix without autoconnect to JACK using the nsm-proxy client. Of course, with NSM support would this be far more easy and also more reliable if you want to backup the session and/or use the session on a other machine.

It seems that you can use Guitarix (git: 30 july) with SIGUSR1 (Ladish L1 http://ladish.org/wiki/level1) in nsm-proxy
http://pix.toile-libre.org/?img=1343576229.png

Image

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Post by studio32 »

Another demo here:
http://youtu.be/3oo-3CLrIE4

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Post by studio32 »

Updated build instructions:
Next branch is gone, just:

Code: Select all

git clone git://git.tuxfamily.org/gitroot/non/daw.git
cd daw
make
sudo make install

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Post by studio32 »

FYI, I use this script 'start-nsm-session' to be able to start an nsm session after boot

Code: Select all

#!/bin/bash
non-session-manager -- --osc-port 7777 &
sleep 4
oscsend localhost 7777 /nsm/server/open s "$1"

Code: Select all

start-nsm-session mysession

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Post by studio32 »

Cool!

Latest git is what you want yes. I was having duplicated apps also, it seems that the GUI is very sensitive for mouse clicks and it starts it two times. That has been fixed in git.
Duplicate session hangs sometimes in realtime, but when you restart nsm the duplicated session is there. This has be improved a bit.

The docs are not 100% up-to-date, you've seen the (example) nsm patches in yoshimi, zynaddsubfx, non-daw or azr3-jack?

I've used jalv a lot lately, it would cool if it had nsm support. Session management with LV2 standalone stuff gives a whole new pleasant workflow on Linux imo! :)
Let's see how Carla works ... Where can we get the code?

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Post by studio32 »

Does Carla make a lv2 plugin run as JACK standalone app like jalv or not?

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Post by studio32 »

Ok, the nice thing about jalv is that it is a single plugin host and makes a plugin works as JACK standalone app.

In Carla I can only search for 32bit plugins, not 64bit which I'm running

studio32
Established Member
Posts: 2415
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Post by studio32 »


korakios
Established Member
Posts: 85
Joined: Thu Feb 14, 2013 6:00 pm

Re: Non-Session-Manager (NSM)

Post by korakios »

Hi ,I tested NSM on AVlinux but I can't find how to delete/remove a session :?

varpa
Established Member
Posts: 449
Joined: Fri Feb 25, 2011 6:40 pm

Re: Non-Session-Manager (NSM)

Post by varpa »

One way (the only way?) to remove a session is to delete the session directory in ~/NSM\ Sessions/
Documention is available here: http://non.tuxfamily.org/nsm/

Post Reply