new MidiOut( dhc, midi )

Description

The MidiOut class
Prepare the MIDI-OUT message and send them to the MIDI-OUT ports.

Parameters
Name Type Description
dhc HUM.DHC

The DHC instance to which it belongs

midi HUM.midi.MidiHub

The MidiHub instance to which it belongs

Details

Classes


new InstrumentSettings()

Members


dhc :HUM.DHC

Description

The DHC instance

Details

midi :HUM.midi.MidiHub

Description

The MidiHub instance

Details

settings :Object.<string, HUM.midi.MidiOut#InstrumentSettings>

Description

Temporary MIDI-OUT ports settings cache; keys are the output port IDs
(a little DB where to store the user's settings about the port)

Details

htmlMotModalContent :HTMLElement

Description

Get the "MIDI-OUT Tuning" HTML element and store to global

Details

Methods


updatesFromDHC( msg )

Description

Manage and route an incoming message

Parameters
Name Type Description
msg HUM.DHCmsg

The incoming message

Details

updateMidiOutUI()

Description

Update the MIDI-OUT Tuning UI
Create the UI to manage the MIDI port channels assignment

Details

chanSelect( event )

Description

What to do if a MIDI channel is selected in the MIDI-OUT PitchBend Method UI

Parameters
Name Type Description
event Event

OnClick event on the MIDI-OUT PitchBend Method channel checkboxes

Name Type Description
target Object

The event's target HTML element (could be just a namespace)

Name Type Description
value ChanAssignment

JSON string containing the informations about the assignment of the channel

Details

allNotesOff( mode )

Description

Try turning off all currently instruments' playing notes across all output used MIDI ports.

Parameters
Name Type Description
mode 'soft' | 'hard'

The way the command must be executed

Details

allNotesOffPort( portID, mode )

Description

Try turning off all currently instruments' playing notes on the given MIDI Channel.

Parameters
Name Type Description
portID string

The MIDI output Port id

mode 'soft' | 'hard'

The way the command must be executed

Details

allNotesOffChannel( portID, channel, mode )

Description

Try turning off all currently instruments' playing notes on the given MIDI Channel.

Parameters
Name Type Description
portID string

The MIDI output Port id

channel midichan

The Channel on that MIDI Port

mode 'soft' | 'hard'

The way the command must be executed

Details

sendMIDIoutPBrange( portID, type )

Description

Send the MIDI Pitch Bend Sensitivity (range) message over all the ports of a given Tone Type and MIDI Port

Parameters
Name Type Description
portID string

The MIDI-OUT port on which to send the message

type tonetype

If the ports to which the message should be sent are assigned to FTs or HTs

Details

makeMIDIoutNoteMsg( ch, state, note, velocity ) → {Array}

Description

Create a MIDI Note ON/OFF message

Parameters
Name Type Description
ch midichan

MIDI Channel to which the message should be sent

state 0 | 1

Note ON or OFF; 1 is Note-ON, 0 is Note-OFF

note midinnum

MIDI Note number (from 0 to 127)

velocity velocity

MIDI Velocity amount (from 0 to 127)

Returns
  • The MIDI Note ON/OFF message
Details

makeMIDIoutPitchBendMsg( ch, amount ) → {Array}

Description

Create a MIDI Pitch Bend Change message

Parameters
Name Type Description
ch midichan

MIDI Channel to which the message should be sent (from 0 to 15)

amount number

Pitch Bend amount (from 0 to 16383)

Returns
  • The MIDI Pitch Bend Change message
Details

updateMIDInoteON( type )

Description

Update the frequency of every sill pending Note-ON

Parameters
Name Type Description
type tonetype

If the notes/channels to be updated are the FT or HT ones.

Details

midiOut( ctrlNum, xtNum, velocity, state, type [, tsnap ] )

Description

For each selected MIDI-OUT Port,
prepare and send the MIDI-OUT message according to the selected MIDI-OUT Tuning Method of the port

Parameters
Name Type Attributes Default Description
ctrlNum midinnum

MIDI Note number of the original MIDI-IN message from the controller

xtNum xtnum

Outgoing FT or HT relative tone number

velocity velocity

MIDI Velocity amount (from 0 to 127) of the original MIDI-IN message from the controller

state 0 | 1

Note ON or OFF; 1 is Note-ON, 0 is Note-OFF

type tonetype

If the outgoing MIDI message is for FTs or HTs

tsnap boolean <optional>
false

If the note is managed by Tsnap

Details

sendMIDIoutPB( ctrlNum, xt, xtObj, velocity, state, type, portID [, tsnap ] )

Description

MIDI-OUT Tuning - PITCHBEND METHOD core
The main function to manage the multichannel poly-assignment and send the MIDI messages
This is to implement the "MIDI Channel Mode 4" aka "Guitar Mode" for outgoing messages

Parameters
Name Type Attributes Default Description
ctrlNum midinnum

MIDI Note number of the original MIDI-IN message from the controller

xt xtnum

Outgoing FT or HT relative tone number

xtObj HUM.DHC#Xtone

FT or HT object of the outgoing tone

velocity velocity

MIDI Velocity amount (from 0 to 127) of the original MIDI-IN message from the controller

state 0 | 1

Note ON or OFF; 1 is Note-ON, 0 is Note-OFF

type tonetype

If the outgoing MIDI message is for FTs or HTs

portID string

ID of the MIDI-OUT Port to send the message to

tsnap boolean <optional>
false

If the note is managed by Tsnap

Details