alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Mack <daniel@caiaq.de>
To: wdev@foltman.com
Cc: alsa-devel@alsa-project.org, patch@alsa-project.org
Subject: Re: [PATCH 1/1] ALSA: usb-audio: add support for Akai MPD16
Date: Tue, 18 May 2010 02:38:28 +0200	[thread overview]
Message-ID: <20100518003828.GT30801@buzzloop.caiaq.de> (raw)
In-Reply-To: <1274136495-5306-1-git-send-email-wdev@foltman.com>

On Mon, May 17, 2010 at 11:48:15PM +0100, wdev@foltman.com wrote:
> The decoding routine is based on own reverse-engineering. It seems to
> recognize all the messages that MPD16 sends during normal operation
> (that is, via standard MIDI messages).
> 
> Configuration (changing pad sensitivity, slider controller and MIDI
> notes) is not supported in this version.
> 
> Signed-off-by: Krzysztof Foltman <wdev@foltman.com>
> 
> diff --git a/sound/usb/midi.c b/sound/usb/midi.c
> index 2c1558c..57d642a 100644
> --- a/sound/usb/midi.c
> +++ b/sound/usb/midi.c
> @@ -645,6 +645,34 @@ static struct usb_protocol_ops snd_usbmidi_cme_ops = {
>  };
>  
>  /*
> + * AKAI MPD16 protocol: one or more chunks consisting of first byte of 
> + * (0x20 | msg_len) and then a MIDI message (msg_len bytes long)
> + * 
> + * Messages sent:
> + * 21 FE (active sense)
> + * 23 90 xx xx (note on)
> + * 23 Ax xx xx (polyphonic pressure)
> + * 23 Bx xx xx (control change)
> + */
> +static void snd_usbmidi_akai_input(struct snd_usb_midi_in_endpoint *ep,
> +				   uint8_t *buffer, int buffer_length)
> +{
> +	unsigned int pos = 0;
> +	while (pos < (unsigned)buffer_length && (buffer[pos] & 0xF8) == 0x20)
> +	{
> +		int msg_len = buffer[pos] & 0x0f;
> +		snd_usbmidi_input_data(ep, 0, &buffer[pos + 1], msg_len);
> +		pos += 1 + msg_len;
> +	}
> +}

Just a minor coding style flaw here for the curly brackets. See
Documentation/CodingStyle or let scripts/checkpatch.pl annoy you :)

FWIW, I think the block above could also be a for-loop, but that's
certainly a matter of taste.

Thanks,
Daniel

  reply	other threads:[~2010-05-18  0:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-17 22:48 [PATCH 1/1] ALSA: usb-audio: add support for Akai MPD16 wdev
2010-05-18  0:38 ` Daniel Mack [this message]
2010-05-18 18:36   ` Krzysztof Foltman
  -- strict thread matches above, loose matches on Subject: below --
2010-05-18 18:37 Krzysztof Foltman
2010-05-19  6:59 ` Clemens Ladisch
2010-05-19 20:31   ` Krzysztof Foltman
2010-05-19 20:06 Krzysztof Foltman
2010-05-20  7:26 ` Clemens Ladisch
2010-05-20  7:49   ` Krzysztof Foltman
2010-05-20  9:21     ` Clemens Ladisch
2010-05-25  9:07       ` Krzysztof Foltman
2010-05-25  9:39         ` Daniel Mack
2010-05-20 19:31 Krzysztof Foltman

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=20100518003828.GT30801@buzzloop.caiaq.de \
    --to=daniel@caiaq.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=patch@alsa-project.org \
    --cc=wdev@foltman.com \
    /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;
as well as URLs for NNTP newsgroup(s).