On Sat, 2018-10-13 at 19:40 +0900, Takashi Sakamoto wrote:
For FW-1082 these quadlets includes value of movable fader as well, however unlike FW-1884 they have fluctuate quirk. So I think it reasonable for us to program this module to ignore them.
Ah, understood.
Instead, let us program applications so that they call 'hinawa_snd_tscm_get_status()' periodically to get current value of these faders between touch and untouch event on quadlet 05? This take applications to consume CPU time more efficiently than handling many events.
That should work.
...
Well, as a result, ALSA firewire-tascam driver handles 'edge-trigge' events except for jog wheel and knobs. For this kind of event, it's useful to notify before/after value when emitting notification. So I'd like to change structure passed to UAPI so that:
struct snd_firewire_tascam_control { unsigned int index;
__u32 flags;
__u32 before;
};__u32 after;
Would I request your opinion? You can see patches here:
https://github.com/takaswie/snd-firewire-improve/tree/topic/tascam-userspace...
You can receive 'control' event of 'HinawaSndTscm' GObject with these two values:
...
Sounds reasonable. For state change detection, I currently store the "before" state of each control in my application. Your new driver implementation will mean not needing to maintain my own state structures for that purpose.
I will try it out in the next few days.
Thanks!
Scott