Jump to content

Question regarding External Midi


Go to solution Solved by Jordi Torres,

Recommended Posts

Hi!

Im looking to control an external synthesizer from logic but I am having trouble getting it to work.

What I am looking for:

I would preferably be able to create a preset in logic of an External Instrument which have a Smart Control surface that has a few knobs that controls my most used parameters on my synthesizer (ADSR on filter and volume, and filter controls).

Smart controls in logic can as far as I can see receive information via any parameter (easiest via "learn button"), but not send to that parameter. In the dropdown menu of Parameter Mapping in smart controls, I can find no possibility assign to a Midi CC nor does it receive information if I try using the "Learn" button in this section. (Se photo)

Does anyone here know how to do this, or perhaps a workaround?

For now, the only way I seem to be able to control my external synth is via Region Automation pointing to Midi CC 0->127 which is unlucky since I keep having to refer to the user manuel of that synth to see which Midi CC that corresponds to which parameter on the synth.

Thanks,

Joel

not so smart controls.png

Link to comment
Share on other sites

  • Solution

Hi @JoelMops,

1 hour ago, JoelMops said:

I would preferably be able to create a preset in logic of an External Instrument which have a Smart Control surface that has a few knobs that controls my most used parameters on my synthesizer (ADSR on filter and volume, and filter controls).

You could achieve this with the help of the Scripter MIDI FX plugin:

ScripterSmartControlsCCs.thumb.gif.5d228fa59c8b567f1d595dd0989889ec.gif

I'm attaching a project file from the above animated GIF that you could use. You can easily edit the script via the "Open Script in Editor" button to add more CC sliders:

const numberOfSliders = 4;  // Set the desired number of sliders

J.

ScripterSmartControlsCCs.logicx.zip

  • Like 2
Link to comment
Share on other sites

20 minutes ago, Frances O said:

Hi Jordi Torres

Your script sounds incredibly useful.

Downloaded your file but my LOGIC 10.4 is giving an error message that the file is not compatible with my program version.

Any possibility of getting a project version for older LOGIC prgs?

Hi Frances O, I can share the script on its own later own. However, let me which version of macOS you run, as some of the JS syntax I use in the script may be too modern for the version of JS in older versions of macOS.

J.

  • Like 1
Link to comment
Share on other sites

@Frances O,

Here you go, I think it should work fine as it is on Mojave:

const cc = new ControlChange();

function createCcSlider(name, defaultValue = 0) {
  return {
    name,
    type: 'linear',
    defaultValue,
    minValue: 0,
    maxValue: 127,
    numberOfSteps: 127,
  };
}

const numberOfSliders = 4; // Set the desired number of sliders
const ccSliders = [];

for (let i = 1; i <= numberOfSliders; i += 1) {
  ccSliders.push(createCcSlider(`${i} CC Number`, i));
  ccSliders.push(createCcSlider(`${i} CC Value`));
}

var PluginParameters = ccSliders;

function ParameterChanged(index, value) {
  if (index % 2 === 0) {
    // Handle CC Number slider changes
    // Do not send data here
    return;
  }

  // Handle CC Value slider changes
  const ccNumber = GetParameter(index - 1);
  const ccValue = GetParameter(index);
  cc.number = ccNumber;
  cc.value = ccValue;
  cc.send();
}

// Let MIDI messages pass through
function HandleMIDI(e) {
  e.send();
}

J.

Edited by Jordi Torres
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...