[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