X
Table Of Contents
- Logic Pro X Effects
- Contents
- Chapter 1: Amps and pedals
- Chapter 2: Delay effects
- Chapter 3: Distortion effects
- Chapter 4: Dynamics processors
- Chapter 5: Equalizers
- Chapter 6: Filter effects
- Filter effects overview
- AutoFilter
- EVOC 20 Filterbank
- EVOC 20 TrackOscillator
- EVOC 20 TrackOscillator overview
- Vocoder overview
- EVOC 20 TrackOscillator interface
- EVOC 20 TrackOscillator analysis in parameters
- Use EVOC 20 TrackOscillator analysis in
- EVOC 20 TrackOscillator U/V detection parameters
- EVOC 20 TrackOscillator synthesis in parameters
- EVOC 20 TrackOscillator oscillators
- EVOC 20 TrackOscillator formant filter
- EVOC 20 TrackOscillator modulation
- EVOC 20 TrackOscillator output parameters
- Fuzz-Wah
- Spectral Gate
- Chapter 7: Imaging processors
- Chapter 8: Metering tools
- Chapter 9: MIDI plug-ins
- Chapter 10: Modulation effects
- Chapter 11: Pitch effects
- Chapter 12: Reverb effects
- Chapter 13: Space Designer convolution reverb
- Chapter 14: Specialized effects and utilities
- Chapter 15: Utilities and tools
- Appendix: Legacy effects
Chapter 9 MIDI plug-ins 192
•
TimingInfo.rightCycleBeat: A oating point number indicates the beat position at the end of the
cycle range.
Note: The length of a beat is determined by the host application time signature and tempo.
Print the beat position while the transport is running
m Type the following in the Script Editor window:
var NeedsTimingInfo = true;
function ProcessMIDI() {
var info = GetTimingInfo();
if (info.playing)
Trace(info.beat)
}
Use the JavaScript MIDI object
The MIDI object contains a number of convenient and easy to use functions that can be used
when writing your scripts.
Note: The MIDI object is a property of the global object, which means that you do not instantiate
it but access its functions much like you would the JavaScript Math object. An example is calling
MIDI.allNotesO() directly.
MIDI object properties
Use the following method names and arguments to perform these functions:
•
noteNumber(string name): Returns the MIDI note number for a given note name. For example:
C3 or B#2.
Note: You cannot use ats in your argument. Use A#3, not Bb3.
•
noteName(number pitch): Returns the name (string) for a given MIDI note number.
•
ccName(number controller): Returns the controller name (string) for a given controller number.
•
allNotesO(): Sends the all notes o message on all MIDI channels.
•
normalizeStatus(number status): Normalizes a value to the safe range of MIDI status bytes
(128–239).
•
normalizeChannel(number channel): Normalizes a value to the safe range of MIDI channels
(1–16).
•
normalizeData(number data): Normalizes a value to the safe range of MIDI data bytes (0–127).
Pass events through and send all notes o message when receiving controller 20
Type the following in the Script Editor window:
function HandleMIDI(e) {
e.send();
if (e instanceof ControlChange && e.number == 20)
MIDI.allNotesOff();
}