[alsa-devel] Controlling the Tascam FW-1884
Scott Bahling
sbahling at suse.com
Sun Oct 14 21:09:27 CEST 2018
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-take3
> - https://github.com/takaswie/libhinawa/tree/topic/tascam-userspace-take3
>
> 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
More information about the Alsa-devel
mailing list