Open Sound System
|Do you have problems with sound/audio application development? Don't panic! Click here for help!|
int t=time in 1/100th of seconds;
ioctl(fd, SNDCTL_MIDI_PRETIME, &t);
The above code fragment lacks all error checks for clarity. Real world applications must always check for the errors and handle them as described below. Also most OSS ioctl calls will return information in the argument variable and it's usually necessary to check it too.
By default a read from a MIDI device will block until at least one MIDI input byte is received. After that moment the read call will return all the input that is currently available in the receive FIFO. If there is already some input available when read is called then all that data will be returned immediately without any delay.
This ioctl call can be used to change the pre-character wait time. If set to -1 there will be no wait at all. 0 means infinite wait and 1 means wait of 1/100th of seconds.
In most cases the application doesn't need to change the default behaviour.
The return value from the OSS ioctl calls will be -1 if a fatal error occurred. Other values mean that the ioctl call was more or less successful. However in most cases the application must check the value returned in the argument to see what was the accepted value.
Please see the Possible error codes (errno) returned by OSS calls section for more info about the error codes returned by OSS.