Re: [PATCH] amidi: add delay option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Clemens,

On 12/08/16 12:38, Clemens Ladisch wrote:
> Felipe Ferreri Tonello wrote:
>> On 12/08/16 08:10, Clemens Ladisch wrote:
>>> Felipe F. Tonello wrote:
>>>> +	case 0xf4:
>>>> +	case 0xf5:
>>>> +		return 0; /* ignore */
>>>> +	case 0xf7:
>>>> +		return 0; /* ignore */
>>>
>>> Silent data loss is bad.
>>
>> What do you mean by that?
> 
> When you want to send the byte F5, this code will silently drop it.

I see your point, you are right. Although, as we know, the underlying
driver won't send this byte anyway, but that is not for the application
to decide.

> 
>>>> +	case 0x00 ... 0x7f:
>>>> +		return rstate_len ?: rstate_len - 1;
>>>
>>> rstate_len - 1 == -1
>>
>> ?
>>
>> That's why there is this condition, if rstate_len is zero, than it
>> returns 0.
> 
> There is not need to use rstate_len when its value is already known and
> does not affect the computation; it could just be written as:
> 
>         return rstate_len ?: -1;

Right, that was not the original intent, so this code was actually
wrong. But I will remove it anyway based on your comment below.

> 
>>> The most robust way to find message boundaries probably would be a state
>>> machine.  However, there is actually no requirement to find all message
>>> boundaries; the _actual_ requirement is to insert pauses between SysEx
>>> messages.  So don't bother to try to parse everything; just search for
>>> F0 or F7.
>>
>> Well, I tough it would be useful to work in any type of MIDI message not
>> just SysEx.
> 
> But there is no _actual_ use case, where somebody actually needed it.
> And as shown by all those problems, handling all types of messages makes
> the code too complex.

True. So I will make sure to add this to the documentation.

-- 
Felipe

Attachment: 0x92698E6A.asc
Description: application/pgp-keys

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux