Renoise_OSC_and_puredata

Hi. I’m new working with Renoise. I own a full 3.1.0 version, running on a Linux-64 system.

I have tested the “test-renoise-osc.pd” patch on pure-data with success. But I have some questions about OSC on Renoise, please.

I have tried to send (from pd) something like “/renoise/trigger/midi(number)” to simulate a midi clock. I changed that “(number)” with 250 (start), 252 (stop) and 248 (clock pulse), without success.

The message is received ok in Renoise, but there is no change on the transport (Play/stop and bpm sync).

Any idea about what (maybe all) I’m doing bad?

Thanks a lot!

Any particular reason you would want to “simulate” a MIDI clock using OSC?

The /renoise/trigger/midi does not understand all types of MIDI messages, in fact I think it’s limited to notes, CC messages and pitch-bend (correct me if I’m wrong!).

But you would be better off sending normal MIDI and setting up Renoise to act as a slave. When passing raw MIDI via the OSC server, you are effectively bypassing the MIDI input options that is set up in preferences.

Of course, if MIDI is not an option, you could also dive into the GlobalOSCActions and define your own methods. It’s a plain lua file which can be modified to taste.

Enable the scripting console in Renoise, and you will see it under “Resource Scripts”. Take a copy of it, and put it in the “User Scripts” folder - then it will be loaded instead of the default one.

Thanks danoise.

I also tried to send midi clock from pd to Renoise, but without success. I can receive notes, but not midi clock.

I don’t know where is the problem, but I think is more related with pd.

Anyway, it works when I send the same midi clock from pd to, for example, Ardour. But no way with another linux daws/synths.

On the other side, the Renoise midi clock out works very very well for me, but (it’s a long history) I need to use pd like master.

I have noticed reading the Renoise manual that is possible to advance single lines on the pattern pressing the “enter” key and also that I can send Lua expressions over OSC.

Is it difficult make a Lua expression (I have no idea about Lua) for simulate that “enter” key?

Ah, sorry for the “_” of the tittle, is a little craze I have. I noticed them after post.

Thanks!

Is it difficult make a Lua expression (I have no idea about Lua) for simulate that “enter” key?

You might be better off using a custom OSC handler to get the current line and instruct Renoise to move the cursor to the next one.

Ah, perfect. The last one, please.

Where can I found info about how to made that?

Thanks.

Some sample code

local playback_pos = renoise.song().transport.playback_pos
local current_pattern = renoise.song().sequencer.pattern_sequence[playback_pos.sequence]
local current_line = playback_pos.line

I think somewhere in this you’ll need to get the number of lines in the current pattern in case you are on the last line of a pattern and need to move to the first line of the next pattern.

local lines_in_pattern = renoise.song().patterns[current_pattern].number_of_lines

No doubt there are other considerations, but this might help you get started.

Perfect!

Thanks a lot for the help Neurogami.

I will check your sample codes.

@nch : Can you post a picture of your patch, maybe I would have a clue.

I just found this thread on that topic: http://forum.pdpatchrepo.info/topic/1385/midi-clock-sync-in/10

and a related patch:

http://www.pdpatchrepo.info/hurleur/midisync_in.pd

Hi and thanks Woodpecking Mantis.

If I’m not wrong those patches are for midi-in.

I’m triying to send midi clock from pd to Renoise.

This is the patch I have used with success, at least with external hardware and some midi software monitor:

10z77rn.png

It’s not mine, I found it on the pd forum. Really, I’m using another similar modified, where instead [metro] I receive the pulse from an external source.

But this is more simple for understand how I’m working.

I have been reading today documents like “GlobalOscActions.lua” , examples from “xrnx.googlecode.com”, “Renoise Scripting Reference and HOWTOs - Introduction”, etc…

But I’m lost.

Is there any simple way to tell Renoise through “/renoise/evaluate” to go to an specific line of the current pattern? I have tried some things, but without success.

Is more easy for me make the “hard” part from pd.

What I experienced (on win64):

The metro object seems to only take integer in the second inlet (in msec per tick) When I replicated the patch, the metro object only sent a first bang and stopped working until I put integers values in the second inlet.

Do you see the bang object linked to the metro blinking? If not the 248 clock message will not be sent.

For testing purposes, I opened a renoise instance, configured the slave mode to external clock and did series of click on the 248 message in PD, I saw the clock input led blinking in Renoise.

Since I don’t know your level of knowledge…

In renoise, did you configure Preference > MIDI > MIDI Clock Slave > In device accordingly to receive the output of the clock generated in PD?

Did you attribute a MIDI output device in the PD midi settings?

If yes and yes did you activate the clock button in renoise?

From what I experienced trying to use OSC and lua, the frequency of lua execution is too slow, and I loosed clock ticks, so I would agree with the suggestion of Danoise to use MIDI clock instead of OSC messages for syncing purposes.

For your last question: I just know that I can tell renoise to go on specific pattern number using OSC message from Max, (didnt try in PD):

/renoise/song/sequence/trigger 135

Never searched to activate a pattern from a specific line…

I wish you to get this working!

Thanks Woodpecking Mantis.

I think the pd patch is working in my computer, because I tested it with a midi monitor and it received correctly the midi messages.

But later, on Renoise, with all configured like you said, I can received notes and cc from pd, but not midi clock messages.

Maybe is this a problem more related with alsa-midi?

Now I’m abroad for some months, but I think I will fix this “problem” later with another midi gear I own.

Thank you all for spending your time to help me.

Regards!

Hi and thanks Woodpecking Mantis.

If I’m not wrong those patches are for midi-in.

I’m triying to send midi clock from pd to Renoise.

This is the patch I have used with success, at least with external hardware and some midi software monitor:

10z77rn.png

It’s not mine, I found it on the pd forum. Really, I’m using another similar modified, where instead [metro] I receive the pulse from an external source.

But this is more simple for understand how I’m working.

I have been reading today documents like “GlobalOscActions.lua” , examples from “xrnx.googlecode.com”, “Renoise Scripting Reference and HOWTOs - Introduction”, etc…

But I’m lost.

Is there any simple way to tell Renoise through “/renoise/evaluate” to go to an specific line of the current pattern? I have tried some things, but without success.

Is more easy for me make the “hard” part from pd.

I never managed to get 'curved ’ connnections .

Is this part of a new update

It’s Pd-L2Ork. Like an updated Pd-Extended with some extras, roughly speaking.

If I’m not wrong, there are three Pure-Data “flavors”. Pd-Vanilla, Pd-Extended and Pd-L2Ork.

I normally work with Pd-Vanilla and Pd-L2Ork.

I can’t have the three installed due to some package conflicts.

Hi again.

I could finally send midi clock (I was only able to send notes) from Pd to Renoise.

It was a problem related with my qjackctl configuration.

I’m now using a2jmidi as bridge like suggested on the Ardour Manual.

http://manual.ardour.org/setting-up-your-system/setting-up-midi/midi-on-linux/

For if it helps someone.

Regards!