Discussion:
Ardour-Dev Digest, Vol 134, Issue 1
(too old to reply)
Patrick.Gilles Maillot
2015-06-05 06:08:54 UTC
Permalink
My reply to John, along with a few notes and actions to be fixed for
Ardour/OSC and Ardour support of different locales.

Hello John,

Thanks for your message. I did not get my X32 to work with Ardour. The
reasons are:

-1- based on initial responses for Windows support, I uninstalled Ardour,
and have been keeping using REAPER which works fine in Windows/Linux/Mac
with X32 using X32Reaper.

-2- I am not interested in MIDI (Mackie emulation, etc... used or available
on X32) as this only offers a limited use of the X32 as a control surface;
plus OSC is a lot more advanced and faster in terms of X32 control.

-3- Reading your message, I re-installed Ardour (might as well give it a
second shot). Ardour is extremely slow to start compared to REAPER. I set
the following in the config file: [need to update the doc to properly
reflect the location/name of the file for Windows]
<Option name="osc-port" value="10023/"/>
<Option name="use-osc" value="1"/>

Relaunched Ardour (it crashed during save/quit).
[Note: I didn't find a way to change the locale to English; Ardour talks
French and that doesn't help me as some of the terms, while probably
correct, are not easy to connect to their English equivalent]
[Note: in edit->preferences->divers, the first option "Allow dragging of
playhead" is not translated to the locale, same is true for some of the user
interaction, VST, Graphical interface, IHM and Theme subscreen options] The
OSC options are there... in edit/preferences/control surfaces screen Ardour
says:
OSC activated and "retour" are clicked
Control surface ID: manually assigned [Note: Where???]

Now what?
There's no IP assignment for the control surface (needed for OSC which uses
UDP), how does Ardour sets the IP for the control surface?
There's no initialization function to enable communication to start. In the
case of the X32, Ardour has to "register" with the X32 to get X32
data/feedback on user actions on the X32. And that "registration" has to be
renewed every ~10 seconds.
Is there a file to create/edit to set the proper commands for faders,
effects, routing, transport and others (looks like transport is part of the
config file, not sure)? If so, which file and how does it get loaded/used by
Ardour?


I'm willing to keep testing OSC/X32 with Ardour and help setting a correct
config file for X32, even with the obnoxious "Ardour has switched to silent
mode" message that keeps popping up as I write this message [REAPER is
friendlier: If you like it the price is low enough for people to pay for it,
and they do. Ardour should do the same.], so I will not uninstall Ardour
right away again, and wait for your reply first :-)

Hope this helps,
BR,
-Patrick

-----Original Message-----
From: Ardour-Dev [mailto:ardour-dev-***@lists.ardour.org] On Behalf Of
ardour-dev-***@lists.ardour.org
Sent: jeudi 4 juin 2015 21:19
To: ardour-***@lists.ardour.org
Subject: Ardour-Dev Digest, Vol 134, Issue 1

Send Ardour-Dev mailing list submissions to
ardour-***@lists.ardour.org

To subscribe or unsubscribe via the World Wide Web, visit
http://lists.ardour.org/listinfo.cgi/ardour-dev-ardour.org
or, via email, send a message with subject or body 'help' to
ardour-dev-***@lists.ardour.org

You can reach the person managing the list at
ardour-dev-***@lists.ardour.org

When replying, please edit your Subject line so it is more specific than
"Re: Contents of Ardour-Dev digest..."
Paul Davis
2015-06-05 13:54:28 UTC
Permalink
Post by Patrick.Gilles Maillot
I'm willing to keep testing OSC/X32 with Ardour and help setting a correct
config file for X32, even with the obnoxious "Ardour has switched to silent
mode" message that keeps popping up as I write this message [REAPER is
friendlier: If you like it the price is low enough for people to pay for it,
and they do. Ardour should do the same.],
If Ardour had been initially developed and released on a platform with 8 or
9 times more users than Linux, this might have been an option. I chose to
develop Ardour primarily for the Linux world, later expanding it to OS X.
The Reaper model will not work there. What happens in the future if/when we
start supporting Windows is anyone's guess. And by the way, the price of a
pre-built version of Ardour for Windows is effectively $1, or $12 if you're
nice about it. This is substantially cheaper than Reaper.

There's not much point testing OSC support with the X32 without the active
support of a developer working directly on OSC code. It isn't going to work
as-is, and is not configurable outside of the code. OSC is a useful
protocol but because it is completely non-standardized, both ends of the
OSC exchange have to understand the same set of messages, and there is no
standard set of messages.

Regarding translation, there is an option in Preferences > User Interaction
to enable or disable translation. We also welcome user-driven updates and
input for the translation.
John Emmas
2015-06-05 17:32:40 UTC
Permalink
Post by Paul Davis
There's not much point testing OSC support with the X32 without the
active support of a developer working directly on OSC code. [...] OSC
is a useful protocol but because it is completely non-standardized,
both ends of the OSC exchange have to understand the same set of
messages, and there is no standard set of messages.
Hmm... that seems like a pretty major drawback! Is OSC effectively a
dead protocol now? I took a look at the Issue Tracker but there've been
no posts for nearly 4 years!!

http://opensoundcontrol.org/tracker
Post by Paul Davis
-1- based on initial responses for Windows support, I uninstalled Ardour,
and have been keeping using REAPER which works fine in Windows/Linux/Mac
with X32 using X32Reaper.
-2- I am not interested in MIDI (Mackie emulation, etc... used or available
on X32) as this only offers a limited use of the X32 as a control surface;
plus OSC is a lot more advanced and faster in terms of X32 control.
Patrick - what gives you the impression that OSC is better for your
purposes? For example, is X32Reaper based around OSC perhaps?

John
Paul Davis
2015-06-05 18:23:11 UTC
Permalink
Post by John Emmas
Post by Paul Davis
There's not much point testing OSC support with the X32 without the
active support of a developer working directly on OSC code. [...] OSC is a
useful protocol but because it is completely non-standardized, both ends of
the OSC exchange have to understand the same set of messages, and there is
no standard set of messages.
Hmm... that seems like a pretty major drawback! Is OSC effectively a
dead protocol now? I took a look at the Issue Tracker but there've been no
posts for nearly 4 years!!
The notion of a standardized message set isn't part of the design spec or
goals for OSC. People seem to completely misunderstand what OSC is. It is
really just a specification of a message *format*. Not the mesage contents,
or even the transport protocol. The messages consist of strings, with the
first string being a set of 1 or more slash-separated words, optionally
followed by arguments also passed as strings

/this/is/a/valid/message
/so/is/this 12 abd 19.78
/1871/akk1/a91991/a/ soIsThis
/whatever/the/hell/you/want/to/use/it/is/ok/with/OSC

OSC doesn't specify anything else, really. So unless to two ends of the
connection understand that /foo/bar/baz means "stop the transport", then it
is meaningless.
Post by John Emmas
Patrick - what gives you the impression that OSC is better for your
purposes? For example, is X32Reaper based around OSC perhaps?
the X32 OSC protocol specification does allow some stuff that isn't
possible with generic MIDI. but to use it you need something that
understands the X32 OSC messages.
Patrick.Gilles Maillot
2015-06-05 19:18:33 UTC
Permalink
Paul, John,



I have been using the X32 for some time now, and managed several gigs with it. The fact the console is entirely remote controllable using a wired or wifi connection, handling multiple simultaneous clients (i.e. sound engineer, stage musician, etc.) and now has several clients on android, iOS, Linux, Mac and PC is pretty damned good. I don’t think this would have been possible without the adoption of OSC. Nevertheless the initial documentation for it was quite 
 thin and it took serious effort to get access to all that was coded there.



It now sounds like several manufacturers are following that path.



It is also true OSC is a protocol format [only] standard. The contents of the data exchanged between clients and server (the console) is not forced/imposed, which is good and bad. Some will find it good because it enables manufacturers to develop their own stuff (quite standard practice in the music electronics industry), while others would prefer to have a single language for all, ensuring interoperability between devices. I am not trying to debate here.



OSC is simple to code, easy to operate and quite effective (speed), thanks to fast networks; I found it quite reliable too.



X32Reaper which I initially developed for my own studio needs is using OSC, and is acting as a middle man between the X32 and REAPER, based on the standard REAPER config file specifying what REAPER expects and sends in terms of OSC. The latest port runs great even on a Raspberry Pi (old version) enabling to the 32 channels of the X32 to control REAPER tracks, and vice versa: changes made at the audio workstation program are reflected on the X32. Easy to use and quite user friendly.



I was just hoping to find something similar (better in fact) from Ardour “probably one of the most OSC-controllable audio applications around”. While this may be the case from Ardour to its clients, the other way around doesn’t seem so (i.e. what is the receiving port for Ardour?).



-Patrick



From: Paul Davis [mailto:***@linuxaudiosystems.com]
Sent: vendredi 5 juin 2015 20:23
To: John Emmas
Cc: ardour-dev mailing list
Subject: Re: [Ardour-Dev] Ardour-Dev Digest, Vol 134, Issue 1







On Fri, Jun 5, 2015 at 1:32 PM, John Emmas <***@tiscali.co.uk> wrote:

On 05/06/2015 14:54, Paul Davis wrote:


There's not much point testing OSC support with the X32 without the active support of a developer working directly on OSC code. [...] OSC is a useful protocol but because it is completely non-standardized, both ends of the OSC exchange have to understand the same set of messages, and there is no standard set of messages.


Hmm... that seems like a pretty major drawback! Is OSC effectively a dead protocol now? I took a look at the Issue Tracker but there've been no posts for nearly 4 years!!



The notion of a standardized message set isn't part of the design spec or goals for OSC. People seem to completely misunderstand what OSC is. It is really just a specification of a message *format*. Not the mesage contents, or even the transport protocol. The messages consist of strings, with the first string being a set of 1 or more slash-separated words, optionally followed by arguments also passed as strings

/this/is/a/valid/message

/so/is/this 12 abd 19.78

/1871/akk1/a91991/a/ soIsThis

/whatever/the/hell/you/want/to/use/it/is/ok/with/OSC

OSC doesn't specify anything else, really. So unless to two ends of the connection understand that /foo/bar/baz means "stop the transport", then it is meaningless.




Patrick - what gives you the impression that OSC is better for your purposes? For example, is X32Reaper based around OSC perhaps?



the X32 OSC protocol specification does allow some stuff that isn't possible with generic MIDI. but to use it you need something that understands the X32 OSC messages.
Paul Davis
2015-06-05 19:46:52 UTC
Permalink
On Fri, Jun 5, 2015 at 3:18 PM, Patrick.Gilles Maillot <
Post by Patrick.Gilles Maillot
I was just hoping to find something similar (better in fact) from Ardour “probably
one of the most OSC-controllable audio applications around”. While this may
be the case from Ardour to its clients, the other way around doesn’t seem
so (i.e. what is the receiving port for Ardour?).
Ardour uses 3189, or whatever value you configure via the OSC GUI (double
click on "OSC" in the list of available control surfaces.

Nobody developing Ardour has ever had an interest in making it a
*controller* for another OSC receiver. Doing so wouldn't be very hard, but
it has never been anyone's goal. As you yourself noted, you had to create a
middle-man between Reaper and the X32 (mostly because you don't have access
to the relevant source code in Reaper, I would guess). Doing this directly
in Ardour is entirely possible, though it should probably be done as a new
dedicated X32 control surface module (all control surface code is
dynamically discovered and loaded).

--p
John Emmas
2015-06-06 10:10:25 UTC
Permalink
Hi Paul, I just noticed something puzzling in one of Patrick's earlier
emails...
Post by Patrick.Gilles Maillot
in edit/preferences/control surfaces screen Ardour
[...]
Control surface ID: manually assigned [Note: Where???]
Now what?
There's no IP assignment for the control surface (needed for OSC which uses
UDP), how does Ardour sets the IP for the control surface?
There's no initialization function to enable communication to start. In the
case of the X32, Ardour has to "register" with the X32 to get X32
data/feedback on user actions on the X32. And that "registration" has to be
renewed every ~10 seconds.
Is there a file to create/edit to set the proper commands for faders,
effects, routing, transport and others
I've never had a reason to delve into any OSC settings but just for the
hell of it, I also went to Edit->Preferences->Control Surfaces. In my
case I see 3 options listed:- Generic Midi, Mackie and OSC. Underneath
the list there's some text saying "Double-click on a name to edit
settings for an enabled protocol". In the case of Generic Midi or
Mackie, double-clicking will bring up a Settings window. But if I
enable OSC and then double-click, nothing happens (although Ardour
subsequently crashes). I know it's not relevant to Patrick's query but
presumably, the OSC option should also be bringing up a Settings window?

John
Paul Davis
2015-06-06 11:41:37 UTC
Permalink
Post by John Emmas
I've never had a reason to delve into any OSC settings but just for the
hell of it, I also went to Edit->Preferences->Control Surfaces. In my case
I see 3 options listed:- Generic Midi, Mackie and OSC. Underneath the
list there's some text saying "Double-click on a name to edit settings for
an enabled protocol". In the case of Generic Midi or Mackie,
double-clicking will bring up a Settings window. But if I enable OSC and
then double-click, nothing happens (although Ardour subsequently crashes).
I know it's not relevant to Patrick's query but presumably, the OSC option
should also be bringing up a Settings window?
ah right, there's no GUI for the OSC support. the only option is the port
number.
John Emmas
2015-06-06 13:07:16 UTC
Permalink
Post by Paul Davis
ah right, there's no GUI for the OSC support. the only option is the
port number.
I'm not sure if it's the lack of a GUI which is causing this problem -
but if you select 'Edit->Preferences->Control Surfaces', then enable the
OSC protocol, then disable it, Ardour crashes (at least, in Windows).
The actual function which crashes is 'g_thread_join()'. It looks like
we're calling that function for some thread which never got created.
The other available protocols seem to be okay.

John
Paul Davis
2015-06-06 13:23:03 UTC
Permalink
definitely only manifests on windows.

i'm in boston for the weekend ... offline till monday or maybe sunday PM.
Post by Paul Davis
ah right, there's no GUI for the OSC support. the only option is the port
number.
I'm not sure if it's the lack of a GUI which is causing this problem - but
if you select 'Edit->Preferences->Control Surfaces', then enable the OSC
protocol, then disable it, Ardour crashes (at least, in Windows). The
actual function which crashes is 'g_thread_join()'. It looks like we're
calling that function for some thread which never got created. The other
available protocols seem to be okay.
John
_______________________________________________
ardour-dev mailing list
http://lists.ardour.org/listinfo.cgi/ardour-dev-ardour.org
Thomas Vecchione
2015-06-06 12:37:44 UTC
Permalink
Post by John Emmas
Hmm... that seems like a pretty major drawback! Is OSC effectively a
dead protocol now? I took a look at the Issue Tracker but there've been no
posts for nearly 4 years!!
http://opensoundcontrol.org/tracker
No it is more that it hasn't changed much I don't believe. It is very
commonly used in various settings, but has all the potential drawbacks that
Paul mentioned. This is why programs like TouchOSC exist, where you can
specify the transmitted OSC message, because noone does it the same.

OSC really has become a remote control protocol, not quite as popular as
MIDI by a long shot, but still fairly popular, for really one device to
control another. But you always have to deal with differences in protocol
definitions sadly, and no hardware maker has made anything as flexible as w
hat many people really want/need like TouchOSC and similar.

For the record, I have used it to control both audio and lighting devices
in live performance situations, as needed. But it always takes a bit of
work to set up, and that is likely holding it back honestly.

Seablade
Loading...