Made new M4L device, some good expertise welcome

gjvti's icon

Hello, this weekend I spent programming Max For Live MIDI message translator device.
This is my first work with Max For Live and I would appreciate any experts comments is there a way for optimization and maybe what I did wrong. Some design guidelines maybe. I'm not a programmer so don't expect me doing javascript coding. So far it looks like device for me works like intended - user can convert Midi Note Key numbers and Velocities to CC messages with some smoothing applied if desired. It also allows converting Aftertouch and Pitchbend to CC. CC values can be inverted. Pitchbend is split into upper and lower region, so separate CC with or without Spring behavior from upper and lower regions. It also allows passing MIDI data through if desired and when passing through It allows blocking separately Note, CC, Program Change, Touch and Pitchbend data. The weakest part I think, which could certainly be improved is Pirchbend data scaling (not very reliable, but I don't have a clue how to do that better). Also I'm not quite sure if graphical interface for message blocking works reliable in all situations, I'm not sure if the logic behind that is correctly reflecting current state of device.

Anyway your input is welcome.
zip file with device is attached.

Best,
Gunars

5503.GJMIDItoCCMAP.zip
zip