[LAD] [ANN] Non DAW and Non Mixer 1.1.0 (now with NSM)

2012-03-03 Thread J. Liles
Greetings,

I'm pleased to announce the release of Non-DAW and Non-Mixer version
1.1.0. It's been a while since the last release. But, I assure you,
the project is still alive and well.

This release includes a number of fixes and some minor improvements to
the build system. The big changes are:

* Enhancements to the spatialization controls (which are automatically
  provided for Ambisonics plugins).

* Support for the Non Session Manager.

* Enhancements to Control Sequences, OSC control signals can be sent
  from Non-DAW to Non-Mixer. These connections will be preserved in
  the session.

* Non-Mixer accepts input for all Module/Plugin controls via OSC.

* Non-Mixer can now import and export individual strips (including the
  chain of modules and all their parameters!) This allows a workflow
  on a higher level than presets.

* Updated visual styles for both Non-Mixer and Non-DAW. The 'Flat'
  style has been greatly improved.

* New knob styles for Non-Mixer and knob style is a configuration
  option rather than requiring editing the source.

* New icons in an assortment of sizes.

Additionally, Non now supports a robust new session management
protocol called NSM. A session management daemon is provided along
with a graphical interface called Non-Session-Manager. NSM represents
a significant leap forward for session management in Linux audio.

:: History of NSM

Way back in 2008, I became frustrated with the state of the art of
session management on Linux (a situation which has improved only
incrementally since that time). I ditched support for LASH, wrote a
lengthy post about Non-DAW's session management requirements to the
LAD mailing list, and started managing my sessions with shell scripts
and jack_snapshot. This eventually evolved into a session manager
written in Unix shell and using Unix FIFOs and regular files for
client control/communication. This system of session management was
tentatively called NASH (Non Audio Session Handler) and was never
released. In 2010, shortly after the release of Non-Mixer, I devised a
prototype version of the NSM OSC API and have been using it, still
unreleased and in prototype form, since then. The 2010 implementation
did not have a user interface and was controlled via shell scripts
using the `send_osc` command included in the distribution. Then, in
2012 (4 years later!), I was contacted by an enthusiastic power-user
regarding implementing OSC support in Non-Mixer. Since NSM uses OSC
for server<->client communication, I already had much of the OSC work
done and figured I might as well release it--and, while I was at it,
NSM. I then endeavored to simplify and document the NSM API,
discussing it at length with, and taking many suggestions from, Nedko
Arnaudov, the LADISH author. After implementing the
Non-Session-Manager FLTK GUI to control the session management daemon,
a new release became inevitable.

:: Bullet Points for NSM:

* Extremely fast and responsive control mechanism and user interface.

* The only dependency for clients and server is an OSC library (I use
  liblo).

* Smart clients are able to switch projects without restarting.

* Clients can provide real-time status feedback to the server, and
  therefor the user.

* The server stores all session data in per-session directories under
  a configurable session root.

* Clients are forbidden to save or open files outside of the
  per-session directory.

* The server provides simple template support in the form of
  whole-session duplication.

* The Session management daemon is fully controllable via OSC.

* Strict user interface guidelines for a uniform and predictable
  experience.

* The abstract session management API has no architectural requirement
  for JACK, Xorg or any other subsystem (other than UDP
  networking). This means that both headless daemons and programs
  which are not JACK clients can be managed together in the same
  session.

* A single session can be distributed across multiple machines on a
  network.

* Multiple, independent, sessions can be opened on one machine at the
  same time.

:: More About the NSM API

The latest NSM API documentation can be found at:

http://non.tuxfamily.org/nsm/API.html

NSM is included in the Non-DAW/Non-Mixer repository.

:: Ongoing and Future Development

Features that are in development for future releases include an
auto-learning and graphically re-mappable JACK MIDI<->OSC gateway
program tentatively named Non-OSC-MIDI-Mapper, which will simplify the
connection of bidirectional control surfaces such as the BCF2000 to
Non-Mixer. This program relies on Non's generic Control Signal layer
on top of OSC. So it's not necessarily generally useful (although, in
the future, it may be possible to use the `libmapper` library to
provide the same functionality in a somewhat standard way).

LV2 support is a frequently asked question. For various reasons, I
currently have no plans to host LV2 plugins in Non-Mixer. But if
anyone can come up with a compelling a

Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread Thorsten Wilms

On 03/03/2012 07:36 AM, Albert Graef wrote:


I don't see why an OSC track should make any assumptions about the
semantics of OSC messages.


For optimized representation and editing.

Avoiding artificial restrictions can give you both freedom and clumsiness ;)


--
Thorsten Wilms

thorwil's design for free software:
http://thorwil.wordpress.com/
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread David Robillard
On Sat, 2012-03-03 at 07:36 +0100, Albert Graef wrote:
> On 03/03/2012 06:50 AM, David Robillard wrote:
> > There is also the chicken&  egg problem, last I checked there wasn't an
> > OSC note standard in use anywhere to have Ardour send...
> 
> I don't see why an OSC track should make any assumptions about the 
> semantics of OSC messages. It should just treat it as control data and 
> allow to record it from an OSC client (which might also be an LV2 plugin 
> which produces OSC messages), edit it, and play it back to another OSC 
> server (or LV2 plugin which consumes OSC messages).

Hm?  How would a sequencer display or edit OSC data without even knowing
how to represent a note or a control?

Sure, you could just implement dumb raw OSC recording and playback, but
there's little point in using a DAW for that (not to mention little
practical musical use)

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread Albert Graef

On 03/03/2012 08:25 PM, David Robillard wrote:

Sure, you could just implement dumb raw OSC recording and playback, but
there's little point in using a DAW for that (not to mention little
practical musical use)


But that's exactly what I want. For starters, even just simple messages 
consisting of address and POD (like a double value) would be useful. The 
data might originally be generated with a multitouch OSC device, say, 
and would be recorded by the DAW, which would also let me play back the 
data, sending it either to an OSC-capable plugin or an external OSC 
application (Pd, say) which would know what to do with it. Call it 
automation, if you want. But I think of it as sequencing of OSC 
messages; I need the data to be on its own track where I can edit, cut, 
copy and move it around as needed. DAW and sequencer programs are good 
at these things; that's what they are for. And no, I don't want to use 
MIDI instead, where I have to cram everything into control changes or 
(N)RPNS and loose both resolution and the descriptive OSC addresses.


I don't know if it's of practical use for anyone else, but time and 
again I would have had good use for this apparently simple feature. If 
anyone knows a sequencer or DAW which can do what I sketched out above, 
please do tell me. OSC has been around since 1997, for crying out loud. 
It's about time that sequencers do more with it than just automatizing 
the transport controls. ;-)


Albert

--
Dr. Albert Gr"af
Dept. of Music-Informatics, University of Mainz, Germany
Email:  dr.gr...@t-online.de, a...@muwiinfa.geschichte.uni-mainz.de
WWW:http://www.musikinformatik.uni-mainz.de/ag
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread Paul Davis
On Sat, Mar 3, 2012 at 5:20 PM, Albert Graef  wrote:
> On 03/03/2012 08:25 PM, David Robillard wrote:
>>
>> Sure, you could just implement dumb raw OSC recording and playback, but
>> there's little point in using a DAW for that (not to mention little
>> practical musical use)
>
>
> But that's exactly what I want. For starters, even just simple messages
> consisting of address and POD (like a double value) would be useful. The
> data might originally be generated with a multitouch OSC device, say, and
> would be recorded by the DAW, which would also let me play back the data,
> sending it either to an OSC-capable plugin or an external OSC application

this general language is the whole problem.

you can't send OSC to "an OSC capable plugin" or "an external OSC
application" in any generalized sense, because there is no shared
format for the messages.

the sequence of messages that you record may make sense to Pure Data,
but make absolutely no sense to, say, CSound.

the motivation to develop the infrastructure for recording, playback,
disk storage and editing of such messages is not very strong when any
given sequence can only target one particular OSC receiver. the
motivation isn't zero, to be clear. but it just isn't that strong.

> I don't know if it's of practical use for anyone else, but time and again I
> would have had good use for this apparently simple feature. If anyone knows
> a sequencer or DAW which can do what I sketched out above, please do tell
> me. OSC has been around since 1997, for crying out loud. It's about time
> that sequencers do more with it than just automatizing the transport
> controls. ;-)

then its about time that people using OSC start defining some
standardized messages. MIDI did this from the start, and for all of
its limitations, its been a wild success. the OSC community has
self-consciously avoided doing this - lets queue up another pointless
argument about how to represent notes/frequencies/intervals - and as a
result is still only a niche protocol with every transmitter and
receiver defining their own messages. double fail ...




>
>
> Albert
>
> --
> Dr. Albert Gr"af
> Dept. of Music-Informatics, University of Mainz, Germany
> Email:  dr.gr...@t-online.de, a...@muwiinfa.geschichte.uni-mainz.de
> WWW:    http://www.musikinformatik.uni-mainz.de/ag
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread Robin Gareus
On 03/03/2012 11:20 PM, Albert Graef wrote:
> On 03/03/2012 08:25 PM, David Robillard wrote:
>> Sure, you could just implement dumb raw OSC recording and playback, but
>> there's little point in using a DAW for that (not to mention little
>> practical musical use)
> 
> But that's exactly what I want. For starters, even just simple messages
> consisting of address and POD (like a double value) would be useful. The
> data might originally be generated with a multitouch OSC device, say,
> and would be recorded by the DAW, which would also let me play back the
> data, sending it either to an OSC-capable plugin or an external OSC
> application (Pd, say) which would know what to do with it. Call it
> automation, if you want. But I think of it as sequencing of OSC
> messages; I need the data to be on its own track where I can edit, cut,
> copy and move it around as needed. DAW and sequencer programs are good
> at these things; that's what they are for. And no, I don't want to use
> MIDI instead, where I have to cram everything into control changes or
> (N)RPNS and loose both resolution and the descriptive OSC addresses.
> 
> I don't know if it's of practical use for anyone else, but time and
> again I would have had good use for this apparently simple feature. If
> anyone knows a sequencer or DAW which can do what I sketched out above,
> please do tell me. OSC has been around since 1997, for crying out loud.
> It's about time that sequencers do more with it than just automatizing
> the transport controls. ;-)
> 
> Albert
> 

Hi Albert,

I use Algoscore for sequencing OSC.
http://kymatica.com/Software/AlgoScore

There was a presentation at Piksel a few years back about this one:
https://github.com/sentinelweb/TimeLine-OSC
and http://www.iannix.org/ may do the job as well.

..but neither aims for, or comes close to "DAW" functionality.
robin
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread Albert Graef

On 03/03/2012 11:29 PM, Paul Davis wrote:

you can't send OSC to "an OSC capable plugin" or "an external OSC
application" in any generalized sense, because there is no shared
format for the messages.


Yes, there is. It's the OSC format itself. If you want to keep it 
simple, you could boil it down to "atomic" OSC messages (i.e., POD 
payload, no bundles). If you can support that in a DAW, I'm sure that 
there will be plenty of applications which can make good use of this. 
(Actually just simple pairs of OSC addresses and double values would be 
good enough for a lot of stuff IMHO.)



then its about time that people using OSC start defining some
standardized messages.


Well, what you see as a problem, I see as a virtue. It gives me the 
flexibility to just pick my own set of messages for the application at 
hand. The sequencer shouldn't have to care about the particular set of 
OSC addresses I'm using.



MIDI did this from the start, and for all of
its limitations, its been a wild success.


Nobody argues that, certainly not me. For much stuff we do, MIDI is 
quite adequate. But there's also the more advanced stuff where OSC is 
better suited or maybe just more convenient. That's certainly the case 
if you're using an OSC device like the Lemur, or if you're building a 
dsp plugin with Faust and don't want to go through the tedium of 
handpicking MIDI controller assignments.


Anyway, Paul, I understand that you have plenty of other important stuff 
on your TODO list for Ardour3. I'm not complaining. The reason that I 
brought up Ardour in this context was that I seem to recall reading 
something on the Ardour website, about Ardour3 already having the right 
infrastructure which would make it easy to add some kind of OSC tracks. 
Maybe I've misread that remark, though.


Albert

--
Dr. Albert Gr"af
Dept. of Music-Informatics, University of Mainz, Germany
Email:  dr.gr...@t-online.de, a...@muwiinfa.geschichte.uni-mainz.de
WWW:http://www.musikinformatik.uni-mainz.de/ag
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread Albert Graef

On 03/03/2012 11:36 PM, Robin Gareus wrote:

I use Algoscore for sequencing OSC.
http://kymatica.com/Software/AlgoScore


Hi Robin,

thanks for the pointers. Yes I know about AlgoScore and Iannix, but 
that's not quite what I had in mind.



There was a presentation at Piksel a few years back about this one:
https://github.com/sentinelweb/TimeLine-OSC


Interesting, I don't remember seeing this. Unfortunately, the original 
website is down and the video on vimeo has lousy sound, but I'll have to 
see whether I can get this up and running.



..but neither aims for, or comes close to "DAW" functionality.


Alas. Maybe I'm a bit old-fashioned, but for recording and playing back 
stuff on a timeline, nothing beats a DAW-like interface for me. :)


Albert

--
Dr. Albert Gr"af
Dept. of Music-Informatics, University of Mainz, Germany
Email:  dr.gr...@t-online.de, a...@muwiinfa.geschichte.uni-mainz.de
WWW:http://www.musikinformatik.uni-mainz.de/ag
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread David Robillard
On Sat, 2012-03-03 at 23:20 +0100, Albert Graef wrote:
> On 03/03/2012 08:25 PM, David Robillard wrote:
> > Sure, you could just implement dumb raw OSC recording and playback, but
> > there's little point in using a DAW for that (not to mention little
> > practical musical use)
> 
> But that's exactly what I want. For starters, even just simple messages 
> consisting of address and POD (like a double value) would be useful. The 
> data might originally be generated with a multitouch OSC device, say, 
> and would be recorded by the DAW, which would also let me play back the 
> data

I suppose this would be useful in some limited sense.

However, I doubt Ardour ever will, nor do I think it even should,
support sequencing of events that are transmitted by some mechanism
other than Jack.  That would be a gigantic inconsistent mess for more
reasons than I feel like listing, and trying to use UDP or whatever
directly in a DAW raises a very large number of very deep questions for
no benefit (hell, anti-benefit, Jack rules).  Integration with IP based
OSC transport should happen via a separate Jack program.

Put in other terms, I think Ardour should support "OSC Messages".  Not
OSC in UDP/TCP/IP.  If the community solves Jack OSC, it will get Ardour
OSC pretty quickly.  However, I am kind of through with OSC personally,
so I don't intend to put any real effort into the Jack side of that
problem.

> OSC has been around since 1997, for crying out loud. 
> It's about time that sequencers do more with it than just automatizing 
> the transport controls. ;-)

As Paul pointed out in his response, the reason for this lack is that
OSC simply doesn't do what 99.% of the people who use a
sequencer want to do.  Blindly recording events with no editing or
display ability simply isn't that useful, and certainly doesn't
constitute a MIDI replacement.

That said, it's not like a note standard would actually be difficult.
It will (well, may) get actually made when someone actually needs it.
Since we live in a somewhat closed and more flexible world, the Jack
universe could be the place where that happens.  I doubt it will
elsewhere, the commercial guys have gone with custom incompatible USB
protocols for hardware, and simply don't care about software interop.

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread David Robillard
On Sun, 2012-03-04 at 00:55 +0100, Albert Graef wrote:
[...]
> Anyway, Paul, I understand that you have plenty of other important stuff 
> on your TODO list for Ardour3. I'm not complaining. The reason that I 
> brought up Ardour in this context was that I seem to recall reading 
> something on the Ardour website, about Ardour3 already having the right 
> infrastructure which would make it easy to add some kind of OSC tracks. 
> Maybe I've misread that remark, though.

I probably said this.  Internally it's like Jack in most of the
important places, i.e. the actual type of the event payload is pretty
much irrelevant.  The biggest problem to solve is the on-disk format.

Control data (i.e. "automation") in Ardour is its own thing, not even
really MIDI related.  I co-opted the existing automation system as much
as possible deliberately for this reason.  It could be made to *send*
OSC messages for curves pretty easily.

It would be nice if this integrated with stuff in the plugin sphere, but
I've come to the conclusion that, unfortunately, OSC is more trouble
than it's worth there (though nothing is stopping anyone from using it).
After countless attempts at achieving a decent more-powerful-than-MIDI
mechanism, I've come to this opinion:

Give me a simple data model based on primitives, lists, and dictionaries
any day over some clunky command-like message format.

To me, the easy integration that gives you (with e.g. the dictionary
built in to pretty much every programming language ever, Turtle, JSON
(and thus webby everything), key:value stores), the 'meaningfulness', a
standard string serialisation, and an easy ability to describe
arbitrarily complex things via nesting, is of infinitely more value than
integrating with the tiny nichey collection of things that support OSC.

Maybe it's just that I've tried to do some pretty advanced things on top
of OSC (like 100% of GUI<=>engine control), but it's just a little too
half-assed for my tastes these days.

That said, I'm fully behind anything that would provide the individual
note control and high controller precision that MIDI can't.

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread Emanuel Rumpf
Am 3. März 2012 23:29 schrieb Paul Davis :
>
>> OSC
>
> this general language is the whole problem.
>
> you can't send OSC to "an OSC capable plugin" or "an external OSC
> application" in any generalized sense, because there is no shared
> format for the messages.
>
> the sequence of messages that you record may make sense to Pure Data,
> but make absolutely no sense to, say, CSound.
>
> the motivation to develop the infrastructure for recording, playback,
> disk storage and editing of such messages is not very strong when any
> given sequence can only target one particular OSC receiver. the
> motivation isn't zero, to be clear. but it just isn't that strong.
>
>> I don't know if it's of practical use for anyone else, but time and again I
>> would have had good use for this apparently simple feature. If anyone knows
>> a sequencer or DAW which can do what I sketched out above, please do tell
>> me. OSC has been around since 1997, for crying out loud. It's about time
>> that sequencers do more with it than just automatizing the transport
>> controls. ;-)
>
> then its about time that people using OSC start defining some
> standardized messages. MIDI did this from the start, and for all of
> its limitations, its been a wild success. the OSC community has
> self-consciously avoided doing this - lets queue up another pointless
> argument about how to represent notes/frequencies/intervals - and as a
> result is still only a niche protocol with every transmitter and
> receiver defining their own messages. double fail ...
>
>

I totally agree.
Actually OSC missed the point of MIDI.
(Or there was no intention to acctually become a replacement !? )

There should at least be an accepted, standardized
way for transmission of MIDI data over OSC !

I've started a draft:
http://wiki.linuxaudio.org/wiki/user/emrum/midi-osc-map


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev