sequencer64
sequencer64 copied to clipboard
Midi Clock Input
This might be a stupid question, but i just dont get how to do it. I want to sync my stuff with seq64 and for reasons (one of the devices just provide clock output) i need to make seq64 listen to the midi clock. how to do this? is it possible?
Okay, it seems like i just need to activate the port where the midi clock signal arrives in the midi input settings, is that right? But it does not change the speed of seq64 if the device, sending the midi clock, runs on another speed. but i think this would need midi timecode, right?
I will have to check when I have a chance. I know it outputs it. I am at Great Clips :-)
On Feb 2, 2018 13:49, "Georg Krause" [email protected] wrote:
Okay, it seems like i just need to activate the port where the midi clock signal arrives in the midi input settings, is that right?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ahlstromcj/sequencer64/issues/134#issuecomment-362669455, or mute the thread https://github.com/notifications/unsubscribe-auth/AHnVqNxHCWH0-1Fh8TK2CkHpeYhkPje0ks5tQ1bMgaJpZM4R3h9S .
great clips?
A haircut place.
-------- Georg Krause 11:15 Fri 02 Feb --------
great clips?
— You are receiving this because you commented. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.
Reverse link: [3]unknown
References
Visible links
- https://github.com/ahlstromcj/sequencer64/issues/134#issuecomment-362678938
- https://github.com/notifications/unsubscribe-auth/AHnVqIyBS45OaXjP2r8p6F6e9eB-JMttks5tQ17ogaJpZM4R3h9S
- https://github.com/ahlstromcj/sequencer64/issues/134#issuecomment-362678938
-- You will be run over by a beer truck.
hope you enjoyed it.
I think so. Seq64 (and seq24, etc.) read MIDI Start, Stop, Clock, Continue, and Song Position and use them.
However, I have not done a lot of testing with how they work, too much else going on.
Let me know if you get any good results. Thanks!
Chris
-------- Georg Krause 18:49 Fri 02 Feb --------
Okay, it seems like i just need to activate the port where the midi clock signal arrives in the midi input settings, is that right?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.
Reverse link: [3]unknown
References
Visible links
- https://github.com/ahlstromcj/sequencer64/issues/134#issuecomment-362669455
- https://github.com/notifications/unsubscribe-auth/AHnVqNxHCWH0-1Fh8TK2CkHpeYhkPje0ks5tQ1bMgaJpZM4R3h9S
- https://github.com/ahlstromcj/sequencer64/issues/134#issuecomment-362669455
-- Do not sleep in a eucalyptus tree tonight.
Anyone had any luck with this? I'd dearly love to control the BPM via an external MIDI clock source. I can't get seq24 or seq64 to pay any attention to any external clock source.
I am kind of tied up right now. If you want, can you read the top banner of
perform.cpp? It talks about MIDI CLOCK; maybe you can see what the problem
might be. Also can scan perform::input_func() for gotchas. Thanks!
Also see if ALSA and JACK exhibit the same issue. Thanks again!
-------- Tim Deagan 15:01 Sat 01 Sep --------
Anyone had any luck with this? I'd dearly love to control the BPM via an external MIDI clock source. I can't get seq24 or seq64 to pay any attention to any external clock source.
— You are receiving this because you commented. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.
References
Visible links
- https://github.com/ahlstromcj/sequencer64/issues/134#issuecomment-417890100
- https://github.com/notifications/unsubscribe-auth/AHnVqKBh75-Tf4lSWNXBqk8UMbs69cSkks5uWwPAgaJpZM4R3h9S
-- By trying we can easily learn to endure adversity. Another man's, I mean. -- Mark Twain
Cool! Thanks! I've started looking at it and around line 5190:
else if (ev.get_status() == EVENT_MIDI_CLOCK)
{
if (m_midiclockrunning)
m_midiclocktick += SEQ64_MIDI_CLOCK_INCREMENT; // 8
}
It looks like it ought to be recognizing the clock input as long as EVENT_MIDI_CLOCK is happily defined (described correctly as F8 in event.hpp) and m_midiclockrunning is TRUE. That's taking longer to tease out but it looks to be handled primarily in perform::input_func ().
I'll try both ALSA and JACK, but I'm still in that weird situation where I can only run the -ed -rm build and only under gdb. -er -rm build starts happily but displays no window, -ed -rm without gdb seg faults. The -er -am build does the same thing. The -ed -rm build isn't happy with a lot of BPM stuff (doesn't reset tap detect after 5 sec, sometimes won't go above 2 BPM when tapping,) so not sure if it's frustrated about clock stuff or other issues. Will continue to test.
thanks! I'll update with my findings.
I'm kinda kludgy with gdb, but it looks like the lines in perform::input_func that set m_midiclockrunning to TRUE (perform.cpp:5167 or perform.cpp:5172) don't get executed at any point. Apparently, nothing I'm doing is sending an EVENT_MIDI_START or EVENT_MIDI_CONTINUE.
It's definitely evaluating ev.get_status() == EVENT_MIDI_CLOCK
as TRUE (getting 0xF8) and running the if statement at 5190, but when it fins ,_midiclockrunning to be FALSE, it bails out.
Will look into that after the wine wears off. Thanks so much!
On Sun, Sep 2, 2018, 14:57 Tim Deagan [email protected] wrote:
I'm kinda kludgy with gdb, but it looks like the lines in perform::input_func that set m_midiclockrunning to TRUE (perform.cpp:5167 or perform.cpp:5172) don't get executed at any point. Apparently, nothing I'm doing is sending an EVENT_MIDI_START or EVENT_MIDI_CONTINUE.
It's definitely evaluating ev.get_status() == EVENT_MIDI_CLOCK as TRUE (getting 0xF8) and running the if statement at 5190, but when it fins ,_midiclockrunning to be FALSE, it bails out.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ahlstromcj/sequencer64/issues/134#issuecomment-417952294, or mute the thread https://github.com/notifications/unsubscribe-auth/AHnVqNVDzfp_S1KYbB8Bcw-JC8AleXAuks5uXCougaJpZM4R3h9S .
< less important than enjoying wine> I'm generating my midiclock signal from a KORG KAOSS Pad KP3. It's handy because I'm already using it in my setup, has a nice tap function and can even guestimate BPM (and set MIDI clock,) from input audio.
The downside appears to be that it only sends the MIDI Realtime messages for Start, Continue & Stop when operating from an external clock source. When operating on internal clock it only sends the F8 timing clock message. Fraggle Rock!
I can find some other MIDI clocks to test with or whip one up with an Arduino if need be. Not sure if this represents such a special case (F8 only,) that it's not worth pursuing in code.
[edit] hmmm, it turns out that it's not 'external' clock that send start, stop,etc., it's 'external control'. I have to set some stuff up using the computer/KP3 editor, but apparently I can assign start and stop to buttons on the KP3. Investigating.
</less important than enjoying wine>
After much legacy grief with the KP3 (darn thing won't read SDHC cards,) I got it producing START and STOP messages. Seq64 now responds and uses the MIDI clock the KP3 produces!! It does not, however, change the BPM counter, so this may be confusing.
Sigh. It's always something.
Apparently, the 'External Control' mode I have to put the KP3 into to get it to send START and STOP turns off its effects (it becomes strictly a MIDI controller, not an effect box which is its real purpose in life.) Gack.
Clearly, I just need to build a little Arduino device to send the specific set of necessary START, STOP and CLOCK messages I want.
It might be worth putting in a flag that lets any incoming MIDI Clock turn on the midiclockrunning flag. I'll let that brew (some might say "fester") overnight. Thanks for your work! These corner cases are nice to investigate and, perchance, solve!
-------- Tim Deagan 14:54 Sun 02 Sep --------
Sigh. It's always something.
Apparently, the 'External Control' mode I have to put the KP3 into to get it to send START and STOP turns off its effects (it becomes strictly a MIDI controller, not an effect box which is its real purpose in life.) Gack.
Clearly, I just need to build a little Arduino device to send the specific set of necessary START, STOP and CLOCK messages I want.
— You are receiving this because you commented. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.
References
Visible links
- https://github.com/ahlstromcj/sequencer64/issues/134#issuecomment-417962472
- https://github.com/notifications/unsubscribe-auth/AHnVqEcQpOQtdl__94wSQHtlRpfFkYLdks5uXFOkgaJpZM4R3h9S
-- Cheer Up! Things are getting worse at a slower rate.