On 09/08/11 15:22, Joe Emenaker wrote:
> 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.

Yeah it might turn out that a number of devices have to process all midi 
messages on the port regardless of who the message is addressed to.

> - 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...

If this was a live performance system it would be a critical issue 
getting smooth fader slides etc, however its just a patch editor, so 
possibly something as basic as "no control may update more often than 
every 100ms" could work well enough for our purposes across many devices.

> 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
>
I don't know if this is something the user should have to fiddle with - 
ideally we should be able to work it out once for each device, register 
the setting with the midi layer, and then get it right in perpetuity.

cheers,
Frankie

------------------------------------------------------------------------------
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