Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Richter <stefanr@s5r6.in-berlin.de>
To: Jonathan Woithe <jwoithe@just42.net>
Cc: alsa-devel@alsa-project.org,
	linux1394-devel@lists.sourceforge.net, ffado-devel@lists.sf.net
Subject: Re: Echo Fireworks control protocol (was Re: Sample program for hwdep interface)
Date: Sun, 9 Feb 2014 15:51:45 +0100	[thread overview]
Message-ID: <20140209155145.2175d147@stein> (raw)
In-Reply-To: <20140209114228.GB15049@marvin.atrad.com.au>

On Feb 09 Jonathan Woithe wrote:
> On Sat, Feb 08, 2014 at 10:22:40PM +0900, Takashi Sakamoto wrote:
> > >I understood from Clemens' comments that ... the mixer applications are
> > >supposed to use firewire-cdev for all their other dealings with the audio
> > >devices.  (Clemens and Jonathan, correct me if I misunderstood or if I
> > >forgot other control and status I/O that is only possible with direct
> > >cooperation by the ALSA driver.)
> > 
> > I don't know his future plan. But according to his advices, my
> > current work is to focus on streaming driver. Currently the
> > functionality to control device's internal mixer should be
> > implemented in user-land application, not in ALSA drivers.
> 
> As per an earlier followup, the current intention is indeed to keep the
> mixer control in userspace.

Sure, definitely; my point was that the kernel ABI which userspace mixer
applications are going to use could be
  a) the ALSA hwdep interface, or
  b) the ALSA hwdep interface together with firewire-core's firewire-cdev
     interface,
but I understood that b) is the first choice.  Specifically, provide in
ALSA hwdep only the absolutely necessary interfaces and do as much as
possible via firewire-cdev.

In contrast, it can't be firewire-cdev alone because of streaming on/off
state influences what can be controlled, and because some devices embed
status into the isochronous stream (MotU? RME?), and because some devices
(which ones?) may have write-only registers, of which both streaming
driver and mixer application want to know what is being written there.
Furthermore, it can't be a kernel interface like sysfs or configfs because
of the complexity and variety of control protocols of FireWire audio
devices.
-- 
Stefan Richter
-=====-====- --=- -=--=
http://arcgraph.de/sr/

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk

  reply	other threads:[~2014-02-09 14:51 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-20 13:13 [RFC v2][PATCH 00/38] Enhancement for support of some firewire devices Takashi Sakamoto
2013-12-20 13:13 ` [PATCH 01/38] firewire-lib: Rename functions, structure, member for AMDTP Takashi Sakamoto
2013-12-20 13:13 ` [PATCH 02/38] firewire-lib: Add macros instead of fixed value " Takashi Sakamoto
2013-12-20 13:13 ` [PATCH 03/38] firewire-lib: Add 'direction' member to 'amdtp_stream' structure Takashi Sakamoto
2013-12-20 13:13 ` [PATCH 04/38] firewire-lib: Split some codes into functions to reuse for both streams Takashi Sakamoto
2013-12-20 13:13 ` [PATCH 05/38] firewire-lib: Add support for AMDTP in-stream and PCM capture Takashi Sakamoto
2013-12-20 13:13 ` [PATCH 06/38] firewire-lib: Add support for MIDI capture/playback Takashi Sakamoto
2013-12-20 13:13 ` [PATCH 07/38] firewire-lib: Give syt value as parameter to handle_out_packet() Takashi Sakamoto
2013-12-20 13:13 ` [PATCH 08/38] firewire-lib: Add support for duplex streams synchronization in blocking mode Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 09/38] firewire-lib: Add sort function for transmitted packet Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 10/38] firewire-lib: Add transfer delay to synchronized duplex streams Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 11/38] firewire-lib: Add support for channel mapping Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 12/38] firewire-lib: Rename macros, variables and functions for CMP Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 13/38] firewire-lib: Add 'direction' member to 'cmp_connection' structure Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 14/38] firewire-lib: Add handling output connection by CMP Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 15/38] firewire-lib: Add a new function to check others' connection Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 16/38] firewire-lib: Add some AV/C general commands Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 17/38] firewire-lib: Add quirks for Fireworks Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 18/38] fireworks: Add skelton for Fireworks based devices Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 19/38] fireworks: Add transaction and some commands Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 20/38] fireworks: Add connection and stream management Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 21/38] fireworks: Add proc interface for debugging purpose Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 22/38] fireworks: Add MIDI interface Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 23/38] fireworks: Add PCM interface Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 24/38] fireworks: Add hwdep interface Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 25/38] fireworks: Add command/response functionality into " Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 26/38] bebob: Add skelton for BeBoB based devices Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 27/38] bebob: Add commands and connections/streams management Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 28/38] bebob: Add proc interface for debugging purpose Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 29/38] bebob: Add MIDI interface Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 30/38] bebob: Add PCM interface Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 31/38] bebob: Add hwdep interface Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 32/38] bebob: Prepare for device specific operations Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 33/38] bebob: Add support for Terratec PHASE, EWS series and Aureon Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 34/38] bebob: Add support for Yamaha GO series Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 35/38] bebob: Add support for Focusrite Saffire/SaffirePro series Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 36/38] bebob: Add support for M-Audio usual Firewire series Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 37/38] bebob: Add support for M-Audio special " Takashi Sakamoto
2013-12-20 13:14 ` [PATCH 38/38] bebob: Send a cue to load firmware for M-Audio " Takashi Sakamoto
2013-12-20 14:46 ` Sample program for hwdep interface Takashi Sakamoto
2013-12-21 10:11   ` [FFADO-devel] " Jonathan Woithe
2013-12-21 13:48     ` Clemens Ladisch
2014-01-05 11:18     ` Takashi Sakamoto
2014-01-12 13:22       ` Stefan Richter
2014-01-12 15:26         ` Takashi Sakamoto
2014-02-02 13:58           ` Echo Fireworks control protocol (was Re: Sample program for hwdep interface) Stefan Richter
2014-02-08 13:22             ` Takashi Sakamoto
2014-02-09 11:42               ` Jonathan Woithe
2014-02-09 14:51                 ` Stefan Richter [this message]
2014-02-09 16:53                   ` Takashi Sakamoto
2014-02-09 22:29                   ` Jonathan Woithe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140209155145.2175d147@stein \
    --to=stefanr@s5r6.in-berlin.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=ffado-devel@lists.sf.net \
    --cc=jwoithe@just42.net \
    --cc=linux1394-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox