your experience with OSC and Ardour3

13 replies [Last post]
zettberlin
User offline. Last seen 5 weeks 4 days ago. Offline
Joined: 2006-04-19
Posts:

Hello,

I am about to write an article on using Android-apps controlling software on Linux.

OSC is an option and Ardour3 is indeed the only end-user oriented application that I was able to control via OSC using Ardroid.

But there are many more OSC-Apps for Android, namely I experiemnt with Charie Roberts' Control, with FingerPlayMIDI and with TouchOSC.

All of them I was able to catch using oscdump, none of them I was able to use for anything in Ardour3 and in any other Linux-audio app that can understand OSC (Jackbeat, Ingen, Muse others). I did not checked PD or CSound for now since the article should not deal too much with solutions, that include learning a programming-language...

So how about your experiences with Ardour and OSC and with OSC and Linux-Audio in general?

I find it most complicated do I miss something?

seablade
User offline. Last seen 12 hours 8 min ago. Offline
Joined: 2007-01-22
Posts:

Not to familiar with Control or FingerPlayMIDI, but I can tell you that TouchOSC is actually more intended to have a map created for it in the iOS version, to match the software it is supposed to control. I helped someone understand how to build this manually but I suspect it would require a rooted device to install the map. Right now building a map is not supported on Android is my understanding, which means it is really crippled on Android compared to iOS.

Thing is, there is no *standard* control scheme for OSC, it is always a custom scheme written for the app. That is what you are running into.

Seablade

zettberlin
User offline. Last seen 5 weeks 4 days ago. Offline
Joined: 2006-04-19
Posts:

> Thing is, there is no *standard* control scheme for OSC, it is always a custom scheme written for the app.

Thanks a lot! That sheds a lot of light on the situation.

So in the end, something like "OSC-learn" would be the best way out for the user but is not exactly that easy to implement right?

ahhh .. I forgot:

it is possible to write and load custom maps for Control under Android. They are written in some JavaScript-dialect that is quite straightforward. Does not fullfill the "learning a programming-lang should not be needed"-dependency though.

seablade
User offline. Last seen 12 hours 8 min ago. Offline
Joined: 2007-01-22
Posts:

So in the end, something like "OSC-learn" would be the best way out for the user but is not exactly that easy to implement right?

The more common is what TouchOSC does on iOS where the user builds the map to match the needs of the application they are controlling.

Seablade

zettberlin
User offline. Last seen 5 weeks 4 days ago. Offline
Joined: 2006-04-19
Posts:

The more common is what TouchOSC does on iOS where the user builds the map

Is there something like a howto for such a map for Ardour?

seablade
User offline. Last seen 12 hours 8 min ago. Offline
Joined: 2007-01-22
Posts:

You mean other than this?...

http://ardour.org/osc_control

What exactly would you need? The above spells it out pretty clear to me. It is missing a few commands for A3, so it will probably be updated for A3 once that hits stable, but other than that?

Seablade

zettberlin
User offline. Last seen 5 weeks 4 days ago. Offline
Joined: 2006-04-19
Posts:

OK, this describes the Ardour-part

Now I got these files made from the landscape-mixer layout from Charlie Roberts site:

http://lapoc.de/spinoffs/osc/androids/

at line 257 there is this one:

pages = [[
{
"name": "vol1Slider",
"type": "Slider",
"x": .1,
"y": .43,
"width": .15,
"height": .5,
"startingValue": .5,
"midiStartingValue":63,
"color": "#666666",
"stroke": "#888888",
"min": 0,
"max": 1,
"isInverted": false,
"isVertical": true,
"protocol": "OSC",
"address": "/vol1",
"midiType": "cc",
"midiNumber": 1,
},

Is it enough to change "address": "/vol1", to "address": "/ardour/rewind ", to make this slider rewind transport in Ardour?

paul
paul's picture
User offline. Last seen 1 day 4 hours ago. Offline
Joined: 2006-03-16
Posts:

it would be a little odd to use a slider to drive an on/off function like "rewind". that's typically a button function. but other than that, yes, mostly.

zettberlin
User offline. Last seen 5 weeks 4 days ago. Offline
Joined: 2006-04-19
Posts:

it would be a little odd to use a slider to drive an on/off function

;-) correct -- I just found out too late, what I had chosen for the example.

Do you think it could be possible, to include a map-file in the project, based on a generic template for start/stop etc and special-codeblocks for the tracks? Such a file could be downloaded by Control running on the Android-device from any given Server available via http. This could be the website of the user or a local webserver running on the users machine.

I will make some experiments and report back asap...

Ricardus
Ricardus's picture
User offline. Last seen 15 hours 1 min ago. Offline
Joined: 2009-05-31
Posts:

it would be a little odd to use a slider to drive an on/off function like "rewind". that's typically a button function. but other than that, yes, mostly

Would it? How is it THAT different from a Jog-Wheel?

zettberlin
User offline. Last seen 5 weeks 4 days ago. Offline
Joined: 2006-04-19
Posts:

How is it THAT different from a Jog-Wheel?

A Jog-Wheel would allow to change the speed of rewind/ff -- this is, what the shuttle speed control directly under the main transport buttons is made for. Rewind simply jumps backwards to a marker or to the start-position.

Ricardus
Ricardus's picture
User offline. Last seen 15 hours 1 min ago. Offline
Joined: 2009-05-31
Posts:

I know that. But why can't you have a slider if you can have a jog-wheel?

paul
paul's picture
User offline. Last seen 1 day 4 hours ago. Offline
Joined: 2006-03-16
Posts:

you can have a slider to control transport speed. but it would not do so via the "rewind" command, instead it would use /ardour/transport_speed

christophski
christophski's picture
User offline. Last seen 11 hours 57 min ago. Offline
Joined: 2009-04-22
Posts:

With regards to PD, it is not a programming language. It is something you have to learn though. I have used it a lot in conjunction with OSC as I find that MIDI has a far far too low resolution for live performance and can be very frustrating.

I have used pd to control Ardour using OSC also.