I have an ATMEGA 2560 platform running HIDUINO and a sketch based on the stock MIDI library. I'm intending to use it to convert Linear Timecode (LTC) to MTC. Got a long way through the project - LTC decoding working fine, timer configuration OK, and Midi output working fine. It's just that as soon as I try and generate MTC messages, they are being dropped before they land on the computer USB interface.

Equipment to hand: Macbook Pro running El Cap/Reaper and Protools., ATMEGA2560 MEGA R3 (With 16u2 for HIDUINO) and small audio interface circuit.

Using Timer 4 for LTC Decoding and Timer 5 for MTC generation (4 messages per LTC Frame).

Midi Monitor on the OSX box.

Sees Note on/Note off packets quite happily, but no MTC messages are registering.

I do note the TX LED is active during MTC Message generation, indicating that the sketch is actually generating messages and sending them to the 16u2 chip.

Specifically, my question is how do I get the MTC messages through HIDUINO into the computer?

https://pastebin.com/pAXyq04s

  • The code should be included inside the post, not via a link. – gre_gor Sep 5 '17 at 16:39
up vote 0 down vote accepted

The HIDUINO library supports only some MIDI message correctly; most System Common and System Real-Time message are buggy, and SysEx messages are not handled at all.

Try some other library, e.g., mocoLUFA.

  • Already there. sysEx much better in mocoLUFA but still no System Common. Working on modding mocoLUFA as we speak. – Mark Sep 6 '17 at 15:56

If you clone my fork of the code, I have got this working. https://github.com/mwr9uk/mocolufa

I have generated a pull request to merge it with mainline.

  • Is this really an answer? Please add some more explanation – MichaelT Nov 8 at 23:16
  • Yes. The OP experienced the problem of MTC messages not being passed through Hiduino. A subsequent poster suggested using MocoLUFA which also doesn't pass System Common messages, including MTC. I have added that support in a fork in the code of MocoLUFA as I needed it too. This will solve the OP's problem. – Matthew Rowe Nov 9 at 16:38

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.