On 9/7/2011 10:54 PM, William Zwicky wrote:
> I worry that for some synths, the rate limiting is synth-specific.  Is there
> (or are you thinking of) a framework to plug rate limiting into?  Or would
> we need to implement a layer on top of sendSysex()?

It has been a while since I worked on the raw MIDI subsystem. But this 
is what I was thinking:
- It should be possible for individual synths to tell the MIDI layer 
their maximum speed. The MIDI layer probably knows what interface 
they're on (and could also know what synth they're sending a message on 
behalf of), so... if we're lucky, the speed would only be throttled for 
message to that specific synth. If we're not lucky, speed would be 
limited for that whole interface.
- Even if we *are* lucky and can limit the speed based upon the synth, 
there should *also* be a way for a synth to ask that the entire 
interface be speed-limited. This would be in cases where, even though 
the sysex (or other MIDI) traffic is not *targeted* to the slow synth, 
the slow synth still locks up when it sees the traffic going by.
- This would not be something we'd add to sendSysex(). We'd just add 
some new method in the MIDI layer for synthdrivers to ask for 
speed-limiting once and the MIDI layer would just honor that until it 
was asked for a new speed limit.

> As for UI controls, we definitely need a smart system for that.  If the user
> drags a slider from 0 to 100, we don't want to send 100 updates, just the
> few we actually have time for.

Oh, wow... you're right. That's a dicey problem. We'd kinda want to 
either have the widget not send an update when the user is moving the 
widget *fast*, but then, when they got close, to start sending then... 
or maybe only send when they released the widget. Actually, we probably 
want the user to indicate how "eager" the widgets are with some setting 
in the control panel.

- Joe

------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop 
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops?   How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
_______________________________________________
Jsynthlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jsynthlib-devel

Reply via email to