Midi Control Device: Controlling Ext. Gear, Initial Preset State

Currently the value of an automated slider of the Midi Automation Device will only be sent if the value in the automation graph differs from the current value of the slider.

The will cause problems if you automate external midi hardware. For example a used sound on my Korg M3 has a lot of resonance. In the song I automated the resonance to 0. If I now reload the song settings in the Korg M3, the resonance will be high at start (comes from the sound program settings). Now if I start the sequence on Renoise, Renoise will not sent the resonance to 0 anymore, because the slider is already at 0.

So I have to add two different values in the automation graph to get the required result.

I hope my description is understandable, I think Renoise should always send the value in a automation graph, no matter what the related slider says.

Maybe this problem also exists with the Instrument Automation device.

EDIT:
At song resume, Renoise should always send the automated sliders should be updated, no matter if they have already the same value of the current automation value.

EDIT:
I used points in the graph, but other modes, linear and curves are also affected.

The MIDI Control device will send it’s initial state, independently of if there is automation or not to the MIDI device after song loading was finished.
We can’t always send MIDI events “just in case”. Especially with interpolated automation this would constantly flood the MIDI device with messages.

Could you give us a it more detailed info about this setup? In your case it seems that the “initial state” state was sent before the preset on the device was applied. Do you set the preset with MIDI commands from Renoise too?

Hi taktik,

but the main problem is that the values of the automation are only send, if they differ from the value that the correspondending slider has. It should be sent always if an automation value passed the automation graph. This is the main bug i described.

The second point regarding the initial state: I reloaded the song settings while the Renoise session. The song wasn’t loaded again. Maybe Renoise should send the"initial state" of the current song position any time the playback resumes for one time instead sending it when loading finished?

No, this is and should not be necessary. What you are after is a way to manually send the current state to the device. This would solve the root of this problem:

Sending out the complete state every time you navigate around in the song looks like complete overkill to me too. IF we consider this, then it should only do so after panic or when starting to play.

No no, this is a misunderstanding. I want Renoise to send the automation value if it’s in the graph, independant of the slider state that’s automated. I don’t understand why you see this is quite logical and common.

There are lots of situation where the current behaviour of Renoise leads into wrong sound settings:
For example if I reload the settings on the external device, manipulate the sound settings for testing. Lot of situations where the settings are not in sync anymore.
That’s why I now have to enter two slightly different values next to each other in the automation graph to ensure, the value will be set for sure.

If there is a point in the automation graph, it should be send. That simple is my understanding of this. Why there is a check that prevents the sending of the value, if it’s the same as the automated slider? As I described there are plenty of situations where the sound settings on external device will go out of sync. There is no instant 2-way communication for all parameters.

Would it hurt you, if Renoise will just send values if there is a point in the graph?

Please consider it. Thanks.

I think this does not solve the real problem. You can have no automation for a parameter too, and then also want to send Renoise’s MIDI Control device state to the external gear.
Or you have automation for a parameter but not in the current pattern. Then playing back the song still will do the wrong thing until you reach a pattern which actually has automation.

As said above: We do either need a “Send MIDI” button to manually sync the device, or should always send out all slider values when starting playback. Sending them every time you navigate around in the song is then not necessary and avoids any overhead.

Hi,

no,I just want Renoise to send a value if there is a point on the graph. That’s all. I would be happy. And there would be no problem for you, or didn’t I get the point?

Ok, maybe I am always thinking just of point mode in the graph and you also think of lines or curves.

Maybe a compromise would be to send the value one time after resume playing if there is a value in the graph.

I agree with Jurek it makes sense.

Imagine three patterns.

  1. Some intro stuff, ends with parameter X at setting Y.
  2. Looped pattern for live improvisation, where you will be changing parameters (including X) on the synth’s surface.
  3. Continued, programmed part, where the initial automations are to bring it back to as left in [1].

According to Jurek this would not be set back and thus would not be good. If you have a point in the automation what reason not to send it?

It is a bit strange, yes. But again: This does not solve the problem in general. This would only be a workaround for the very special scenario/problem that you currently have. As soon as there is automation present in a few patterns only, or no automation at all, or you are using interpolated automation, this does not “fix” anything.

Sorry, but the only thing we can do now is trying to add such a “manual send” to one of the next Renoise updates. We won’t be able to change/add this to the Renoise 2.8 release.

I have run into this issue as well. For me, it seems logical that if I program a few points to send the same CC value, I expect CC to be sent at all these points. Not as much of an issue now that CC at startup bug have been fixed, but still…

Edit: I do all my tweaking through Renoise but Kazakore describes a very valid scenario.

I would LOVE this to be implemented.

At the moment, as far as I can tell, MIDI CC values are only sent if they’re being changed.

A manual ‘resend CC values’ button would seriously streamline my workflow. Cause at the moment, it’s pretty frustrating having to resend all the values everytime I load a project, and after 2hours of using the project. And I have 180+ CC values going on this FM synth, so it’s impractical to program them in.