PDA

View Full Version : Ipad/ OSCulator/ Modul8 OSC question



Juggla
06-21-2010, 06:38 AM
Hi,


I have been creating a layout on my Ipad using TouchOSC to control Modul8. I have just discovered the OSC (global) module within modul8 and i want to try using it instead of Midi. I can get it to work directly from the Ipad to Modul8 without using Osculator, but would like to use it as a bridge so I can incorporate other hardware. So what i have now is OSC from the ipad being sent to Osculator routed into Modul8....and it works.


My question: Is it possible to route the OSC out of Modul8 into Osculator and back into my Ipad? That way I can get visual feedback on my ipad, but still using Osculator???

camille
06-21-2010, 10:37 AM
Hello Jugla,


There is an easy way to do this if the layout on your iPad uses the same OSC addresses as modul8's. In other words, it will be easy to configure if there is no address rewriting involved (more on that later).


The basic steps are :

Set modul8 to send OSC to the localhost on OSCulator's port (8000 by default).

Having you iPad connected and displaying the layout, make sure that it is set as the Default Host (in Parameters Window, OSC Routes tab).

For every OSC message that modul8 sends to OSCulator, that you want to forward to the iPad, select "OSC Routing" as Event Type, and "Default: Your iPad name here" as Value.



This will have the effect of routing the same OSC message to your iPad, even if your iPad changes it's network configuration (IP address for example).


Now, if you need to make some sort of correspondence or mapping between modul8's addresses and you the control in your layout, you will need to manually enter OSC Routes in the Parameters Window. This will require that at least know the host name of your iPad (http://www.osculator.net/doc/faq:iphone#how_do_i_know_what_is_the_ip_a).

But this solution is not very convenient because if you want to use another device, then you will have to change the host name or address in every routing. A solution to this problem will be addressed in the next release.


Best,

Cam

camille
08-02-2010, 01:34 PM
Now that OSCulator has been updated to version 2.10, there is no need anymore to know the exact name of the iPad. All you have to do is create routings back to the iPad using the OSC routing page in the Parameters window.


Better, if you drop your TouchOSC file onto the table you will automatically import the OSC definitions.


http://i69.photobucket.com/albums/i70/tuscland/dragdroptouchoscfile.png

wooz
12-28-2010, 11:06 PM
I have same problem, and this tips doesn't help.

1. On modul8 I have enabled OSC module. Set FEEDBACK host: localhost, port: 8000
2. On OSCulator OSC Routing droped Modul8 TouchOSC by Chinowski.touchosc file.
3. On iPod found my laptop. Host: VooZ2-2.local, Port (outgoing) 8000, Port (incoming) 8001 (as i can't use the same port).

So any idea? If we solve this problem - I will buy your software :-)

camille
12-28-2010, 11:24 PM
Hey wooz,

What do you have in the list of registered messages?
I guess that you need to assign OSC Routings from your iPad to modul8, and those that are sent from modul8, back to the iPad.

Best,
Cam

wooz
12-29-2010, 09:19 AM
It's what i see:

http://schranz.lt/osc.jpg

PS.: I can work from my iPod touch with modul8, but I don't get any visual feedback from modul8 to Touch.

camille
12-29-2010, 12:19 PM
I was referring to the main messages list.
All looks good here apart from the fact that your iPod touch is not connected.

wooz
12-29-2010, 06:33 PM
http://www.schranz.lt/osc1.jpg

camille
12-30-2010, 05:05 PM
ok so you are using MIDI control changes to map incoming OSC to modul8.
Please check if you have some entries starting with /midi.
If this is not the case it means that modul8 is not sending back MIDI to OSCulator, in that case check your modul8 config.

Josh
01-18-2011, 08:22 PM
Since this thread has very nice clear information (And came up while I was searching, as did this one which I will reference: http://www.garagecube.com/forum/viewtopic.php?t=4358&sid=09cf5acc75ee917efdc4876e763bdf56 ), I think it would be well served to outline the processes a little (if the contributors are willing - I'm just learning myself, so have a lot of gaps; just want to set the stage so to speak):

In terms of the flow of information, I know that there are 2 (or more?) ways to get OSC from a device to Modul8:

1) Using OSCulator to receive OSC messages and translate them to MIDI, then to use MIDI Mapping in Modul8 (And there may be some way to get feedback back through the channel?)

The process for this, as I understand it, is as follows (Using TouchOSC):

-A template is loaded into TouchOSC (Let's say Mix 2 iPad); each control is assigned a "Label" already, and sends messages with that label (for example: /1/fader6 as the fader art the bottom of page 1)
*Note: these labels can be anything, but I'll get back to that

-OSCulater is loaded on the computer; it is set to receive messages by default on port 8000, and it loads blank

-TouchOSC points at the computer OSCulator is running on, on port 8000

-When you touch a control on TouchOSC: OSCulator picks up it's label and catalogs it

-You then choose MIDI CC (MIDI Control Change) as the event type, and a channel/device so that Modul8 can see the MIDI message

-In Modul8, you go into the MIDI Mappings, choose a control, and touch the TouchOSC control in order to have it send the data as follows: TouchOSC > network > Computer > OSC In to OSCulator > MIDI Out from OSCulator > Modul8: Modul8 is now controlled.


2) Using OSC Directly in Modul8

This is newer, less tested, and different in fundamental ways, but it has more potential.

-Install OSC (global) module in Modul8
-Configure TouchOSC to the correct port as listed in the module

*NOW: Here's the fundamental difference: Remember the "Labels" from before? Now those are no longer generic: you need to edit the TouchOSC templates or create your own, and when you do that each control is basically locked into a function: /1/fader6 can now become /md8key/[modul8 keword]/[layer Position]

where "md8key" refers to the application Modul8, "[modul8 keyword]" is a placeholder for the keyword you want to affect (Example: "ctrl_layer_alpha" (self-explanitory)), and "[layer position]" refers to the layer number: 0 means the selected layer, 1-10 for each layer and -1 for all the layers.

So, a good example for the slider I've been talking about would be: /md8key/ctrl_layer_alpha/0
Once that's saved and uploaded to the TouchOSC device, that slider will always change the transparency of the selected layer.


Now, to recap (And again: please fill in any gaps or mis-assumptions; I would love to see this made into documentation):

Method 1: Fader movement > TouchOSC > OSCulator OSC IN > OSCulator MIDI Out > Modul8 > Fader movement

Method 2: Fader movement of the transparency fader > TouchOSC > OSC (global) module in Modul8 > Fader movement of the transparency fader


Hopefully this highlights the differences, as well as addresses some common thought patterns that make understanding this tricky. :)

camille
01-20-2011, 12:20 AM
Thank you Josh for this clear summary of how to control Modul8 from an OSC enabled device.
I would like to add that you can use OSCulator to translate OSC pathes from TouchOSC (the labels you were referring to), to OSC pathes understood by Modul8. This is done by using a OSC Routing configured with a rewrite address like "/md8key/ctrl_layer_alpha/0" for example. While this solution requires more work, it has also the benefit of being more modular.

Josh
01-20-2011, 02:01 AM
camille;

Thank you for pointing that out: I tried looking at the settings for it in OSCulator, and while it looks promising, it also looks very daunting.

Are you up for writing something that could go into a comprehensive guide to TouchOSC and Modul8? :)