Releases: ravelox/pimidi
Improved idle CPU usage
This release changes some things under the hood to push CPU usage when idle from 100% down to nearly 0.
The original code was using select() as a timer rather than to poll for input. v0.5.1 corrects that.
As a result, the setting "network.socket_interval" is now "network.socket_timeout" which is a value in seconds and the default is 30s.
ALSA Support
This is a big release introducing ALSA support using the rawmidi interface. I've documented the new configuration options and also some simple testing procedures in raveloxmidi/README
There are a number of performance improvements and the configure script will auto-detect ALSA development libraries and rpmbuild and dpkg for building packages.
ControlChange events
This release handles ControlChange events on the local input port. To that end, I have replaced udp_client.py with a number of similar scripts for testing:
note_send.py
control_send.py
send100.py
send100.py will send a Note On, Note Off and ControlChange event 100 times. The intention being that it can be used for a poor man's version of volume testing.
Additionally, the file_mode default has been changed from 0700 to 0640 because subsequent executions of raveloxmidi would fail the security check on the file because of the executable permission when the file got created.
Finally the configuration item "network.note.port" has been renamed to "network.local.port" to reflect it is used for more than just MIDI Note events.
Segmented SysEx
This release handles segmented inbound SysEx events without crashing. Thanks to Felicia Hummel for discovering this.
Correct MIDI mapping
Merge with experimental branch to prepare for handling of outbound MIDI messages other than Note On/Off
Extra debugging statements
Corrected mapping of MIDI commands
Set file permissions
This release corrects some compilation errors when building under rpmbuild. It also introduces a file_mode config option to specify what permissions the inbound_midi file is created with.
Inbound MIDI events
This release will handle inbound MIDI events from a remote host and write them to a specified file. The intention is that the file handle is for a device capable of reading MIDI.
Read-only mode
This release adds a --readonly option to stop writing to the filesystem.
This was requested by Rajiv Deo
Working Windows connection
This release fixes up an issue with sending notes to a Windows machine.
Tested with rtpMIDI v1.1.6 and the demo version of FLStudio 11.
Thanks to Alessio Pomaro for highlighting the issue.
For those of you wanting to know the problem, it appears that rtpMIDI identifies the inbound connection based on the sending port. raveloxmidi previously sent data from a random source port. This fix sends all data from the port defined by the config item "network.data.port".
Please note that this release changes the names of two (2) config items:
network.rtpmidi.port is now network.control.port
network.rtsp.port is now network.data.port.
Working multiple connections
v0.2.1 Working multiple connections