MIDI stands for Musical Instrument Digital Interface, and it enables electronic musical instruments, computers, and other equipment to communicate, control, and synchronize with each other. Fluxus can receive MIDI control change and note messages.
(display (midi-info))(newline) (midi-init 1) (define (midi-test) (with-state (scale (vector (+ 1 (midi-ccn 0 1)) (+ 1 (midi-ccn 0 2)) (+ 1 (midi-ccn 0 3)))) (draw-cube))) (every-frame (midi-test))
Returns a list of two lists of (midi-port-number . midi-port-name-string) pairs
Returns information about the available MIDI input and output ports.
Example
(midi-info)
Returns void
Opens the specified MIDI input port.
Example
(midiin-open 1)
Returns void
Opens the specified MIDI output port.
Example
(midiout-open 1)
Returns void
Closes the MIDI input port opened.
Example
(midiin-close)
Returns void
Closes the MIDI outpu port opened.
Example
(midiout-close)
Returns controller-value-number
Returns the controller value.
Example
(midi-cc 0 1)
Returns controller-value-number
Returns the controller value normalised to the (0, 1) interval.
Example
(midi-ccn 0 1)
Returns #(on-off-symbol channel note velocity) or #f
Returns the next event from the MIDI note event queue or #f if the queue is empty.
Example
(midi-note)
Returns program-value-number
Returns the program value.
Example
(midi-program 0)
Returns msg-string
Returns the name, and event type, and parameter bytes of the last MIDI event as a string for debugging purposes.
Example
(display (midi-peek))(newline)
Returns void
Immediately send a single message out an open MIDI output port.
Example
(midiout-open 0) (midi-send 144 64 90) (sleep 1) (midi-send 128 64 40) (midiout-close)
Returns #(bar beat ticks)
Returns the current position given by MIDI clocks.
Example
(midiin-open 0) (midi-position) (midiin-close)
Returns clocks-per-beat-value-number
Returns the number of MIDI clocks per beat, depending on the time signature.
Example
(midi-clocks-per-beat)
Returns beats-per-bar-value-number
Returns the number of beats per bar, depending on the time signature.
Example
(midi-beats-per-bar)
Returns void
Sets the time signature Calling this function resets the song position.
Example
;set the signature to 3/4 (midi-set-signature 3 4)