Vst Or Midi -Hydra

This is stupidity.

If I want to control VST instrument params with Hydra, I have to map Automation Device to VST inst. and then map Hydra sliders to Automation Device sliders. Why cannot I just bind Hydra with VST and load Automation Device preset into it?

Anyone?

me. there is alot of things in renoise that have made lil bit awkward to use…like this one kameleontti pointed out.

:yeah: :yeah: :yeah: :yeah: :yeah:

Because that is not the job of the Hydra device.

The Hydra Device is there to interface with internal Renoise parameters.

The Automation Device is there to interface with VSTi plug-in parameters.

Each device is a tool to perform a specific task, and to perform it as efficiently as possible. You connect these small, specialised tools into a larger chain to get the overall job done. If you start mixing up the functionality of all the devices, then where does it end?

I personally like to connect a Signal Follower to a Gainer for some side-chain style action, so why not combine these two devices as well?

I also love to connect a Key-Tracking Device or Velocity Device to an LFO Device so that I can reset the LFO when a note triggers, so why don’t we add Key-Tracking and Velocity detection to the LFO as well? Come to think of it, I’m always controlling VSTi parameters with an LFO, so let’s make the LFO device be able to bind to VSTi’s as well. In fact, while we’re at it, just add all the functionality of the Hydra into the LFO!

I’m being silly now, but do you see where I’m going? Everybody has their own ideas for how each device should perform, depending on how they personally like to work. If every idea was crammed into every device, it would quickly become a huge mess. The only real way to approach this sensibly and keep everyone happy, is to provide a wide range of useful small devices, and then give us the ability to connect them together ourselves however we want… which is exactly what Renoise does now.

Tip: If you set up your basic Hydra + Automation Device and then save that DSP chain, you should be able to easily reload it into other tracks in the future. All the hard work of mapping the Hydra parameters to the Automation Device parameters will already be done for you at that point, so you simply have to choose the correct VSTi plug-in from the Automation Device and it’s ready to go.

Download:
http://illformed.org/temp/Hydra-Automation-Device.xrnt

XML:

<?xml version="1.0" encoding="UTF-8"?>  
<FilterDeviceChainClipboard doc_version="0">  
 <DeviceContainerSlot type="SequencerTrackDeviceChain">  
 <Devices>  
 <SequencerTrackDevice type="SequencerTrackDevice">  
 <IsActive>true</IsActive>  
 <IsSelected>false</IsSelected>  
 <SelectedPresetName>Init</SelectedPresetName>  
 <SelectedPresetIsModified>false</SelectedPresetIsModified>  
 <IsMaximized>true</IsMaximized>  
 <Panning>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </Panning>  
 <Volume>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Volume>  
 <Surround>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Surround>  
 <PostPanning>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </PostPanning>  
 <PostVolume>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </PostVolume>  
 </SequencerTrackDevice>  
 <HydraDevice type="HydraDevice">  
 <IsActive>true</IsActive>  
 <IsSelected>true</IsSelected>  
 <SelectedPresetName>Init</SelectedPresetName>  
 <SelectedPresetIsModified>true</SelectedPresetIsModified>  
 <IsMaximized>true</IsMaximized>  
 <VisiblePages>2</VisiblePages>  
 <InputValue>  
 <Value>0.5</Value>  
 <Visualization>Mixer and Device</Visualization>  
 </InputValue>  
 <Out1DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </Out1DestTrack>  
 <Out1DestEffect>  
 <Value>2</Value>  
 <Visualization>Device only</Visualization>  
 </Out1DestEffect>  
 <Out1DestParameter>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out1DestParameter>  
 <Out1Min>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out1Min>  
 <Out1Max>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out1Max>  
 <Out1Scaling>Linear</Out1Scaling>  
 <Out2DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </Out2DestTrack>  
 <Out2DestEffect>  
 <Value>2</Value>  
 <Visualization>Device only</Visualization>  
 </Out2DestEffect>  
 <Out2DestParameter>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out2DestParameter>  
 <Out2Min>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out2Min>  
 <Out2Max>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out2Max>  
 <Out2Scaling>Linear</Out2Scaling>  
 <Out3DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </Out3DestTrack>  
 <Out3DestEffect>  
 <Value>2</Value>  
 <Visualization>Device only</Visualization>  
 </Out3DestEffect>  
 <Out3DestParameter>  
 <Value>2</Value>  
 <Visualization>Device only</Visualization>  
 </Out3DestParameter>  
 <Out3Min>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out3Min>  
 <Out3Max>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out3Max>  
 <Out3Scaling>Linear</Out3Scaling>  
 <Out4DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </Out4DestTrack>  
 <Out4DestEffect>  
 <Value>2</Value>  
 <Visualization>Device only</Visualization>  
 </Out4DestEffect>  
 <Out4DestParameter>  
 <Value>3</Value>  
 <Visualization>Device only</Visualization>  
 </Out4DestParameter>  
 <Out4Min>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out4Min>  
 <Out4Max>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out4Max>  
 <Out4Scaling>Linear</Out4Scaling>  
 <Out5DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </Out5DestTrack>  
 <Out5DestEffect>  
 <Value>2</Value>  
 <Visualization>Device only</Visualization>  
 </Out5DestEffect>  
 <Out5DestParameter>  
 <Value>4</Value>  
 <Visualization>Device only</Visualization>  
 </Out5DestParameter>  
 <Out5Min>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out5Min>  
 <Out5Max>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out5Max>  
 <Out5Scaling>Linear</Out5Scaling>  
 <Out6DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </Out6DestTrack>  
 <Out6DestEffect>  
 <Value>2</Value>  
 <Visualization>Device only</Visualization>  
 </Out6DestEffect>  
 <Out6DestParameter>  
 <Value>5</Value>  
 <Visualization>Device only</Visualization>  
 </Out6DestParameter>  
 <Out6Min>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out6Min>  
 <Out6Max>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out6Max>  
 <Out6Scaling>Linear</Out6Scaling>  
 <Out7DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </Out7DestTrack>  
 <Out7DestEffect>  
 <Value>2</Value>  
 <Visualization>Device only</Visualization>  
 </Out7DestEffect>  
 <Out7DestParameter>  
 <Value>6</Value>  
 <Visualization>Device only</Visualization>  
 </Out7DestParameter>  
 <Out7Min>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out7Min>  
 <Out7Max>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out7Max>  
 <Out7Scaling>Linear</Out7Scaling>  
 <Out8DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </Out8DestTrack>  
 <Out8DestEffect>  
 <Value>2</Value>  
 <Visualization>Device only</Visualization>  
 </Out8DestEffect>  
 <Out8DestParameter>  
 <Value>7</Value>  
 <Visualization>Device only</Visualization>  
 </Out8DestParameter>  
 <Out8Min>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out8Min>  
 <Out8Max>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out8Max>  
 <Out8Scaling>Linear</Out8Scaling>  
 <Out9DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </Out9DestTrack>  
 <Out9DestEffect>  
 <Value>2</Value>  
 <Visualization>Device only</Visualization>  
 </Out9DestEffect>  
 <Out9DestParameter>  
 <Value>8</Value>  
 <Visualization>Device only</Visualization>  
 </Out9DestParameter>  
 <Out9Min>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out9Min>  
 <Out9Max>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Out9Max>  
 <Out9Scaling>Linear</Out9Scaling>  
 </HydraDevice>  
 <InstrumentAutomationDevice type="InstrumentAutomationDevice">  
 <IsActive>true</IsActive>  
 <IsSelected>false</IsSelected>  
 <SelectedPresetName>Init</SelectedPresetName>  
 <SelectedPresetIsModified>true</SelectedPresetIsModified>  
 <IsMaximized>true</IsMaximized>  
 <ParameterNumber0>0</ParameterNumber0>  
 <ParameterValue0>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue0>  
 <ParameterNumber1>1</ParameterNumber1>  
 <ParameterValue1>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue1>  
 <ParameterNumber2>2</ParameterNumber2>  
 <ParameterValue2>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue2>  
 <ParameterNumber3>3</ParameterNumber3>  
 <ParameterValue3>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue3>  
 <ParameterNumber4>4</ParameterNumber4>  
 <ParameterValue4>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue4>  
 <ParameterNumber5>5</ParameterNumber5>  
 <ParameterValue5>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue5>  
 <ParameterNumber6>6</ParameterNumber6>  
 <ParameterValue6>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue6>  
 <ParameterNumber7>7</ParameterNumber7>  
 <ParameterValue7>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue7>  
 <ParameterNumber8>8</ParameterNumber8>  
 <ParameterValue8>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue8>  
 <ParameterNumber9>9</ParameterNumber9>  
 <ParameterValue9>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue9>  
 <ParameterNumber10>10</ParameterNumber10>  
 <ParameterValue10>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue10>  
 <ParameterNumber11>11</ParameterNumber11>  
 <ParameterValue11>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue11>  
 <ParameterNumber12>12</ParameterNumber12>  
 <ParameterValue12>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue12>  
 <ParameterNumber13>13</ParameterNumber13>  
 <ParameterValue13>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </ParameterValue13>  
 <LinkedInstrument>0</LinkedInstrument>  
 <VisiblePages>3</VisiblePages>  
 </InstrumentAutomationDevice>  
 </Devices>  
 </DeviceContainerSlot>  
</FilterDeviceChainClipboard>  

.

True and I agree with you. The ability to bind devices together into a single skin (as in it shares an interface with a single Expand/Collapse button etc) with the ability to select which controls are nominally visible without fully expanding would solve a lot of these combining DSP requests. Presets would be which devices are contained, in which order and which sliders are visible (and I guess also presets/settings of devices within as well.)

Yay. That’s been on my wish-list for ages. The original sugestion rose from obvious observation: I modulate parameter modulation device modulating VST parameters with parameter modulation device. I see redundance at some point of the chain. Now when I think of it the way dBlue put it, seeing Automation Device as interface device, the current functionality gains some basis. It feel stupid nevertheless to chain those devices, because VST Interface Device practically does nothing more than what coul be achieved by Hydra alone. Of course same applies to every modulation device, but Hydra is an interface device also, because it needs input to do modulation. Where is the line?

They’re both different types of devices designed for rather different tasks. It’s true that they both deal with “parameters” at a basic level, but the Hydra really has nothing to do with VSTi plugins beyond that fact.

The Hydra Device is designed to link one input parameter to multiple output parameters and control them all simultaneously. It is not designed to let you control each output parameter individually, because what would be the point to that, when you can just control the actual DSP device parameter itself directly in the normal way?

The Automation Device is designed to take the internal parameters of a VSTi instrument, which are normally not accessible, and then make them available to you in the form of standard Renoise parameters which can be linked to all of the other meta devices.

If we take the Hydra Device and add the ability to bind it to a VSTi, it is still not the same as the Automation Device, because the Hydra does not allow individual control over the output parameters. If I’m controlling a VSTi, then I might want to automate 8 different parameters all at different times. How am I supposed to do that with the Hydra, when it only offers 1 input parameter that I can automate? The Automation Device, on the other hand, would allow access to all 8 parameters I’m interested in.

If I were in a situation where I wanted to automate 2 or 3 VSTi parameters all at once from a single control - such as filter cutoff and resonance, for example - then I would use the Hydra Device (connected to an Automation Device, of course) for this, because that’s exactly its purpose - the “one to many” concept. But again, this has nothing to do with VSTi, and those 2 or 3 parameters could effectively be anything I want.

PS… re: grouping multiple devices into one combined device that is easier to manage, I am 100% behind this idea :)

See some other threads, such as this one

.

Yeah I know there are a few, I know I’ve mentioned it here a few times since first reading it. Sorry I can’t remember who to give the props to for the idea in the first place.

Think maybe the issue may be more the Automation Device (and arguably the MIDI Device) and a bit clunky and should be needed. It’s down to the way Instruments work in Renoise. You have access to any parameters of effects (VSTfx or whatever) direct from the Hydra and related devices but with soft synths you do not.

Of course Renoise would either have to bind Instruments to Tracks, so its parameters show up on such devices in this/these track(s) or so every single Insutrments available parameters at all times.

Personally I think, even though the current arrangement requires an additional device, in the overall it is neater and stop any unnecessary limitations (for eg you could have a dedicated Automation track for a VSTi but then play it through different Tracks for different effects (alternative to using multiple Sends or switching devices on and off.) The Automation Device is also quite nice that it means you select a few parameters to show up in the Automation window. Without it you would have lists miles long of parameters you are unlikely to want to change (and again does every Instrument show up in every Track or do you manually bind them.)

As you can tell I am against this idea but very strongly for one that lets us combine DSPs!

Doh. I just fucked my reply. In short:

  1. The idea was to include VSYi’s to CH list in Hydra, not to replace AD.
  2. I see your points. Agreed.
  3. +1 for DSP Sub-chains thread.