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: khz, MattKingUSA

Non-Session-Manager (NSM)

Postby studio32 » Sat Apr 28, 2012 8:07 pm

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.
User avatar
studio32
Establlshed Member
 
Posts: 2368
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Postby wolftune » Mon Apr 30, 2012 6:57 pm

seems great to me, I hope it'll be added to KXStudio… :mrgreen:
Aaron Wolf
Music teacher, scholar
http://wolftune.com
wolftune
Establlshed Member
 
Posts: 1052
Joined: Fri Feb 24, 2012 7:40 pm
Location: Ann Arbor, MI

Re: Non-Session-Manager (NSM)

Postby laiis » Tue May 01, 2012 11:07 am

studio32 wrote:
[...]
* Non-destructive [...]

cool, is this another addition to the family of Non-* software?

(sry, couldn't resist, \me ducks and runs :)
User avatar
laiis
Establlshed Member
 
Posts: 24
Joined: Tue Apr 08, 2008 11:41 am
Location: suriname

Re: Non-Session-Manager (NSM)

Postby studio32 » Sat Jul 21, 2012 10:15 am

I found another advantage: Easy switching between sessions during in LIVE setups (via osc) :)
User avatar
studio32
Establlshed Member
 
Posts: 2368
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Postby studio32 » Mon Jul 23, 2012 7:34 pm

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.
User avatar
studio32
Establlshed Member
 
Posts: 2368
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Postby studio32 » Sun Jul 29, 2012 3:40 pm

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
User avatar
studio32
Establlshed Member
 
Posts: 2368
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Postby studio32 » Sun Aug 05, 2012 4:11 pm

Another demo here:
http://youtu.be/3oo-3CLrIE4
User avatar
studio32
Establlshed Member
 
Posts: 2368
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Postby studio32 » Tue Aug 07, 2012 10:33 pm

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
User avatar
studio32
Establlshed Member
 
Posts: 2368
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Postby studio32 » Mon Aug 13, 2012 4:45 pm

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
User avatar
studio32
Establlshed Member
 
Posts: 2368
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Postby falkTX » Mon Aug 27, 2012 9:24 am

Just added NSM support to my little Carla (plugin-host) app. (testing packages for KXStudio coming soon)
It was not very clear at first, but I think I understand how things should work now.

There seems to be some errors when switching projects without closing the apps though, sometimes apps get 2 instances.
It's a work in progress I guess. Is the latest git version more "stable" ?
User avatar
falkTX
Establlshed Member
 
Posts: 4300
Joined: Sat Jan 09, 2010 3:04 pm

Re: Non-Session-Manager (NSM)

Postby studio32 » Mon Aug 27, 2012 9:55 am

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?
User avatar
studio32
Establlshed Member
 
Posts: 2368
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Postby falkTX » Mon Aug 27, 2012 1:45 pm

studio32 wrote: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.

I guess I'll update to git then

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

I checked azr3-jack for some reference code. I wish NSM would be more tight together in Carla's engine though, but the "only start jack client after OSC confirmation" doesn't allow it. Still, it's working fine now.

studio32 wrote: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?

code is here - https://github.com/falkTX/Cadence
Carla is still being developed, there are some leftovers of debug stuff, but should let you test enough to know what to expect when stable (beta1).
One note though, after install, symlink carla-discovery-native -> carla-discovery-unix32 (or -unix64 if on 64bit).
User avatar
falkTX
Establlshed Member
 
Posts: 4300
Joined: Sat Jan 09, 2010 3:04 pm

Re: Non-Session-Manager (NSM)

Postby studio32 » Mon Aug 27, 2012 1:51 pm

Does Carla make a lv2 plugin run as JACK standalone app like jalv or not?
User avatar
studio32
Establlshed Member
 
Posts: 2368
Joined: Mon Apr 07, 2008 5:09 pm

Re: Non-Session-Manager (NSM)

Postby falkTX » Mon Aug 27, 2012 2:01 pm

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

Yes. Carla is a plugin host, like jack-rack and lv2rack/zynjacku.
You have 2 operational modes:
1 : multiple client mode => every plugin gets its own jack client, including audio, midi and control ports.
(there is a single-client mode for ladish compatibility, but the behaviour is the same)
2 : continuous rack => plugins are processed in order, just like a "plugin rack". There are some special rules for midi input/output (always passing through) and no-audio-input plugins (previous buffer is added). This mode is kinda experimental but already works fine.
User avatar
falkTX
Establlshed Member
 
Posts: 4300
Joined: Sat Jan 09, 2010 3:04 pm

Re: Non-Session-Manager (NSM)

Postby studio32 » Mon Aug 27, 2012 2:09 pm

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
User avatar
studio32
Establlshed Member
 
Posts: 2368
Joined: Mon Apr 07, 2008 5:09 pm

Next

Return to HOW TOs, Tips & Tricks

Who is online

Users browsing this forum: No registered users and 1 guest