- From: Florian Bomers <Florian.Bomers@bome.com>
- Date: Sun, 16 Dec 2012 23:55:31 +0100
- To: Marcos Caceres <marcosscaceres@gmail.com>
- CC: "public-audio@w3.org" <public-audio@w3.org>
Hi Marcos,
IMO, a separate method for sending 3-byte MIDI messages does not
really hurt (although it might even /cause/ confusion -- sometimes you
need brackets, sometimes not...). But it's just a wrapper method and
can be implemented easily in an own method, or in a library. And
chances are that you'll use more specific wrappers in your code
anyway. Example:
void sendController(short ctrl, double normalizedValue /* 0...1 */)
{
ctrlMIDIDevice.send([0xB0 | ctrlChannel, ctrl,
normalizedValue * 127]);
}
(where ctrlMIDIDevice and ctrlChannel are declared elsewhere).
I guess you know that there are valid MIDI messages of any length.
Personally, I'm very happy that the current webmidi API does not favor
any particular length of MIDI messages (as many other MIDI API's do).
Here, there is a good opportunity to encourage also advanced use of
MIDI with Sys Ex, Show Control, etc.
For a long discussion of different flavors of the send method(s) --
only for the very curious, I guess:
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=18764>
Regards,
Florian
On 12/16/2012 08:30, Marcos Caceres wrote:
> Currently, the send() method is defined as: void send
> (sequence<short> data, optional DOMHighResTimeStamp? timestamp);
>
> However, it appears to me that it is extremely common to only want
> to send 3 bytes of data at a time (+ optional timestamp)… Having
> now been playing around with the API for about 10 hours, I actually
> keep forgetting to put things into an array (which leads to
> annoying errors). Can I recommend that the send interface be
> overloaded:
>
> void send (sequence<short> data, optional DOMHighResTimeStamp?
> timestamp);
> void send (short byte1, short byte2, short byte3,
> optional DOMHighResTimeStamp? timestamp);
>
> That would make the interface much more natural to work with and
> avoid having to remember to put things into an array all the time.
>
>
> -- Marcos Caceres http://datadriven.com.au
>
>
>
>
--
Florian Bomers
Bome Software
everything sounds.
http://www.bome.com
After the Beep! -- iPhone voice networking
www.afterthebeep.com
__________________________________________________________________
Bome Software GmbH & Co KG Gesellschafterin:
Dachauer Str.187 Bome Komplementär GmbH
80637 München, Germany Geschäftsführung: Florian Bömers
Amtsgericht München HRA95502 Amtsgericht München HRB185574
Received on Sunday, 16 December 2012 23:14:35 UTC