[yoshimi] Full Circle

  • From: Will Godfrey <willgodfrey@xxxxxxxxxxxxxxx>
  • To: yoshimi@xxxxxxxxxxxxx
  • Date: Sun, 6 Dec 2015 22:07:32 +0000

When Yoshimi was quite young, jack MIDI stability was very poor compared with
alsa. This is because jack is far more fussy about timing issues, and we were
directly sending data from the MIDI thread to the GUI one. Also some CCs could
be problematical - and program changes were liable to cause storms of Xruns
(there was no bank change at that time). Cal got round this by creating a new
jack MIDI thread and ring buffer. However, alsa rather got left behind.

After the recent improvements in response to the crash caused by badly formed
CC storms, I realised we now had completely detached gui updates from both
MIDI threads, and also the (potentially) stalling root, bank & program changes.
I wondered if the original ring buffer was now redundant. It seems it is!

The current 'master' has this removed. I've already tested it going via
a2jmidid and with both Ardour-4.4 and Muse-3. I'll try to see it it will break
on some of the other kit I've got, but it would be very helpful if others also
tried it out - especially on non-debian distros. It only affects jack MIDI so
if you are using alsa you won't see any difference anyway.

Finally, just in case it all collapses, I've set a tag on the previous
commit called simply 'peg' so you can easily get back to where we were.

For anyone that's interested all the code changes are in MusicIO/jackEngine.cpp
There is a lot of commented out code there now, but I won't tidy it up till
we're sure it's good.

--
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
Yoshimi source code is available from either:
http://sourceforge.net/projects/yoshimi
Or: https://github.com/Yoshimi/yoshimi
Our list archive is at: https://www.freelists.org/archive/yoshimi
To post, email to yoshimi@xxxxxxxxxxxxx

Other related posts:

  • » [yoshimi] Full Circle - Will Godfrey