jazz-midi
jazz-midi copied to clipboard
Add support for Linux/arm64
I tried some initial compilation on a Raspberry Pi 4 (Linux/arm64). Compilation succeeds and the resulting binary seems to work, but there are some funny effects:
- It finds two extra non-existent input devices named
input - It finds two extra non-existent output devices also named
input - the change event keeps on triggering, alternating between adding and removing an output named
my_port
Test output:
> [email protected] test
> node test && mocha
jazz: {
MIDI: [Function: MIDI],
isJazz: true,
version: '1.5.2',
MidiInInfo: [Function: MidiInInfo],
MidiInList: [Function: MidiInList],
MidiOutInfo: [Function: MidiOutInfo],
MidiOutList: [Function: MidiOutList],
Support: [Function: Support],
Time: [Function: Time]
}
midi: MIDI {}
System: linux arm64
jazz.version: 1.5.2
midi.version: undefined
jazz.isJazz: true
midi.isJazz: undefined
jazz.MidiOutList(): [ 'Midi Through Port-0', 'input', 'input' ]
midi.MidiOutList(): [ 'Midi Through Port-0', 'input', 'input' ]
jazz.MidiInList(): [ 'Midi Through Port-0', 'input', 'input' ]
midi.MidiInList(): [ 'Midi Through Port-0', 'input', 'input' ]
jazz.Support(): [
'ClearMidiIn', 'MidiInClose',
'MidiInInfo', 'MidiInList',
'MidiInOpen', 'MidiOut',
'MidiOutClose', 'MidiOutInfo',
'MidiOutList', 'MidiOutLong',
'MidiOutOpen', 'MidiOutRaw',
'Support', 'Time'
]
midi.Support(): [
'ClearMidiIn', 'MidiInClose',
'MidiInInfo', 'MidiInList',
'MidiInOpen', 'MidiOut',
'MidiOutClose', 'MidiOutInfo',
'MidiOutList', 'MidiOutLong',
'MidiOutOpen', 'MidiOutRaw',
'Support', 'Time'
]
midi.out: true
midi.in: true
Out: 0 [ 'Midi Through Port-0', '', '0.0' ]
Out: 0 [ 'Midi Through Port-0', '', '0.0' ]
Out: 1 [ 'input', '', '0.0' ]
Out: 1 [ 'input', '', '0.0' ]
Out: 2 [ 'input', '', '0.0' ]
Out: 2 [ 'input', '', '0.0' ]
In: 0 [ 'Midi Through Port-0', '', '0.0' ]
In: 0 [ 'Midi Through Port-0', '', '0.0' ]
In: 1 [ 'input', '', '0.0' ]
In: 1 [ 'input', '', '0.0' ]
In: 2 [ 'input', '', '0.0' ]
In: 2 [ 'input', '', '0.0' ]
Testing: Midi Through Port-0 - OK!
Manufacturer:
version: 0.0
Testing: input - Cannot open!
Testing: input - Cannot open!
Node: 20.16.0
process.platform: linux
process.arch: arm64
jazz: {
MIDI: [Function: MIDI],
isJazz: true,
version: '1.5.2',
MidiInInfo: [Function: MidiInInfo],
MidiInList: [Function: MidiInList],
MidiOutInfo: [Function: MidiOutInfo],
MidiOutList: [Function: MidiOutList],
Support: [Function: Support],
Time: [Function: Time]
}
midi: MIDI {}
MT: {
MidiSrc: [Function: MidiSrc],
MidiDst: [Function: MidiDst],
version: '1.3.1'
}
✔ Info
1 passing (17ms)
Change events:
{
"inputs": {
"added": [],
"removed": []
},
"outputs": {
"added": [
{
"id": "my_port",
"name": "my_port",
"manufacturer": "",
"version": "0.0",
"engine": "node"
}
],
"removed": []
}
}
{
"inputs": {
"added": [],
"removed": []
},
"outputs": {
"added": [],
"removed": []
}
}
{
"inputs": {
"added": [],
"removed": []
},
"outputs": {
"added": [],
"removed": [
{
"id": "my_port",
"name": "my_port",
"manufacturer": "",
"version": "0.0",
"engine": "node"
},
{
"id": "my_port",
"name": "my_port",
"manufacturer": "",
"version": "0.0",
"engine": "node"
}
]
}
}