Re: [PATCH v5 1/2] amidi: add delay option

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

 



Hi Clemens,

On 22/08/16 13:43, Clemens Ladisch wrote:
> Felipe F. Tonello wrote:
>> +.I \-D, \-\-delay=mseconds
>> +Adds a delay in between each SysEx message sent to a device.
> 
>> +			while (data < (send_data + send_data_length)) {
>> +				int len = send_data + send_data_length - data;
>> +				char *temp;
>> +
>> +				if (data > send_data)
>> +					usleep(delay * 1000);
> 
> The MIDI data is sent asynchonously, so this delay is not _between_ messages.
> You'd have to add 320 µs for any byte not yet sent (I guess you have to use
> snd_rawmidi_status_get_avail() to find out how many have been sent).

Right. Or I can just use snd_rawmidi_drain()? Otherwise it will add too
much complexity.
> 
> 
>> +				/* find end of SysEx */
>> +				if ((temp = memchr(data, 0xf7, len)))
> 
> This would be clearer with "!= NULL".

Ok.

> 
>> +					len = temp - data + 1;
>> +
>> +				if ((err = snd_rawmidi_write(output, data, len)) < 0) {
>> +					error("cannot send data: %s", snd_strerror(err));
>> +					return err;
>> +				}
>> +
>> +				data += len;
>> +			}
>>  		}
>>  	}
> 

Thanks

-- 
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