[yoshimi] Here be dragons!

  • From: Will Godfrey <willgodfrey@xxxxxxxxxxxxxxx>
  • To: yoshimi@xxxxxxxxxxxxx
  • Date: Sun, 8 Jan 2017 19:51:51 +0000

In the latest master I have changed all the main part controls to make settings
only through the ring buffers. This is the only section that is complete and
easy to test. It includes all the visible part controls in the main window,
the mixer window, the controllers window and the knobs in the new MIDI CCs
window - these are now active.

It untangles a few of the convoluted paths the GUI goes through. The only
bug-ette that I know of is that enabling/disabling engines doesn't update the
main window or mixer background colours. I haven't yet worked out the best way
to do it.

Doing this wipes out two (of many) mutexes, and as far as I can tell works
correctly, although I had a couple of surprises. These controls still *read*
directly, but that is of less concern at the moment, and they will eventually
make read requests via the ring buffers instead.

Ideally I want to keep all GUI stuff inside the GUI, whereas the above used to
dodge backwards and forwards between the GUI and the synth. Quite a lot of
other stuff still does of course.

To improve overall efficiency a GUI sourced adjustment shouldn't get a message
back from the synth (unless there is a problem), but if a change has been made
by any other means, just the relevant parts of the GUI should be updated. So
using the GUI to change the volume to (say) 80 shouldn't send a message back
to redraw volume control at position 80. However, something like 'Reset All
Controllers' is debatable!

So there you go. Don't forget to keep you sword sharp :)

-- 
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] Here be dragons! - Will Godfrey