- added auto-timestamp mode for the port.

snd_seq_port_info_get/set_timestamping()
    snd_seq_port_info_get/set_timestamp_real()
    snd_seq_port_info_get/set_timestamp_queue()
- increased the protocol version to 1.0.1.
This commit is contained in:
Takashi Iwai 2003-07-25 17:24:13 +00:00
parent 60035f4fae
commit 09161437ef
3 changed files with 79 additions and 1 deletions

View file

@ -1060,6 +1060,39 @@ int snd_seq_port_info_get_port_specified(const snd_seq_port_info_t *info)
return (info->flags & SNDRV_SEQ_PORT_FLG_GIVEN_PORT) ? 1 : 0;
}
/**
* \brief Get the time-stamping mode of the given port in a port_info container
* \param info port_info container
* \return 1 if the port updates timestamps of incoming events
*/
int snd_seq_port_info_get_port_timestamping(const snd_seq_port_info_t *info)
{
assert(info);
return (info->flags & SNDRV_SEQ_PORT_FLG_TIMESTAMP) ? 1 : 0;
}
/**
* \brief Get whether the time-stamping of the given port is real-time mode
* \param info port_info container
* \return 1 if the time-stamping is in the real-time mode
*/
int snd_seq_port_info_get_port_timestamp_real(const snd_seq_port_info_t *info)
{
assert(info);
return (info->flags & SNDRV_SEQ_PORT_FLG_TIME_REAL) ? 1 : 0;
}
/**
* \brief Get the queue id to update timestamps
* \param info port_info container
* \return the queue id to get the timestamps
*/
int snd_seq_port_info_get_port_timestamp_queue(const snd_seq_port_info_t *info)
{
assert(info);
return info->time_queue;
}
/**
* \brief Set the client id of a port_info container
* \param info port_info container
@ -1173,6 +1206,45 @@ void snd_seq_port_info_set_port_specified(snd_seq_port_info_t *info, int val)
info->flags &= ~SNDRV_SEQ_PORT_FLG_GIVEN_PORT;
}
/**
* \brief Set the time-stamping mode of the given port
* \param info port_info container
* \param enable non-zero if updating the timestamps of incoming events
*/
void snd_seq_port_info_set_port_timestamping(snd_seq_port_info_t *info, int enable)
{
assert(info);
if (enable)
info->flags |= SNDRV_SEQ_PORT_FLG_TIMESTAMP;
else
info->flags &= ~SNDRV_SEQ_PORT_FLG_TIMESTAMP;
}
/**
* \brief Set whether the timestime is updated in the real-time mode
* \param info port_info container
* \param enable non-zero if updating the timestamps in real-time mode
*/
void snd_seq_port_info_set_port_timestamp_real(snd_seq_port_info_t *info, int enable)
{
assert(info);
if (enable)
info->flags |= SNDRV_SEQ_PORT_FLG_TIME_REAL;
else
info->flags &= ~SNDRV_SEQ_PORT_FLG_TIME_REAL;
}
/**
* \brief Set the queue id for timestamping
* \param info port_info container
* \param queue the queue id to get timestamps
*/
void snd_seq_port_info_set_port_timestamp_queue(snd_seq_port_info_t *info, int queue)
{
assert(info);
info->time_queue = queue;
}
/**
* \brief create a sequencer port on the current client