இந்தக் கட்டுப்பாட்டை மாற்றினால் இந்தப் பக்கம் தானாக மாற்றப்படும்

Create Scripter MIDI plug-in controls in Logic Pro for Mac

The following section outlines how you can use the Script Editor to create standard interface controllers such as sliders and menus for your Scripter plug-ins. The only mandatory property you have to define for a new parameter is “name”. This defaults to a basic slider. In addition, you can use further properties to change the type and behavior of controls.

Load the corresponding Tutorial setting to view the script in the Script Editor. This will help you to understand the syntax structure and layout of code and comments. See Use the Script Editor.

Optional properties

  • type: Type one of the following strings as the value:

    • “lin”: Creates a linear fader.

    • “log”: Creates a logarithmic fader.

    • “momentary”: Creates a momentary button.

    • “menu”: Creates a menu.

      The menu type requires an additional valueStrings property that is an array of strings to show in the menu. See Tutorial script 13.

  • defaultValue: Type an integer or floating point number to set a default value. If no value is typed, the default is 0.0.

  • minValue: Type an integer or floating point number to set a minimum value. If no value is typed, the default is 0.0.

  • maxValue: Type an integer or floating point number to set a maximum value. If no value is typed, the default is 1.0.

  • numberOfSteps: Type an integer number to define the number of steps.

  • unit: Type a string to present a unit description in the plug-in controls. If no value is typed, the default behavior is to display no unit.

  • text: Type text to create a divider or header in the plug-in UI.

Tutorial script 12: Slider Creation

In Logic Pro, type the following in the Script Editor window to create a slider named “Parameter x” with a default range of 0 to 1. It is set to the mid-point value of 0.5.

var PluginParameters = [{name:"Parameter x", defaultValue:0.5}];

Tutorial script 13: Slider Ranges

In Logic Pro, type the following in the Script Editor window to create a linear slider type, with five possible positions (steps), and a range from 0 to 5.

var PluginParameters = [{name:"Octaves", defaultValue:3, minValue:0, maxValue:5, numberOfSteps:5, unit:"octaves", type:"lin"}];

Tutorial script 14: Menu Creation

In Logic Pro, type the following in the Script Editor window to create a menu named “Range” with the options “Low”, “Mid”, and “High”.

var PluginParameters = [{name:"Range", type:"menu", valueStrings:["Low", "Mid", "High"]}];

Dynamically hide or show MIDI plug-in controls

In complex Logic Pro scripts, it may be helpful to hide or show parameter controls dynamically, such as for a menu item that lets you choose a group of controls to display. Type the following in the Script Editor window to create these controller types.

  • var PluginParameters = [{name:'uno'}, {name:'dos', hidden:true}];

    Call UpdatePluginParameters() to change this dynamically.

Retrieve plug-in parameter values

Call GetParameter() with the parameter name to return a value (number object) with the current value of the parameter. GetParameter() is typically used inside the HandleMIDI function or ProcessMIDI function.

In Logic Pro, this code example converts modulation events into note events and provides a slider to determine note lengths.

  • Text following /* shows comments that explain the JavaScript code.

    var PluginParameters = [{name:"Note Length", minValue:0, maxValue: 100, unit:"%"}]; /* create a slider (default range 0 - 100) */function HandleMIDI(event) {if(event instanceof ControlChange && event.number == 1) { /* if event is MIDI cc1 (modwheel) */var note = new NoteOn; /* create a NoteOn object */if(event.value == 0)/* because modwheel range is 0-127 and pitch range is 1-127, convert a modwheel value of 0 to 1 */event.value = 1;note.pitch = event.value; /* use cc value as note pitch */note.velocity = 100; /* use velocity 100 */note.send(); /* send note on */ var off = new NoteOff(note); /* create a NoteOff object that inherits the NoteOn pitch and velocity values */ var delayInBeats = GetParameter("Note Length")/100 + 0.1; /* retrieve the parameter value of the slider you created (add 0.1 to guarantee note on and off are not simultaneous) */ off.sendAfterBeats(delayInBeats); /* send note off after the length in beats is set via the slider */ }}

Download the guides:

Logic Pro User Guide: PDF

Logic Pro Instruments: PDF

Logic Pro Effects: PDF

Control Surfaces Support Guide: PDF

Morty Proxy This is a proxified and sanitized view of the page, visit original site.
உதவியாக இருந்ததா?
எழுத்தின் அளவு: 250
அதிகபட்ச எழுத்தின் அளவு: 250
உங்கள் கருத்திற்கு நன்றி.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.